@linkurious/ogma-linkurious-parser 4.0.0 → 4.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/captions/captions.js +4 -5
- package/dist/captions/captions.js.map +1 -1
- package/dist/filters/filters.d.ts +1 -1
- package/dist/filters/filters.js +1 -0
- package/dist/filters/filters.js.map +1 -1
- package/dist/index.js +34 -33
- package/dist/index.js.map +1 -1
- package/dist/ogma/features/OgmaStore.js +2 -1
- package/dist/ogma/features/OgmaStore.js.map +1 -1
- package/dist/ogma/features/captions.js +1 -0
- package/dist/ogma/features/captions.js.map +1 -1
- package/dist/ogma/features/reactive.js +1 -0
- package/dist/ogma/features/reactive.js.map +1 -1
- package/dist/ogma/features/selectors.d.ts +5 -5
- package/dist/ogma/features/selectors.js +21 -12
- package/dist/ogma/features/selectors.js.map +1 -1
- package/dist/ogma/features/styles.d.ts +7 -7
- package/dist/ogma/features/styles.js +1 -0
- package/dist/ogma/features/styles.js.map +1 -1
- package/dist/ogma/features/transformations.d.ts +1 -1
- package/dist/ogma/features/transformations.js +16 -17
- package/dist/ogma/features/transformations.js.map +1 -1
- package/dist/ogma/index.js +14 -18
- package/dist/ogma/index.js.map +1 -1
- package/dist/styles/edgeAttributes.d.ts +8 -8
- package/dist/styles/edgeAttributes.js +16 -15
- package/dist/styles/edgeAttributes.js.map +1 -1
- package/dist/styles/itemAttributes.d.ts +24 -28
- package/dist/styles/itemAttributes.js +31 -23
- package/dist/styles/itemAttributes.js.map +1 -1
- package/dist/styles/nodeAttributes.d.ts +8 -8
- package/dist/styles/nodeAttributes.js +23 -20
- package/dist/styles/nodeAttributes.js.map +1 -1
- package/dist/styles/styleRule.d.ts +8 -8
- package/dist/styles/styleRule.js +2 -0
- package/dist/styles/styleRule.js.map +1 -1
- package/dist/styles/styleRules.d.ts +5 -5
- package/dist/styles/styleRules.js +20 -16
- package/dist/styles/styleRules.js.map +1 -1
- package/dist/tools/colorPalette.js +1 -0
- package/dist/tools/colorPalette.js.map +1 -1
- package/dist/tools/ogmaTool.js +1 -0
- package/dist/tools/ogmaTool.js.map +1 -1
- package/dist/tools/tools.js +2 -1
- package/dist/tools/tools.js.map +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styleRule.js","sourceRoot":"","sources":["../../src/styles/styleRule.ts"],"names":[],"mappings":"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","sourcesContent":["'use strict';\n\nimport {\n IEdgeStyle,\n IStyleRule,\n LkEdgeData,\n LkNodeData,\n INodeStyle,\n SelectorType,\n IStyleAutoRange\n} from '@linkurious/rest-client';\n\nimport {ItemAttributes} from '..';\nimport {Tools} from '../tools/tools';\n\nexport enum StyleRuleType {\n AUTO_RANGE = 'autoRange'\n}\n\nexport class StyleRule implements IStyleRule<INodeStyle | IEdgeStyle> {\n public type: SelectorType;\n public input: string[] | undefined;\n public index: number;\n public itemType?: string;\n public value: any;\n public style: any;\n\n constructor(model: IStyleRule<INodeStyle | IEdgeStyle>) {\n this.type = model.type;\n this.input = model.input;\n this.index = model.index;\n this.itemType = model.itemType;\n this.style = model.style;\n this.value = model.value;\n }\n\n public static isAutomaticRange(rule: IStyleRule<IEdgeStyle | INodeStyle>): boolean {\n return (\n rule.style !== undefined &&\n (((rule.style as IEdgeStyle).width !== undefined &&\n ((rule.style as IEdgeStyle).width as IStyleAutoRange).type === StyleRuleType.AUTO_RANGE) ||\n ((rule.style as INodeStyle).size !== undefined &&\n ((rule.style as INodeStyle).size as IStyleAutoRange).type === StyleRuleType.AUTO_RANGE))\n );\n }\n\n /**\n * Return an int describing specificity of the style. 4 = very specific / 1 = not specific\n *\n * @return {number}\n */\n get specificity(): 1 | 2 | 3 | 4 {\n if (this.itemType !== undefined && this.input !== undefined) {\n return 4;\n }\n if (this.itemType === undefined && this.input !== undefined) {\n return 3;\n }\n if (this.itemType !== undefined && this.input === undefined) {\n return 2;\n }\n return 1;\n }\n\n /**\n * Return true if this style match values\n */\n public matchValues(\n itemType: string | undefined,\n input: Array<string> | undefined,\n value: any\n ): boolean {\n if (Tools.isDefined(input)) {\n return (\n ((itemType === this.itemType || !Tools.isDefined(this.itemType)) &&\n Tools.isEqual(['properties', ...input], this.input) &&\n Tools.isEqual(value, this.value)) ||\n (this.type === 'any' &&\n !Tools.isDefined(this.input) &&\n typeof this.style.color === 'object' &&\n this.style.color.input[1] === input[0])\n );\n }\n\n if (Tools.isDefined(this.itemType)) {\n return itemType === this.itemType && !Tools.isDefined(this.input);\n }\n\n return !Tools.isDefined(this.input);\n }\n\n public static inputExists(\n type: SelectorType,\n input: Array<string> | undefined\n ): input is Array<string> {\n return type !== SelectorType.ANY;\n }\n\n /**\n * Return true if a style can apply to a node\n */\n public canApplyTo(data: LkNodeData | LkEdgeData): boolean {\n const types = 'categories' in data ? data.categories : [data.type];\n let typePredicate = false;\n switch (this.type) {\n case SelectorType.ANY:\n typePredicate = StyleRule.checkAny(data, this.style);\n break;\n\n case SelectorType.NO_VALUE:\n if (StyleRule.inputExists(this.type, this.input)) {\n typePredicate = StyleRule.checkNoValue(data, this.input);\n }\n break;\n\n case SelectorType.NAN:\n if (StyleRule.inputExists(this.type, this.input)) {\n typePredicate = StyleRule.checkNan(data, this.input);\n }\n break;\n\n case SelectorType.RANGE:\n if (StyleRule.inputExists(this.type, this.input)) {\n typePredicate = StyleRule.checkRange(Tools.getIn(data, this.input), this.value);\n }\n break;\n\n case SelectorType.IS:\n if (StyleRule.inputExists(this.type, this.input)) {\n typePredicate = StyleRule.checkIs(data, this.input, this.value);\n }\n break;\n }\n return typePredicate && StyleRule.checkItemType(types, this.itemType);\n }\n\n /**\n * Return true or false on rule type 'any' if the current node match the rule\n */\n public static checkAny(data: LkNodeData | LkEdgeData, style: INodeStyle | IEdgeStyle): boolean {\n // return true if autoColor by a property and this property exists in node\n if (typeof style.color === 'object') {\n return Tools.isDefined(Tools.getIn(data, style.color.input));\n }\n return true;\n }\n\n /**\n * Return true or false on rule type 'noValue' if the current node match the rule\n */\n public static checkNoValue(data: LkNodeData | LkEdgeData, input: Array<string>): boolean {\n return !Tools.valueExists(Tools.getIn(data, input));\n }\n\n /**\n * Return true or false on rule type 'NaN' if the current node match the rule\n */\n public static checkNan(data: LkNodeData | LkEdgeData, input: Array<string>): boolean {\n return !Tools.isNumber(Tools.getIn(data, input));\n }\n\n /**\n * Return true if predicate is true for the node value\n *\n * @param value\n * @param comparator\n * @return {boolean}\n */\n public static checkRange(\n value: number,\n comparator: {[key in '<=' | '<' | '>' | '>=']?: number}\n ): boolean {\n return (\n (comparator['<='] === undefined || value <= comparator['<=']) &&\n (comparator['<'] === undefined || value < comparator['<']) &&\n (comparator['>'] === undefined || value > comparator['>']) &&\n (comparator['>='] === undefined || value >= comparator['>='])\n );\n }\n\n /**\n * Return true or false on rule type 'is' if the current node match the rule\n */\n public static checkIs(data: LkNodeData | LkEdgeData, input: Array<string>, value: any): boolean {\n if (!Tools.isDefined(input)) {\n return false;\n }\n const itemValue = Tools.getIn(data, input);\n let formattedValue = itemValue;\n if (\n Tools.isDefined(itemValue) &&\n typeof itemValue === 'object' &&\n (itemValue.type === 'date' || itemValue.type === 'datetime')\n ) {\n let timezone = itemValue.timezone;\n if (itemValue.timezone === 'Z') {\n timezone = '+00:00';\n }\n formattedValue = Tools.formatDate(\n itemValue.value,\n itemValue.type === 'datetime',\n Tools.timezoneToMilliseconds(timezone) / 1000\n );\n }\n return Tools.isEqual(formattedValue, value);\n }\n\n /**\n * Check that value of itemType match for the node\n */\n public static checkItemType(types: Array<string>, itemType: string | undefined): boolean {\n return StyleRule.matchCategory(types, itemType) || StyleRule.matchAny(itemType);\n }\n\n /**\n * Return true if itemType is defined and category exists in an array of categories\n *\n * @param {Array<string> | string} types\n * @param {string} itemType\n * @return {boolean}\n */\n public static matchCategory(\n types: Array<string> | string,\n itemType: string | undefined\n ): boolean {\n return (\n Tools.isDefined(itemType) &&\n (Array.isArray(types) ? types.includes(itemType) : Tools.isEqual(types, itemType))\n );\n }\n\n /**\n * Return true if itemType is undefined\n *\n * @param {string} itemType\n * @return {boolean}\n */\n public static matchAny(itemType: any | null): boolean {\n return itemType === undefined;\n }\n\n /**\n * Return the color for a type\n */\n public getTypeColor(type: string): string | undefined | null {\n let color;\n if (\n StyleRule.checkItemType([type], this.itemType) &&\n this.type === SelectorType.ANY &&\n !Tools.isDefined(this.input)\n ) {\n color = ItemAttributes.getTypeColor(this, type);\n }\n return color;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"styleRule.js","sourceRoot":"","sources":["../../src/styles/styleRule.ts"],"names":[],"mappings":"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","sourcesContent":["'use strict';\n\nimport {\n IEdgeStyle,\n IStyleRule,\n LkEdgeData,\n LkNodeData,\n INodeStyle,\n IRangeValues,\n SelectorType,\n IStyleAutoRange\n} from '@linkurious/rest-client';\n\nimport {ItemAttributes} from '..';\nimport {Tools} from '../tools/tools';\n\nexport enum StyleRuleType {\n AUTO_RANGE = 'autoRange'\n}\n\nexport class StyleRule<T extends INodeStyle | IEdgeStyle = INodeStyle | IEdgeStyle>\n implements IStyleRule<T> {\n public type: SelectorType;\n public input: string[] | undefined;\n public index: number;\n public style: T;\n public itemType?: string;\n public value: IRangeValues | number | string | boolean;\n\n constructor(model: IStyleRule<T>) {\n this.type = model.type;\n this.input = model.input;\n this.index = model.index;\n this.itemType = model.itemType;\n this.style = model.style;\n // cast to remove undefined from type\n this.value = model.value as IRangeValues | number | string | boolean;\n }\n\n public static isAutomaticRange(rule: IStyleRule<IEdgeStyle | INodeStyle>): boolean {\n return (\n rule.style !== undefined &&\n (((rule.style as IEdgeStyle).width !== undefined &&\n ((rule.style as IEdgeStyle).width as IStyleAutoRange).type === StyleRuleType.AUTO_RANGE) ||\n ((rule.style as INodeStyle).size !== undefined &&\n ((rule.style as INodeStyle).size as IStyleAutoRange).type === StyleRuleType.AUTO_RANGE))\n );\n }\n\n /**\n * Return an int describing specificity of the style. 4 = very specific / 1 = not specific\n *\n * @return {number}\n */\n get specificity(): 1 | 2 | 3 | 4 {\n if (this.itemType !== undefined && this.input !== undefined) {\n return 4;\n }\n if (this.itemType === undefined && this.input !== undefined) {\n return 3;\n }\n if (this.itemType !== undefined && this.input === undefined) {\n return 2;\n }\n return 1;\n }\n\n /**\n * Return true if this style match values\n */\n public matchValues(\n itemType: string | undefined,\n input: Array<string> | undefined,\n value: string\n ): boolean {\n if (Tools.isDefined(input)) {\n return (\n ((itemType === this.itemType || !Tools.isDefined(this.itemType)) &&\n Tools.isEqual(['properties', ...input], this.input) &&\n Tools.isEqual(value, this.value)) ||\n (this.type === 'any' &&\n !Tools.isDefined(this.input) &&\n typeof this.style.color === 'object' &&\n this.style.color.input[1] === input[0])\n );\n }\n\n if (Tools.isDefined(this.itemType)) {\n return itemType === this.itemType && !Tools.isDefined(this.input);\n }\n\n return !Tools.isDefined(this.input);\n }\n\n public static inputExists(\n type: SelectorType,\n input: Array<string> | undefined\n ): input is Array<string> {\n return type !== SelectorType.ANY;\n }\n\n /**\n * Return true if a style can apply to a node\n */\n public canApplyTo(data: LkNodeData | LkEdgeData): boolean {\n const types = 'categories' in data ? data.categories : [data.type];\n let typePredicate = false;\n switch (this.type) {\n case SelectorType.ANY:\n typePredicate = StyleRule.checkAny(data, this.style);\n break;\n\n case SelectorType.NO_VALUE:\n if (StyleRule.inputExists(this.type, this.input)) {\n typePredicate = StyleRule.checkNoValue(data, this.input);\n }\n break;\n\n case SelectorType.NAN:\n if (StyleRule.inputExists(this.type, this.input)) {\n typePredicate = StyleRule.checkNan(data, this.input);\n }\n break;\n\n case SelectorType.RANGE:\n if (StyleRule.inputExists(this.type, this.input)) {\n typePredicate = StyleRule.checkRange(\n Tools.getIn(data, this.input),\n this.value as IRangeValues\n );\n }\n break;\n\n case SelectorType.IS:\n if (StyleRule.inputExists(this.type, this.input)) {\n typePredicate = StyleRule.checkIs(data, this.input, this.value);\n }\n break;\n }\n return typePredicate && StyleRule.checkItemType(types, this.itemType);\n }\n\n /**\n * Return true or false on rule type 'any' if the current node match the rule\n */\n public static checkAny(data: LkNodeData | LkEdgeData, style: INodeStyle | IEdgeStyle): boolean {\n // return true if autoColor by a property and this property exists in node\n if (typeof style.color === 'object') {\n return Tools.isDefined(Tools.getIn(data, style.color.input));\n }\n return true;\n }\n\n /**\n * Return true or false on rule type 'noValue' if the current node match the rule\n */\n public static checkNoValue(data: LkNodeData | LkEdgeData, input: Array<string>): boolean {\n return !Tools.valueExists(Tools.getIn(data, input));\n }\n\n /**\n * Return true or false on rule type 'NaN' if the current node match the rule\n */\n public static checkNan(data: LkNodeData | LkEdgeData, input: Array<string>): boolean {\n return !Tools.isNumber(Tools.getIn(data, input));\n }\n\n /**\n * Return true if predicate is true for the node value\n *\n * @param value\n * @param comparator\n * @return {boolean}\n */\n public static checkRange(\n value: number,\n comparator: {[key in '<=' | '<' | '>' | '>=']?: number}\n ): boolean {\n return (\n (comparator['<='] === undefined || value <= comparator['<=']) &&\n (comparator['<'] === undefined || value < comparator['<']) &&\n (comparator['>'] === undefined || value > comparator['>']) &&\n (comparator['>='] === undefined || value >= comparator['>='])\n );\n }\n\n /**\n * Return true or false on rule type 'is' if the current node match the rule\n */\n public static checkIs(\n data: LkNodeData | LkEdgeData,\n input: Array<string>,\n value: IRangeValues | number | string | boolean\n ): boolean {\n if (!Tools.isDefined(input)) {\n return false;\n }\n const itemValue = Tools.getIn(data, input);\n let formattedValue = itemValue;\n if (\n Tools.isDefined(itemValue) &&\n typeof itemValue === 'object' &&\n (itemValue.type === 'date' || itemValue.type === 'datetime')\n ) {\n let timezone = itemValue.timezone;\n if (itemValue.timezone === 'Z') {\n timezone = '+00:00';\n }\n formattedValue = Tools.formatDate(\n itemValue.value,\n itemValue.type === 'datetime',\n Tools.timezoneToMilliseconds(timezone) / 1000\n );\n }\n return Tools.isEqual(formattedValue, value);\n }\n\n /**\n * Check that value of itemType match for the node\n */\n public static checkItemType(types: Array<string>, itemType: string | undefined): boolean {\n return StyleRule.matchCategory(types, itemType) || StyleRule.matchAny(itemType);\n }\n\n /**\n * Return true if itemType is defined and category exists in an array of categories\n *\n * @param {Array<string> | string} types\n * @param {string} itemType\n * @return {boolean}\n */\n public static matchCategory(\n types: Array<string> | string,\n itemType: string | undefined\n ): boolean {\n return (\n Tools.isDefined(itemType) &&\n (Array.isArray(types) ? types.includes(itemType) : Tools.isEqual(types, itemType))\n );\n }\n\n /**\n * Return true if itemType is undefined\n *\n * @param {string} itemType\n * @return {boolean}\n */\n public static matchAny(itemType: string | null | undefined): boolean {\n return itemType === undefined;\n }\n\n /**\n * Return the color for a type\n */\n public getTypeColor(type: string): string | undefined | null {\n let color;\n if (\n StyleRule.checkItemType([type], this.itemType) &&\n this.type === SelectorType.ANY &&\n !Tools.isDefined(this.input)\n ) {\n color = ItemAttributes.getTypeColor(this, type);\n }\n return color;\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IEdgeStyle, IStyleRule, LkEdgeData, LkNodeData, INodeStyle, SelectorType, IStyleIcon, IStyleImage, IStyles } from '@linkurious/rest-client';
|
|
1
|
+
import { IEdgeStyle, IStyleRule, LkEdgeData, LkNodeData, INodeStyle, SelectorType, IStyleIcon, IStyleImage, IStyles, IRangeValues } from '@linkurious/rest-client';
|
|
2
2
|
import { StyleRule } from './styleRule';
|
|
3
3
|
export declare enum StyleType {
|
|
4
4
|
COLOR = "color",
|
|
@@ -57,7 +57,7 @@ export declare class StyleRules {
|
|
|
57
57
|
/**
|
|
58
58
|
* Return an object containing for each node style a sorted array of StyleRule
|
|
59
59
|
*
|
|
60
|
-
* @return {
|
|
60
|
+
* @return {{[key: string]: Array<StyleRule>} }
|
|
61
61
|
*/
|
|
62
62
|
get nodeRules(): {
|
|
63
63
|
[key: string]: Array<StyleRule>;
|
|
@@ -65,7 +65,7 @@ export declare class StyleRules {
|
|
|
65
65
|
/**
|
|
66
66
|
* Return an object containing for each edge style a sorted array of StyleRule
|
|
67
67
|
*
|
|
68
|
-
* @return {
|
|
68
|
+
* @return { {[key: string]: Array<StyleRule>}}
|
|
69
69
|
*/
|
|
70
70
|
get edgeRules(): {
|
|
71
71
|
[key: string]: Array<StyleRule>;
|
|
@@ -77,14 +77,14 @@ export declare class StyleRules {
|
|
|
77
77
|
/**
|
|
78
78
|
* Return the legend for a specific style type (color, icon, image...)
|
|
79
79
|
*/
|
|
80
|
-
static getLegendForStyle(styleType:
|
|
80
|
+
static getLegendForStyle(styleType: StyleType, styles: Array<StyleRule>, itemsData: Array<LkNodeData | LkEdgeData>): Array<{
|
|
81
81
|
label: string;
|
|
82
82
|
value: string | number | IStyleIcon | IStyleImage;
|
|
83
83
|
}>;
|
|
84
84
|
/**
|
|
85
85
|
* Sanitize value for legend
|
|
86
86
|
*/
|
|
87
|
-
static sanitizeValue(styleType: SelectorType, value:
|
|
87
|
+
static sanitizeValue(styleType: SelectorType, value: IRangeValues | number | string | boolean): string;
|
|
88
88
|
/**
|
|
89
89
|
* Add items in legend for automatic coloring
|
|
90
90
|
*/
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.StyleRules = exports.SORTING_RULE = exports.StyleType = void 0;
|
|
3
4
|
const rest_client_1 = require("@linkurious/rest-client");
|
|
4
5
|
const tools_1 = require("../tools/tools");
|
|
5
6
|
const styleRule_1 = require("./styleRule");
|
|
@@ -24,7 +25,7 @@ class StyleRules {
|
|
|
24
25
|
* @return {Array<StyleRule>}
|
|
25
26
|
*/
|
|
26
27
|
get color() {
|
|
27
|
-
return tools_1.sortBy(StyleRules.getBy(StyleType.COLOR, this._rules), exports.SORTING_RULE);
|
|
28
|
+
return (0, tools_1.sortBy)(StyleRules.getBy(StyleType.COLOR, this._rules), exports.SORTING_RULE);
|
|
28
29
|
}
|
|
29
30
|
/**
|
|
30
31
|
* Return an array of StyleRule with only 'icon' rules and sorted by specificity, itemType and index
|
|
@@ -32,7 +33,7 @@ class StyleRules {
|
|
|
32
33
|
* @return {Array<StyleRule>}
|
|
33
34
|
*/
|
|
34
35
|
get icon() {
|
|
35
|
-
return tools_1.sortBy([
|
|
36
|
+
return (0, tools_1.sortBy)([
|
|
36
37
|
...(StyleRules.getBy(StyleType.ICON, this._rules) || []),
|
|
37
38
|
...(StyleRules.getBy(StyleType.IMAGE, this._rules) || [])
|
|
38
39
|
], exports.SORTING_RULE);
|
|
@@ -43,7 +44,7 @@ class StyleRules {
|
|
|
43
44
|
* @return {Array<StyleRule>}
|
|
44
45
|
*/
|
|
45
46
|
get image() {
|
|
46
|
-
return tools_1.sortBy(StyleRules.getBy(StyleType.IMAGE, this._rules), exports.SORTING_RULE);
|
|
47
|
+
return (0, tools_1.sortBy)(StyleRules.getBy(StyleType.IMAGE, this._rules), exports.SORTING_RULE);
|
|
47
48
|
}
|
|
48
49
|
/**
|
|
49
50
|
* Return an array of StyleRule with only 'shape' rules and sorted by specificity, itemType and index
|
|
@@ -51,7 +52,7 @@ class StyleRules {
|
|
|
51
52
|
* @return {Array<StyleRule>}
|
|
52
53
|
*/
|
|
53
54
|
get shape() {
|
|
54
|
-
return tools_1.sortBy(StyleRules.getBy(StyleType.SHAPE, this._rules), exports.SORTING_RULE);
|
|
55
|
+
return (0, tools_1.sortBy)(StyleRules.getBy(StyleType.SHAPE, this._rules), exports.SORTING_RULE);
|
|
55
56
|
}
|
|
56
57
|
/**
|
|
57
58
|
* Return an array of StyleRule with only 'size' rules and sorted by specificity, itemType and index
|
|
@@ -59,7 +60,7 @@ class StyleRules {
|
|
|
59
60
|
* @return {Array<StyleRule>}
|
|
60
61
|
*/
|
|
61
62
|
get size() {
|
|
62
|
-
return tools_1.sortBy(StyleRules.getBy(StyleType.SIZE, this._rules), exports.SORTING_RULE);
|
|
63
|
+
return (0, tools_1.sortBy)(StyleRules.getBy(StyleType.SIZE, this._rules), exports.SORTING_RULE);
|
|
63
64
|
}
|
|
64
65
|
/**
|
|
65
66
|
* Return an array of StyleRule with only 'width' rules and sorted by specificity, itemType and index
|
|
@@ -67,12 +68,12 @@ class StyleRules {
|
|
|
67
68
|
* @return {Array<StyleRule>}
|
|
68
69
|
*/
|
|
69
70
|
get width() {
|
|
70
|
-
return tools_1.sortBy(StyleRules.getBy(StyleType.WIDTH, this._rules), exports.SORTING_RULE);
|
|
71
|
+
return (0, tools_1.sortBy)(StyleRules.getBy(StyleType.WIDTH, this._rules), exports.SORTING_RULE);
|
|
71
72
|
}
|
|
72
73
|
/**
|
|
73
74
|
* Return an object containing for each node style a sorted array of StyleRule
|
|
74
75
|
*
|
|
75
|
-
* @return {
|
|
76
|
+
* @return {{[key: string]: Array<StyleRule>} }
|
|
76
77
|
*/
|
|
77
78
|
get nodeRules() {
|
|
78
79
|
return {
|
|
@@ -86,7 +87,7 @@ class StyleRules {
|
|
|
86
87
|
/**
|
|
87
88
|
* Return an object containing for each edge style a sorted array of StyleRule
|
|
88
89
|
*
|
|
89
|
-
* @return {
|
|
90
|
+
* @return { {[key: string]: Array<StyleRule>}}
|
|
90
91
|
*/
|
|
91
92
|
get edgeRules() {
|
|
92
93
|
return {
|
|
@@ -152,7 +153,9 @@ class StyleRules {
|
|
|
152
153
|
const label = tools_1.Tools.isDefined(styleRule.input)
|
|
153
154
|
? `${StyleRules.getTypeLabel(styleRule.itemType)}.${styleRule.input[1]} ${StyleRules.sanitizeValue(styleRule.type, styleRule.value)}`
|
|
154
155
|
: `${StyleRules.getTypeLabel(styleRule.itemType)}`;
|
|
155
|
-
const value =
|
|
156
|
+
const value = styleType === StyleType.WIDTH
|
|
157
|
+
? styleRule.style[styleType]
|
|
158
|
+
: styleRule.style[styleType];
|
|
156
159
|
StyleRules.updateLegend(result, { label: label, value: value });
|
|
157
160
|
}
|
|
158
161
|
}
|
|
@@ -163,13 +166,13 @@ class StyleRules {
|
|
|
163
166
|
* Sanitize value for legend
|
|
164
167
|
*/
|
|
165
168
|
static sanitizeValue(styleType, value) {
|
|
169
|
+
let template = '';
|
|
166
170
|
switch (styleType) {
|
|
167
171
|
case rest_client_1.SelectorType.NO_VALUE:
|
|
168
172
|
return 'is undefined';
|
|
169
173
|
case rest_client_1.SelectorType.NAN:
|
|
170
174
|
return 'is not an number';
|
|
171
175
|
case rest_client_1.SelectorType.RANGE:
|
|
172
|
-
let template = '';
|
|
173
176
|
Object.keys(value).forEach((k, i) => {
|
|
174
177
|
if (i > 0) {
|
|
175
178
|
template += ' and ';
|
|
@@ -184,23 +187,24 @@ class StyleRules {
|
|
|
184
187
|
* Add items in legend for automatic coloring
|
|
185
188
|
*/
|
|
186
189
|
static addLegendAutoColors(itemsData, styleRule, currentLegend) {
|
|
187
|
-
const
|
|
190
|
+
const colorStyle = styleRule.style.color;
|
|
191
|
+
const propertyKey = colorStyle.input[1];
|
|
188
192
|
itemsData.forEach((data) => {
|
|
189
|
-
const propValue = tools_1.Tools.getIn(data,
|
|
193
|
+
const propValue = tools_1.Tools.getIn(data, colorStyle.input);
|
|
190
194
|
if (Array.isArray(propValue)) {
|
|
191
195
|
propValue.forEach((value) => {
|
|
192
|
-
const label =
|
|
196
|
+
const label = colorStyle.input.includes('properties')
|
|
193
197
|
? `${StyleRules.getTypeLabel(styleRule.itemType)}.${propertyKey} = ${value}`
|
|
194
198
|
: `${StyleRules.getTypeLabel(value)}`;
|
|
195
|
-
const color = itemAttributes_1.ItemAttributes.autoColor(value,
|
|
199
|
+
const color = itemAttributes_1.ItemAttributes.autoColor(value, colorStyle.ignoreCase);
|
|
196
200
|
StyleRules.updateLegend(currentLegend, { label: label, value: color });
|
|
197
201
|
});
|
|
198
202
|
}
|
|
199
203
|
else {
|
|
200
|
-
const label =
|
|
204
|
+
const label = colorStyle.input.includes('properties')
|
|
201
205
|
? `${StyleRules.getTypeLabel(styleRule.itemType)}.${propertyKey} = ${propValue}`
|
|
202
206
|
: `${StyleRules.getTypeLabel(propValue)}`;
|
|
203
|
-
const value = itemAttributes_1.ItemAttributes.autoColor(propValue,
|
|
207
|
+
const value = itemAttributes_1.ItemAttributes.autoColor(propValue, colorStyle.ignoreCase);
|
|
204
208
|
StyleRules.updateLegend(currentLegend, { label: label, value: value });
|
|
205
209
|
}
|
|
206
210
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styleRules.js","sourceRoot":"","sources":["../../src/styles/styleRules.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,yDAUiC;AAEjC,0CAA6C;AAE7C,2CAAsC;AACtC,qDAAgD;AAEhD,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,4BAAe,CAAA;AACjB,CAAC,EAPW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAOpB;AAMY,QAAA,YAAY,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAEjE,MAAa,UAAU;IAGrB,YAAY,KAAiD;QAC3D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACd,OAAO,cAAM,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAY,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,IAAW,IAAI;QACb,OAAO,cAAM,CACX;YACE,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxD,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAC1D,EACD,oBAAY,CACb,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACd,OAAO,cAAM,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAY,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACd,OAAO,cAAM,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAY,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,IAAW,IAAI;QACb,OAAO,cAAM,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAY,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACd,OAAO,cAAM,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAY,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,IAAW,SAAS;QAClB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAW,SAAS;QAClB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,SAAyC;QAC7D,MAAM,MAAM,GAAW,EAAE,CAAC;QAC1B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,OAAO,MAAM,CAAC;SACf;QAED,IAAI,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;gBACpD,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;YACxF,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;gBACpD,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,CAAC;YACxF,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,iBAAiB,CAC7B,SAAiB,EACjB,MAAwB,EACxB,SAAyC;QAEzC,MAAM,MAAM,GAA8E,EAAE,CAAC;QAC7F,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC7C,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,IAAI,eAAe,EAAE;gBACnB,IAAI,SAAS,KAAK,SAAS,CAAC,KAAK,IAAI,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE;oBAC9E,UAAU,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;iBACzD;qBAAM,IAAI,SAAS,KAAK,SAAS,CAAC,IAAI,IAAI,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE;oBACrE,yBAAyB;oBACzB,MAAM,KAAK,GAAG,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC;wBAC5C,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,IAC5C,SAAS,CAAC,KAAK,CAAC,CAAC,CACnB,IAAI,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE;wBACjE,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,KAAoB,CAAC;oBACxD,IACE,UAAU,CAAC,GAAG;wBACd,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ;wBAClC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,EAC9B;wBACA,6EAA6E;wBAC7E,gFAAgF;wBAChF,4BAA4B;qBAC7B;yBAAM;wBACL,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;wBACpC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;qBAC/D;iBACF;qBAAM;oBACL,MAAM,KAAK,GAAG,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC;wBAC5C,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,IAC5C,SAAS,CAAC,KAAK,CAAC,CAAC,CACnB,IAAI,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE;wBACjE,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrD,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBACzC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;iBAC/D;aACF;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,aAAa,CAAC,SAAuB,EAAE,KAAU;QAC7D,QAAQ,SAAS,EAAE;YACjB,KAAK,0BAAY,CAAC,QAAQ;gBACxB,OAAO,cAAc,CAAC;YAExB,KAAK,0BAAY,CAAC,GAAG;gBACnB,OAAO,kBAAkB,CAAC;YAE5B,KAAK,0BAAY,CAAC,KAAK;gBACrB,IAAI,QAAQ,GAAG,EAAE,CAAC;gBAClB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAClC,IAAI,CAAC,GAAG,CAAC,EAAE;wBACT,QAAQ,IAAI,OAAO,CAAC;qBACrB;oBACD,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjC,CAAC,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;SACnB;QAED,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;IACjF,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,mBAAmB,CAC/B,SAAyC,EACzC,SAAoB,EACpB,aAAwF;QAExF,MAAM,WAAW,GAAW,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3D,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,SAAS,GAAG,aAAK,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjE,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC5B,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC1B,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;wBAC9D,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,WAAW,MAAM,KAAK,EAAE;wBAC5E,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxC,MAAM,KAAK,GAAG,+BAAc,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;oBAChF,UAAU,CAAC,YAAY,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;gBACvE,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;oBAC9D,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,WAAW,MAAM,SAAS,EAAE;oBAChF,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,+BAAc,CAAC,SAAS,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBACpF,UAAU,CAAC,YAAY,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;aACtE;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAY,CAAC,IAA+B;QACxD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAY,CACxB,MAAiF,EACjF,EAAC,KAAK,EAAE,KAAK,EAA0B;QAEvC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,iBAAiB,GAAG,CAAC,EAAE;YACzB,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;SAC3C;aAAM;YACL,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC;SAC1D;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CACjB,SAAoB,EACpB,KAAiD;QAEjD,OAAO,KAAK;aACT,MAAM,CAAC,CAAC,KAA0C,EAAE,EAAE;YACrD,QAAQ,SAAS,EAAE;gBACjB,KAAK,SAAS,CAAC,KAAK;oBAClB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;gBAEzC,KAAK,SAAS,CAAC,IAAI;oBACjB,OAAO,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;gBAEjE,KAAK,SAAS,CAAC,KAAK;oBAClB,OAAO,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;gBAEnE,KAAK,SAAS,CAAC,KAAK;oBAClB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;gBAEzC,KAAK,SAAS,CAAC,IAAI;oBACjB,OAAO,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;gBAEjE,KAAK,SAAS,CAAC,KAAK;oBAClB,OAAO,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;aACpE;QACH,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,KAA0C,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,OAAO,CACnB,OAA4C,EAC5C,SAAoB;QAEpB,MAAM,IAAI,GAAG,aAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,EAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAC,CAAC;QAClD,OAAO,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,mBAAmB,CAAC,MAAe;QAC/C,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,MAAM,eAAe,GAAY,aAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,QAAQ,GACV,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5F,eAAe,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACnC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACvB,QAAQ,EAAE,CAAC;aACZ;iBAAM;gBACL,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC7B;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,eAAe,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACnC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACvB,QAAQ,EAAE,CAAC;aACZ;iBAAM;gBACL,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC7B;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AA7TD,gCA6TC","sourcesContent":["'use strict';\n\nimport {\n IEdgeStyle,\n IStyleRule,\n LkEdgeData,\n LkNodeData,\n INodeStyle,\n SelectorType,\n IStyleIcon,\n IStyleImage,\n IStyles\n} from '@linkurious/rest-client';\n\nimport {sortBy, Tools} from '../tools/tools';\n\nimport {StyleRule} from './styleRule';\nimport {ItemAttributes} from './itemAttributes';\n\nexport enum StyleType {\n COLOR = 'color',\n ICON = 'icon',\n SIZE = 'size',\n IMAGE = 'image',\n SHAPE = 'shape',\n WIDTH = 'width'\n}\n\nexport interface Legend {\n [key: string]: Array<{label: string; value: string | IStyleIcon | IStyleImage | number}>;\n}\n\nexport const SORTING_RULE = ['specificity', 'itemType', 'index'];\n\nexport class StyleRules {\n private _rules: Array<IStyleRule<INodeStyle | IEdgeStyle>>;\n\n constructor(rules: Array<IStyleRule<INodeStyle | IEdgeStyle>>) {\n this._rules = rules;\n }\n\n /**\n * Return an array of StyleRule with only 'color' rules and sorted by specificity, itemType and index\n *\n * @return {Array<StyleRule>}\n */\n public get color(): Array<StyleRule> {\n return sortBy(StyleRules.getBy(StyleType.COLOR, this._rules), SORTING_RULE);\n }\n\n /**\n * Return an array of StyleRule with only 'icon' rules and sorted by specificity, itemType and index\n *\n * @return {Array<StyleRule>}\n */\n public get icon(): Array<StyleRule> {\n return sortBy(\n [\n ...(StyleRules.getBy(StyleType.ICON, this._rules) || []),\n ...(StyleRules.getBy(StyleType.IMAGE, this._rules) || [])\n ],\n SORTING_RULE\n );\n }\n\n /**\n * Return an array of StyleRule with only 'image' rules and sorted by specificity, itemType and index\n *\n * @return {Array<StyleRule>}\n */\n public get image(): Array<StyleRule> {\n return sortBy(StyleRules.getBy(StyleType.IMAGE, this._rules), SORTING_RULE);\n }\n\n /**\n * Return an array of StyleRule with only 'shape' rules and sorted by specificity, itemType and index\n *\n * @return {Array<StyleRule>}\n */\n public get shape(): Array<StyleRule> {\n return sortBy(StyleRules.getBy(StyleType.SHAPE, this._rules), SORTING_RULE);\n }\n\n /**\n * Return an array of StyleRule with only 'size' rules and sorted by specificity, itemType and index\n *\n * @return {Array<StyleRule>}\n */\n public get size(): Array<StyleRule> {\n return sortBy(StyleRules.getBy(StyleType.SIZE, this._rules), SORTING_RULE);\n }\n\n /**\n * Return an array of StyleRule with only 'width' rules and sorted by specificity, itemType and index\n *\n * @return {Array<StyleRule>}\n */\n public get width(): Array<StyleRule> {\n return sortBy(StyleRules.getBy(StyleType.WIDTH, this._rules), SORTING_RULE);\n }\n\n /**\n * Return an object containing for each node style a sorted array of StyleRule\n *\n * @return {any}\n */\n public get nodeRules(): {[key: string]: Array<StyleRule>} {\n return {\n color: this.color,\n icon: this.icon,\n image: this.image,\n shape: this.shape,\n size: this.size\n };\n }\n\n /**\n * Return an object containing for each edge style a sorted array of StyleRule\n *\n * @return {any}\n */\n public get edgeRules(): {[key: string]: Array<StyleRule>} {\n return {\n color: this.color,\n shape: this.shape,\n width: this.width\n };\n }\n\n /**\n * Generate a legend with an array of style rules and existing items in visualization\n */\n public generateLegend(itemsData: Array<LkNodeData | LkEdgeData>): Legend {\n const result: Legend = {};\n if (itemsData.length === 0) {\n return result;\n }\n\n if ('categories' in itemsData[0]) {\n Object.keys(this.nodeRules).forEach((style: string) => {\n result[style] = StyleRules.getLegendForStyle(style, this.nodeRules[style], itemsData);\n });\n } else {\n Object.keys(this.edgeRules).forEach((style: string) => {\n result[style] = StyleRules.getLegendForStyle(style, this.edgeRules[style], itemsData);\n });\n }\n return result;\n }\n\n /**\n * Return the legend for a specific style type (color, icon, image...)\n */\n public static getLegendForStyle(\n styleType: string,\n styles: Array<StyleRule>,\n itemsData: Array<LkNodeData | LkEdgeData>\n ): Array<{label: string; value: string | number | IStyleIcon | IStyleImage}> {\n const result: Array<{label: string; value: string | number | IStyleIcon | IStyleImage}> = [];\n const data = itemsData.filter((i) => i);\n for (let i = 0; i < styles.length; i++) {\n const styleRule = new StyleRule(styles[i]);\n const ruleExistsInViz = data.some((itemData) => {\n return styleRule.canApplyTo(itemData);\n });\n if (ruleExistsInViz) {\n if (styleType === StyleType.COLOR && typeof styleRule.style.color === 'object') {\n StyleRules.addLegendAutoColors(data, styleRule, result);\n } else if (styleType === StyleType.ICON && 'image' in styleRule.style) {\n // style is a custom icon\n const label = Tools.isDefined(styleRule.input)\n ? `${StyleRules.getTypeLabel(styleRule.itemType)}.${\n styleRule.input[1]\n } ${StyleRules.sanitizeValue(styleRule.type, styleRule.value)}`\n : `${StyleRules.getTypeLabel(styleRule.itemType)}`;\n const imageStyle = styleRule.style.image as IStyleImage;\n if (\n imageStyle.url &&\n typeof imageStyle.url === 'object' &&\n imageStyle.url.type === 'data'\n ) {\n // If the custom icon is read from a node property-value dynamically, then we\n // skip it from the legend, because it could be a different image for each node,\n // thus bloating the legend.\n } else {\n const value = styleRule.style.image;\n StyleRules.updateLegend(result, {label: label, value: value});\n }\n } else {\n const label = Tools.isDefined(styleRule.input)\n ? `${StyleRules.getTypeLabel(styleRule.itemType)}.${\n styleRule.input[1]\n } ${StyleRules.sanitizeValue(styleRule.type, styleRule.value)}`\n : `${StyleRules.getTypeLabel(styleRule.itemType)}`;\n const value = styleRule.style[styleType];\n StyleRules.updateLegend(result, {label: label, value: value});\n }\n }\n }\n\n return result;\n }\n\n /**\n * Sanitize value for legend\n */\n public static sanitizeValue(styleType: SelectorType, value: any): string {\n switch (styleType) {\n case SelectorType.NO_VALUE:\n return 'is undefined';\n\n case SelectorType.NAN:\n return 'is not an number';\n\n case SelectorType.RANGE:\n let template = '';\n Object.keys(value).forEach((k, i) => {\n if (i > 0) {\n template += ' and ';\n }\n template += `${k} ${value[k]}`;\n });\n return template;\n }\n\n return typeof value === 'object' ? `= ${JSON.stringify(value)}` : `= ${value}`;\n }\n\n /**\n * Add items in legend for automatic coloring\n */\n public static addLegendAutoColors(\n itemsData: Array<LkNodeData | LkEdgeData>,\n styleRule: StyleRule,\n currentLegend: Array<{label: string; value: string | number | IStyleIcon | IStyleImage}>\n ): void {\n const propertyKey: string = styleRule.style.color.input[1];\n itemsData.forEach((data) => {\n const propValue = Tools.getIn(data, styleRule.style.color.input);\n if (Array.isArray(propValue)) {\n propValue.forEach((value) => {\n const label = styleRule.style.color.input.includes('properties')\n ? `${StyleRules.getTypeLabel(styleRule.itemType)}.${propertyKey} = ${value}`\n : `${StyleRules.getTypeLabel(value)}`;\n const color = ItemAttributes.autoColor(value, styleRule.style.color.ignoreCase);\n StyleRules.updateLegend(currentLegend, {label: label, value: color});\n });\n } else {\n const label = styleRule.style.color.input.includes('properties')\n ? `${StyleRules.getTypeLabel(styleRule.itemType)}.${propertyKey} = ${propValue}`\n : `${StyleRules.getTypeLabel(propValue)}`;\n const value = ItemAttributes.autoColor(propValue, styleRule.style.color.ignoreCase);\n StyleRules.updateLegend(currentLegend, {label: label, value: value});\n }\n });\n }\n\n /**\n * Return the label of item type for a legend item\n */\n public static getTypeLabel(type: string | undefined | null): string {\n return type === undefined ? 'All' : type === null ? 'Others' : type;\n }\n\n /**\n * Check if a legend item already exists and overwrite it / push it\n */\n public static updateLegend(\n legend: Array<{label: string; value: string | number | IStyleIcon | IStyleImage}>,\n {label, value}: {[key: string]: string}\n ): void {\n const indexOfLegendItem = legend.map((r) => r.label).indexOf(label);\n if (indexOfLegendItem < 0) {\n legend.push({label: label, value: value});\n } else {\n legend[indexOfLegendItem] = {label: label, value: value};\n }\n }\n\n /**\n * return an array of StyleRule, containing only the desired style\n */\n public static getBy(\n styleType: StyleType,\n rules: Array<IStyleRule<INodeStyle | IEdgeStyle>>\n ): Array<StyleRule> {\n return rules\n .filter((style: IStyleRule<INodeStyle | IEdgeStyle>) => {\n switch (styleType) {\n case StyleType.COLOR:\n return style.style.color !== undefined;\n\n case StyleType.ICON:\n return 'icon' in style.style && style.style.icon !== undefined;\n\n case StyleType.IMAGE:\n return 'image' in style.style && style.style.image !== undefined;\n\n case StyleType.SHAPE:\n return style.style.shape !== undefined;\n\n case StyleType.SIZE:\n return 'size' in style.style && style.style.size !== undefined;\n\n case StyleType.WIDTH:\n return 'width' in style.style && style.style.width !== undefined;\n }\n })\n .map((style: IStyleRule<INodeStyle | IEdgeStyle>) => StyleRules.getRule(style, styleType));\n }\n\n /**\n * From a RawStyle, generate a StyleRule of a specific style\n */\n public static getRule(\n rawRule: IStyleRule<INodeStyle | IEdgeStyle>,\n styleType: StyleType\n ): StyleRule {\n const rule = Tools.clone(rawRule);\n rule.style = {[styleType]: rule.style[styleType]};\n return new StyleRule(rule);\n }\n\n /**\n * Check for non unique index in styles rules and update them if exists\n */\n public static sanitizeStylesIndex(styles: IStyles): IStyles {\n const seenIndex: Array<number> = [];\n const sanitizedStyles: IStyles = Tools.clone(styles);\n let maxIndex =\n Math.max(...[...styles.node.map((s) => s.index), ...styles.edge.map((s) => s.index)]) + 1;\n sanitizedStyles.node = sanitizedStyles.node.map((style) => {\n if (seenIndex.includes(style.index)) {\n style.index = maxIndex;\n maxIndex++;\n } else {\n seenIndex.push(style.index);\n }\n return style;\n });\n sanitizedStyles.edge = sanitizedStyles.edge.map((style) => {\n if (seenIndex.includes(style.index)) {\n style.index = maxIndex;\n maxIndex++;\n } else {\n seenIndex.push(style.index);\n }\n return style;\n });\n return sanitizedStyles;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"styleRules.js","sourceRoot":"","sources":["../../src/styles/styleRules.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AAEb,yDAYiC;AAEjC,0CAA6C;AAE7C,2CAAsC;AACtC,qDAAgD;AAEhD,IAAY,SAOX;AAPD,WAAY,SAAS;IACnB,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,4BAAe,CAAA;AACjB,CAAC,EAPW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAOpB;AAMY,QAAA,YAAY,GAAG,CAAC,aAAa,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;AAEjE,MAAa,UAAU;IAGrB,YAAY,KAAiD;QAC3D,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACd,OAAO,IAAA,cAAM,EAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAY,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,IAAW,IAAI;QACb,OAAO,IAAA,cAAM,EACX;YACE,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACxD,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;SAC1D,EACD,oBAAY,CACb,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACd,OAAO,IAAA,cAAM,EAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAY,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACd,OAAO,IAAA,cAAM,EAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAY,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,IAAW,IAAI;QACb,OAAO,IAAA,cAAM,EAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAY,CAAC,CAAC;IAC7E,CAAC;IAED;;;;OAIG;IACH,IAAW,KAAK;QACd,OAAO,IAAA,cAAM,EAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,oBAAY,CAAC,CAAC;IAC9E,CAAC;IAED;;;;OAIG;IACH,IAAW,SAAS;QAClB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAW,SAAS;QAClB,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,SAAyC;QAC7D,MAAM,MAAM,GAAW,EAAE,CAAC;QAC1B,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;YAC1B,OAAO,MAAM,CAAC;SACf;QAED,IAAI,YAAY,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE;YAChC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;gBACpD,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAC1C,KAAkB,EAClB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EACrB,SAAS,CACV,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAAa,EAAE,EAAE;gBACpD,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,CAAC,iBAAiB,CAC1C,KAAkB,EAClB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EACrB,SAAS,CACV,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,iBAAiB,CAC7B,SAAoB,EACpB,MAAwB,EACxB,SAAyC;QAEzC,MAAM,MAAM,GAA8E,EAAE,CAAC;QAC7F,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QACxC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,SAAS,GAAG,IAAI,qBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAC7C,OAAO,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC,CAAC,CAAC;YACH,IAAI,eAAe,EAAE;gBACnB,IAAI,SAAS,KAAK,SAAS,CAAC,KAAK,IAAI,OAAO,SAAS,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,EAAE;oBAC9E,UAAU,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;iBACzD;qBAAM,IAAI,SAAS,KAAK,SAAS,CAAC,IAAI,IAAI,OAAO,IAAI,SAAS,CAAC,KAAK,EAAE;oBACrE,yBAAyB;oBACzB,MAAM,KAAK,GAAG,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC;wBAC5C,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,IAC5C,SAAS,CAAC,KAAK,CAAC,CAAC,CACnB,IAAI,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE;wBACjE,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrD,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,KAAoB,CAAC;oBACxD,IACE,UAAU,CAAC,GAAG;wBACd,OAAO,UAAU,CAAC,GAAG,KAAK,QAAQ;wBAClC,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,EAC9B;wBACA,6EAA6E;wBAC7E,gFAAgF;wBAChF,4BAA4B;qBAC7B;yBAAM;wBACL,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;wBACpC,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAe,EAAC,CAAC,CAAC;qBACzE;iBACF;qBAAM;oBACL,MAAM,KAAK,GAAG,aAAK,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC;wBAC5C,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,IAC5C,SAAS,CAAC,KAAK,CAAC,CAAC,CACnB,IAAI,UAAU,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE;wBACjE,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACrD,MAAM,KAAK,GACT,SAAS,KAAK,SAAS,CAAC,KAAK;wBAC3B,CAAC,CAAE,SAAS,CAAC,KAAoB,CAAC,SAAS,CAAC;wBAC5C,CAAC,CAAE,SAAS,CAAC,KAAoB,CAAC,SAAS,CAAC,CAAC;oBACjD,UAAU,CAAC,YAAY,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAe,EAAC,CAAC,CAAC;iBACzE;aACF;SACF;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,aAAa,CACzB,SAAuB,EACvB,KAA+C;QAE/C,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,QAAQ,SAAS,EAAE;YACjB,KAAK,0BAAY,CAAC,QAAQ;gBACxB,OAAO,cAAc,CAAC;YAExB,KAAK,0BAAY,CAAC,GAAG;gBACnB,OAAO,kBAAkB,CAAC;YAE5B,KAAK,0BAAY,CAAC,KAAK;gBACrB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBAClC,IAAI,CAAC,GAAG,CAAC,EAAE;wBACT,QAAQ,IAAI,OAAO,CAAC;qBACrB;oBACD,QAAQ,IAAI,GAAG,CAAC,IAAK,KAAsB,CAAC,CAAuB,CAAC,EAAE,CAAC;gBACzE,CAAC,CAAC,CAAC;gBACH,OAAO,QAAQ,CAAC;SACnB;QAED,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,EAAE,CAAC;IACjF,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,mBAAmB,CAC/B,SAAyC,EACzC,SAAoB,EACpB,aAAwF;QAExF,MAAM,UAAU,GAAG,SAAS,CAAC,KAAK,CAAC,KAAoB,CAAC;QACxD,MAAM,WAAW,GAAW,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChD,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACzB,MAAM,SAAS,GAAG,aAAK,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACtD,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC5B,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;wBACnD,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,WAAW,MAAM,KAAK,EAAE;wBAC5E,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxC,MAAM,KAAK,GAAG,+BAAc,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;oBACrE,UAAU,CAAC,YAAY,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;gBACvE,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC;oBACnD,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,WAAW,MAAM,SAAS,EAAE;oBAChF,CAAC,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5C,MAAM,KAAK,GAAG,+BAAc,CAAC,SAAS,CAAC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;gBACzE,UAAU,CAAC,YAAY,CAAC,aAAa,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;aACtE;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAY,CAAC,IAA+B;QACxD,OAAO,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IACtE,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAY,CACxB,MAAiF,EACjF,EAAC,KAAK,EAAE,KAAK,EAA0B;QAEvC,MAAM,iBAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,iBAAiB,GAAG,CAAC,EAAE;YACzB,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;SAC3C;aAAM;YACL,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAC,CAAC;SAC1D;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CACjB,SAAoB,EACpB,KAAiD;QAEjD,OAAO,KAAK;aACT,MAAM,CAAC,CAAC,KAA0C,EAAE,EAAE;YACrD,QAAQ,SAAS,EAAE;gBACjB,KAAK,SAAS,CAAC,KAAK;oBAClB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;gBAEzC,KAAK,SAAS,CAAC,IAAI;oBACjB,OAAO,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;gBAEjE,KAAK,SAAS,CAAC,KAAK;oBAClB,OAAO,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;gBAEnE,KAAK,SAAS,CAAC,KAAK;oBAClB,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;gBAEzC,KAAK,SAAS,CAAC,IAAI;oBACjB,OAAO,MAAM,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC;gBAEjE,KAAK,SAAS,CAAC,KAAK;oBAClB,OAAO,OAAO,IAAI,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC;aACpE;QACH,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,KAA0C,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,OAAO,CACnB,OAA4C,EAC5C,SAAoB;QAEpB,MAAM,IAAI,GAAG,aAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,EAAC,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAC,CAAC;QAClD,OAAO,IAAI,qBAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,mBAAmB,CAAC,MAAe;QAC/C,MAAM,SAAS,GAAkB,EAAE,CAAC;QACpC,MAAM,eAAe,GAAY,aAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,QAAQ,GACV,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5F,eAAe,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACnC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACvB,QAAQ,EAAE,CAAC;aACZ;iBAAM;gBACL,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC7B;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,eAAe,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxD,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;gBACnC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC;gBACvB,QAAQ,EAAE,CAAC;aACZ;iBAAM;gBACL,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;aAC7B;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QACH,OAAO,eAAe,CAAC;IACzB,CAAC;CACF;AA5UD,gCA4UC","sourcesContent":["'use strict';\n\nimport {\n IEdgeStyle,\n IStyleRule,\n LkEdgeData,\n LkNodeData,\n INodeStyle,\n SelectorType,\n IStyleIcon,\n IStyleImage,\n IStyles,\n IStyleColor,\n IRangeValues\n} from '@linkurious/rest-client';\n\nimport {sortBy, Tools} from '../tools/tools';\n\nimport {StyleRule} from './styleRule';\nimport {ItemAttributes} from './itemAttributes';\n\nexport enum StyleType {\n COLOR = 'color',\n ICON = 'icon',\n SIZE = 'size',\n IMAGE = 'image',\n SHAPE = 'shape',\n WIDTH = 'width'\n}\n\nexport interface Legend {\n [key: string]: Array<{label: string; value: string | IStyleIcon | IStyleImage | number}>;\n}\n\nexport const SORTING_RULE = ['specificity', 'itemType', 'index'];\n\nexport class StyleRules {\n private _rules: Array<IStyleRule<INodeStyle | IEdgeStyle>>;\n\n constructor(rules: Array<IStyleRule<INodeStyle | IEdgeStyle>>) {\n this._rules = rules;\n }\n\n /**\n * Return an array of StyleRule with only 'color' rules and sorted by specificity, itemType and index\n *\n * @return {Array<StyleRule>}\n */\n public get color(): Array<StyleRule> {\n return sortBy(StyleRules.getBy(StyleType.COLOR, this._rules), SORTING_RULE);\n }\n\n /**\n * Return an array of StyleRule with only 'icon' rules and sorted by specificity, itemType and index\n *\n * @return {Array<StyleRule>}\n */\n public get icon(): Array<StyleRule> {\n return sortBy(\n [\n ...(StyleRules.getBy(StyleType.ICON, this._rules) || []),\n ...(StyleRules.getBy(StyleType.IMAGE, this._rules) || [])\n ],\n SORTING_RULE\n );\n }\n\n /**\n * Return an array of StyleRule with only 'image' rules and sorted by specificity, itemType and index\n *\n * @return {Array<StyleRule>}\n */\n public get image(): Array<StyleRule> {\n return sortBy(StyleRules.getBy(StyleType.IMAGE, this._rules), SORTING_RULE);\n }\n\n /**\n * Return an array of StyleRule with only 'shape' rules and sorted by specificity, itemType and index\n *\n * @return {Array<StyleRule>}\n */\n public get shape(): Array<StyleRule> {\n return sortBy(StyleRules.getBy(StyleType.SHAPE, this._rules), SORTING_RULE);\n }\n\n /**\n * Return an array of StyleRule with only 'size' rules and sorted by specificity, itemType and index\n *\n * @return {Array<StyleRule>}\n */\n public get size(): Array<StyleRule> {\n return sortBy(StyleRules.getBy(StyleType.SIZE, this._rules), SORTING_RULE);\n }\n\n /**\n * Return an array of StyleRule with only 'width' rules and sorted by specificity, itemType and index\n *\n * @return {Array<StyleRule>}\n */\n public get width(): Array<StyleRule> {\n return sortBy(StyleRules.getBy(StyleType.WIDTH, this._rules), SORTING_RULE);\n }\n\n /**\n * Return an object containing for each node style a sorted array of StyleRule\n *\n * @return {{[key: string]: Array<StyleRule>} }\n */\n public get nodeRules(): {[key: string]: Array<StyleRule>} {\n return {\n color: this.color,\n icon: this.icon,\n image: this.image,\n shape: this.shape,\n size: this.size\n };\n }\n\n /**\n * Return an object containing for each edge style a sorted array of StyleRule\n *\n * @return { {[key: string]: Array<StyleRule>}}\n */\n public get edgeRules(): {[key: string]: Array<StyleRule>} {\n return {\n color: this.color,\n shape: this.shape,\n width: this.width\n };\n }\n\n /**\n * Generate a legend with an array of style rules and existing items in visualization\n */\n public generateLegend(itemsData: Array<LkNodeData | LkEdgeData>): Legend {\n const result: Legend = {};\n if (itemsData.length === 0) {\n return result;\n }\n\n if ('categories' in itemsData[0]) {\n Object.keys(this.nodeRules).forEach((style: string) => {\n result[style] = StyleRules.getLegendForStyle(\n style as StyleType,\n this.nodeRules[style],\n itemsData\n );\n });\n } else {\n Object.keys(this.edgeRules).forEach((style: string) => {\n result[style] = StyleRules.getLegendForStyle(\n style as StyleType,\n this.edgeRules[style],\n itemsData\n );\n });\n }\n return result;\n }\n\n /**\n * Return the legend for a specific style type (color, icon, image...)\n */\n public static getLegendForStyle(\n styleType: StyleType,\n styles: Array<StyleRule>,\n itemsData: Array<LkNodeData | LkEdgeData>\n ): Array<{label: string; value: string | number | IStyleIcon | IStyleImage}> {\n const result: Array<{label: string; value: string | number | IStyleIcon | IStyleImage}> = [];\n const data = itemsData.filter((i) => i);\n for (let i = 0; i < styles.length; i++) {\n const styleRule = new StyleRule(styles[i]);\n const ruleExistsInViz = data.some((itemData) => {\n return styleRule.canApplyTo(itemData);\n });\n if (ruleExistsInViz) {\n if (styleType === StyleType.COLOR && typeof styleRule.style.color === 'object') {\n StyleRules.addLegendAutoColors(data, styleRule, result);\n } else if (styleType === StyleType.ICON && 'image' in styleRule.style) {\n // style is a custom icon\n const label = Tools.isDefined(styleRule.input)\n ? `${StyleRules.getTypeLabel(styleRule.itemType)}.${\n styleRule.input[1]\n } ${StyleRules.sanitizeValue(styleRule.type, styleRule.value)}`\n : `${StyleRules.getTypeLabel(styleRule.itemType)}`;\n const imageStyle = styleRule.style.image as IStyleImage;\n if (\n imageStyle.url &&\n typeof imageStyle.url === 'object' &&\n imageStyle.url.type === 'data'\n ) {\n // If the custom icon is read from a node property-value dynamically, then we\n // skip it from the legend, because it could be a different image for each node,\n // thus bloating the legend.\n } else {\n const value = styleRule.style.image;\n StyleRules.updateLegend(result, {label: label, value: value as string});\n }\n } else {\n const label = Tools.isDefined(styleRule.input)\n ? `${StyleRules.getTypeLabel(styleRule.itemType)}.${\n styleRule.input[1]\n } ${StyleRules.sanitizeValue(styleRule.type, styleRule.value)}`\n : `${StyleRules.getTypeLabel(styleRule.itemType)}`;\n const value =\n styleType === StyleType.WIDTH\n ? (styleRule.style as IEdgeStyle)[styleType]\n : (styleRule.style as INodeStyle)[styleType];\n StyleRules.updateLegend(result, {label: label, value: value as string});\n }\n }\n }\n\n return result;\n }\n\n /**\n * Sanitize value for legend\n */\n public static sanitizeValue(\n styleType: SelectorType,\n value: IRangeValues | number | string | boolean\n ): string {\n let template = '';\n switch (styleType) {\n case SelectorType.NO_VALUE:\n return 'is undefined';\n\n case SelectorType.NAN:\n return 'is not an number';\n\n case SelectorType.RANGE:\n Object.keys(value).forEach((k, i) => {\n if (i > 0) {\n template += ' and ';\n }\n template += `${k} ${(value as IRangeValues)[k as keyof IRangeValues]}`;\n });\n return template;\n }\n\n return typeof value === 'object' ? `= ${JSON.stringify(value)}` : `= ${value}`;\n }\n\n /**\n * Add items in legend for automatic coloring\n */\n public static addLegendAutoColors(\n itemsData: Array<LkNodeData | LkEdgeData>,\n styleRule: StyleRule,\n currentLegend: Array<{label: string; value: string | number | IStyleIcon | IStyleImage}>\n ): void {\n const colorStyle = styleRule.style.color as IStyleColor;\n const propertyKey: string = colorStyle.input[1];\n itemsData.forEach((data) => {\n const propValue = Tools.getIn(data, colorStyle.input);\n if (Array.isArray(propValue)) {\n propValue.forEach((value) => {\n const label = colorStyle.input.includes('properties')\n ? `${StyleRules.getTypeLabel(styleRule.itemType)}.${propertyKey} = ${value}`\n : `${StyleRules.getTypeLabel(value)}`;\n const color = ItemAttributes.autoColor(value, colorStyle.ignoreCase);\n StyleRules.updateLegend(currentLegend, {label: label, value: color});\n });\n } else {\n const label = colorStyle.input.includes('properties')\n ? `${StyleRules.getTypeLabel(styleRule.itemType)}.${propertyKey} = ${propValue}`\n : `${StyleRules.getTypeLabel(propValue)}`;\n const value = ItemAttributes.autoColor(propValue, colorStyle.ignoreCase);\n StyleRules.updateLegend(currentLegend, {label: label, value: value});\n }\n });\n }\n\n /**\n * Return the label of item type for a legend item\n */\n public static getTypeLabel(type: string | undefined | null): string {\n return type === undefined ? 'All' : type === null ? 'Others' : type;\n }\n\n /**\n * Check if a legend item already exists and overwrite it / push it\n */\n public static updateLegend(\n legend: Array<{label: string; value: string | number | IStyleIcon | IStyleImage}>,\n {label, value}: {[key: string]: string}\n ): void {\n const indexOfLegendItem = legend.map((r) => r.label).indexOf(label);\n if (indexOfLegendItem < 0) {\n legend.push({label: label, value: value});\n } else {\n legend[indexOfLegendItem] = {label: label, value: value};\n }\n }\n\n /**\n * return an array of StyleRule, containing only the desired style\n */\n public static getBy(\n styleType: StyleType,\n rules: Array<IStyleRule<INodeStyle | IEdgeStyle>>\n ): Array<StyleRule> {\n return rules\n .filter((style: IStyleRule<INodeStyle | IEdgeStyle>) => {\n switch (styleType) {\n case StyleType.COLOR:\n return style.style.color !== undefined;\n\n case StyleType.ICON:\n return 'icon' in style.style && style.style.icon !== undefined;\n\n case StyleType.IMAGE:\n return 'image' in style.style && style.style.image !== undefined;\n\n case StyleType.SHAPE:\n return style.style.shape !== undefined;\n\n case StyleType.SIZE:\n return 'size' in style.style && style.style.size !== undefined;\n\n case StyleType.WIDTH:\n return 'width' in style.style && style.style.width !== undefined;\n }\n })\n .map((style: IStyleRule<INodeStyle | IEdgeStyle>) => StyleRules.getRule(style, styleType));\n }\n\n /**\n * From a RawStyle, generate a StyleRule of a specific style\n */\n public static getRule(\n rawRule: IStyleRule<INodeStyle | IEdgeStyle>,\n styleType: StyleType\n ): StyleRule {\n const rule = Tools.clone(rawRule);\n rule.style = {[styleType]: rule.style[styleType]};\n return new StyleRule(rule);\n }\n\n /**\n * Check for non unique index in styles rules and update them if exists\n */\n public static sanitizeStylesIndex(styles: IStyles): IStyles {\n const seenIndex: Array<number> = [];\n const sanitizedStyles: IStyles = Tools.clone(styles);\n let maxIndex =\n Math.max(...[...styles.node.map((s) => s.index), ...styles.edge.map((s) => s.index)]) + 1;\n sanitizedStyles.node = sanitizedStyles.node.map((style) => {\n if (seenIndex.includes(style.index)) {\n style.index = maxIndex;\n maxIndex++;\n } else {\n seenIndex.push(style.index);\n }\n return style;\n });\n sanitizedStyles.edge = sanitizedStyles.edge.map((style) => {\n if (seenIndex.includes(style.index)) {\n style.index = maxIndex;\n maxIndex++;\n } else {\n seenIndex.push(style.index);\n }\n return style;\n });\n return sanitizedStyles;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colorPalette.js","sourceRoot":"","sources":["../../src/tools/colorPalette.ts"],"names":[],"mappings":"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","sourcesContent":["import {GenericObject} from '@linkurious/rest-client';\n\nexport const HTML_COLORS: GenericObject<{hex: string; rgb: string}> = {\n lightsalmon: {hex: '#FFA07A', rgb: 'rbg(255,160,122)'},\n salmon: {hex: '#FA8072', rgb: 'rgb(250,128,114)'},\n darksalmon: {hex: '#E9967A', rgb: 'rgb(233,150,122)'},\n lightcoral: {hex: '#F08080', rgb: 'rgb(240,128,128)'},\n indianred: {hex: '#CD5C5C', rgb: 'rgb(205,92,92)'},\n crimson: {hex: '#DC143C', rgb: 'rgb(220,20,60)'},\n firebrick: {hex: '#B22222', rgb: 'rgb(178,34,34)'},\n red: {hex: '#FF0000', rgb: 'rgb(255,0,0)'},\n darkred: {hex: '#8B0000', rgb: 'rgb(139,0,0)'},\n coral: {hex: '#FF7F50', rgb: 'rgb(255,127,80)'},\n tomato: {hex: '#FF6347', rgb: 'rgb(255,99,71)'},\n orangered: {hex: '#FF4500', rgb: 'rgb(255,69,0)'},\n gold: {hex: '#FFD700', rgb: 'rgb(255,215,0)'},\n orange: {hex: '#FFA500', rgb: 'rgb(255,165,0)'},\n darkorange: {hex: '#FF8C00', rgb: 'rgb(255,140,0)'},\n lightyellow: {hex: '#FFFFE0', rgb: 'rgb(255,255,224)'},\n lemonchiffon: {hex: '#FFFACD', rgb: 'rgb(255,250,205)'},\n lightgoldenrodyellow: {hex: '#FAFAD2', rgb: 'rgb(250,250,210)'},\n papayawhip: {hex: '#FFEFD5', rgb: 'rgb(255,239,213)'},\n moccasin: {hex: '#FFE4B5', rgb: 'rgb(255,228,181)'},\n peachpuff: {hex: '#FFDAB9', rgb: 'rgb(255,218,185)'},\n palegoldenrod: {hex: '#EEE8AA', rgb: 'rgb(238,232,170)'},\n khaki: {hex: '#F0E68C', rgb: 'rgb(240,230,140)'},\n darkkhaki: {hex: '#BDB76B', rgb: 'rgb(189,183,107)'},\n yellow: {hex: '#FFFF00', rgb: 'rgb(255,255,0)'},\n lawngreen: {hex: '#7CFC00', rgb: 'rgb(124,252,0)'},\n chartreuse: {hex: '#7FFF00', rgb: 'rgb(127,255,0)'},\n limegreen: {hex: '#32CD32', rgb: 'rgb(50,205,50)'},\n lime: {hex: '#00FF00', rgb: 'rgb(0.255.0)'},\n forestgreen: {hex: '#228B22', rgb: 'rgb(34,139,34)'},\n green: {hex: '#008000', rgb: 'rgb(0,128,0)'},\n darkgreen: {hex: '#006400', rgb: 'rgb(0,100,0)'},\n greenyellow: {hex: '#ADFF2F', rgb: 'rgb(173,255,47)'},\n yellowgreen: {hex: '#9ACD32', rgb: 'rgb(154,205,50)'},\n springgreen: {hex: '#00FF7F', rgb: 'rgb(0,255,127)'},\n mediumspringgreen: {hex: '#00FA9A', rgb: 'rgb(0,250,154)'},\n lightgreen: {hex: '#90EE90', rgb: 'rgb(144,238,144)'},\n palegreen: {hex: '#98FB98', rgb: 'rgb(152,251,152)'},\n darkseagreen: {hex: '#8FBC8F', rgb: 'rgb(143,188,143)'},\n mediumseagreen: {hex: '#3CB371', rgb: 'rgb(60,179,113)'},\n seagreen: {hex: '#2E8B57', rgb: 'rgb(46,139,87)'},\n olive: {hex: '#808000', rgb: 'rgb(128,128,0)'},\n darkolivegreen: {hex: '#556B2F', rgb: 'rgb(85,107,47)'},\n olivedrab: {hex: '#6B8E23', rgb: 'rgb(107,142,35)'},\n lightcyan: {hex: '#E0FFFF', rgb: 'rgb(224,255,255)'},\n cyan: {hex: '#00FFFF', rgb: 'rgb(0,255,255)'},\n aqua: {hex: '#00FFFF', rgb: 'rgb(0,255,255)'},\n aquamarine: {hex: '#7FFFD4', rgb: 'rgb(127,255,212)'},\n mediumaquamarine: {hex: '#66CDAA', rgb: 'rgb(102,205,170)'},\n paleturquoise: {hex: '#AFEEEE', rgb: 'rgb(175,238,238)'},\n turquoise: {hex: '#40E0D0', rgb: 'rgb(64,224,208)'},\n mediumturquoise: {hex: '#48D1CC', rgb: 'rgb(72,209,204)'},\n darkturquoise: {hex: '#00CED1', rgb: 'rgb(0,206,209)'},\n lightseagreen: {hex: '#20B2AA', rgb: 'rgb(32,178,170)'},\n cadetblue: {hex: '#5F9EA0', rgb: 'rgb(95,158,160)'},\n darkcyan: {hex: '#008B8B', rgb: 'rgb(0,139,139)'},\n teal: {hex: '#008080', rgb: 'rgb(0,128,128)'},\n powderblue: {hex: '#B0E0E6', rgb: 'rgb(176,224,230)'},\n lightblue: {hex: '#ADD8E6', rgb: 'rgb(173,216,230)'},\n lightskyblue: {hex: '#87CEFA', rgb: 'rgb(135,206,250)'},\n skyblue: {hex: '#87CEEB', rgb: 'rgb(135,206,235)'},\n deepskyblue: {hex: '#00BFFF', rgb: 'rgb(0,191,255)'},\n lightsteelblue: {hex: '#B0C4DE', rgb: 'rgb(176,196,222)'},\n dodgerblue: {hex: '#1E90FF', rgb: 'rgb(30,144,255)'},\n cornflowerblue: {hex: '#6495ED', rgb: 'rgb(100,149,237)'},\n steelblue: {hex: '#4682B4', rgb: 'rgb(70,130,180)'},\n royalblue: {hex: '#4169E1', rgb: 'rgb(65,105,225)'},\n blue: {hex: '#0000FF', rgb: 'rgb(0,0,255)'},\n mediumblue: {hex: '#0000CD', rgb: 'rgb(0,0,205)'},\n darkblue: {hex: '#00008B', rgb: 'rgb(0,0,139)'},\n navy: {hex: '#000080', rgb: 'rgb(0,0,128)'},\n midnightblue: {hex: '#191970', rgb: 'rgb(25,25,112)'},\n mediumslateblue: {hex: '#7B68EE', rgb: 'rgb(123,104,238)'},\n slateblue: {hex: '#6A5ACD', rgb: 'rgb(106,90,205)'},\n darkslateblue: {hex: '#483D8B', rgb: 'rgb(72,61,139)'},\n lavender: {hex: '#E6E6FA', rgb: 'rgb(230,230,250)'},\n thistle: {hex: '#D8BFD8', rgb: 'rgb(216,191,216)'},\n plum: {hex: '#DDA0DD', rgb: 'rgb(221,160,221)'},\n violet: {hex: '#EE82EE', rgb: 'rgb(238,130,238)'},\n orchid: {hex: '#DA70D6', rgb: 'rgb(218,112,214)'},\n fuchsia: {hex: '#FF00FF', rgb: 'rgb(255,0,255)'},\n magenta: {hex: '#FF00FF', rgb: 'rgb(255,0,255)'},\n mediumorchid: {hex: '#BA55D3', rgb: 'rgb(186,85,211)'},\n mediumpurple: {hex: '#9370DB', rgb: 'rgb(147,112,219)'},\n blueviolet: {hex: '#8A2BE2', rgb: 'rgb(138,43,226)'},\n darkviolet: {hex: '#9400D3', rgb: 'rgb(148,0,211)'},\n darkorchid: {hex: '#9932CC', rgb: 'rgb(153,50,204)'},\n darkmagenta: {hex: '#8B008B', rgb: 'rgb(139,0,139)'},\n purple: {hex: '#800080', rgb: 'rgb(128,0,128)'},\n indigo: {hex: '#4B0082', rgb: 'rgb(75,0,130)'},\n pink: {hex: '#FFC0CB', rgb: 'rgb(255,192,203)'},\n lightpink: {hex: '#FFB6C1', rgb: 'rgb(255,182,193)'},\n hotpink: {hex: '#FF69B4', rgb: 'rgb(255,105,180)'},\n deeppink: {hex: '#FF1493', rgb: 'rgb(255,20,147)'},\n palevioletred: {hex: '#DB7093', rgb: 'rgb(219,112,147)'},\n mediumvioletred: {hex: '#C71585', rgb: 'rgb(199,21,133)'},\n white: {hex: '#FFFFFF', rgb: 'rgb(255,255,255)'},\n snow: {hex: '#FFFAFA', rgb: 'rgb(255,250,250)'},\n honeydew: {hex: '#F0FFF0', rgb: 'rgb(240,255,240)'},\n mintcream: {hex: '#F5FFFA', rgb: 'rgb(245,255,250)'},\n azure: {hex: '#F0FFFF', rgb: 'rgb(240,255,255)'},\n aliceblue: {hex: '#F0F8FF', rgb: 'rgb(240,248,255)'},\n ghostwhite: {hex: '#F8F8FF', rgb: 'rgb(248,248,255)'},\n whitesmoke: {hex: '#F5F5F5', rgb: 'rgb(245,245,245)'},\n seashell: {hex: '#FFF5EE', rgb: 'rgb(255,245,238)'},\n beige: {hex: '#F5F5DC', rgb: 'rgb(245,245,220)'},\n oldlace: {hex: '#FDF5E6', rgb: 'rgb(253,245,230)'},\n floralwhite: {hex: '#FFFAF0', rgb: 'rgb(255,250,240)'},\n ivory: {hex: '#FFFFF0', rgb: 'rgb(255,255,240)'},\n antiquewhite: {hex: '#FAEBD7', rgb: 'rgb(250,235,215)'},\n linen: {hex: '#FAF0E6', rgb: 'rgb(250,240,230)'},\n lavenderblush: {hex: '#FFF0F5', rgb: 'rgb(255,240,245)'},\n mistyrose: {hex: '#FFE4E1', rgb: 'rgb(255,228,225)'},\n gainsboro: {hex: '#DCDCDC', rgb: 'rgb(220,220,220)'},\n lightgray: {hex: '#D3D3D3', rgb: 'rgb(211,211,211)'},\n silver: {hex: '#C0C0C0', rgb: 'rgb(192,192,192)'},\n darkgray: {hex: '#A9A9A9', rgb: 'rgb(169,169,169)'},\n gray: {hex: '#808080', rgb: 'rgb(128,128,128)'},\n dimgray: {hex: '#696969', rgb: 'rgb(105,105,105)'},\n lightslategray: {hex: '#778899', rgb: 'rgb(119,136,153)'},\n slategray: {hex: '#708090', rgb: 'rgb(112,128,144)'},\n darkslategray: {hex: '#2F4F4F', rgb: 'rgb(47,79,79)'},\n black: {hex: '#000000', rgb: 'rgb(0,0,0)'},\n cornsilk: {hex: '#FFF8DC', rgb: 'rgb(255,248,220)'},\n blanchedalmond: {hex: '#FFEBCD', rgb: 'rgb(255,235,205)'},\n bisque: {hex: '#FFE4C4', rgb: 'rgb(255,228,196)'},\n navajowhite: {hex: '#FFDEAD', rgb: 'rgb(255,222,173)'},\n wheat: {hex: '#F5DEB3', rgb: 'rgb(245,222,179)'},\n burlywood: {hex: '#DEB887', rgb: 'rgb(222,184,135)'},\n tan: {hex: '#D2B48C', rgb: 'rgb(210,180,140)'},\n rosybrown: {hex: '#BC8F8F', rgb: 'rgb(188,143,143)'},\n sandybrown: {hex: '#F4A460', rgb: 'rgb(244,164,96)'},\n goldenrod: {hex: '#DAA520', rgb: 'rgb(218,165,32)'},\n peru: {hex: '#CD853F', rgb: 'rgb(205,133,63)'},\n chocolate: {hex: '#D2691E', rgb: 'rgb(210,105,30)'},\n saddlebrown: {hex: '#8B4513', rgb: 'rgb(139,69,19)'},\n sienna: {hex: '#A0522D', rgb: 'rgb(160,82,45)'},\n brown: {hex: '#A52A2A', rgb: 'rgb(165,42,42)'},\n maroon: {hex: '#800000', rgb: 'rgb(128,0,0)'}\n};\n"]}
|
|
1
|
+
{"version":3,"file":"colorPalette.js","sourceRoot":"","sources":["../../src/tools/colorPalette.ts"],"names":[],"mappings":"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","sourcesContent":["import {GenericObject} from '@linkurious/rest-client';\n\nexport const HTML_COLORS: GenericObject<{hex: string; rgb: string}> = {\n lightsalmon: {hex: '#FFA07A', rgb: 'rbg(255,160,122)'},\n salmon: {hex: '#FA8072', rgb: 'rgb(250,128,114)'},\n darksalmon: {hex: '#E9967A', rgb: 'rgb(233,150,122)'},\n lightcoral: {hex: '#F08080', rgb: 'rgb(240,128,128)'},\n indianred: {hex: '#CD5C5C', rgb: 'rgb(205,92,92)'},\n crimson: {hex: '#DC143C', rgb: 'rgb(220,20,60)'},\n firebrick: {hex: '#B22222', rgb: 'rgb(178,34,34)'},\n red: {hex: '#FF0000', rgb: 'rgb(255,0,0)'},\n darkred: {hex: '#8B0000', rgb: 'rgb(139,0,0)'},\n coral: {hex: '#FF7F50', rgb: 'rgb(255,127,80)'},\n tomato: {hex: '#FF6347', rgb: 'rgb(255,99,71)'},\n orangered: {hex: '#FF4500', rgb: 'rgb(255,69,0)'},\n gold: {hex: '#FFD700', rgb: 'rgb(255,215,0)'},\n orange: {hex: '#FFA500', rgb: 'rgb(255,165,0)'},\n darkorange: {hex: '#FF8C00', rgb: 'rgb(255,140,0)'},\n lightyellow: {hex: '#FFFFE0', rgb: 'rgb(255,255,224)'},\n lemonchiffon: {hex: '#FFFACD', rgb: 'rgb(255,250,205)'},\n lightgoldenrodyellow: {hex: '#FAFAD2', rgb: 'rgb(250,250,210)'},\n papayawhip: {hex: '#FFEFD5', rgb: 'rgb(255,239,213)'},\n moccasin: {hex: '#FFE4B5', rgb: 'rgb(255,228,181)'},\n peachpuff: {hex: '#FFDAB9', rgb: 'rgb(255,218,185)'},\n palegoldenrod: {hex: '#EEE8AA', rgb: 'rgb(238,232,170)'},\n khaki: {hex: '#F0E68C', rgb: 'rgb(240,230,140)'},\n darkkhaki: {hex: '#BDB76B', rgb: 'rgb(189,183,107)'},\n yellow: {hex: '#FFFF00', rgb: 'rgb(255,255,0)'},\n lawngreen: {hex: '#7CFC00', rgb: 'rgb(124,252,0)'},\n chartreuse: {hex: '#7FFF00', rgb: 'rgb(127,255,0)'},\n limegreen: {hex: '#32CD32', rgb: 'rgb(50,205,50)'},\n lime: {hex: '#00FF00', rgb: 'rgb(0.255.0)'},\n forestgreen: {hex: '#228B22', rgb: 'rgb(34,139,34)'},\n green: {hex: '#008000', rgb: 'rgb(0,128,0)'},\n darkgreen: {hex: '#006400', rgb: 'rgb(0,100,0)'},\n greenyellow: {hex: '#ADFF2F', rgb: 'rgb(173,255,47)'},\n yellowgreen: {hex: '#9ACD32', rgb: 'rgb(154,205,50)'},\n springgreen: {hex: '#00FF7F', rgb: 'rgb(0,255,127)'},\n mediumspringgreen: {hex: '#00FA9A', rgb: 'rgb(0,250,154)'},\n lightgreen: {hex: '#90EE90', rgb: 'rgb(144,238,144)'},\n palegreen: {hex: '#98FB98', rgb: 'rgb(152,251,152)'},\n darkseagreen: {hex: '#8FBC8F', rgb: 'rgb(143,188,143)'},\n mediumseagreen: {hex: '#3CB371', rgb: 'rgb(60,179,113)'},\n seagreen: {hex: '#2E8B57', rgb: 'rgb(46,139,87)'},\n olive: {hex: '#808000', rgb: 'rgb(128,128,0)'},\n darkolivegreen: {hex: '#556B2F', rgb: 'rgb(85,107,47)'},\n olivedrab: {hex: '#6B8E23', rgb: 'rgb(107,142,35)'},\n lightcyan: {hex: '#E0FFFF', rgb: 'rgb(224,255,255)'},\n cyan: {hex: '#00FFFF', rgb: 'rgb(0,255,255)'},\n aqua: {hex: '#00FFFF', rgb: 'rgb(0,255,255)'},\n aquamarine: {hex: '#7FFFD4', rgb: 'rgb(127,255,212)'},\n mediumaquamarine: {hex: '#66CDAA', rgb: 'rgb(102,205,170)'},\n paleturquoise: {hex: '#AFEEEE', rgb: 'rgb(175,238,238)'},\n turquoise: {hex: '#40E0D0', rgb: 'rgb(64,224,208)'},\n mediumturquoise: {hex: '#48D1CC', rgb: 'rgb(72,209,204)'},\n darkturquoise: {hex: '#00CED1', rgb: 'rgb(0,206,209)'},\n lightseagreen: {hex: '#20B2AA', rgb: 'rgb(32,178,170)'},\n cadetblue: {hex: '#5F9EA0', rgb: 'rgb(95,158,160)'},\n darkcyan: {hex: '#008B8B', rgb: 'rgb(0,139,139)'},\n teal: {hex: '#008080', rgb: 'rgb(0,128,128)'},\n powderblue: {hex: '#B0E0E6', rgb: 'rgb(176,224,230)'},\n lightblue: {hex: '#ADD8E6', rgb: 'rgb(173,216,230)'},\n lightskyblue: {hex: '#87CEFA', rgb: 'rgb(135,206,250)'},\n skyblue: {hex: '#87CEEB', rgb: 'rgb(135,206,235)'},\n deepskyblue: {hex: '#00BFFF', rgb: 'rgb(0,191,255)'},\n lightsteelblue: {hex: '#B0C4DE', rgb: 'rgb(176,196,222)'},\n dodgerblue: {hex: '#1E90FF', rgb: 'rgb(30,144,255)'},\n cornflowerblue: {hex: '#6495ED', rgb: 'rgb(100,149,237)'},\n steelblue: {hex: '#4682B4', rgb: 'rgb(70,130,180)'},\n royalblue: {hex: '#4169E1', rgb: 'rgb(65,105,225)'},\n blue: {hex: '#0000FF', rgb: 'rgb(0,0,255)'},\n mediumblue: {hex: '#0000CD', rgb: 'rgb(0,0,205)'},\n darkblue: {hex: '#00008B', rgb: 'rgb(0,0,139)'},\n navy: {hex: '#000080', rgb: 'rgb(0,0,128)'},\n midnightblue: {hex: '#191970', rgb: 'rgb(25,25,112)'},\n mediumslateblue: {hex: '#7B68EE', rgb: 'rgb(123,104,238)'},\n slateblue: {hex: '#6A5ACD', rgb: 'rgb(106,90,205)'},\n darkslateblue: {hex: '#483D8B', rgb: 'rgb(72,61,139)'},\n lavender: {hex: '#E6E6FA', rgb: 'rgb(230,230,250)'},\n thistle: {hex: '#D8BFD8', rgb: 'rgb(216,191,216)'},\n plum: {hex: '#DDA0DD', rgb: 'rgb(221,160,221)'},\n violet: {hex: '#EE82EE', rgb: 'rgb(238,130,238)'},\n orchid: {hex: '#DA70D6', rgb: 'rgb(218,112,214)'},\n fuchsia: {hex: '#FF00FF', rgb: 'rgb(255,0,255)'},\n magenta: {hex: '#FF00FF', rgb: 'rgb(255,0,255)'},\n mediumorchid: {hex: '#BA55D3', rgb: 'rgb(186,85,211)'},\n mediumpurple: {hex: '#9370DB', rgb: 'rgb(147,112,219)'},\n blueviolet: {hex: '#8A2BE2', rgb: 'rgb(138,43,226)'},\n darkviolet: {hex: '#9400D3', rgb: 'rgb(148,0,211)'},\n darkorchid: {hex: '#9932CC', rgb: 'rgb(153,50,204)'},\n darkmagenta: {hex: '#8B008B', rgb: 'rgb(139,0,139)'},\n purple: {hex: '#800080', rgb: 'rgb(128,0,128)'},\n indigo: {hex: '#4B0082', rgb: 'rgb(75,0,130)'},\n pink: {hex: '#FFC0CB', rgb: 'rgb(255,192,203)'},\n lightpink: {hex: '#FFB6C1', rgb: 'rgb(255,182,193)'},\n hotpink: {hex: '#FF69B4', rgb: 'rgb(255,105,180)'},\n deeppink: {hex: '#FF1493', rgb: 'rgb(255,20,147)'},\n palevioletred: {hex: '#DB7093', rgb: 'rgb(219,112,147)'},\n mediumvioletred: {hex: '#C71585', rgb: 'rgb(199,21,133)'},\n white: {hex: '#FFFFFF', rgb: 'rgb(255,255,255)'},\n snow: {hex: '#FFFAFA', rgb: 'rgb(255,250,250)'},\n honeydew: {hex: '#F0FFF0', rgb: 'rgb(240,255,240)'},\n mintcream: {hex: '#F5FFFA', rgb: 'rgb(245,255,250)'},\n azure: {hex: '#F0FFFF', rgb: 'rgb(240,255,255)'},\n aliceblue: {hex: '#F0F8FF', rgb: 'rgb(240,248,255)'},\n ghostwhite: {hex: '#F8F8FF', rgb: 'rgb(248,248,255)'},\n whitesmoke: {hex: '#F5F5F5', rgb: 'rgb(245,245,245)'},\n seashell: {hex: '#FFF5EE', rgb: 'rgb(255,245,238)'},\n beige: {hex: '#F5F5DC', rgb: 'rgb(245,245,220)'},\n oldlace: {hex: '#FDF5E6', rgb: 'rgb(253,245,230)'},\n floralwhite: {hex: '#FFFAF0', rgb: 'rgb(255,250,240)'},\n ivory: {hex: '#FFFFF0', rgb: 'rgb(255,255,240)'},\n antiquewhite: {hex: '#FAEBD7', rgb: 'rgb(250,235,215)'},\n linen: {hex: '#FAF0E6', rgb: 'rgb(250,240,230)'},\n lavenderblush: {hex: '#FFF0F5', rgb: 'rgb(255,240,245)'},\n mistyrose: {hex: '#FFE4E1', rgb: 'rgb(255,228,225)'},\n gainsboro: {hex: '#DCDCDC', rgb: 'rgb(220,220,220)'},\n lightgray: {hex: '#D3D3D3', rgb: 'rgb(211,211,211)'},\n silver: {hex: '#C0C0C0', rgb: 'rgb(192,192,192)'},\n darkgray: {hex: '#A9A9A9', rgb: 'rgb(169,169,169)'},\n gray: {hex: '#808080', rgb: 'rgb(128,128,128)'},\n dimgray: {hex: '#696969', rgb: 'rgb(105,105,105)'},\n lightslategray: {hex: '#778899', rgb: 'rgb(119,136,153)'},\n slategray: {hex: '#708090', rgb: 'rgb(112,128,144)'},\n darkslategray: {hex: '#2F4F4F', rgb: 'rgb(47,79,79)'},\n black: {hex: '#000000', rgb: 'rgb(0,0,0)'},\n cornsilk: {hex: '#FFF8DC', rgb: 'rgb(255,248,220)'},\n blanchedalmond: {hex: '#FFEBCD', rgb: 'rgb(255,235,205)'},\n bisque: {hex: '#FFE4C4', rgb: 'rgb(255,228,196)'},\n navajowhite: {hex: '#FFDEAD', rgb: 'rgb(255,222,173)'},\n wheat: {hex: '#F5DEB3', rgb: 'rgb(245,222,179)'},\n burlywood: {hex: '#DEB887', rgb: 'rgb(222,184,135)'},\n tan: {hex: '#D2B48C', rgb: 'rgb(210,180,140)'},\n rosybrown: {hex: '#BC8F8F', rgb: 'rgb(188,143,143)'},\n sandybrown: {hex: '#F4A460', rgb: 'rgb(244,164,96)'},\n goldenrod: {hex: '#DAA520', rgb: 'rgb(218,165,32)'},\n peru: {hex: '#CD853F', rgb: 'rgb(205,133,63)'},\n chocolate: {hex: '#D2691E', rgb: 'rgb(210,105,30)'},\n saddlebrown: {hex: '#8B4513', rgb: 'rgb(139,69,19)'},\n sienna: {hex: '#A0522D', rgb: 'rgb(160,82,45)'},\n brown: {hex: '#A52A2A', rgb: 'rgb(165,42,42)'},\n maroon: {hex: '#800000', rgb: 'rgb(128,0,0)'}\n};\n"]}
|
package/dist/tools/ogmaTool.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ogmaTool.js","sourceRoot":"","sources":["../../src/tools/ogmaTool.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC
|
|
1
|
+
{"version":3,"file":"ogmaTool.js","sourceRoot":"","sources":["../../src/tools/ogmaTool.ts"],"names":[],"mappings":"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","sourcesContent":["'use strict';\nimport {Color, NodeList, Node, EdgeList, Edge} from '@linkurious/ogma';\nimport {LkEdgeData, LkNodeData} from '@linkurious/rest-client';\n\nimport {Tools} from './tools';\nimport {HTML_COLORS} from './colorPalette';\n\nexport class OgmaTools {\n /**\n * Get the amount of hidden neighbors from a list of nodes\n *\n * @param nodes\n */\n public static getHiddenNeighbors(nodes: NodeList<LkNodeData, LkEdgeData>): number {\n return nodes.reduce((result: number, node: Node<LkNodeData, LkEdgeData>) => {\n const statistics = node.getData('statistics');\n if (statistics !== undefined) {\n const hiddenNeighbors =\n statistics.degree !== undefined && !statistics.supernode\n ? statistics.degree - Tools.getDegreeWithoutSelfConnection(node)\n : statistics.supernodeDegree;\n if (hiddenNeighbors !== undefined && hiddenNeighbors > 0) {\n return (result += hiddenNeighbors);\n }\n }\n return result;\n }, 0);\n }\n\n /**\n * Return the visible degree of a node without self connection (self edge)\n *\n * @param {Node} node\n * @return {number}\n */\n public static getDegreeWithoutSelfConnection(node: Node<LkNodeData, LkEdgeData>): number {\n return node.getAdjacentNodes({policy: 'exclude-sources', filter: 'all'}).size;\n }\n\n /**\n * Return true if the color tone is \"bright\"\n *\n * @param {string} color\n * @returns {boolean}\n */\n public static isBright(color: Color): boolean {\n if (color === null || !Tools.isStringFilled(color)) {\n return true;\n }\n const hexRegExp = /#[A-Fa-f0-9]{3,6}/;\n const rgbRegExp = /^rgb\\(\\s*([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\s*,\\s*([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\s*,\\s*([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\s*\\)$/i;\n const rgbaRegExp = /^rgba\\(\\s*([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\s*,\\s*([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\s*,\\s*([01]?\\d\\d?|2[0-4]\\d|25[0-5])\\s*,\\s*(?:0|1|0?\\.\\d+)\\s*\\)$/i;\n let rgb: string;\n\n if (hexRegExp.test(color)) {\n if (color.length < 5) {\n color += color.slice(1);\n }\n color = color.replace('#', '');\n const r = parseInt(color[0].toString() + color[1].toString(), 16);\n const g = parseInt(color[2].toString() + color[3].toString(), 16);\n const b = parseInt(color[4].toString() + color[5].toString(), 16);\n rgb = `rgb(${r}, ${g}, ${b})`;\n } else if (\n rgbRegExp.test(color) ||\n rgbaRegExp.test(color) ||\n HTML_COLORS[color.toLowerCase()] !== undefined\n ) {\n rgb = Tools.isDefined(HTML_COLORS[color.toLowerCase()])\n ? HTML_COLORS[color.toLowerCase()]['rgb']\n : color;\n } else {\n return true;\n }\n\n const [r, g, b] = rgb\n .replace(/\\s/g, '')\n .match(/rgba?\\((\\d{1,3}),(\\d{1,3}),(\\d{1,3})(,\\d{1,3})?\\)/)!\n .slice(1, 4);\n\n if (!Tools.isDefined(r) || !Tools.isDefined(g) || !Tools.isDefined(b)) {\n console.warn('The given color is not a valid rgb formatted color');\n return true;\n }\n return (+r * 299 + +g * 587 + +b * 114) / 1000 > 255 * 0.7;\n }\n\n public static isNode(\n item: Node<LkNodeData, LkEdgeData> | Edge<LkEdgeData, LkNodeData>\n ): item is Node<LkNodeData, LkEdgeData> {\n return item.isNode;\n }\n\n public static isNodeList(\n items: NodeList<LkNodeData, LkEdgeData> | EdgeList<LkEdgeData, LkNodeData>\n ): items is NodeList<LkNodeData, LkEdgeData> {\n return items.isNode;\n }\n}\n"]}
|
package/dist/tools/tools.js
CHANGED
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Tools = exports.CAPTION_HEURISTIC = exports.sortBy = void 0;
|
|
6
7
|
const isEqual_1 = __importDefault(require("lodash/isEqual"));
|
|
7
8
|
const sortBy_1 = __importDefault(require("lodash/sortBy"));
|
|
8
9
|
exports.sortBy = sortBy_1.default;
|
|
@@ -20,7 +21,7 @@ exports.CAPTION_HEURISTIC = [
|
|
|
20
21
|
];
|
|
21
22
|
class Tools {
|
|
22
23
|
static isEqual(v1, v2) {
|
|
23
|
-
return isEqual_1.default(v1, v2);
|
|
24
|
+
return (0, isEqual_1.default)(v1, v2);
|
|
24
25
|
}
|
|
25
26
|
/**
|
|
26
27
|
* Check that a value is defined : not null and not undefined
|