-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added caching for consistent color of values across visualization
- Loading branch information
1 parent
2c7a72c
commit c1efcc7
Showing
4 changed files
with
124 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
63 changes: 63 additions & 0 deletions
63
src/kibana/components/vislib/components/color/mapped_colors.js
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
define(function () { | ||
return function MappedColorFactory() { | ||
|
||
var _ = require('lodash'); | ||
/* | ||
* Maintains a lookup table that associates the value (key) with a hex color (value) | ||
* across the visualizations. | ||
* Provides functions to interact with the lookup table | ||
*/ | ||
|
||
var MappedColorService = function () { | ||
}; | ||
|
||
MappedColorService.colors = {}; | ||
/** | ||
* Allows to add value (key) and color (value) to the lookup table | ||
* | ||
* @method add | ||
* @param {String} key - the value in a visualization | ||
* @param {String} value - the color associated with the value | ||
*/ | ||
MappedColorService.prototype.add = function (key, value) { | ||
MappedColorService.colors[key] = value; | ||
}; | ||
|
||
/** | ||
* Provides the color (value) associated with the value (key) | ||
* | ||
* @method get | ||
* @param {String} key - the value for which color is required | ||
* @returns the color associated with the value | ||
*/ | ||
MappedColorService.prototype.get = function (key) { | ||
return MappedColorService.colors[key]; | ||
}; | ||
|
||
/** | ||
* Size of the mapped colors | ||
* | ||
* @method count | ||
* @returns the number of values (keys) stored in the lookup table | ||
*/ | ||
MappedColorService.prototype.count = function () { | ||
return _.keys(MappedColorService.colors).length; | ||
}; | ||
|
||
/** | ||
* All the colors of in the lookup table | ||
* | ||
* @method all | ||
* @returns all the colors used in the lookup table | ||
*/ | ||
MappedColorService.prototype.all = function () { | ||
return _.values(MappedColorService.colors); | ||
}; | ||
|
||
MappedColorService.prototype.reset = function () { | ||
MappedColorService.colors = {}; | ||
}; | ||
|
||
return MappedColorService; | ||
}; | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters