@visactor/vchart-extension 2.0.3-alpha.0 → 2.0.3-alpha.1

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.
Files changed (130) hide show
  1. package/build/index.js +132 -407
  2. package/build/index.min.js +2 -2
  3. package/cjs/charts/axis-3d/axis-3d-mixin.js +48 -1
  4. package/cjs/charts/axis-3d/axis-3d-mixin.js.map +1 -1
  5. package/cjs/charts/axis-3d/util.js +9 -8
  6. package/cjs/charts/axis-3d/util.js.map +1 -1
  7. package/cjs/charts/compare-sankey/compare-sankey-sub-data.d.ts +9 -0
  8. package/cjs/charts/compare-sankey/compare-sankey-sub-data.js +38 -0
  9. package/cjs/charts/compare-sankey/compare-sankey-sub-data.js.map +1 -0
  10. package/cjs/charts/compare-sankey/compare-sankey-sub-nodes.d.ts +2 -0
  11. package/cjs/charts/compare-sankey/compare-sankey-sub-nodes.js +20 -0
  12. package/cjs/charts/compare-sankey/compare-sankey-sub-nodes.js.map +1 -0
  13. package/cjs/charts/compare-sankey/compare-sankey-transformer.d.ts +6 -0
  14. package/cjs/charts/compare-sankey/compare-sankey-transformer.js +22 -0
  15. package/cjs/charts/compare-sankey/compare-sankey-transformer.js.map +1 -0
  16. package/cjs/charts/compare-sankey/compare-sankey.d.ts +35 -0
  17. package/cjs/charts/compare-sankey/compare-sankey.js +187 -0
  18. package/cjs/charts/compare-sankey/compare-sankey.js.map +1 -0
  19. package/cjs/charts/compare-sankey/constants.d.ts +1 -0
  20. package/cjs/charts/compare-sankey/constants.js +2 -0
  21. package/cjs/charts/compare-sankey/constants.js.map +1 -0
  22. package/cjs/charts/compare-sankey/index.d.ts +2 -0
  23. package/cjs/charts/compare-sankey/index.js +21 -0
  24. package/cjs/charts/compare-sankey/index.js.map +1 -0
  25. package/cjs/charts/compare-sankey/interface.d.ts +23 -0
  26. package/cjs/charts/{sequence-analysis → compare-sankey}/interface.js +1 -1
  27. package/cjs/charts/compare-sankey/interface.js.map +1 -0
  28. package/cjs/charts/compare-sankey/util.d.ts +1 -0
  29. package/cjs/charts/compare-sankey/util.js +2 -0
  30. package/cjs/charts/compare-sankey/util.js.map +1 -0
  31. package/cjs/charts/conversion-funnel/constants.js +2 -1
  32. package/cjs/charts/funnel-3d/constant.d.ts +0 -2
  33. package/cjs/charts/funnel-3d/index.js +1 -2
  34. package/cjs/charts/funnel-3d/series.d.ts +0 -2
  35. package/cjs/charts/image-cloud/image-cloud-transformer.js +2 -1
  36. package/cjs/charts/image-cloud/image-cloud.js +1 -1
  37. package/cjs/charts/image-cloud/index.js +1 -1
  38. package/cjs/charts/image-cloud/interface.js +1 -1
  39. package/cjs/charts/image-cloud/series/constant.d.ts +0 -2
  40. package/cjs/charts/image-cloud/series/image-cloud.d.ts +0 -2
  41. package/cjs/charts/pictogram/element-highlight-by-graphic-name.js +1 -1
  42. package/cjs/charts/pictogram/element-select-by-graphic-name.js +1 -1
  43. package/cjs/charts/pictogram/index.js +1 -1
  44. package/cjs/charts/pictogram/interface.js +1 -1
  45. package/cjs/charts/pictogram/series/constant.d.ts +0 -2
  46. package/cjs/charts/pictogram/series/pictogram.d.ts +0 -2
  47. package/cjs/charts/pie-3d/constant.d.ts +0 -2
  48. package/cjs/charts/pie-3d/series.d.ts +0 -2
  49. package/cjs/charts/ranking-list/ranking-list-transformer.d.ts +6 -0
  50. package/cjs/charts/ranking-list/ranking-list-transformer.js +2 -1
  51. package/cjs/charts/ranking-list/ranking-list-transformer.js.map +1 -1
  52. package/cjs/index.d.ts +0 -1
  53. package/cjs/index.js +0 -1
  54. package/cjs/index.js.map +1 -1
  55. package/esm/charts/axis-3d/axis-3d-mixin.js +48 -2
  56. package/esm/charts/axis-3d/axis-3d-mixin.js.map +1 -1
  57. package/esm/charts/axis-3d/util.js +9 -8
  58. package/esm/charts/axis-3d/util.js.map +1 -1
  59. package/esm/charts/compare-sankey/compare-sankey-sub-data.d.ts +9 -0
  60. package/esm/charts/compare-sankey/compare-sankey-sub-data.js +33 -0
  61. package/esm/charts/compare-sankey/compare-sankey-sub-data.js.map +1 -0
  62. package/esm/charts/compare-sankey/compare-sankey-sub-nodes.d.ts +2 -0
  63. package/esm/charts/compare-sankey/compare-sankey-sub-nodes.js +12 -0
  64. package/esm/charts/compare-sankey/compare-sankey-sub-nodes.js.map +1 -0
  65. package/esm/charts/compare-sankey/compare-sankey-transformer.d.ts +6 -0
  66. package/esm/charts/compare-sankey/compare-sankey-transformer.js +14 -0
  67. package/esm/charts/compare-sankey/compare-sankey-transformer.js.map +1 -0
  68. package/esm/charts/compare-sankey/compare-sankey.d.ts +35 -0
  69. package/esm/charts/compare-sankey/compare-sankey.js +186 -0
  70. package/esm/charts/compare-sankey/compare-sankey.js.map +1 -0
  71. package/esm/charts/compare-sankey/constants.d.ts +1 -0
  72. package/esm/charts/compare-sankey/constants.js +2 -0
  73. package/esm/charts/compare-sankey/constants.js.map +1 -0
  74. package/esm/charts/compare-sankey/index.d.ts +2 -0
  75. package/esm/charts/compare-sankey/index.js +4 -0
  76. package/esm/charts/compare-sankey/index.js.map +1 -0
  77. package/esm/charts/compare-sankey/interface.d.ts +23 -0
  78. package/esm/charts/compare-sankey/interface.js +2 -0
  79. package/esm/charts/compare-sankey/interface.js.map +1 -0
  80. package/esm/charts/compare-sankey/util.d.ts +1 -0
  81. package/esm/charts/compare-sankey/util.js +2 -0
  82. package/esm/charts/compare-sankey/util.js.map +1 -0
  83. package/esm/charts/conversion-funnel/constants.js +2 -1
  84. package/esm/charts/funnel-3d/constant.d.ts +0 -2
  85. package/esm/charts/funnel-3d/index.js +1 -2
  86. package/esm/charts/funnel-3d/series.d.ts +0 -2
  87. package/esm/charts/image-cloud/image-cloud-transformer.js +2 -1
  88. package/esm/charts/image-cloud/image-cloud.js +1 -1
  89. package/esm/charts/image-cloud/index.js +1 -1
  90. package/esm/charts/image-cloud/interface.js +1 -1
  91. package/esm/charts/image-cloud/series/constant.d.ts +0 -2
  92. package/esm/charts/image-cloud/series/image-cloud.d.ts +0 -2
  93. package/esm/charts/pictogram/element-highlight-by-graphic-name.js +1 -1
  94. package/esm/charts/pictogram/element-select-by-graphic-name.js +1 -1
  95. package/esm/charts/pictogram/index.js +1 -1
  96. package/esm/charts/pictogram/interface.js +1 -1
  97. package/esm/charts/pictogram/series/constant.d.ts +0 -2
  98. package/esm/charts/pictogram/series/pictogram.d.ts +0 -2
  99. package/esm/charts/pie-3d/constant.d.ts +0 -2
  100. package/esm/charts/pie-3d/series.d.ts +0 -2
  101. package/esm/charts/ranking-list/ranking-list-transformer.d.ts +6 -0
  102. package/esm/charts/ranking-list/ranking-list-transformer.js +2 -1
  103. package/esm/charts/ranking-list/ranking-list-transformer.js.map +1 -1
  104. package/esm/index.d.ts +0 -1
  105. package/esm/index.js +0 -2
  106. package/esm/index.js.map +1 -1
  107. package/package.json +11 -11
  108. package/cjs/charts/sequence-analysis/constant.d.ts +0 -3
  109. package/cjs/charts/sequence-analysis/constant.js +0 -7
  110. package/cjs/charts/sequence-analysis/constant.js.map +0 -1
  111. package/cjs/charts/sequence-analysis/interface.d.ts +0 -40
  112. package/cjs/charts/sequence-analysis/interface.js.map +0 -1
  113. package/cjs/charts/sequence-analysis/sequence-analysis-transformer.d.ts +0 -4
  114. package/cjs/charts/sequence-analysis/sequence-analysis-transformer.js +0 -266
  115. package/cjs/charts/sequence-analysis/sequence-analysis-transformer.js.map +0 -1
  116. package/cjs/charts/sequence-analysis/sequence-analysis.d.ts +0 -16
  117. package/cjs/charts/sequence-analysis/sequence-analysis.js +0 -34
  118. package/cjs/charts/sequence-analysis/sequence-analysis.js.map +0 -1
  119. package/esm/charts/sequence-analysis/constant.d.ts +0 -3
  120. package/esm/charts/sequence-analysis/constant.js +0 -6
  121. package/esm/charts/sequence-analysis/constant.js.map +0 -1
  122. package/esm/charts/sequence-analysis/interface.d.ts +0 -40
  123. package/esm/charts/sequence-analysis/interface.js +0 -2
  124. package/esm/charts/sequence-analysis/interface.js.map +0 -1
  125. package/esm/charts/sequence-analysis/sequence-analysis-transformer.d.ts +0 -4
  126. package/esm/charts/sequence-analysis/sequence-analysis-transformer.js +0 -258
  127. package/esm/charts/sequence-analysis/sequence-analysis-transformer.js.map +0 -1
  128. package/esm/charts/sequence-analysis/sequence-analysis.d.ts +0 -16
  129. package/esm/charts/sequence-analysis/sequence-analysis.js +0 -28
  130. package/esm/charts/sequence-analysis/sequence-analysis.js.map +0 -1
