@progress/kendo-vue-charts 4.3.3 → 4.4.0-dev.202405071452
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/dist/cdn/js/kendo-vue-charts.js +1 -1
- package/dist/es/main.d.ts +1 -0
- package/dist/es/main.js +1 -0
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/sankey/Sankey.d.ts +61 -0
- package/dist/es/sankey/Sankey.js +243 -0
- package/dist/es/sankey/main.d.ts +4 -0
- package/dist/es/sankey/main.js +3 -0
- package/dist/es/sankey/messages.d.ts +10 -0
- package/dist/es/sankey/messages.js +11 -0
- package/dist/es/sankey/theme-service.d.ts +5 -0
- package/dist/es/sankey/theme-service.js +101 -0
- package/dist/es/sankey/tooltip.d.ts +61 -0
- package/dist/es/sankey/tooltip.js +311 -0
- package/dist/es/sankey/types.d.ts +159 -0
- package/dist/es/sankey/types.js +1 -0
- package/dist/es/sankey/utils.d.ts +5 -0
- package/dist/es/sankey/utils.js +5 -0
- package/dist/esm/main.d.ts +1 -0
- package/dist/esm/main.js +1 -0
- package/dist/esm/package-metadata.js +1 -1
- package/dist/esm/sankey/Sankey.d.ts +61 -0
- package/dist/esm/sankey/Sankey.js +243 -0
- package/dist/esm/sankey/main.d.ts +4 -0
- package/dist/esm/sankey/main.js +3 -0
- package/dist/esm/sankey/messages.d.ts +10 -0
- package/dist/esm/sankey/messages.js +11 -0
- package/dist/esm/sankey/theme-service.d.ts +5 -0
- package/dist/esm/sankey/theme-service.js +101 -0
- package/dist/esm/sankey/tooltip.d.ts +61 -0
- package/dist/esm/sankey/tooltip.js +311 -0
- package/dist/esm/sankey/types.d.ts +159 -0
- package/dist/esm/sankey/types.js +1 -0
- package/dist/esm/sankey/utils.d.ts +5 -0
- package/dist/esm/sankey/utils.js +5 -0
- package/dist/npm/main.d.ts +1 -0
- package/dist/npm/main.js +1 -0
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/sankey/Sankey.d.ts +61 -0
- package/dist/npm/sankey/Sankey.js +250 -0
- package/dist/npm/sankey/main.d.ts +4 -0
- package/dist/npm/sankey/main.js +7 -0
- package/dist/npm/sankey/messages.d.ts +10 -0
- package/dist/npm/sankey/messages.js +14 -0
- package/dist/npm/sankey/theme-service.d.ts +5 -0
- package/dist/npm/sankey/theme-service.js +105 -0
- package/dist/npm/sankey/tooltip.d.ts +61 -0
- package/dist/npm/sankey/tooltip.js +318 -0
- package/dist/npm/sankey/types.d.ts +159 -0
- package/dist/npm/sankey/types.js +2 -0
- package/dist/npm/sankey/utils.d.ts +5 -0
- package/dist/npm/sankey/utils.js +8 -0
- package/package.json +9 -7
package/dist/es/main.d.ts
CHANGED
|
@@ -10,4 +10,5 @@ export * from './common/api-types';
|
|
|
10
10
|
export * from './common/events';
|
|
11
11
|
export * from './common/charts';
|
|
12
12
|
export * from './methods/main';
|
|
13
|
+
export * from './sankey/main';
|
|
13
14
|
export { Chart, ChartVue2, ChartProps, Sparkline, SparklineVue2, SparklineProps, StockChart, StockChartVue2, StockChartProps };
|
package/dist/es/main.js
CHANGED
|
@@ -5,7 +5,7 @@ export var packageMetadata = {
|
|
|
5
5
|
name: '@progress/kendo-vue-charts',
|
|
6
6
|
productName: 'Kendo UI for Vue',
|
|
7
7
|
productCodes: ['KENDOUIVUE', 'KENDOUICOMPLETE'],
|
|
8
|
-
publishDate:
|
|
8
|
+
publishDate: 1715092837,
|
|
9
9
|
version: '',
|
|
10
10
|
licensingDocsUrl: 'https://www.telerik.com/kendo-vue-ui/my-license/?utm_medium=product&utm_source=kendovue&utm_campaign=kendo-ui-vue-purchase-license-keys-warning'
|
|
11
11
|
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import * as Vue from 'vue';
|
|
2
|
+
import { DefineComponent } from 'vue';
|
|
3
|
+
/**
|
|
4
|
+
* @hidden
|
|
5
|
+
*/
|
|
6
|
+
declare type Vue2type = Vue.default;
|
|
7
|
+
/**
|
|
8
|
+
* @hidden
|
|
9
|
+
*/
|
|
10
|
+
import { RecordPropsDefinition, ComponentOptions } from 'vue/types/options';
|
|
11
|
+
declare type DefaultData<V> = object | ((this: V) => {});
|
|
12
|
+
declare type DefaultMethods<V> = {
|
|
13
|
+
[key: string]: (this: V, ...args: any[]) => any;
|
|
14
|
+
};
|
|
15
|
+
import { SankeyExportVisualOptions, SankeyProps } from './types';
|
|
16
|
+
import { Group } from '@progress/kendo-drawing';
|
|
17
|
+
import { Sankey as SankeyWidget } from '@progress/kendo-charts';
|
|
18
|
+
/**
|
|
19
|
+
* @hidden
|
|
20
|
+
*/
|
|
21
|
+
export interface SankeyState {
|
|
22
|
+
instance: SankeyWidget | null;
|
|
23
|
+
element: HTMLElement | null;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* @hidden
|
|
27
|
+
*/
|
|
28
|
+
export interface SankeyComputed {
|
|
29
|
+
[key: string]: any;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* @hidden
|
|
33
|
+
*/
|
|
34
|
+
export interface SankeyMethods {
|
|
35
|
+
[key: string]: any;
|
|
36
|
+
exportVisual: (options?: SankeyExportVisualOptions) => Group;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @hidden
|
|
40
|
+
*/
|
|
41
|
+
export interface SankeyComponentData {
|
|
42
|
+
currentTooltip: any | null;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @hidden
|
|
46
|
+
*/
|
|
47
|
+
export interface SankeyAll extends Vue2type, SankeyMethods, SankeyComponentData, SankeyComputed, SankeyState {
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @hidden
|
|
51
|
+
*/
|
|
52
|
+
declare let SankeyVue2: ComponentOptions<SankeyAll, DefaultData<SankeyComponentData>, DefaultMethods<SankeyAll>, SankeyComputed, RecordPropsDefinition<SankeyProps>>;
|
|
53
|
+
/**
|
|
54
|
+
* @hidden
|
|
55
|
+
*/
|
|
56
|
+
export declare type SankeyType = DefineComponent<SankeyProps, any, SankeyComponentData, SankeyComputed, SankeyMethods, {}, {}, {}, string, SankeyProps, SankeyProps, {}>;
|
|
57
|
+
/**
|
|
58
|
+
* @hidden
|
|
59
|
+
*/
|
|
60
|
+
declare const Sankey: SankeyType;
|
|
61
|
+
export { Sankey, SankeyVue2 };
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
var __assign = this && this.__assign || function () {
|
|
2
|
+
__assign = Object.assign || function (t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) {
|
|
6
|
+
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
// @ts-ignore
|
|
14
|
+
import * as Vue from 'vue';
|
|
15
|
+
var allVue = Vue;
|
|
16
|
+
var gh = allVue.h;
|
|
17
|
+
var isV3 = allVue.version && allVue.version[0] === '3';
|
|
18
|
+
import { validatePackage, getRef, setRef, templateRendering, getListeners } from '@progress/kendo-vue-common';
|
|
19
|
+
import { packageMetadata } from './../package-metadata';
|
|
20
|
+
import { loadTheme } from './theme-service';
|
|
21
|
+
import { Sankey as SankeyWidget } from '@progress/kendo-charts';
|
|
22
|
+
import { Tooltip } from './tooltip';
|
|
23
|
+
var defaultTooltipProps = {
|
|
24
|
+
visible: true,
|
|
25
|
+
offset: 12
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* @hidden
|
|
29
|
+
*/
|
|
30
|
+
var SankeyVue2 = {
|
|
31
|
+
name: 'KendoSankey',
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
emits: {
|
|
34
|
+
linkclick: null,
|
|
35
|
+
linkenter: null,
|
|
36
|
+
linkleave: null,
|
|
37
|
+
nodeclick: null,
|
|
38
|
+
nodeenter: null,
|
|
39
|
+
nodeleave: null
|
|
40
|
+
},
|
|
41
|
+
inheritAttrs: false,
|
|
42
|
+
props: {
|
|
43
|
+
dataNodes: {
|
|
44
|
+
type: Array,
|
|
45
|
+
required: true
|
|
46
|
+
},
|
|
47
|
+
dataLinks: {
|
|
48
|
+
type: Array,
|
|
49
|
+
required: true
|
|
50
|
+
},
|
|
51
|
+
disableAutoLayout: Boolean,
|
|
52
|
+
labels: Object,
|
|
53
|
+
legend: Object,
|
|
54
|
+
links: Object,
|
|
55
|
+
nodes: Object,
|
|
56
|
+
title: Object,
|
|
57
|
+
tooltip: Object
|
|
58
|
+
},
|
|
59
|
+
created: function created() {
|
|
60
|
+
validatePackage(packageMetadata);
|
|
61
|
+
this.instance = null;
|
|
62
|
+
},
|
|
63
|
+
data: function data() {
|
|
64
|
+
return {
|
|
65
|
+
currentTooltip: null
|
|
66
|
+
};
|
|
67
|
+
},
|
|
68
|
+
watch: {
|
|
69
|
+
dataNodes: function dataNodes() {
|
|
70
|
+
this.update(this);
|
|
71
|
+
},
|
|
72
|
+
dataLinks: function dataLinks() {
|
|
73
|
+
this.update(this);
|
|
74
|
+
},
|
|
75
|
+
links: function links() {
|
|
76
|
+
this.update(this);
|
|
77
|
+
},
|
|
78
|
+
nodes: function nodes() {
|
|
79
|
+
this.update(this);
|
|
80
|
+
},
|
|
81
|
+
labels: function labels() {
|
|
82
|
+
this.update(this);
|
|
83
|
+
},
|
|
84
|
+
title: function title() {
|
|
85
|
+
this.update(this);
|
|
86
|
+
},
|
|
87
|
+
legend: function legend() {
|
|
88
|
+
this.update(this);
|
|
89
|
+
},
|
|
90
|
+
disableAutoLayout: function disableAutoLayout() {
|
|
91
|
+
this.update(this);
|
|
92
|
+
},
|
|
93
|
+
tooltip: function tooltip() {
|
|
94
|
+
this.update(this);
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
computed: {
|
|
98
|
+
sankeyClasses: function sankeyClasses() {
|
|
99
|
+
var _a;
|
|
100
|
+
var className = this.$attrs.class;
|
|
101
|
+
return _a = {}, _a['k-chart k-sankey'] = true, _a[className] = Boolean(className), _a;
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
mounted: function mounted() {
|
|
105
|
+
this.element = getRef(this, 'element');
|
|
106
|
+
this.createSankey(this);
|
|
107
|
+
},
|
|
108
|
+
destroyed: !!isV3 ? undefined : function () {
|
|
109
|
+
this.destroySankey();
|
|
110
|
+
},
|
|
111
|
+
// @ts-ignore
|
|
112
|
+
unmounted: function unmounted() {
|
|
113
|
+
this.destroySankey();
|
|
114
|
+
},
|
|
115
|
+
methods: {
|
|
116
|
+
exportVisual: function exportVisual(options) {
|
|
117
|
+
return this.instance.exportVisual(options);
|
|
118
|
+
},
|
|
119
|
+
destroySankey: function destroySankey() {
|
|
120
|
+
if (this.instance) {
|
|
121
|
+
this.instance.destroy();
|
|
122
|
+
this.instance = null;
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
createSankey: function createSankey() {
|
|
126
|
+
var _this = this;
|
|
127
|
+
var element = this.element;
|
|
128
|
+
if (!element) {
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
var options = this.sankeyOptions();
|
|
132
|
+
loadTheme(element.ownerDocument, function (theme) {
|
|
133
|
+
_this.instance = new SankeyWidget(element, options, theme);
|
|
134
|
+
_this.bindEvents(_this.instance);
|
|
135
|
+
});
|
|
136
|
+
},
|
|
137
|
+
update: function update() {
|
|
138
|
+
if (this.instance) {
|
|
139
|
+
this.instance.setOptions(this.sankeyOptions());
|
|
140
|
+
}
|
|
141
|
+
},
|
|
142
|
+
bindEvents: function bindEvents(instance) {
|
|
143
|
+
instance.bind('nodeEnter', this.triggerEvent);
|
|
144
|
+
instance.bind('nodeLeave', this.triggerEvent);
|
|
145
|
+
instance.bind('linkEnter', this.triggerEvent);
|
|
146
|
+
instance.bind('linkLeave', this.triggerEvent);
|
|
147
|
+
instance.bind('nodeClick', this.triggerEvent);
|
|
148
|
+
instance.bind('linkClick', this.triggerEvent);
|
|
149
|
+
instance.bind('tooltipShow', this.onTooltipShow);
|
|
150
|
+
instance.bind('tooltipHide', this.onTooltipHide);
|
|
151
|
+
},
|
|
152
|
+
triggerEvent: function triggerEvent(e) {
|
|
153
|
+
var event = __assign(__assign({}, e), {
|
|
154
|
+
target: this
|
|
155
|
+
});
|
|
156
|
+
this.$emit(e.type.toLowerCase(), event);
|
|
157
|
+
},
|
|
158
|
+
sankeyOptions: function sankeyOptions() {
|
|
159
|
+
var _a = this.$props,
|
|
160
|
+
dataNodes = _a.dataNodes,
|
|
161
|
+
dataLinks = _a.dataLinks,
|
|
162
|
+
links = _a.links,
|
|
163
|
+
nodes = _a.nodes,
|
|
164
|
+
labels = _a.labels,
|
|
165
|
+
title = _a.title,
|
|
166
|
+
legend = _a.legend,
|
|
167
|
+
disableAutoLayout = _a.disableAutoLayout,
|
|
168
|
+
tooltip = _a.tooltip;
|
|
169
|
+
var data = {
|
|
170
|
+
nodes: dataNodes,
|
|
171
|
+
links: dataLinks
|
|
172
|
+
};
|
|
173
|
+
return {
|
|
174
|
+
data: data,
|
|
175
|
+
links: links,
|
|
176
|
+
nodes: nodes,
|
|
177
|
+
labels: labels,
|
|
178
|
+
title: title,
|
|
179
|
+
legend: legend,
|
|
180
|
+
disableAutoLayout: disableAutoLayout,
|
|
181
|
+
tooltip: __assign(__assign({}, defaultTooltipProps), tooltip)
|
|
182
|
+
};
|
|
183
|
+
},
|
|
184
|
+
onTooltipShow: function onTooltipShow(event) {
|
|
185
|
+
var visible = __assign(__assign({}, defaultTooltipProps), this.$props.tooltip).visible;
|
|
186
|
+
if (visible) {
|
|
187
|
+
var nextTooltipProps = {
|
|
188
|
+
tooltipData: event.tooltipData,
|
|
189
|
+
eventData: {
|
|
190
|
+
dataItem: event.dataItem,
|
|
191
|
+
nodeValue: event.nodeValue,
|
|
192
|
+
targetType: event.targetType
|
|
193
|
+
}
|
|
194
|
+
};
|
|
195
|
+
this.currentTooltip = nextTooltipProps;
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
onTooltipHide: function onTooltipHide() {
|
|
199
|
+
this.currentTooltip = null;
|
|
200
|
+
}
|
|
201
|
+
},
|
|
202
|
+
// @ts-ignore
|
|
203
|
+
setup: !isV3 ? undefined : function () {
|
|
204
|
+
var v3 = !!isV3;
|
|
205
|
+
return {
|
|
206
|
+
v3: v3
|
|
207
|
+
};
|
|
208
|
+
},
|
|
209
|
+
// @ts-ignore
|
|
210
|
+
render: function render(createElement) {
|
|
211
|
+
var h = gh || createElement;
|
|
212
|
+
var _a = this.$props.tooltip || {},
|
|
213
|
+
nodeContent = _a.nodeContent,
|
|
214
|
+
linkContent = _a.linkContent,
|
|
215
|
+
offset = _a.offset;
|
|
216
|
+
var toolTipNode = templateRendering.call(this, nodeContent, getListeners.call(this));
|
|
217
|
+
var toolTipLink = templateRendering.call(this, linkContent, getListeners.call(this));
|
|
218
|
+
var rendering = [h("div", {
|
|
219
|
+
ref: setRef(this, 'element'),
|
|
220
|
+
"class": this.sankeyClasses,
|
|
221
|
+
style: this.$attrs.style
|
|
222
|
+
}), this.currentTooltip && h(Tooltip, {
|
|
223
|
+
tooltipData: this.currentTooltip.tooltipData,
|
|
224
|
+
attrs: this.v3 ? undefined : {
|
|
225
|
+
tooltipData: this.currentTooltip.tooltipData,
|
|
226
|
+
eventData: this.currentTooltip.eventData,
|
|
227
|
+
offset: offset || 12,
|
|
228
|
+
nodeContent: toolTipNode,
|
|
229
|
+
linkContent: toolTipLink
|
|
230
|
+
},
|
|
231
|
+
eventData: this.currentTooltip.eventData,
|
|
232
|
+
offset: offset || 12,
|
|
233
|
+
nodeContent: toolTipNode,
|
|
234
|
+
linkContent: toolTipLink
|
|
235
|
+
})];
|
|
236
|
+
return isV3 ? rendering : h("div", [rendering]);
|
|
237
|
+
}
|
|
238
|
+
};
|
|
239
|
+
/**
|
|
240
|
+
* @hidden
|
|
241
|
+
*/
|
|
242
|
+
var Sankey = SankeyVue2;
|
|
243
|
+
export { Sankey, SankeyVue2 };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { Sankey } from './Sankey';
|
|
2
|
+
import { type SankeyProps, type SankeyEvent, type SankeyNode, type SankeyLink, type SankeyLabel, type SankeyData, type SankeyLinkHighlight, type SankeyLinkDefaults, type SankeyLabelDefaults, type SankeyNodeDefaults, type SankeyLinkDataItem, type SankeyNodeDataItem, type TooltipContentProps, type SankeyExportVisualOptions, type SankeyTitle, type SankeyLegend, type SankeyTooltipProps, type SankeyTooltip, type SankeyOptions } from './types';
|
|
3
|
+
import { createSankeyData } from './utils';
|
|
4
|
+
export { Sankey, SankeyProps, SankeyEvent, SankeyLinkHighlight, SankeyNode, SankeyLink, SankeyLabel, SankeyLinkDefaults, SankeyLabelDefaults, SankeyNodeDefaults, SankeyLinkDataItem, SankeyNodeDataItem, TooltipContentProps, SankeyData, SankeyExportVisualOptions, SankeyTitle, SankeyLegend, SankeyTooltipProps, SankeyTooltip, SankeyOptions, createSankeyData };
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
var font = function (style) { return "".concat(style.fontWeight, " ").concat(style.fontSize, " ").concat(style.fontFamily); };
|
|
2
|
+
var computedBackgroundColor = function (element) { return window.getComputedStyle(element).backgroundColor; };
|
|
3
|
+
var letterPos = function (letter) { return letter.toLowerCase().charCodeAt(0) - 'a'.charCodeAt(0); };
|
|
4
|
+
var seriesPos = function (name) {
|
|
5
|
+
var alpha = name.match(/series-([a-z])$/);
|
|
6
|
+
if (alpha !== null) {
|
|
7
|
+
return letterPos(alpha[1]);
|
|
8
|
+
}
|
|
9
|
+
var num = name.split('--series-')[1];
|
|
10
|
+
return parseInt(num, 10) - 1;
|
|
11
|
+
};
|
|
12
|
+
var COLORS_COUNT = 30;
|
|
13
|
+
var seriesTemplate = function () {
|
|
14
|
+
var result = "\n <div class=\"k-var--series-a\"></div>\n <div class=\"k-var--series-b\"></div>\n <div class=\"k-var--series-c\"></div>\n <div class=\"k-var--series-d\"></div>\n <div class=\"k-var--series-e\"></div>\n <div class=\"k-var--series-f\"></div>\n";
|
|
15
|
+
for (var i = 0; i < COLORS_COUNT; i++) {
|
|
16
|
+
result += "\n <div class=\"k-var--series-".concat(i + 1, "\"></div>");
|
|
17
|
+
}
|
|
18
|
+
return result;
|
|
19
|
+
};
|
|
20
|
+
var template = "\n <div class=\"k-var--background\"></div>\n <div class=\"k-var--normal-text-color\"></div>\n <div class=\"k-var--chart-major-lines\"></div>\n\n <div class=\"k-widget k-chart\">\n <div class=\"k-var--chart-font\"></div>\n <div class=\"k-var--chart-title-font\"></div>\n </div>\n <div class=\"k-var--series-unset\"></div>\n <div class=\"k-var--series\">\n ".concat(seriesTemplate(), "\n </div>\n");
|
|
21
|
+
var ThemeService = /** @class */ (function () {
|
|
22
|
+
function ThemeService(store) {
|
|
23
|
+
this.store = store;
|
|
24
|
+
}
|
|
25
|
+
ThemeService.prototype.setStyle = function (field, value) {
|
|
26
|
+
var path = field.split('.');
|
|
27
|
+
var data = this.store;
|
|
28
|
+
path.forEach(function (p, i, arr) {
|
|
29
|
+
if (i < arr.length - 1) {
|
|
30
|
+
data = data[p] = data[p] || {};
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
var top = path.pop();
|
|
34
|
+
if (top) {
|
|
35
|
+
data[top] = value;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
ThemeService.prototype.setColors = function () {
|
|
39
|
+
this.mapColor('labels.color', 'normal-text-color');
|
|
40
|
+
this.mapColor('labels.stroke.color', 'background');
|
|
41
|
+
this.mapColor('links.color', 'chart-major-lines');
|
|
42
|
+
this.mapColor('legend.labels.color', 'normal-text-color');
|
|
43
|
+
this.mapColor('title.color', 'normal-text-color');
|
|
44
|
+
};
|
|
45
|
+
ThemeService.prototype.setFonts = function () {
|
|
46
|
+
var titleFont = font(this.queryStyle('chart-title-font'));
|
|
47
|
+
var defaultFont = font(this.queryStyle('chart-font'));
|
|
48
|
+
this.setStyle('title.font', titleFont);
|
|
49
|
+
this.setStyle('labels.font', defaultFont);
|
|
50
|
+
this.setStyle('legend.labels.font', defaultFont);
|
|
51
|
+
};
|
|
52
|
+
ThemeService.prototype.setNodeColors = function () {
|
|
53
|
+
var element = this.element;
|
|
54
|
+
if (!element) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
var series = [].slice.call(element.querySelectorAll('.k-var--series div'));
|
|
58
|
+
var unsetColor = computedBackgroundColor(element.querySelector('.k-var--series-unset'));
|
|
59
|
+
var colors = series.reduce(function (arr, el) {
|
|
60
|
+
var pos = seriesPos(el.className);
|
|
61
|
+
var color = computedBackgroundColor(el);
|
|
62
|
+
if (color !== unsetColor) {
|
|
63
|
+
arr[pos] = color;
|
|
64
|
+
}
|
|
65
|
+
return arr;
|
|
66
|
+
}, [] // Will populate the colors in this array
|
|
67
|
+
);
|
|
68
|
+
this.setStyle('nodeColors', colors);
|
|
69
|
+
};
|
|
70
|
+
ThemeService.prototype.mapColor = function (key, varName) {
|
|
71
|
+
this.setStyle(key, this.queryStyle(varName).backgroundColor);
|
|
72
|
+
};
|
|
73
|
+
ThemeService.prototype.queryStyle = function (varName) {
|
|
74
|
+
var element = this.element;
|
|
75
|
+
return window.getComputedStyle(element.querySelector(".k-var--".concat(varName)));
|
|
76
|
+
};
|
|
77
|
+
return ThemeService;
|
|
78
|
+
}());
|
|
79
|
+
/**
|
|
80
|
+
* @hidden
|
|
81
|
+
*/
|
|
82
|
+
export var loadTheme = function (doc, done) {
|
|
83
|
+
var store = {
|
|
84
|
+
nodeColors: []
|
|
85
|
+
};
|
|
86
|
+
var service = new ThemeService(store);
|
|
87
|
+
var container = service.element = doc.createElement('div');
|
|
88
|
+
container.style.display = 'none';
|
|
89
|
+
container.innerHTML = template;
|
|
90
|
+
doc.body.appendChild(container);
|
|
91
|
+
try {
|
|
92
|
+
service.setColors();
|
|
93
|
+
service.setFonts();
|
|
94
|
+
service.setNodeColors();
|
|
95
|
+
}
|
|
96
|
+
finally {
|
|
97
|
+
doc.body.removeChild(service.element);
|
|
98
|
+
service.element = null;
|
|
99
|
+
done(store);
|
|
100
|
+
}
|
|
101
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import * as Vue from 'vue';
|
|
2
|
+
import { DefineComponent } from 'vue';
|
|
3
|
+
/**
|
|
4
|
+
* @hidden
|
|
5
|
+
*/
|
|
6
|
+
declare type Vue2type = Vue.default;
|
|
7
|
+
/**
|
|
8
|
+
* @hidden
|
|
9
|
+
*/
|
|
10
|
+
import { RecordPropsDefinition, ComponentOptions } from 'vue/types/options';
|
|
11
|
+
declare type DefaultData<V> = object | ((this: V) => {});
|
|
12
|
+
declare type DefaultMethods<V> = {
|
|
13
|
+
[key: string]: (this: V, ...args: any[]) => any;
|
|
14
|
+
};
|
|
15
|
+
import { SankeyTooltipProps } from './types';
|
|
16
|
+
/**
|
|
17
|
+
* @hidden
|
|
18
|
+
*/
|
|
19
|
+
export interface TooltipState {
|
|
20
|
+
element: HTMLElement | null;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* @hidden
|
|
24
|
+
*/
|
|
25
|
+
export interface TooltipComputed {
|
|
26
|
+
[key: string]: any;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* @hidden
|
|
30
|
+
*/
|
|
31
|
+
export interface TooltipMethods {
|
|
32
|
+
[key: string]: any;
|
|
33
|
+
}
|
|
34
|
+
interface TooltipProps extends SankeyTooltipProps {
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* @hidden
|
|
38
|
+
*/
|
|
39
|
+
export interface TooltipData {
|
|
40
|
+
top: string;
|
|
41
|
+
left: string;
|
|
42
|
+
visibility: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* @hidden
|
|
46
|
+
*/
|
|
47
|
+
export interface TooltipAll extends Vue2type, TooltipMethods, TooltipData, TooltipComputed, TooltipState {
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* @hidden
|
|
51
|
+
*/
|
|
52
|
+
declare let TooltipVue2: ComponentOptions<TooltipAll, DefaultData<TooltipData>, DefaultMethods<TooltipAll>, TooltipComputed, RecordPropsDefinition<TooltipProps>>;
|
|
53
|
+
/**
|
|
54
|
+
* @hidden
|
|
55
|
+
*/
|
|
56
|
+
export declare type TooltipType = DefineComponent<TooltipProps, any, TooltipData, TooltipComputed, TooltipMethods, {}, {}, {}, string, TooltipProps, TooltipProps, {}>;
|
|
57
|
+
/**
|
|
58
|
+
* @hidden
|
|
59
|
+
*/
|
|
60
|
+
declare const Tooltip: TooltipType;
|
|
61
|
+
export { Tooltip, TooltipVue2 };
|