@@ -0,0 +1,33 @@
1
+ import { field, isFunction } from "@visactor/vutils";
2
+
3
+ import { computeNodeValues, computeHierarchicNodeLinks } from "@visactor/vlayouts/es/sankey/hierarchy";
4
+
5
+ export const compareSankeySubData = (data, opt) => {
6
+ var _a;
7
+ const viewData = data[0];
8
+ if (!(null === (_a = viewData.latestData) || void 0 === _a ? void 0 : _a.length)) return {};
9
+ const rawDataTree = opt.rawData().latestData[0], subNodeGap = opt.subNodeGap, keyFunc = isFunction(opt.nodeKey) ? opt.nodeKey : opt.nodeKey ? field(opt.nodeKey) : null, subNodeMap = {};
10
+ rawDataTree.subNode.forEach((sunGroup => {
11
+ subNodeMap[sunGroup.type] = computeHierarchicNodeLinks(sunGroup.nodes, keyFunc),
12
+ computeNodeValues(subNodeMap[sunGroup.type].nodes);
13
+ }));
14
+ const subCount = Object.keys(subNodeMap).length, subNodes = [];
15
+ return viewData.latestData[0].nodes.forEach((n => {
16
+ let path = [];
17
+ if (n.targetLinks.length) {
18
+ path = [ ...n.targetLinks[0].parents ];
19
+ }
20
+ path.push(n.key);
21
+ let currentY = n.y0;
22
+ const totalSize = n.y1 - n.y0 - (subCount - 1) * subNodeGap, totalValue = n.value;
23
+ rawDataTree.subNode.forEach((sunGroup => {
24
+ const subNode = subNodeMap[sunGroup.type].nodes.find((subN => subN.key === n.key));
25
+ if (!subNode) return;
26
+ const percent = subNode.value / totalValue;
27
+ subNode.x0 = n.x0, subNode.x1 = n.x1, subNode.y0 = currentY, subNode.y1 = currentY + totalSize * percent,
28
+ subNode.type = sunGroup.type, subNode.sourceNode = n, currentY += totalSize * percent + subNodeGap,
29
+ subNodes.push(subNode);
30
+ }));
31
+ })), subNodeMap;
32
+ };
33
+ //# sourceMappingURL=compare-sankey-sub-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/compare-sankey/compare-sankey-sub-data.ts"],"names":[],"mappings":"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","file":"compare-sankey-sub-data.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { field, isFunction } from '@visactor/vutils';\nimport { computeNodeValues, computeHierarchicNodeLinks } from '@visactor/vlayouts/es/sankey/hierarchy';\nimport type { SankeyNodeElement } from '@visactor/vlayouts/es/sankey/interface';\n\nexport interface ICompareSankeyLayoutOpt {\n rawData: () => DataView;\n nodeKey: string;\n subNodeGap: number;\n}\n\nexport const compareSankeySubData = (data: Array<DataView>, opt: ICompareSankeyLayoutOpt) => {\n const viewData = data[0] as DataView;\n if (!viewData.latestData?.length) {\n return {};\n }\n // 读取参数\n const rawDataTree = opt.rawData().latestData[0];\n const subNodeGap = opt.subNodeGap;\n const keyFunc = isFunction(opt.nodeKey) ? opt.nodeKey : opt.nodeKey ? field(opt.nodeKey as string) : null;\n\n const subNodeMap: { [key: string]: any } = {};\n rawDataTree.subNode.forEach((sunGroup: any) => {\n subNodeMap[sunGroup.type] = computeHierarchicNodeLinks(sunGroup.nodes, keyFunc);\n computeNodeValues(subNodeMap[sunGroup.type].nodes);\n });\n const subCount = Object.keys(subNodeMap).length;\n\n const subNodes: any[] = [];\n viewData.latestData[0].nodes.forEach((n: SankeyNodeElement) => {\n let path: (string | number)[] = [];\n if (n.targetLinks.length) {\n const link = n.targetLinks[0];\n path = [...link.parents];\n }\n path.push(n.key);\n // 根据path获取sub的节点\n // 当前已使用比例\n let currentY = n.y0;\n const totalSize = n.y1 - n.y0 - (subCount - 1) * subNodeGap;\n const totalValue = n.value;\n rawDataTree.subNode.forEach((sunGroup: any) => {\n const subNode = (subNodeMap[sunGroup.type].nodes as SankeyNodeElement[]).find(subN => subN.key === n.key);\n if (!subNode) {\n return;\n }\n const percent = subNode.value / totalValue;\n subNode.x0 = n.x0;\n subNode.x1 = n.x1;\n subNode.y0 = currentY;\n subNode.y1 = currentY + totalSize * percent;\n // @ts-ignore\n subNode.type = sunGroup.type;\n // @ts-ignore\n subNode.sourceNode = n;\n currentY += totalSize * percent + subNodeGap;\n subNodes.push(subNode);\n });\n });\n return subNodeMap;\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import type { DataView } from '@visactor/vdataset';
2
+ export declare const compareSankeySubNodes: (data: Array<DataView>) => {};
@@ -0,0 +1,12 @@
1
+ export const compareSankeySubNodes = data => {
2
+ const viewData = data[0];
3
+ if (!viewData.latestData) return [];
4
+ const subData = Object.keys(viewData.latestData);
5
+ if (!subData.length) return {};
6
+ const subNodes = [];
7
+ return subData.forEach((key => {
8
+ subNodes.push(...viewData.latestData[key].nodes);
9
+ })), [ {
10
+ nodes: subNodes
11
+ } ];
12
+ };
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/compare-sankey/compare-sankey-sub-nodes.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,IAAqB,EAAE,EAAE;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAa,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;QACxB,OAAO,EAAE,CAAC;KACX;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACjD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;QACnB,OAAO,EAAE,CAAC;KACX;IACD,MAAM,QAAQ,GAAU,EAAE,CAAC;IAC3B,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACpB,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC/B,CAAC,CAAC","file":"compare-sankey-sub-nodes.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\n\nexport const compareSankeySubNodes = (data: Array<DataView>) => {\n const viewData = data[0] as DataView;\n if (!viewData.latestData) {\n return [];\n }\n const subData = Object.keys(viewData.latestData);\n if (!subData.length) {\n return {};\n }\n const subNodes: any[] = [];\n subData.forEach(key => {\n subNodes.push(...viewData.latestData[key].nodes);\n });\n return [{ nodes: subNodes }];\n};\n"]}
@@ -0,0 +1,6 @@
1
+ import type { ICompareSankeyChartSpecBase } from './interface';
2
+ import { SankeyChartSpecTransformer } from '@visactor/vchart';
3
+ export declare class CompareSankeyChartSpecTransformer extends SankeyChartSpecTransformer<ICompareSankeyChartSpecBase> {
4
+ transformSpec(spec: ICompareSankeyChartSpecBase): void;
5
+ _getDefaultSeriesSpec(spec: ICompareSankeyChartSpecBase): any;
6
+ }
@@ -0,0 +1,14 @@
1
+ import { SankeyChartSpecTransformer } from "@visactor/vchart";
2
+
3
+ export class CompareSankeyChartSpecTransformer extends SankeyChartSpecTransformer {
4
+ transformSpec(spec) {
5
+ super.transformSpec(spec);
6
+ }
7
+ _getDefaultSeriesSpec(spec) {
8
+ const seriesSpec = super._getDefaultSeriesSpec(spec);
9
+ return seriesSpec.subNodeGap = spec.subNodeGap, seriesSpec.compareNodeColor = spec.compareNodeColor,
10
+ seriesSpec.compareLinkColor = spec.compareLinkColor, seriesSpec.activeLink = spec.activeLink,
11
+ seriesSpec;
12
+ }
13
+ }
14
+ //# sourceMappingURL=compare-sankey-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/compare-sankey/compare-sankey-transformer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE9D,MAAM,OAAO,iCAAkC,SAAQ,0BAAuD;IAC5G,aAAa,CAAC,IAAiC;QAC7C,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,qBAAqB,CAAC,IAAiC;QACrD,MAAM,UAAU,GAAG,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QACpD,UAA0C,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACxE,UAA0C,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACpF,UAA0C,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACpF,UAA0C,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACzE,OAAO,UAAU,CAAC;IACpB,CAAC;CACF","file":"compare-sankey-transformer.js","sourcesContent":["import type { ICompareSankeyChartSpecBase } from './interface';\nimport { SankeyChartSpecTransformer } from '@visactor/vchart';\n\nexport class CompareSankeyChartSpecTransformer extends SankeyChartSpecTransformer<ICompareSankeyChartSpecBase> {\n transformSpec(spec: ICompareSankeyChartSpecBase): void {\n super.transformSpec(spec);\n }\n\n _getDefaultSeriesSpec(spec: ICompareSankeyChartSpecBase) {\n const seriesSpec = super._getDefaultSeriesSpec(spec);\n (seriesSpec as ICompareSankeyChartSpecBase).subNodeGap = spec.subNodeGap;\n (seriesSpec as ICompareSankeyChartSpecBase).compareNodeColor = spec.compareNodeColor;\n (seriesSpec as ICompareSankeyChartSpecBase).compareLinkColor = spec.compareLinkColor;\n (seriesSpec as ICompareSankeyChartSpecBase).activeLink = spec.activeLink;\n return seriesSpec;\n }\n}\n"]}
@@ -0,0 +1,35 @@
1
+ import type { ICompareSankeyChartSpecBase, ICompareSankeySeriesSpecBase } from './interface';
2
+ import type { Datum } from '@visactor/vchart';
3
+ import { VChart, SankeyChart, SankeySeries } from '@visactor/vchart';
4
+ import { DataView } from '@visactor/vdataset';
5
+ import { CompareSankeyChartSpecTransformer } from './compare-sankey-transformer';
6
+ import type { IMarkGraphic } from '@visactor/vchart/src/mark/interface';
7
+ export declare class CompareSankeyChart extends SankeyChart<ICompareSankeyChartSpecBase> {
8
+ type: string;
9
+ static type: string;
10
+ _spec: ICompareSankeyChartSpecBase;
11
+ static readonly transformerConstructor: typeof CompareSankeyChartSpecTransformer;
12
+ readonly transformerConstructor: typeof CompareSankeyChartSpecTransformer;
13
+ }
14
+ export declare class CompareSankeySeries extends SankeySeries<ICompareSankeySeriesSpecBase> {
15
+ protected _arrowData?: DataView;
16
+ private _subData;
17
+ private _activeLinkData;
18
+ private _activeLinkMark;
19
+ initData(): void;
20
+ initEvent(): void;
21
+ initMark(): void;
22
+ compileData(): void;
23
+ _initLinkMarkStyle(): void;
24
+ _initNodeMarkStyle(): void;
25
+ private activeLinkDataUpdate;
26
+ protected _fillCompareNode: (datum: Datum) => any;
27
+ protected _fillActiveLink: (datum: Datum) => any;
28
+ protected _handleNodeRelatedClick(graphic: IMarkGraphic): void;
29
+ private _activeTargetLink;
30
+ private _activeSourceLink;
31
+ protected _handleClearEmpty(): void;
32
+ }
33
+ export declare const registerCompareSankeyChart: (option?: {
34
+ VChart?: typeof VChart;
35
+ }) => void;
@@ -0,0 +1,186 @@
1
+ import { DEFAULT_DATA_KEY } from "./../../../../vchart/src/constant/data";
2
+
3
+ import { VChart, SankeyChart, SankeySeries, registerMarkFilterTransform, registerDataSetInstanceTransform, STATE_VALUE_ENUM, AttributeLevel, getDatumOfGraphic, DEFAULT_DATA_INDEX } from "@visactor/vchart";
4
+
5
+ import { DataView } from "@visactor/vdataset";
6
+
7
+ import { CompareSankeyChartSpecTransformer } from "./compare-sankey-transformer";
8
+
9
+ import { compareSankeySubNodes } from "./compare-sankey-sub-nodes";
10
+
11
+ import { compareSankeySubData } from "./compare-sankey-sub-data";
12
+
13
+ export class CompareSankeyChart extends SankeyChart {
14
+ constructor() {
15
+ super(...arguments), this.type = "compareSankey", this.transformerConstructor = CompareSankeyChartSpecTransformer;
16
+ }
17
+ }
18
+
19
+ CompareSankeyChart.type = "compareSankey", CompareSankeyChart.transformerConstructor = CompareSankeyChartSpecTransformer;
20
+
21
+ export class CompareSankeySeries extends SankeySeries {
22
+ constructor() {
23
+ super(...arguments), this._fillCompareNode = datum => {
24
+ var _a, _b, _c;
25
+ return (null === (_a = this._spec.compareNodeColor) || void 0 === _a ? void 0 : _a[datum.type]) ? this._spec.compareNodeColor[datum.type] : null !== (_c = null === (_b = this._spec.node.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : this._fillByNode(datum);
26
+ }, this._fillActiveLink = datum => {
27
+ var _a, _b, _c;
28
+ return (null === (_a = this._spec.compareLinkColor) || void 0 === _a ? void 0 : _a[datum.type]) ? this._spec.compareLinkColor[datum.type] : null !== (_c = null === (_b = this._spec.link.style) || void 0 === _b ? void 0 : _b.fill) && void 0 !== _c ? _c : this._fillByLink(datum);
29
+ };
30
+ }
31
+ initData() {
32
+ var _a;
33
+ super.initData();
34
+ const {dataSet: dataSet} = this._option, compareSubData = new DataView(dataSet, {
35
+ name: `compare-sankey-sub-data-${this.id}-data`
36
+ });
37
+ compareSubData.parse([ this.getViewData() ], {
38
+ type: "dataview"
39
+ }), this._subData = compareSubData;
40
+ const compareNodeData = new DataView(dataSet, {
41
+ name: `compare-sankey-node-${this.id}-data`
42
+ });
43
+ compareNodeData.parse([ compareSubData ], {
44
+ type: "dataview"
45
+ }), registerDataSetInstanceTransform(this._dataSet, "compareSankeySubData", compareSankeySubData),
46
+ compareSubData.transform({
47
+ type: "compareSankeySubData",
48
+ options: {
49
+ rawData: () => this.getRawData(),
50
+ valueField: this._valueField,
51
+ nodeKey: this._spec.nodeKey,
52
+ subNodeGap: null !== (_a = this._spec.subNodeGap) && void 0 !== _a ? _a : 2
53
+ }
54
+ }), registerDataSetInstanceTransform(this._dataSet, "compareSankeySubNodes", compareSankeySubNodes),
55
+ compareNodeData.transform({
56
+ type: "compareSankeySubNodes"
57
+ }), this._nodesSeriesData.parse([ compareNodeData ], {
58
+ type: "dataview"
59
+ }), this._activeLinkData = new DataView(dataSet, {
60
+ name: `compare-sankey-link-${this.id}-data`
61
+ });
62
+ }
63
+ initEvent() {
64
+ var _a;
65
+ super.initEvent(), null === (_a = this._activeLinkData) || void 0 === _a || _a.target.addListener("change", this.activeLinkDataUpdate.bind(this));
66
+ }
67
+ initMark() {
68
+ super.initMark();
69
+ const linkMark = this._createMark(Object.assign(Object.assign({}, SankeySeries.mark.link), {
70
+ name: "activeLink"
71
+ }), {
72
+ dataView: this._activeLinkData
73
+ });
74
+ linkMark && (this._activeLinkMark = linkMark);
75
+ }
76
+ compileData() {
77
+ var _a;
78
+ super.compileData(), null === (_a = this._activeLinkMark) || void 0 === _a || _a.compileData();
79
+ }
80
+ _initLinkMarkStyle() {
81
+ super._initLinkMarkStyle(), this._activeLinkMark.setGlyphConfig({
82
+ direction: this.direction
83
+ }), this.setMarkStyle(this._activeLinkMark, {
84
+ x0: datum => datum.x0,
85
+ x1: datum => datum.x1,
86
+ y0: datum => datum.y0,
87
+ y1: datum => datum.y1,
88
+ thickness: datum => datum.thickness
89
+ }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series), this.setMarkStyle(this._activeLinkMark, {
90
+ fill: this._fillActiveLink
91
+ }, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.User_Mark);
92
+ }
93
+ _initNodeMarkStyle() {
94
+ super._initNodeMarkStyle(), this._spec.compareNodeColor && this.setMarkStyle(this._nodeMark, {
95
+ fill: this._fillCompareNode
96
+ }, "normal", AttributeLevel.User_Mark);
97
+ }
98
+ activeLinkDataUpdate() {
99
+ this._activeLinkMark.getData().updateData();
100
+ }
101
+ _handleNodeRelatedClick(graphic) {
102
+ const nodeDatum = getDatumOfGraphic(graphic), allNodeElements = this._nodeMark.getGraphics();
103
+ if (!allNodeElements || !allNodeElements.length) return;
104
+ const allLinkElements = this._linkMark.getGraphics();
105
+ if (!allLinkElements || !allLinkElements.length) return;
106
+ allLinkElements.forEach((el => {
107
+ el.removeState([ STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS ]);
108
+ })), this._highLightElements(allLinkElements, []);
109
+ const nodeDatums = allNodeElements.map((el => getDatumOfGraphic(el))), pickNodeDatums = nodeDatums.filter((d => d.key === nodeDatum.key)), highlightLinksData = [], highlightNodeKeys = [];
110
+ this._activeTargetLink(nodeDatum, pickNodeDatums, allNodeElements, allLinkElements, highlightNodeKeys, highlightLinksData),
111
+ this._activeSourceLink(nodeDatum, pickNodeDatums, nodeDatums, allNodeElements, highlightNodeKeys, highlightLinksData),
112
+ this._highLightElements(allNodeElements, highlightNodeKeys), this._activeLinkData.parseNewData(highlightLinksData),
113
+ this._needClear = !0;
114
+ }
115
+ _activeTargetLink(nodeDatum, pickNodeDatums, allNodeElements, allLinkElements, highlightNodeKeys, highlightLinksData) {
116
+ this._handleClearEmpty();
117
+ const firstTarget = nodeDatum.sourceNode.targetLinks[0];
118
+ if (!firstTarget) return;
119
+ let percent = 0;
120
+ pickNodeDatums.forEach((n => {
121
+ const link = n.targetLinks.find((l => l.key === firstTarget.key));
122
+ if (link) {
123
+ const p = link.value / firstTarget.value, key = firstTarget.key + "_" + n.type, activeLink = Object.assign(Object.assign({}, firstTarget), {
124
+ y0: firstTarget.y0 - firstTarget.thickness / 2 + (percent + p / 2) * firstTarget.thickness,
125
+ y1: n.y0 + p * firstTarget.thickness / 2,
126
+ thickness: p * firstTarget.thickness,
127
+ key: key,
128
+ type: n.type,
129
+ [DEFAULT_DATA_INDEX]: highlightLinksData.length,
130
+ [DEFAULT_DATA_KEY]: key
131
+ });
132
+ highlightLinksData.push(activeLink), percent += p;
133
+ }
134
+ })), highlightNodeKeys.push(...firstTarget.parents, nodeDatum.key);
135
+ const linkKeys = [];
136
+ for (let i = 0; i < firstTarget.parents.length - 1; i++) linkKeys.push(firstTarget.parents[i] + "-" + firstTarget.parents[i + 1]);
137
+ this._highLightElements(allLinkElements, linkKeys);
138
+ }
139
+ _activeSourceLink(nodeDatum, pickNodeDatums, allNodeDatums, allNodeElements, highlightNodeKeys, highlightLinksData) {
140
+ this._handleClearEmpty();
141
+ const sourceLinks = nodeDatum.sourceNode.sourceLinks;
142
+ if (!(null == sourceLinks ? void 0 : sourceLinks.length)) return;
143
+ const sourceValueTemp = {};
144
+ sourceLinks.forEach((sourceLink => {
145
+ highlightNodeKeys.push(sourceLink.target), pickNodeDatums.forEach(((n, index) => {
146
+ var _a;
147
+ sourceValueTemp[n.type] = null !== (_a = sourceValueTemp[n.type]) && void 0 !== _a ? _a : 0;
148
+ const link = n.sourceLinks.find((l => l.key === sourceLink.key));
149
+ if (link) {
150
+ const p = link.value / n.value, totalSize = n.y1 - n.y0, size = totalSize * p, key = sourceLink.key + "_" + n.type, activeLink = Object.assign(Object.assign({}, sourceLink), {
151
+ y0: n.y0 + sourceValueTemp[n.type] * totalSize + size / 2,
152
+ thickness: size,
153
+ key: key,
154
+ type: n.type,
155
+ [DEFAULT_DATA_INDEX]: highlightLinksData.length,
156
+ [DEFAULT_DATA_KEY]: key
157
+ });
158
+ if (0 === index) activeLink.y1 = sourceLink.y1 - sourceLink.thickness / 2 + size / 2; else {
159
+ const targetNode = allNodeDatums.find((_n => _n.key === link.target && _n.type === n.type));
160
+ if (!targetNode) return;
161
+ activeLink.y1 = targetNode.y0 + size / 2;
162
+ }
163
+ highlightLinksData.push(activeLink), sourceValueTemp[n.type] += p;
164
+ }
165
+ }));
166
+ }));
167
+ }
168
+ _handleClearEmpty() {
169
+ super._handleClearEmpty(), this._activeLinkData.parseNewData([]);
170
+ const allNodeElements = this._nodeMark.getGraphics();
171
+ !allNodeElements && allNodeElements.length || allNodeElements.forEach((el => {
172
+ el.removeState(STATE_VALUE_ENUM.STATE_HOVER);
173
+ }));
174
+ const allLinkElements = this._linkMark.getGraphics();
175
+ !allLinkElements && allLinkElements.length || allLinkElements.forEach((el => {
176
+ el.removeState(STATE_VALUE_ENUM.STATE_HOVER);
177
+ }));
178
+ }
179
+ }
180
+
181
+ export const registerCompareSankeyChart = option => {
182
+ registerMarkFilterTransform();
183
+ const vchartConstructor = (null == option ? void 0 : option.VChart) || VChart;
184
+ vchartConstructor && (vchartConstructor.useChart([ CompareSankeyChart ]), vchartConstructor.useSeries([ CompareSankeySeries ]));
185
+ };
186
+ //# sourceMappingURL=compare-sankey.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/compare-sankey/compare-sankey.ts"],"names":[],"mappings":"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","file":"compare-sankey.js","sourcesContent":["import { DEFAULT_DATA_KEY } from './../../../../vchart/src/constant/data';\nimport type { SankeyLinkElement } from '@visactor/vlayouts/es/sankey';\nimport type { ICompareSankeyChartSpecBase, ICompareSankeySeriesSpecBase } from './interface';\nimport type { Datum, ILinkPathMarkSpec, IRectMarkSpec } from '@visactor/vchart';\nimport {\n VChart,\n SankeyChart,\n SankeySeries,\n registerMarkFilterTransform,\n registerDataSetInstanceTransform,\n STATE_VALUE_ENUM,\n AttributeLevel,\n getDatumOfGraphic,\n DEFAULT_DATA_INDEX\n} from '@visactor/vchart';\nimport { DataView } from '@visactor/vdataset';\nimport { CompareSankeyChartSpecTransformer } from './compare-sankey-transformer';\nimport { compareSankeySubNodes } from './compare-sankey-sub-nodes';\nimport type { IGlyphMark, ILinkPathMark, IMarkGraphic } from '@visactor/vchart/src/mark/interface';\nimport { compareSankeySubData } from './compare-sankey-sub-data';\n\nexport class CompareSankeyChart extends SankeyChart<ICompareSankeyChartSpecBase> {\n type = 'compareSankey';\n static type = 'compareSankey';\n\n declare _spec: ICompareSankeyChartSpecBase;\n\n static readonly transformerConstructor = CompareSankeyChartSpecTransformer;\n readonly transformerConstructor = CompareSankeyChartSpecTransformer;\n}\n\nexport class CompareSankeySeries extends SankeySeries<ICompareSankeySeriesSpecBase> {\n protected _arrowData?: DataView;\n\n private _subData: DataView;\n\n private _activeLinkData: DataView;\n private _activeLinkMark: ILinkPathMark;\n\n initData() {\n super.initData();\n // 此时 viewData 已经初始化完成\n // 创建 第二层 viewDataActive\n //\n const { dataSet } = this._option;\n\n const compareSubData = new DataView(dataSet, { name: `compare-sankey-sub-data-${this.id}-data` });\n compareSubData.parse([this.getViewData()], {\n type: 'dataview'\n });\n this._subData = compareSubData;\n\n const compareNodeData = new DataView(dataSet, { name: `compare-sankey-node-${this.id}-data` });\n compareNodeData.parse([compareSubData], {\n type: 'dataview'\n });\n\n // 注册对比布局函数,计算拆解 nodes 的信息\n registerDataSetInstanceTransform(this._dataSet, 'compareSankeySubData', compareSankeySubData);\n compareSubData.transform({\n type: 'compareSankeySubData',\n options: {\n rawData: () => this.getRawData(),\n valueField: this._valueField,\n nodeKey: this._spec.nodeKey,\n subNodeGap: this._spec.subNodeGap ?? 2\n }\n });\n registerDataSetInstanceTransform(this._dataSet, 'compareSankeySubNodes', compareSankeySubNodes);\n compareNodeData.transform({\n type: 'compareSankeySubNodes'\n });\n this._nodesSeriesData.parse([compareNodeData], {\n type: 'dataview'\n });\n\n // 激活时的linkData\n this._activeLinkData = new DataView(dataSet, { name: `compare-sankey-link-${this.id}-data` });\n }\n\n initEvent() {\n super.initEvent();\n this._activeLinkData?.target.addListener('change', this.activeLinkDataUpdate.bind(this));\n }\n\n initMark() {\n super.initMark();\n\n const linkMark = this._createMark(\n { ...SankeySeries.mark.link, name: 'activeLink' },\n {\n dataView: this._activeLinkData\n }\n ) as ILinkPathMark;\n if (linkMark) {\n this._activeLinkMark = linkMark;\n }\n }\n compileData() {\n super.compileData();\n this._activeLinkMark?.compileData();\n }\n\n _initLinkMarkStyle() {\n super._initLinkMarkStyle();\n (this._activeLinkMark as IGlyphMark).setGlyphConfig({\n direction: this.direction\n });\n\n this.setMarkStyle<ILinkPathMarkSpec>(\n this._activeLinkMark,\n {\n x0: (datum: Datum) => datum.x0,\n x1: (datum: Datum) => datum.x1,\n y0: (datum: Datum) => datum.y0,\n y1: (datum: Datum) => datum.y1,\n thickness: (datum: Datum) => datum.thickness\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n\n this.setMarkStyle(\n this._activeLinkMark,\n {\n fill: this._fillActiveLink\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n\n _initNodeMarkStyle() {\n super._initNodeMarkStyle();\n if (this._spec.compareNodeColor) {\n this.setMarkStyle<IRectMarkSpec>(\n this._nodeMark,\n {\n fill: this._fillCompareNode\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n }\n\n private activeLinkDataUpdate() {\n this._activeLinkMark.getData().updateData();\n }\n\n protected _fillCompareNode = (datum: Datum) => {\n if (this._spec.compareNodeColor?.[datum.type]) {\n return this._spec.compareNodeColor[datum.type];\n }\n return this._spec.node.style?.fill ?? this._fillByNode(datum);\n };\n\n protected _fillActiveLink = (datum: Datum) => {\n if (this._spec.compareLinkColor?.[datum.type]) {\n return this._spec.compareLinkColor[datum.type];\n }\n return this._spec.link.style?.fill ?? this._fillByLink(datum);\n };\n\n protected _handleNodeRelatedClick(graphic: IMarkGraphic) {\n const nodeDatum = getDatumOfGraphic(graphic) as Datum;\n // 节点\n const allNodeElements = this._nodeMark.getGraphics();\n if (!allNodeElements || !allNodeElements.length) {\n return;\n }\n // 边\n const allLinkElements = this._linkMark.getGraphics();\n if (!allLinkElements || !allLinkElements.length) {\n return;\n }\n\n // 原始 link 全部进入blur状态\n allLinkElements.forEach(el => {\n el.removeState([STATE_VALUE_ENUM.STATE_SANKEY_EMPHASIS]);\n });\n this._highLightElements(allLinkElements, []);\n\n const nodeDatums = allNodeElements.map(el => getDatumOfGraphic(el) as Datum);\n const pickNodeDatums = nodeDatums.filter(d => d.key === nodeDatum.key);\n // 层级型数据\n const highlightLinksData: any[] = [];\n // 高亮节点key\n const highlightNodeKeys: (string | number)[] = [];\n\n // 上游路径始终只选取第一个\n this._activeTargetLink(\n nodeDatum,\n pickNodeDatums,\n allNodeElements,\n allLinkElements,\n highlightNodeKeys,\n highlightLinksData\n );\n this._activeSourceLink(\n nodeDatum,\n pickNodeDatums,\n nodeDatums,\n allNodeElements,\n highlightNodeKeys,\n highlightLinksData\n );\n this._highLightElements(allNodeElements, highlightNodeKeys);\n this._activeLinkData.parseNewData(highlightLinksData);\n\n this._needClear = true;\n }\n\n private _activeTargetLink(\n nodeDatum: Datum,\n pickNodeDatums: Datum[],\n allNodeElements: IMarkGraphic[],\n allLinkElements: IMarkGraphic[],\n highlightNodeKeys: (string | number)[],\n highlightLinksData: any[]\n ) {\n this._handleClearEmpty();\n const sourceNode = nodeDatum.sourceNode;\n // 上游路径始终只选取第一个\n const firstTarget = sourceNode.targetLinks[0];\n if (!firstTarget) {\n return;\n }\n let percent = 0;\n pickNodeDatums.forEach(n => {\n const link = n.targetLinks.find((l: any) => l.key === firstTarget.key);\n if (link) {\n const p = link.value / firstTarget.value;\n const key = firstTarget.key + '_' + n.type;\n const activeLink = {\n ...firstTarget,\n // 起点重新分配\n y0: firstTarget.y0 - firstTarget.thickness / 2 + (percent + p / 2) * firstTarget.thickness,\n y1: n.y0 + (p * firstTarget.thickness) / 2,\n thickness: p * firstTarget.thickness,\n key,\n type: n.type,\n [DEFAULT_DATA_INDEX]: highlightLinksData.length,\n [DEFAULT_DATA_KEY]: key\n };\n highlightLinksData.push(activeLink);\n percent += p;\n }\n });\n\n // 第一个 path 中上流路径上的 node 全部高亮\n highlightNodeKeys.push(...firstTarget.parents, nodeDatum.key);\n const linkKeys: string[] = [];\n // 找到对应的原始 link 也都高亮\n for (let i = 0; i < firstTarget.parents.length - 1; i++) {\n linkKeys.push(firstTarget.parents[i] + '-' + firstTarget.parents[i + 1]);\n }\n this._highLightElements(allLinkElements, linkKeys);\n }\n\n private _activeSourceLink(\n nodeDatum: Datum,\n pickNodeDatums: Datum[],\n allNodeDatums: Datum[],\n allNodeElements: IMarkGraphic[],\n highlightNodeKeys: (string | number)[],\n highlightLinksData: any[]\n ) {\n this._handleClearEmpty();\n const sourceNode = nodeDatum.sourceNode;\n // 下游路径始需要全部处理\n const sourceLinks = sourceNode.sourceLinks;\n if (!sourceLinks?.length) {\n return;\n }\n\n const highNodeKeys: any[] = [];\n const sourceValueTemp: { [key: string]: number } = {};\n sourceLinks.forEach((sourceLink: SankeyLinkElement) => {\n highlightNodeKeys.push(sourceLink.target);\n pickNodeDatums.forEach((n, index) => {\n sourceValueTemp[n.type] = sourceValueTemp[n.type] ?? 0;\n const link = n.sourceLinks.find((l: SankeyLinkElement) => l.key === sourceLink.key);\n if (link) {\n const p = link.value / n.value;\n const totalSize = n.y1 - n.y0;\n const size = totalSize * p;\n const key = sourceLink.key + '_' + n.type;\n const activeLink = {\n ...sourceLink,\n // 起点重新分配\n y0: n.y0 + sourceValueTemp[n.type] * totalSize + size / 2,\n thickness: size,\n key,\n type: n.type,\n [DEFAULT_DATA_INDEX]: highlightLinksData.length,\n [DEFAULT_DATA_KEY]: key\n };\n // y1 分为第一个和在其他\n if (index === 0) {\n // 与原始link的起点\n activeLink.y1 = sourceLink.y1 - sourceLink.thickness / 2 + size / 2;\n } else {\n // 与目标子 node 的 y0 对齐\n const targetNode = allNodeDatums.find(_n => _n.key === link.target && _n.type === n.type);\n if (targetNode) {\n activeLink.y1 = targetNode.y0 + size / 2;\n } else {\n // 错误的情况\n return;\n }\n }\n highlightLinksData.push(activeLink);\n sourceValueTemp[n.type] += p;\n }\n });\n });\n }\n\n protected _handleClearEmpty() {\n super._handleClearEmpty();\n this._activeLinkData.parseNewData([]);\n\n // 同时需要清除 hover\n const allNodeElements = this._nodeMark.getGraphics();\n if (allNodeElements || !allNodeElements.length) {\n allNodeElements.forEach(el => {\n el.removeState(STATE_VALUE_ENUM.STATE_HOVER);\n });\n }\n\n // 同时需要清除 hover\n const allLinkElements = this._linkMark.getGraphics();\n if (allLinkElements || !allLinkElements.length) {\n allLinkElements.forEach(el => {\n el.removeState(STATE_VALUE_ENUM.STATE_HOVER);\n });\n }\n }\n}\n\nexport const registerCompareSankeyChart = (option?: { VChart?: typeof VChart }) => {\n registerMarkFilterTransform();\n\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useChart([CompareSankeyChart]);\n vchartConstructor.useSeries([CompareSankeySeries]);\n }\n};\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/compare-sankey/constants.ts"],"names":[],"mappings":"","file":"constants.js","sourcesContent":[""]}
@@ -0,0 +1,2 @@
1
+ export * from './interface';
2
+ export * from './compare-sankey';
@@ -0,0 +1,4 @@
1
+ export * from "./interface";
2
+
3
+ export * from "./compare-sankey";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/compare-sankey/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC","file":"index.js","sourcesContent":["export * from './interface';\nexport * from './compare-sankey';\n"]}
@@ -0,0 +1,23 @@
1
+ import type { ISankeyChartSpec, ISankeySeriesSpec, ILinkPathMarkSpec } from '@visactor/vchart';
2
+ export interface ICompareSankeySpec {
3
+ subNodeGap?: number;
4
+ compareNodeColor?: {
5
+ [key: string]: string;
6
+ };
7
+ compareLinkColor?: {
8
+ [key: string]: string;
9
+ };
10
+ activeLink?: {
11
+ style: ILinkPathMarkSpec;
12
+ };
13
+ }
14
+ export interface ICompareSankeySeriesSpecBase extends ISankeySeriesSpec, ICompareSankeySpec {
15
+ }
16
+ export interface ICompareSankeyChartSpecBase extends ISankeyChartSpec, ICompareSankeySpec {
17
+ }
18
+ export interface ICompareSankeySeriesSpec extends Omit<ICompareSankeySeriesSpecBase, 'type' | 'series'> {
19
+ type: 'compareSankey';
20
+ }
21
+ export interface ICompareSankeyChartSpec extends Omit<ICompareSankeyChartSpecBase, 'type' | 'series'> {
22
+ type: 'compareSankey';
23
+ }
@@ -0,0 +1,2 @@
1
+ export { };
2
+ //# sourceMappingURL=interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/compare-sankey/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ISankeyChartSpec, ISankeySeriesSpec, ILinkPathMarkSpec } from '@visactor/vchart';\n\nexport interface ICompareSankeySpec {\n /**\n * 子节点间距\n */\n subNodeGap?: number;\n /**\n * 对比节点颜色\n */\n compareNodeColor?: { [key: string]: string };\n /**\n * 对比边点颜色\n */\n compareLinkColor?: { [key: string]: string };\n /**\n * 对比边样式\n */\n activeLink?: {\n style: ILinkPathMarkSpec;\n };\n}\n\nexport interface ICompareSankeySeriesSpecBase extends ISankeySeriesSpec, ICompareSankeySpec {}\n\nexport interface ICompareSankeyChartSpecBase extends ISankeyChartSpec, ICompareSankeySpec {}\n\nexport interface ICompareSankeySeriesSpec extends Omit<ICompareSankeySeriesSpecBase, 'type' | 'series'> {\n type: 'compareSankey';\n}\n\nexport interface ICompareSankeyChartSpec extends Omit<ICompareSankeyChartSpecBase, 'type' | 'series'> {\n type: 'compareSankey';\n}\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/charts/compare-sankey/util.ts"],"names":[],"mappings":"","file":"util.js","sourcesContent":[""]}
@@ -21,4 +21,5 @@ export const DEFAULT_ARROW_TEXT_MARK_STYLE = {
21
21
 
22
22
  export const DEFAULT_FUNNEL_BACKGROUND_MARK_STYLE = {
23
23
  fill: "#eff1f9"
24
- };
24
+ };
25
+ //# sourceMappingURL=constants.js.map
@@ -46,8 +46,6 @@ export declare const funnel3dSeriesMark: {
46
46
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
47
47
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
48
48
  link?: import("@visactor/vchart").ISeriesMarkInfo;
49
- curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
50
- imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
51
49
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
52
50
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
53
51
  labelLine?: import("@visactor/vchart").ISeriesMarkInfo;
@@ -4,5 +4,4 @@ export * from "./series";
4
4
 
5
5
  export * from "./series-spec-transformer";
6
6
 
7
- export * from "./interface";
8
- //# sourceMappingURL=index.js.map
7
+ export * from "./interface";
@@ -55,8 +55,6 @@ export declare class Funnel3dSeries<T extends IFunnel3dSeriesSpec = IFunnel3dSer
55
55
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
56
56
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
57
57
  link?: import("@visactor/vchart").ISeriesMarkInfo;
58
- curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
59
- imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
60
58
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
61
59
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
62
60
  labelLine?: import("@visactor/vchart").ISeriesMarkInfo;
@@ -7,4 +7,5 @@ export class ImageCloudChartSpecTransformer extends BaseChartSpecTransformer {
7
7
  _getDefaultSeriesSpec(spec) {
8
8
  return super._getDefaultSeriesSpec(spec, [ "urlField", "nameField", "valueField", "imageSize", "imageSizeRange", "ratio", "maskShape", "imageMask", "layoutConfig", "image" ]);
9
9
  }
10
- }
10
+ }
11
+ //# sourceMappingURL=image-cloud-transformer.js.map
@@ -19,4 +19,4 @@ ImageCloudChart.transformerConstructor = ImageCloudChartSpecTransformer;
19
19
  export const registerImageCloudChart = () => {
20
20
  registerImageCloudSeries(), Factory.registerChart(ImageCloudChart.type, ImageCloudChart);
21
21
  };
22
- //# sourceMappingURL=image-cloud.js.map
22
+ //# sourceMappingURL=image-cloud.js.map
@@ -1,4 +1,4 @@
1
1
  export * from "./image-cloud";
2
2
 
3
3
  export * from "./interface";
4
- //# sourceMappingURL=index.js.map
4
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=interface.js.map
2
+ //# sourceMappingURL=interface.js.map
@@ -42,8 +42,6 @@ export declare const imageCloudSeriesMark: {
42
42
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
43
43
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
44
44
  link?: import("@visactor/vchart").ISeriesMarkInfo;
45
- curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
46
- imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
47
45
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
48
46
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
49
47
  labelLine?: import("@visactor/vchart").ISeriesMarkInfo;
@@ -44,8 +44,6 @@ export declare class ImageCloudSeries<T extends IImageCloudSeriesSpec> extends B
44
44
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
45
45
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
46
46
  link?: import("@visactor/vchart").ISeriesMarkInfo;
47
- curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
48
- imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
49
47
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
50
48
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
51
49
  labelLine?: import("@visactor/vchart").ISeriesMarkInfo;
@@ -46,4 +46,4 @@ ElementHighlightByGraphicName.type = type;
46
46
  export const registerElementHighlightByGraphicName = () => {
47
47
  Factory.registerInteractionTrigger(ElementHighlightByGraphicName.type, ElementHighlightByGraphicName);
48
48
  };
49
- //# sourceMappingURL=element-highlight-by-graphic-name.js.map
49
+ //# sourceMappingURL=element-highlight-by-graphic-name.js.map
@@ -22,4 +22,4 @@ ElementSelectByGraphicName.type = type;
22
22
  export const registerElementSelectByGraphicName = () => {
23
23
  Factory.registerInteractionTrigger(ElementSelectByGraphicName.type, ElementSelectByGraphicName);
24
24
  };
25
- //# sourceMappingURL=element-select-by-graphic-name.js.map
25
+ //# sourceMappingURL=element-select-by-graphic-name.js.map
@@ -9,4 +9,4 @@ export * from "./series/pictogram";
9
9
  export * from "./series/svg-source";
10
10
 
11
11
  export * from "./series/interface";
12
- //# sourceMappingURL=index.js.map
12
+ //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
1
  export { };
2
- //# sourceMappingURL=interface.js.map
2
+ //# sourceMappingURL=interface.js.map
@@ -39,8 +39,6 @@ export declare const PictogramSeriesMark: {
39
39
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
40
40
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
41
41
  link?: import("@visactor/vchart").ISeriesMarkInfo;
42
- curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
43
- imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
44
42
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
45
43
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
46
44
  labelLine?: import("@visactor/vchart").ISeriesMarkInfo;
@@ -45,8 +45,6 @@ export declare class PictogramSeries<T extends IPictogramSeriesSpec = IPictogram
45
45
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
46
46
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
47
47
  link?: import("@visactor/vchart").ISeriesMarkInfo;
48
- curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
49
- imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
50
48
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
51
49
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
52
50
  labelLine?: import("@visactor/vchart").ISeriesMarkInfo;
@@ -37,8 +37,6 @@ export declare const pie3dSeriesMark: {
37
37
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
38
38
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
39
39
  link?: import("@visactor/vchart").ISeriesMarkInfo;
40
- curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
41
- imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
42
40
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
43
41
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
44
42
  progress?: import("@visactor/vchart").ISeriesMarkInfo;
@@ -44,8 +44,6 @@ export declare class Pie3dSeries<T extends IPie3dSeriesSpec = IPie3dSeriesSpec>
44
44
  cell?: import("@visactor/vchart").ISeriesMarkInfo;
45
45
  cellBackground?: import("@visactor/vchart").ISeriesMarkInfo;
46
46
  link?: import("@visactor/vchart").ISeriesMarkInfo;
47
- curveLink?: import("@visactor/vchart").ISeriesMarkInfo;
48
- imageLabel?: import("@visactor/vchart").ISeriesMarkInfo;
49
47
  arrow?: import("@visactor/vchart").ISeriesMarkInfo;
50
48
  pie?: import("@visactor/vchart").ISeriesMarkInfo;
51
49
  progress?: import("@visactor/vchart").ISeriesMarkInfo;