@visactor/vchart-extension 2.0.15 → 2.0.16-alpha.0
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/build/index.js +592 -11
- package/build/index.min.js +2 -2
- package/cjs/charts/conversion-funnel/arrow-data-transform.js +0 -1
- package/cjs/charts/funnel-3d/chart.js +2 -1
- package/cjs/charts/histogram-3d/chart.js +1 -1
- package/cjs/charts/image-cloud/image-cloud-transformer.js +1 -1
- package/cjs/charts/ranking-bar/ranking-bar.d.ts +1 -1
- package/cjs/charts/ranking-bar/ranking-bar.js.map +1 -1
- package/cjs/charts/ranking-list/constant.d.ts +1 -1
- package/cjs/charts/ranking-list/constant.js.map +1 -1
- package/cjs/charts/ranking-list/ranking-list.d.ts +1 -1
- package/cjs/charts/ranking-list/ranking-list.js.map +1 -1
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js.map +1 -1
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.d.ts +1 -1
- package/cjs/charts/sequence-scatter-kde/sequence-scatter-kde.js.map +1 -1
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.js +1 -1
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link-transformer.js.map +1 -1
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link.d.ts +1 -1
- package/cjs/charts/sequence-scatter-link/sequence-scatter-link.js.map +1 -1
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js.map +1 -1
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.d.ts +1 -1
- package/cjs/charts/sequence-scatter-pixel/sequence-scatter-pixel.js.map +1 -1
- package/cjs/charts/sequence-scatter-pixel/utils.d.ts +1 -1
- package/cjs/charts/sequence-scatter-pixel/utils.js.map +1 -1
- package/cjs/charts/timeline/index.d.ts +4 -0
- package/cjs/charts/timeline/index.js +31 -0
- package/cjs/charts/timeline/index.js.map +1 -0
- package/cjs/charts/timeline/interface.d.ts +7 -0
- package/cjs/charts/timeline/interface.js +6 -0
- package/cjs/charts/timeline/interface.js.map +1 -0
- package/cjs/charts/timeline/series/constant.d.ts +1 -0
- package/cjs/charts/timeline/series/constant.js +6 -0
- package/cjs/charts/timeline/series/constant.js.map +1 -0
- package/cjs/charts/timeline/series/event-series.d.ts +53 -0
- package/cjs/charts/timeline/series/event-series.js +339 -0
- package/cjs/charts/timeline/series/event-series.js.map +1 -0
- package/cjs/charts/timeline/series/interface.d.ts +28 -0
- package/cjs/charts/timeline/series/interface.js +6 -0
- package/cjs/charts/timeline/series/interface.js.map +1 -0
- package/cjs/charts/timeline/series/theme.d.ts +2 -0
- package/cjs/charts/timeline/series/theme.js +43 -0
- package/cjs/charts/timeline/series/theme.js.map +1 -0
- package/cjs/charts/timeline/timeline-transformer.d.ts +10 -0
- package/cjs/charts/timeline/timeline-transformer.js +84 -0
- package/cjs/charts/timeline/timeline-transformer.js.map +1 -0
- package/cjs/charts/timeline/timeline.d.ts +12 -0
- package/cjs/charts/timeline/timeline.js +25 -0
- package/cjs/charts/timeline/timeline.js.map +1 -0
- package/cjs/components/map-label/map-label-transformer.d.ts +1 -1
- package/cjs/components/map-label/map-label-transformer.js.map +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +5 -5
- package/cjs/index.js.map +1 -1
- package/esm/charts/conversion-funnel/arrow-data-transform.js +1 -2
- package/esm/charts/funnel-3d/chart.js +2 -1
- package/esm/charts/histogram-3d/chart.js +1 -1
- package/esm/charts/image-cloud/image-cloud-transformer.js +1 -1
- package/esm/charts/ranking-bar/ranking-bar.d.ts +1 -1
- package/esm/charts/ranking-bar/ranking-bar.js.map +1 -1
- package/esm/charts/ranking-list/constant.d.ts +1 -1
- package/esm/charts/ranking-list/constant.js.map +1 -1
- package/esm/charts/ranking-list/ranking-list.d.ts +1 -1
- package/esm/charts/ranking-list/ranking-list.js.map +1 -1
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.js.map +1 -1
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.d.ts +1 -1
- package/esm/charts/sequence-scatter-kde/sequence-scatter-kde.js.map +1 -1
- package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.js +1 -1
- package/esm/charts/sequence-scatter-link/sequence-scatter-link-transformer.js.map +1 -1
- package/esm/charts/sequence-scatter-link/sequence-scatter-link.d.ts +1 -1
- package/esm/charts/sequence-scatter-link/sequence-scatter-link.js.map +1 -1
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.js.map +1 -1
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.d.ts +1 -1
- package/esm/charts/sequence-scatter-pixel/sequence-scatter-pixel.js.map +1 -1
- package/esm/charts/sequence-scatter-pixel/utils.d.ts +1 -1
- package/esm/charts/sequence-scatter-pixel/utils.js.map +1 -1
- package/esm/charts/timeline/index.d.ts +4 -0
- package/esm/charts/timeline/index.js +6 -0
- package/esm/charts/timeline/index.js.map +1 -0
- package/esm/charts/timeline/interface.d.ts +7 -0
- package/esm/charts/timeline/interface.js +2 -0
- package/esm/charts/timeline/interface.js.map +1 -0
- package/esm/charts/timeline/series/constant.d.ts +1 -0
- package/esm/charts/timeline/series/constant.js +2 -0
- package/esm/charts/timeline/series/constant.js.map +1 -0
- package/esm/charts/timeline/series/event-series.d.ts +53 -0
- package/esm/charts/timeline/series/event-series.js +337 -0
- package/esm/charts/timeline/series/event-series.js.map +1 -0
- package/esm/charts/timeline/series/interface.d.ts +28 -0
- package/esm/charts/timeline/series/interface.js +2 -0
- package/esm/charts/timeline/series/interface.js.map +1 -0
- package/esm/charts/timeline/series/theme.d.ts +2 -0
- package/esm/charts/timeline/series/theme.js +39 -0
- package/esm/charts/timeline/series/theme.js.map +1 -0
- package/esm/charts/timeline/timeline-transformer.d.ts +10 -0
- package/esm/charts/timeline/timeline-transformer.js +77 -0
- package/esm/charts/timeline/timeline-transformer.js.map +1 -0
- package/esm/charts/timeline/timeline.d.ts +12 -0
- package/esm/charts/timeline/timeline.js +19 -0
- package/esm/charts/timeline/timeline.js.map +1 -0
- package/esm/components/map-label/map-label-transformer.d.ts +1 -1
- package/esm/components/map-label/map-label-transformer.js.map +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -1
- package/package.json +6 -6
|
@@ -21,4 +21,5 @@ const registerFunnel3dChart = () => {
|
|
|
21
21
|
(0, layout_1.registerLayout3d)(), (0, series_1.registerFunnel3dSeries)(), vchart_1.Factory.registerChart(Funnel3dChart.type, Funnel3dChart);
|
|
22
22
|
};
|
|
23
23
|
|
|
24
|
-
exports.registerFunnel3dChart = registerFunnel3dChart;
|
|
24
|
+
exports.registerFunnel3dChart = registerFunnel3dChart;
|
|
25
|
+
//# sourceMappingURL=chart.js.map
|
|
@@ -16,4 +16,4 @@ class ImageCloudChartSpecTransformer extends vchart_1.BaseChartSpecTransformer {
|
|
|
16
16
|
}
|
|
17
17
|
|
|
18
18
|
exports.ImageCloudChartSpecTransformer = ImageCloudChartSpecTransformer;
|
|
19
|
-
//# sourceMappingURL=image-cloud-transformer.js.map
|
|
19
|
+
//# sourceMappingURL=image-cloud-transformer.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IRankingBarSpec } from './interface';
|
|
1
|
+
import type { IRankingBarSpec } from './interface';
|
|
2
2
|
import { VChart, BaseChart } from '@visactor/vchart';
|
|
3
3
|
import { RankingBarChartSpecTransformer } from './ranking-bar-transformer';
|
|
4
4
|
export declare class RankingBar extends BaseChart<Omit<IRankingBarSpec, 'color'>> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/ranking-bar/ranking-bar.ts"],"names":[],"mappings":";;;AACA,6CAAqD;AACrD,uEAA2E;AAE3E,MAAa,UAAW,SAAQ,kBAAyC;IAAzE;;QACE,SAAI,GAAG,YAAY,CAAC;QAOX,2BAAsB,GAAG,wDAA8B,CAAC;IAqBnE,CAAC;IAnBC,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO;SACR;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAES,OAAO;;QACf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE;YACpC,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,2DAA2D,CAAC,CAAC;YACpF,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA5BH,gCA6BC;AA3BQ,eAAI,GAAG,YAAY,CAAC;AACX,eAAI,GAAW,eAAe,CAAC;AAI/B,iCAAsB,GAAG,wDAA8B,CAAC;AAwBnE,MAAM,uBAAuB,GAAG,CAAC,MAAmC,EAAE,EAAE;IAC7E,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,eAAM,CAAC;IACnD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;KAC1C;AACH,CAAC,CAAC;AALW,QAAA,uBAAuB,2BAKlC","file":"ranking-bar.js","sourcesContent":["import { IRankingBarSpec } from './interface';\nimport { VChart, BaseChart } from '@visactor/vchart';\nimport { RankingBarChartSpecTransformer } from './ranking-bar-transformer';\n\nexport class RankingBar extends BaseChart<Omit<IRankingBarSpec, 'color'>> {\n type = 'rankingBar';\n static type = 'rankingBar';\n static readonly view: string = 'singleDefault';\n\n declare _spec: IRankingBarSpec;\n\n static readonly transformerConstructor = RankingBarChartSpecTransformer;\n readonly transformerConstructor = RankingBarChartSpecTransformer;\n\n init() {\n if (!this.isValid()) {\n return;\n }\n super.init();\n }\n\n protected isValid() {\n const { xField, yField, timeField, data } = this._spec;\n if (!xField || !yField || !timeField) {\n this._option.onError?.('Missing Required Config: `xField`, `yField`, `timeField` ');\n return false;\n }\n if (!data) {\n this._option.onError?.('Data is required');\n return false;\n }\n return true;\n }\n}\n\nexport const registerRankingBarChart = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useChart([RankingBar]);\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/charts/ranking-bar/ranking-bar.ts"],"names":[],"mappings":";;;AACA,6CAAqD;AACrD,uEAA2E;AAE3E,MAAa,UAAW,SAAQ,kBAAyC;IAAzE;;QACE,SAAI,GAAG,YAAY,CAAC;QAOX,2BAAsB,GAAG,wDAA8B,CAAC;IAqBnE,CAAC;IAnBC,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO;SACR;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAES,OAAO;;QACf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACvD,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE;YACpC,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,2DAA2D,CAAC,CAAC;YACpF,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA5BH,gCA6BC;AA3BQ,eAAI,GAAG,YAAY,CAAC;AACX,eAAI,GAAW,eAAe,CAAC;AAI/B,iCAAsB,GAAG,wDAA8B,CAAC;AAwBnE,MAAM,uBAAuB,GAAG,CAAC,MAAmC,EAAE,EAAE;IAC7E,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,eAAM,CAAC;IACnD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;KAC1C;AACH,CAAC,CAAC;AALW,QAAA,uBAAuB,2BAKlC","file":"ranking-bar.js","sourcesContent":["import type { IRankingBarSpec } from './interface';\nimport { VChart, BaseChart } from '@visactor/vchart';\nimport { RankingBarChartSpecTransformer } from './ranking-bar-transformer';\n\nexport class RankingBar extends BaseChart<Omit<IRankingBarSpec, 'color'>> {\n type = 'rankingBar';\n static type = 'rankingBar';\n static readonly view: string = 'singleDefault';\n\n declare _spec: IRankingBarSpec;\n\n static readonly transformerConstructor = RankingBarChartSpecTransformer;\n readonly transformerConstructor = RankingBarChartSpecTransformer;\n\n init() {\n if (!this.isValid()) {\n return;\n }\n super.init();\n }\n\n protected isValid() {\n const { xField, yField, timeField, data } = this._spec;\n if (!xField || !yField || !timeField) {\n this._option.onError?.('Missing Required Config: `xField`, `yField`, `timeField` ');\n return false;\n }\n if (!data) {\n this._option.onError?.('Data is required');\n return false;\n }\n return true;\n }\n}\n\nexport const registerRankingBarChart = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useChart([RankingBar]);\n }\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { IRankingListSpec } from './interface';
|
|
1
|
+
import type { IRankingListSpec } from './interface';
|
|
2
2
|
export declare const defaultSpec: Omit<IRankingListSpec, 'type' | 'data' | 'xField' | 'yField'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/ranking-list/constant.ts"],"names":[],"mappings":";;;AAEA,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,UAAU,GAAG,CAAC,CAAC;AAGrB,MAAM,gBAAgB,GAAG,SAAS,CAAC;AACnC,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAE5B,QAAA,WAAW,GAAkE;IACxF,WAAW,EAAE,KAAK;IAClB,GAAG,EAAE;QACH,KAAK,EAAE;YACL,YAAY;SACb;KACF;IACD,aAAa,EAAE;QACb,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,IAAI,EAAE,WAAW;YACjB,YAAY;SACb;KACF;IACD,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YACL,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,QAAQ;SACf;KACF;IACD,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YAEL,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,gBAAgB;YACtB,YAAY,EAAE,QAAQ;SACvB;KACF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YAEL,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,gBAAgB;YACtB,YAAY,EAAE,QAAQ;SACvB;KACF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YAEL,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,gBAAgB;YACtB,YAAY,EAAE,QAAQ;SACvB;KACF;IACD,QAAQ;IACR,UAAU;IACV,eAAe,EAAE;QACf,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,QAAQ;KACjB;IACD,eAAe,EAAE;QACf,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,QAAQ;KACjB;IACD,eAAe,EAAE;QAGf,QAAQ,EAAE,iBAAiB;KAE5B;CACF,CAAC","file":"constant.js","sourcesContent":["import { IRankingListSpec } from './interface';\n\nconst cornerRadius = 5;\nconst animationDuration = 1000;\nconst fontSize = 20;\nconst pageSize = 5;\nconst scrollSize = 1;\n\n// from: packages/vchart/src/theme/builtin/light/color-scheme.ts\nconst primaryFontColor = '#21252c';\nconst shadowColor = 'rgba(33,37,44,0.1)';\n\nexport const defaultSpec: Omit<IRankingListSpec, 'type' | 'data' | 'xField' | 'yField'> = {\n labelLayout: 'top',\n bar: {\n style: {\n cornerRadius\n }\n },\n barBackground: {\n type: 'rect',\n style: {\n fill: shadowColor,\n cornerRadius\n }\n },\n rankingIcon: {\n visible: true,\n style: {\n fill: primaryFontColor,\n size: fontSize\n }\n },\n nameLabel: {\n visible: true,\n style: {\n // fontFamily: ''\n fontSize: fontSize,\n fontWeight: 'normal',\n fill: primaryFontColor,\n textBaseline: 'middle'\n }\n },\n orderLabel: {\n visible: true,\n style: {\n // fontFamily: ''\n fontSize: fontSize,\n fontWeight: 'normal',\n fill: primaryFontColor,\n textBaseline: 'middle'\n }\n },\n valueLabel: {\n visible: true,\n style: {\n // fontFamily: ''\n fontSize: fontSize,\n fontWeight: 'normal',\n fill: primaryFontColor,\n textBaseline: 'middle'\n }\n },\n pageSize,\n scrollSize,\n animationAppear: {\n enable: true,\n type: 'grow',\n duration: animationDuration,\n easing: 'linear'\n },\n animationUpdate: {\n enable: true,\n type: 'grow',\n duration: animationDuration,\n easing: 'linear'\n },\n animationNormal: {\n // enable: true,\n // type: 'scroll',\n interval: animationDuration\n // easing: 'linear'\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/charts/ranking-list/constant.ts"],"names":[],"mappings":";;;AAEA,MAAM,YAAY,GAAG,CAAC,CAAC;AACvB,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAC/B,MAAM,QAAQ,GAAG,EAAE,CAAC;AACpB,MAAM,QAAQ,GAAG,CAAC,CAAC;AACnB,MAAM,UAAU,GAAG,CAAC,CAAC;AAGrB,MAAM,gBAAgB,GAAG,SAAS,CAAC;AACnC,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAE5B,QAAA,WAAW,GAAkE;IACxF,WAAW,EAAE,KAAK;IAClB,GAAG,EAAE;QACH,KAAK,EAAE;YACL,YAAY;SACb;KACF;IACD,aAAa,EAAE;QACb,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE;YACL,IAAI,EAAE,WAAW;YACjB,YAAY;SACb;KACF;IACD,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YACL,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,QAAQ;SACf;KACF;IACD,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YAEL,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,gBAAgB;YACtB,YAAY,EAAE,QAAQ;SACvB;KACF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YAEL,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,gBAAgB;YACtB,YAAY,EAAE,QAAQ;SACvB;KACF;IACD,UAAU,EAAE;QACV,OAAO,EAAE,IAAI;QACb,KAAK,EAAE;YAEL,QAAQ,EAAE,QAAQ;YAClB,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,gBAAgB;YACtB,YAAY,EAAE,QAAQ;SACvB;KACF;IACD,QAAQ;IACR,UAAU;IACV,eAAe,EAAE;QACf,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,QAAQ;KACjB;IACD,eAAe,EAAE;QACf,MAAM,EAAE,IAAI;QACZ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,iBAAiB;QAC3B,MAAM,EAAE,QAAQ;KACjB;IACD,eAAe,EAAE;QAGf,QAAQ,EAAE,iBAAiB;KAE5B;CACF,CAAC","file":"constant.js","sourcesContent":["import type { IRankingListSpec } from './interface';\n\nconst cornerRadius = 5;\nconst animationDuration = 1000;\nconst fontSize = 20;\nconst pageSize = 5;\nconst scrollSize = 1;\n\n// from: packages/vchart/src/theme/builtin/light/color-scheme.ts\nconst primaryFontColor = '#21252c';\nconst shadowColor = 'rgba(33,37,44,0.1)';\n\nexport const defaultSpec: Omit<IRankingListSpec, 'type' | 'data' | 'xField' | 'yField'> = {\n labelLayout: 'top',\n bar: {\n style: {\n cornerRadius\n }\n },\n barBackground: {\n type: 'rect',\n style: {\n fill: shadowColor,\n cornerRadius\n }\n },\n rankingIcon: {\n visible: true,\n style: {\n fill: primaryFontColor,\n size: fontSize\n }\n },\n nameLabel: {\n visible: true,\n style: {\n // fontFamily: ''\n fontSize: fontSize,\n fontWeight: 'normal',\n fill: primaryFontColor,\n textBaseline: 'middle'\n }\n },\n orderLabel: {\n visible: true,\n style: {\n // fontFamily: ''\n fontSize: fontSize,\n fontWeight: 'normal',\n fill: primaryFontColor,\n textBaseline: 'middle'\n }\n },\n valueLabel: {\n visible: true,\n style: {\n // fontFamily: ''\n fontSize: fontSize,\n fontWeight: 'normal',\n fill: primaryFontColor,\n textBaseline: 'middle'\n }\n },\n pageSize,\n scrollSize,\n animationAppear: {\n enable: true,\n type: 'grow',\n duration: animationDuration,\n easing: 'linear'\n },\n animationUpdate: {\n enable: true,\n type: 'grow',\n duration: animationDuration,\n easing: 'linear'\n },\n animationNormal: {\n // enable: true,\n // type: 'scroll',\n interval: animationDuration\n // easing: 'linear'\n }\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IRankingListSpec } from './interface';
|
|
1
|
+
import type { IRankingListSpec } from './interface';
|
|
2
2
|
import { VChart, BaseChart } from '@visactor/vchart';
|
|
3
3
|
import { RankingListChartSpecTransformer } from './ranking-list-transformer';
|
|
4
4
|
export declare class RankingList extends BaseChart<Omit<IRankingListSpec, 'data'>> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/ranking-list/ranking-list.ts"],"names":[],"mappings":";;;AACA,6CAA+D;AAC/D,yEAA6E;AAE7E,MAAa,WAAY,SAAQ,kBAAyC;IAA1E;;QACE,SAAI,GAAG,aAAa,CAAC;QAOZ,2BAAsB,GAAG,0DAA+B,CAAC;IAqBpE,CAAC;IAnBC,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO;SACR;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAES,OAAO;;QACf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE;YACtB,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,8CAA8C,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA5BH,kCA6BC;AA3BQ,gBAAI,GAAG,aAAa,CAAC;AACZ,gBAAI,GAAW,eAAe,CAAC;AAI/B,kCAAsB,GAAG,0DAA+B,CAAC;AAwBpE,MAAM,mBAAmB,GAAG,CAAC,MAAmC,EAAE,EAAE;IACzE,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,eAAM,CAAC;IACnD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,iBAAQ,CAAC,CAAC,CAAC;KACrD;AACH,CAAC,CAAC;AALW,QAAA,mBAAmB,uBAK9B","file":"ranking-list.js","sourcesContent":["import { IRankingListSpec } from './interface';\nimport { VChart, BaseChart, BarChart } from '@visactor/vchart';\nimport { RankingListChartSpecTransformer } from './ranking-list-transformer';\n\nexport class RankingList extends BaseChart<Omit<IRankingListSpec, 'data'>> {\n type = 'rankingList';\n static type = 'rankingList';\n static readonly view: string = 'singleDefault';\n\n declare _spec: IRankingListSpec;\n\n static readonly transformerConstructor = RankingListChartSpecTransformer;\n readonly transformerConstructor = RankingListChartSpecTransformer;\n\n init() {\n if (!this.isValid()) {\n return;\n }\n super.init();\n }\n\n protected isValid() {\n const { xField, yField, data } = this._spec;\n if (!xField || !yField) {\n this._option.onError?.('Missing Required Config: `xField`, `yField` ');\n return false;\n }\n if (!data) {\n this._option.onError?.('Data is required');\n return false;\n }\n return true;\n }\n}\n\nexport const registerRankingList = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useChart([RankingList, BarChart]);\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/charts/ranking-list/ranking-list.ts"],"names":[],"mappings":";;;AACA,6CAA+D;AAC/D,yEAA6E;AAE7E,MAAa,WAAY,SAAQ,kBAAyC;IAA1E;;QACE,SAAI,GAAG,aAAa,CAAC;QAOZ,2BAAsB,GAAG,0DAA+B,CAAC;IAqBpE,CAAC;IAnBC,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO;SACR;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAES,OAAO;;QACf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE;YACtB,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,8CAA8C,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA5BH,kCA6BC;AA3BQ,gBAAI,GAAG,aAAa,CAAC;AACZ,gBAAI,GAAW,eAAe,CAAC;AAI/B,kCAAsB,GAAG,0DAA+B,CAAC;AAwBpE,MAAM,mBAAmB,GAAG,CAAC,MAAmC,EAAE,EAAE;IACzE,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,eAAM,CAAC;IACnD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,iBAAQ,CAAC,CAAC,CAAC;KACrD;AACH,CAAC,CAAC;AALW,QAAA,mBAAmB,uBAK9B","file":"ranking-list.js","sourcesContent":["import type { IRankingListSpec } from './interface';\nimport { VChart, BaseChart, BarChart } from '@visactor/vchart';\nimport { RankingListChartSpecTransformer } from './ranking-list-transformer';\n\nexport class RankingList extends BaseChart<Omit<IRankingListSpec, 'data'>> {\n type = 'rankingList';\n static type = 'rankingList';\n static readonly view: string = 'singleDefault';\n\n declare _spec: IRankingListSpec;\n\n static readonly transformerConstructor = RankingListChartSpecTransformer;\n readonly transformerConstructor = RankingListChartSpecTransformer;\n\n init() {\n if (!this.isValid()) {\n return;\n }\n super.init();\n }\n\n protected isValid() {\n const { xField, yField, data } = this._spec;\n if (!xField || !yField) {\n this._option.onError?.('Missing Required Config: `xField`, `yField` ');\n return false;\n }\n if (!data) {\n this._option.onError?.('Data is required');\n return false;\n }\n return true;\n }\n}\n\nexport const registerRankingList = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useChart([RankingList, BarChart]);\n }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.ts"],"names":[],"mappings":";;;AAEA,6CAA8D;AAE9D,mCAAuC;AAEvC,MAAM,QAAQ,GAAG,SAAS,CAAC;AAE3B,MAAa,sCAAuC,SAAQ,mCAA+B;IACzF,aAAa,CAAC,IAAS;;QACrB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,mBAAmB,CAAC,IAA0C,CAAC,CAAC;QAElF,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9B,IAAI,CAAC,MAAM,GAAG;YACZ;gBACE,EAAE,EAAE,YAAY;gBAChB,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE;oBACT,GAAG,EAAE,mBAAmB;oBACxB,GAAG,EAAE,mBAAmB;oBACxB,GAAG,EAAE,mBAAmB;oBACxB,GAAG,EAAE,kBAAkB;oBACvB,GAAG,EAAE,kBAAkB;oBACvB,GAAG,EAAE,oBAAoB;oBACzB,GAAG,EAAE,kBAAkB;oBACvB,GAAG,EAAE,oBAAoB;oBACzB,GAAG,EAAE,oBAAoB;oBACzB,GAAG,EAAE,mBAAmB;oBACxB,IAAI,EAAE,mBAAmB;iBAC1B;aACF;YACD;gBACE,EAAE,EAAE,oBAAoB;gBACxB,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE;oBACT,GAAG,EAAE,mBAAmB;oBACxB,GAAG,EAAE,mBAAmB;oBACxB,GAAG,EAAE,mBAAmB;oBACxB,GAAG,EAAE,kBAAkB;oBACvB,GAAG,EAAE,kBAAkB;oBACvB,GAAG,EAAE,oBAAoB;oBACzB,GAAG,EAAE,mBAAmB;oBACxB,GAAG,EAAE,oBAAoB;oBACzB,GAAG,EAAE,oBAAoB;oBACzB,GAAG,EAAE,mBAAmB;oBACxB,IAAI,EAAE,mBAAmB;iBAC1B;aACF;YACD,GAAG,CAAC,MAAA,IAAI,CAAC,MAAM,mCAAI,EAAE,CAAC;SACvB,CAAC;QACF,IAAI,CAAC,MAAM,GAAG;YACZ;gBACE,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,CAAC;gBACZ,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,IAAI,EAAE,CAAC;gBACP,KAAK,EAAE;oBACL,MAAM,EAAE,IAAI;oBACZ,KAAK,EAAE;wBACL,IAAI,EAAE;4BACJ,KAAK,EAAE,YAAY;4BACnB,KAAK,EAAE,IAAI,CAAC,WAAW;yBACxB;qBACF;iBACF;aACF;SACF,CAAC;QAKF,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,EAAE,CAAC;QAEnB,IAAI,CAAC,UAAU,GAAG;YAChB;gBACE,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,CAAC;gBACZ,KAAK,kBACH,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"sources":["../src/charts/sequence-scatter-kde/sequence-scatter-kde-transformer.ts"],"names":[],"mappings":"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","file":"sequence-scatter-kde-transformer.js","sourcesContent":["import type { Datum } from '@visactor/vchart/src/typings';\nimport type { ISequenceScatterKDESpec } from './interface';\nimport { CommonChartSpecTransformer } from '@visactor/vchart';\nimport type { Point } from './interface';\nimport { calculateKDE } from './utils';\n\nconst DATA_KEY = 'dataKey';\n\nexport class SequenceScatterKDEChartSpecTransformer extends CommonChartSpecTransformer<any> {\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n const dataSpecs = processSequenceData(spec as unknown as ISequenceScatterKDESpec);\n\n spec.type = 'common';\n spec.dataKey = DATA_KEY;\n spec.data = dataSpecs[0].data;\n\n spec.scales = [\n {\n id: 'colorScale',\n type: 'ordinal',\n specified: {\n '0': 'rgb(150, 10, 100)',\n '1': 'rgb(31, 119, 180)',\n '2': 'rgb(255, 127, 14)',\n '3': 'rgb(44, 160, 44)',\n '4': 'rgb(214, 39, 40)',\n '5': 'rgb(148, 103, 189)',\n '6': 'rgb(140, 86, 75)',\n '7': 'rgb(227, 119, 194)',\n '8': 'rgb(127, 127, 127)',\n '9': 'rgb(188, 189, 34)',\n '10': 'rgb(23, 190, 207)'\n }\n },\n {\n id: 'brighterColorScale',\n type: 'ordinal',\n specified: {\n '0': 'rgb(150, 10, 150)',\n '1': 'rgb(31, 119, 230)',\n '2': 'rgb(255, 127, 64)',\n '3': 'rgb(44, 160, 94)',\n '4': 'rgb(214, 39, 90)',\n '5': 'rgb(148, 103, 239)',\n '6': 'rgb(140, 86, 125)',\n '7': 'rgb(227, 119, 244)',\n '8': 'rgb(127, 127, 177)',\n '9': 'rgb(188, 189, 84)',\n '10': 'rgb(23, 190, 255)'\n }\n },\n ...(spec.scales ?? [])\n ];\n spec.series = [\n {\n type: 'scatter',\n dataIndex: 0,\n xField: spec.xField,\n yField: spec.yField,\n seriesField: spec.seriesField,\n size: 5,\n point: {\n zIndex: 1000,\n style: {\n fill: {\n scale: 'colorScale',\n field: spec.seriesField\n }\n }\n }\n }\n ];\n // spec.width = 800;\n // spec.height = 500;\n\n // 获取图元位置\n const regionX = 54;\n const regionY = 26;\n\n spec.customMark = [\n {\n type: 'text',\n dataIndex: 1,\n style: {\n text: (datum: Datum) => datum.iter,\n x: 10,\n y: () => 10,\n textBaseline: 'top',\n textAlign: 'left',\n fontSize: 25,\n fontWeight: 'bolder',\n fill: 'black',\n fillOpacity: 0.2,\n ...spec.infoLabel?.style\n }\n },\n {\n type: 'symbol',\n dataIndex: 2,\n style: {\n symbolType: 'rect',\n x: (datum: any, ctx: any) => {\n // 获取region位置\n // const regionStartPoint = ctx.chart.getAllRegions()[0].getLayoutStartPoint();\n // const { x: regionX } = regionStartPoint;\n // 获取图元位置\n const valueToX = ctx.chart.getAllSeries()[0]._markAttributeContext.valueToX;\n const markX = valueToX([datum.x]);\n return regionX + markX;\n },\n y: (datum: any, ctx: any) => {\n const valueToY = ctx.chart.getAllSeries()[0]._markAttributeContext.valueToY;\n const markY = valueToY([datum.y]);\n return markY + regionY;\n },\n size: 5,\n fill: {\n scale: 'brighterColorScale',\n field: 'label'\n },\n fillOpacity: (datum: any) => datum.kde * 10\n }\n }\n ];\n\n spec.tooltip = {\n visible: true,\n fields: ['x', 'y', 'label']\n };\n\n if (spec.player) {\n spec.player = {\n ...spec.player,\n specs: dataSpecs\n };\n\n spec.animationAppear = {\n duration: spec.player?.duration ?? 2000,\n easing: 'linear'\n };\n\n spec.animationUpdate = {\n duration: spec.player?.duration ?? 2000,\n easing: 'linear'\n };\n }\n\n spec.axes = [\n {\n orient: 'left',\n type: 'linear',\n nice: true\n },\n {\n orient: 'bottom',\n type: 'linear',\n nice: true,\n label: { visible: true }\n }\n ];\n\n super.transformSpec(spec);\n }\n}\n\nexport function processSequenceData(spec: ISequenceScatterKDESpec) {\n const result: any[] = [];\n Object.keys(spec.data).forEach(iter => {\n const currentData = spec.data[iter].map((d: Datum, i) => ({\n ...(d as Point),\n [DATA_KEY]: i\n }));\n\n const kdeResults = calculateKDE(currentData, 150);\n result.push({\n data: [\n {\n id: 'nodes',\n values: currentData\n },\n {\n id: 'iter',\n values: [{ iter }]\n },\n {\n id: 'kde',\n values: kdeResults\n }\n ]\n });\n });\n return result;\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ISequenceScatterKDESpec } from './interface';
|
|
1
|
+
import type { ISequenceScatterKDESpec } from './interface';
|
|
2
2
|
import { VChart, BaseChart } from '@visactor/vchart';
|
|
3
3
|
import { SequenceScatterKDEChartSpecTransformer } from './sequence-scatter-kde-transformer';
|
|
4
4
|
export declare class SequenceScatterKDE extends BaseChart<Omit<ISequenceScatterKDESpec, 'data'>> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/sequence-scatter-kde/sequence-scatter-kde.ts"],"names":[],"mappings":";;;AACA,6CAAmE;AACnE,yFAA4F;AAE5F,MAAa,kBAAmB,SAAQ,kBAAgD;IAAxF;;QACE,SAAI,GAAG,oBAAoB,CAAC;QAOnB,2BAAsB,GAAG,yEAAsC,CAAC;IAqB3E,CAAC;IAnBC,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO;SACR;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAES,OAAO;;QACf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE;YACtB,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,8CAA8C,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA5BH,gDA6BC;AA3BQ,uBAAI,GAAG,oBAAoB,CAAC;AACnB,uBAAI,GAAW,eAAe,CAAC;AAI/B,yCAAsB,GAAG,yEAAsC,CAAC;AAwB3E,MAAM,0BAA0B,GAAG,CAAC,MAAmC,EAAE,EAAE;IAChF,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,eAAM,CAAC;IACnD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,kBAAkB,EAAE,qBAAY,CAAC,CAAC,CAAC;KAChE;AACH,CAAC,CAAC;AALW,QAAA,0BAA0B,8BAKrC","file":"sequence-scatter-kde.js","sourcesContent":["import { ISequenceScatterKDESpec } from './interface';\nimport { VChart, BaseChart, ScatterChart } from '@visactor/vchart';\nimport { SequenceScatterKDEChartSpecTransformer } from './sequence-scatter-kde-transformer';\n\nexport class SequenceScatterKDE extends BaseChart<Omit<ISequenceScatterKDESpec, 'data'>> {\n type = 'sequenceScatterKDE';\n static type = 'sequenceScatterKDE';\n static readonly view: string = 'singleDefault';\n\n declare _spec: ISequenceScatterKDESpec;\n\n static readonly transformerConstructor = SequenceScatterKDEChartSpecTransformer;\n readonly transformerConstructor = SequenceScatterKDEChartSpecTransformer;\n\n init() {\n if (!this.isValid()) {\n return;\n }\n super.init();\n }\n\n protected isValid() {\n const { xField, yField, data } = this._spec;\n if (!xField || !yField) {\n this._option.onError?.('Missing Required Config: `xField`, `yField` ');\n return false;\n }\n if (!data) {\n this._option.onError?.('Data is required');\n return false;\n }\n return true;\n }\n}\n\nexport const registerSequenceScatterKDE = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useChart([SequenceScatterKDE, ScatterChart]);\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/charts/sequence-scatter-kde/sequence-scatter-kde.ts"],"names":[],"mappings":";;;AACA,6CAAmE;AACnE,yFAA4F;AAE5F,MAAa,kBAAmB,SAAQ,kBAAgD;IAAxF;;QACE,SAAI,GAAG,oBAAoB,CAAC;QAOnB,2BAAsB,GAAG,yEAAsC,CAAC;IAqB3E,CAAC;IAnBC,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO;SACR;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAES,OAAO;;QACf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE;YACtB,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,8CAA8C,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA5BH,gDA6BC;AA3BQ,uBAAI,GAAG,oBAAoB,CAAC;AACnB,uBAAI,GAAW,eAAe,CAAC;AAI/B,yCAAsB,GAAG,yEAAsC,CAAC;AAwB3E,MAAM,0BAA0B,GAAG,CAAC,MAAmC,EAAE,EAAE;IAChF,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,eAAM,CAAC;IACnD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,kBAAkB,EAAE,qBAAY,CAAC,CAAC,CAAC;KAChE;AACH,CAAC,CAAC;AALW,QAAA,0BAA0B,8BAKrC","file":"sequence-scatter-kde.js","sourcesContent":["import type { ISequenceScatterKDESpec } from './interface';\nimport { VChart, BaseChart, ScatterChart } from '@visactor/vchart';\nimport { SequenceScatterKDEChartSpecTransformer } from './sequence-scatter-kde-transformer';\n\nexport class SequenceScatterKDE extends BaseChart<Omit<ISequenceScatterKDESpec, 'data'>> {\n type = 'sequenceScatterKDE';\n static type = 'sequenceScatterKDE';\n static readonly view: string = 'singleDefault';\n\n declare _spec: ISequenceScatterKDESpec;\n\n static readonly transformerConstructor = SequenceScatterKDEChartSpecTransformer;\n readonly transformerConstructor = SequenceScatterKDEChartSpecTransformer;\n\n init() {\n if (!this.isValid()) {\n return;\n }\n super.init();\n }\n\n protected isValid() {\n const { xField, yField, data } = this._spec;\n if (!xField || !yField) {\n this._option.onError?.('Missing Required Config: `xField`, `yField` ');\n return false;\n }\n if (!data) {\n this._option.onError?.('Data is required');\n return false;\n }\n return true;\n }\n}\n\nexport const registerSequenceScatterKDE = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useChart([SequenceScatterKDE, ScatterChart]);\n }\n};\n"]}
|
|
@@ -92,7 +92,7 @@ class SequenceScatterLinkChartSpecTransformer extends vchart_1.CommonChartSpecTr
|
|
|
92
92
|
label: {
|
|
93
93
|
visible: !0,
|
|
94
94
|
style: {
|
|
95
|
-
visible: () => "neighborhood"
|
|
95
|
+
visible: () => "neighborhood" === spec.taskType,
|
|
96
96
|
type: "text",
|
|
97
97
|
fontFamily: "Console",
|
|
98
98
|
fontStyle: "italic",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/sequence-scatter-link/sequence-scatter-link-transformer.ts"],"names":[],"mappings":"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","file":"sequence-scatter-link-transformer.js","sourcesContent":["import { Datum } from '@visactor/vchart/src/typings';\nimport type { ISequenceScatterLinkSpec } from './interface';\nimport { CommonChartSpecTransformer } from '@visactor/vchart';\n\nconst DATA_KEY = 'dataKey';\n\n/**\n * convert ISequenceScatterLinkSpec to CommonSpec\n */\nexport class SequenceScatterLinkChartSpecTransformer extends CommonChartSpecTransformer<any> {\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n const dataSpecs = processSequenceData(spec as unknown as ISequenceScatterLinkSpec);\n const showTooltip = spec.taskType === 'neighborhood' ? false : true;\n\n spec.type = 'common';\n\n // data\n spec.dataKey = DATA_KEY;\n spec.data = dataSpecs[0].data;\n\n // series: background, line, scatter\n spec.series = [\n {\n id: 'background-series',\n type: 'area',\n dataId: 'background',\n interactive: false,\n persent: true,\n xField: 'x',\n yField: 'y',\n point: {\n visible: false\n },\n line: {\n visible: false\n },\n area: {\n visible: true,\n interactive: false,\n style: {\n background: (datum: { iter: number }) => {\n if (spec.taskType === 'neighborhood') {\n return '';\n }\n return `https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/sequence-scatter-bgimg-2/${datum.iter}.png`;\n },\n fill: 'transparent',\n fillOpacity: 0.5\n }\n },\n hover: {\n enable: false\n },\n select: {\n enable: false\n }\n },\n {\n id: 'line-series',\n type: 'line',\n dataId: 'endpoints',\n xField: 'x',\n yField: 'y',\n seriesField: 'edgeId', // a line will be drawn between endpoints with the same edgeId.\n animation: true,\n point: {\n visible: false\n },\n line: {\n visible: true,\n style: {\n stroke: (datum: { color: string }) => {\n return datum.color;\n },\n lineDash: (datum: { type: string }) => {\n if (datum.type === 'same_type') {\n return [0, 0];\n } else {\n return [3, 2];\n }\n },\n lineWidth: 0.8,\n strokeOpacity: 0.6\n }\n }\n },\n {\n id: 'scatter-series',\n type: 'scatter',\n dataId: 'nodes',\n xField: spec.xField,\n yField: spec.yField,\n seriesField: 'label',\n point: {\n state: {\n hover: {\n scaleX: 1.5,\n scaleY: 1.5,\n fillOpacity: 1\n },\n hover_reverse: {\n scaleX: 1,\n scaleY: 1,\n fillOpacity: 0.3\n }\n },\n style: {\n size: () => {\n return spec.taskType === 'neighborhood' ? 6 : 4;\n },\n fill: (datum: { label: string }) => {\n const color = spec.labelColor[datum.label] ?? 'gray';\n return color;\n },\n fillOpacity: (datum: { confidence: number }) => {\n return datum.confidence;\n }\n }\n },\n label: {\n visible: true,\n style: {\n visible: () => {\n return spec.taskType == 'neighborhood';\n },\n type: 'text',\n fontFamily: 'Console',\n fontStyle: 'italic',\n fontSize: 12,\n fill: 'black',\n fillOpacity: 0.6,\n text: (datum: Datum) => {\n return datum.id;\n }\n }\n }\n }\n ];\n\n // player\n if (spec.player) {\n spec.player = {\n ...spec.player,\n specs: dataSpecs\n };\n spec.animationAppear = {\n duration: spec.player?.duration ?? 2000,\n easing: 'linear'\n };\n\n spec.animationUpdate = {\n duration: spec.player?.duration ?? 2000,\n easing: 'linear'\n };\n }\n\n // axes\n spec.axes = [\n {\n orient: 'left',\n type: 'linear',\n inverse: true,\n min: spec.scope[1],\n max: spec.scope[3]\n },\n {\n orient: 'bottom',\n type: 'linear',\n min: spec.scope[0],\n max: spec.scope[2]\n }\n ];\n\n // iteration label\n spec.customMark = [\n {\n type: 'text',\n dataId: 'iter',\n style: {\n x: 50,\n y: () => 10,\n textBaseline: 'top',\n textAlign: 'left',\n fontSize: 100,\n fontWeight: 'bolder',\n fill: 'black',\n fillOpacity: 0.2,\n ...spec.infoLabel?.style\n }\n }\n ];\n\n // legends\n (spec.legends = [\n {\n seriesId: 'scatter-series',\n visible: true,\n orient: 'right',\n position: 'middle',\n data: (items: any[]) => {\n return items.map(item => {\n item.shape.outerBorder = {\n stroke: item.shape.fill,\n distance: 2,\n lineWidth: 1\n };\n return item;\n });\n },\n title: {\n visible: true,\n align: 'left',\n textStyle: {\n text: 'Classes',\n fontFamily: 'Console',\n fontSize: 18,\n fontWeight: 'bold'\n }\n },\n item: {\n visible: true,\n width: '8%',\n value: {\n alignRight: true,\n style: {\n fill: '#000',\n fillOpacity: 1,\n fontSize: 12\n },\n state: {\n unselected: {\n fill: '#d8d8d8'\n }\n }\n }\n }\n }\n ]),\n // tooltip\n (spec.tooltip = {\n visible: showTooltip,\n seriesId: 'scatter-series',\n lockAfterClick: false,\n activeType: 'mark',\n trigger: 'hover',\n mark: {\n title: {\n visible: true,\n value: 'Info'\n },\n content: [\n {\n key: 'Label',\n value: (datum: { label: string }) => {\n return datum.label;\n },\n shapeType: 'circle',\n shapeSize: 8\n },\n {\n key: 'Prediction',\n value: (datum: { prediction: string }) => {\n return datum.prediction;\n },\n shapeType: 'circle',\n shapeSize: 8,\n shapeFill: (datum: { prediction: string }) => {\n const color = spec.labelColor[datum.prediction] ?? 'gray';\n return color;\n }\n },\n {\n key: 'Confidence',\n value: (datum: { confidence: number }) => {\n return datum.confidence.toFixed(2);\n },\n shapeType: 'square',\n shapeSize: 8,\n shapeFill: (datum: { label: string; prediction: string }) => {\n return datum.label === datum.prediction ? 'green' : 'red';\n }\n }\n ]\n },\n style: {\n panel: {\n padding: { top: 10, bottom: 15, left: 10, right: 10 },\n backgroundColor: '#fff',\n border: {\n color: '#eee',\n width: 1,\n radius: 10\n }\n },\n titleLabel: {\n fontSize: 20,\n fontFamily: 'Times New Roman',\n fill: 'brown',\n fontWeight: 'bold',\n textAlign: 'center',\n lineHeight: 24\n },\n keyLabel: {\n fontSize: 16,\n fontFamily: 'Times New Roman',\n fill: 'black',\n textAlign: 'center',\n lineHeight: 15,\n spacing: 10\n },\n valueLabel: {\n fontSize: 14,\n fill: 'black',\n textAlign: 'center',\n lineHeight: 15,\n spacing: 10\n }\n }\n });\n\n // datazoom\n spec.dataZoom = [\n {\n visible: false,\n orient: 'left',\n filterMode: 'axis',\n showDetail: false,\n roamZoom: {\n enable: true,\n focus: true,\n rate: 3\n },\n roamDrag: {\n enable: true,\n reverse: true,\n rate: 1\n }\n },\n {\n visible: false,\n orient: 'bottom',\n filterMode: 'axis',\n showDetail: false,\n roamZoom: {\n enable: true,\n focus: true,\n rate: 3\n },\n roamDrag: {\n enable: true,\n reverse: true,\n rate: 1\n }\n }\n ];\n\n super.transformSpec(spec);\n }\n}\n\n/**\n * convert ISequenceScatterLinkData to IScatterData\n */\nexport function processSequenceData(spec: ISequenceScatterLinkSpec) {\n const result: any[] = [];\n Object.keys(spec.data).forEach(iter => {\n const nodes = spec.data[iter].nodes;\n result.push({\n data: [\n {\n id: 'nodes',\n values: nodes.map((d, i) => {\n return { ...d, [DATA_KEY]: i };\n })\n },\n {\n id: 'endpoints',\n values: [] // dynamically filled in events\n },\n {\n id: 'iter',\n values: [\n {\n iter\n }\n ]\n },\n {\n id: 'background',\n values: [\n { iter: iter, x: spec.scope[0], y: spec.scope[1] },\n { iter: iter, x: spec.scope[0], y: spec.scope[3] },\n { iter: iter, x: spec.scope[2], y: spec.scope[3] },\n { iter: iter, x: spec.scope[2], y: spec.scope[1] },\n { iter: iter, x: spec.scope[0], y: spec.scope[1] }\n ]\n }\n ]\n });\n });\n return result;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/charts/sequence-scatter-link/sequence-scatter-link-transformer.ts"],"names":[],"mappings":"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","file":"sequence-scatter-link-transformer.js","sourcesContent":["import type { Datum } from '@visactor/vchart/src/typings';\nimport type { ISequenceScatterLinkSpec } from './interface';\nimport { CommonChartSpecTransformer } from '@visactor/vchart';\n\nconst DATA_KEY = 'dataKey';\n\n/**\n * convert ISequenceScatterLinkSpec to CommonSpec\n */\nexport class SequenceScatterLinkChartSpecTransformer extends CommonChartSpecTransformer<any> {\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n const dataSpecs = processSequenceData(spec as unknown as ISequenceScatterLinkSpec);\n const showTooltip = spec.taskType !== 'neighborhood';\n\n spec.type = 'common';\n\n // data\n spec.dataKey = DATA_KEY;\n spec.data = dataSpecs[0].data;\n\n // series: background, line, scatter\n spec.series = [\n {\n id: 'background-series',\n type: 'area',\n dataId: 'background',\n interactive: false,\n persent: true,\n xField: 'x',\n yField: 'y',\n point: {\n visible: false\n },\n line: {\n visible: false\n },\n area: {\n visible: true,\n interactive: false,\n style: {\n background: (datum: { iter: number }) => {\n if (spec.taskType === 'neighborhood') {\n return '';\n }\n return `https://lf9-dp-fe-cms-tos.byteorg.com/obj/bit-cloud/sequence-scatter-bgimg-2/${datum.iter}.png`;\n },\n fill: 'transparent',\n fillOpacity: 0.5\n }\n },\n hover: {\n enable: false\n },\n select: {\n enable: false\n }\n },\n {\n id: 'line-series',\n type: 'line',\n dataId: 'endpoints',\n xField: 'x',\n yField: 'y',\n seriesField: 'edgeId', // a line will be drawn between endpoints with the same edgeId.\n animation: true,\n point: {\n visible: false\n },\n line: {\n visible: true,\n style: {\n stroke: (datum: { color: string }) => {\n return datum.color;\n },\n lineDash: (datum: { type: string }) => {\n if (datum.type === 'same_type') {\n return [0, 0];\n }\n return [3, 2];\n },\n lineWidth: 0.8,\n strokeOpacity: 0.6\n }\n }\n },\n {\n id: 'scatter-series',\n type: 'scatter',\n dataId: 'nodes',\n xField: spec.xField,\n yField: spec.yField,\n seriesField: 'label',\n point: {\n state: {\n hover: {\n scaleX: 1.5,\n scaleY: 1.5,\n fillOpacity: 1\n },\n hover_reverse: {\n scaleX: 1,\n scaleY: 1,\n fillOpacity: 0.3\n }\n },\n style: {\n size: () => {\n return spec.taskType === 'neighborhood' ? 6 : 4;\n },\n fill: (datum: { label: string }) => {\n const color = spec.labelColor[datum.label] ?? 'gray';\n return color;\n },\n fillOpacity: (datum: { confidence: number }) => {\n return datum.confidence;\n }\n }\n },\n label: {\n visible: true,\n style: {\n visible: () => {\n return spec.taskType === 'neighborhood';\n },\n type: 'text',\n fontFamily: 'Console',\n fontStyle: 'italic',\n fontSize: 12,\n fill: 'black',\n fillOpacity: 0.6,\n text: (datum: Datum) => {\n return datum.id;\n }\n }\n }\n }\n ];\n\n // player\n if (spec.player) {\n spec.player = {\n ...spec.player,\n specs: dataSpecs\n };\n spec.animationAppear = {\n duration: spec.player?.duration ?? 2000,\n easing: 'linear'\n };\n\n spec.animationUpdate = {\n duration: spec.player?.duration ?? 2000,\n easing: 'linear'\n };\n }\n\n // axes\n spec.axes = [\n {\n orient: 'left',\n type: 'linear',\n inverse: true,\n min: spec.scope[1],\n max: spec.scope[3]\n },\n {\n orient: 'bottom',\n type: 'linear',\n min: spec.scope[0],\n max: spec.scope[2]\n }\n ];\n\n // iteration label\n spec.customMark = [\n {\n type: 'text',\n dataId: 'iter',\n style: {\n x: 50,\n y: () => 10,\n textBaseline: 'top',\n textAlign: 'left',\n fontSize: 100,\n fontWeight: 'bolder',\n fill: 'black',\n fillOpacity: 0.2,\n ...spec.infoLabel?.style\n }\n }\n ];\n\n // legends\n (spec.legends = [\n {\n seriesId: 'scatter-series',\n visible: true,\n orient: 'right',\n position: 'middle',\n data: (items: any[]) => {\n return items.map(item => {\n item.shape.outerBorder = {\n stroke: item.shape.fill,\n distance: 2,\n lineWidth: 1\n };\n return item;\n });\n },\n title: {\n visible: true,\n align: 'left',\n textStyle: {\n text: 'Classes',\n fontFamily: 'Console',\n fontSize: 18,\n fontWeight: 'bold'\n }\n },\n item: {\n visible: true,\n width: '8%',\n value: {\n alignRight: true,\n style: {\n fill: '#000',\n fillOpacity: 1,\n fontSize: 12\n },\n state: {\n unselected: {\n fill: '#d8d8d8'\n }\n }\n }\n }\n }\n ]),\n // tooltip\n (spec.tooltip = {\n visible: showTooltip,\n seriesId: 'scatter-series',\n lockAfterClick: false,\n activeType: 'mark',\n trigger: 'hover',\n mark: {\n title: {\n visible: true,\n value: 'Info'\n },\n content: [\n {\n key: 'Label',\n value: (datum: { label: string }) => {\n return datum.label;\n },\n shapeType: 'circle',\n shapeSize: 8\n },\n {\n key: 'Prediction',\n value: (datum: { prediction: string }) => {\n return datum.prediction;\n },\n shapeType: 'circle',\n shapeSize: 8,\n shapeFill: (datum: { prediction: string }) => {\n const color = spec.labelColor[datum.prediction] ?? 'gray';\n return color;\n }\n },\n {\n key: 'Confidence',\n value: (datum: { confidence: number }) => {\n return datum.confidence.toFixed(2);\n },\n shapeType: 'square',\n shapeSize: 8,\n shapeFill: (datum: { label: string; prediction: string }) => {\n return datum.label === datum.prediction ? 'green' : 'red';\n }\n }\n ]\n },\n style: {\n panel: {\n padding: { top: 10, bottom: 15, left: 10, right: 10 },\n backgroundColor: '#fff',\n border: {\n color: '#eee',\n width: 1,\n radius: 10\n }\n },\n titleLabel: {\n fontSize: 20,\n fontFamily: 'Times New Roman',\n fill: 'brown',\n fontWeight: 'bold',\n textAlign: 'center',\n lineHeight: 24\n },\n keyLabel: {\n fontSize: 16,\n fontFamily: 'Times New Roman',\n fill: 'black',\n textAlign: 'center',\n lineHeight: 15,\n spacing: 10\n },\n valueLabel: {\n fontSize: 14,\n fill: 'black',\n textAlign: 'center',\n lineHeight: 15,\n spacing: 10\n }\n }\n });\n\n // datazoom\n spec.dataZoom = [\n {\n visible: false,\n orient: 'left',\n filterMode: 'axis',\n showDetail: false,\n roamZoom: {\n enable: true,\n focus: true,\n rate: 3\n },\n roamDrag: {\n enable: true,\n reverse: true,\n rate: 1\n }\n },\n {\n visible: false,\n orient: 'bottom',\n filterMode: 'axis',\n showDetail: false,\n roamZoom: {\n enable: true,\n focus: true,\n rate: 3\n },\n roamDrag: {\n enable: true,\n reverse: true,\n rate: 1\n }\n }\n ];\n\n super.transformSpec(spec);\n }\n}\n\n/**\n * convert ISequenceScatterLinkData to IScatterData\n */\nexport function processSequenceData(spec: ISequenceScatterLinkSpec) {\n const result: any[] = [];\n Object.keys(spec.data).forEach(iter => {\n const nodes = spec.data[iter].nodes;\n result.push({\n data: [\n {\n id: 'nodes',\n values: nodes.map((d, i) => {\n return { ...d, [DATA_KEY]: i };\n })\n },\n {\n id: 'endpoints',\n values: [] // dynamically filled in events\n },\n {\n id: 'iter',\n values: [\n {\n iter\n }\n ]\n },\n {\n id: 'background',\n values: [\n { iter: iter, x: spec.scope[0], y: spec.scope[1] },\n { iter: iter, x: spec.scope[0], y: spec.scope[3] },\n { iter: iter, x: spec.scope[2], y: spec.scope[3] },\n { iter: iter, x: spec.scope[2], y: spec.scope[1] },\n { iter: iter, x: spec.scope[0], y: spec.scope[1] }\n ]\n }\n ]\n });\n });\n return result;\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ISequenceScatterLinkSpec } from './interface';
|
|
1
|
+
import type { ISequenceScatterLinkSpec } from './interface';
|
|
2
2
|
import { VChart, BaseChart } from '@visactor/vchart';
|
|
3
3
|
import { SequenceScatterLinkChartSpecTransformer } from './sequence-scatter-link-transformer';
|
|
4
4
|
export declare class SequenceScatterLink extends BaseChart<Omit<ISequenceScatterLinkSpec, 'data'>> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/sequence-scatter-link/sequence-scatter-link.ts"],"names":[],"mappings":";;;AACA,6CAAmE;AACnE,2FAA8F;AAE9F,MAAa,mBAAoB,SAAQ,kBAAiD;IAA1F;;QACE,SAAI,GAAG,qBAAqB,CAAC;QAOpB,2BAAsB,GAAG,2EAAuC,CAAC;IAqB5E,CAAC;IAnBC,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO;SACR;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAES,OAAO;;QACf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE;YACtB,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,8CAA8C,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA5BH,kDA6BC;AA3BQ,wBAAI,GAAG,qBAAqB,CAAC;AACpB,wBAAI,GAAW,eAAe,CAAC;AAI/B,0CAAsB,GAAG,2EAAuC,CAAC;AAwB5E,MAAM,2BAA2B,GAAG,CAAC,MAAmC,EAAE,EAAE;IACjF,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,eAAM,CAAC;IACnD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,mBAAmB,EAAE,qBAAY,CAAC,CAAC,CAAC;KACjE;AACH,CAAC,CAAC;AALW,QAAA,2BAA2B,+BAKtC","file":"sequence-scatter-link.js","sourcesContent":["import { ISequenceScatterLinkSpec } from './interface';\nimport { VChart, BaseChart, ScatterChart } from '@visactor/vchart';\nimport { SequenceScatterLinkChartSpecTransformer } from './sequence-scatter-link-transformer';\n\nexport class SequenceScatterLink extends BaseChart<Omit<ISequenceScatterLinkSpec, 'data'>> {\n type = 'sequenceScatterLink';\n static type = 'sequenceScatterLink';\n static readonly view: string = 'singleDefault';\n\n declare _spec: ISequenceScatterLinkSpec;\n\n static readonly transformerConstructor = SequenceScatterLinkChartSpecTransformer;\n readonly transformerConstructor = SequenceScatterLinkChartSpecTransformer;\n\n init() {\n if (!this.isValid()) {\n return;\n }\n super.init();\n }\n\n protected isValid() {\n const { xField, yField, data } = this._spec;\n if (!xField || !yField) {\n this._option.onError?.('Missing Required Config: `xField`, `yField` ');\n return false;\n }\n if (!data) {\n this._option.onError?.('Data is required');\n return false;\n }\n return true;\n }\n}\n\nexport const registerSequenceScatterLink = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useChart([SequenceScatterLink, ScatterChart]);\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/charts/sequence-scatter-link/sequence-scatter-link.ts"],"names":[],"mappings":";;;AACA,6CAAmE;AACnE,2FAA8F;AAE9F,MAAa,mBAAoB,SAAQ,kBAAiD;IAA1F;;QACE,SAAI,GAAG,qBAAqB,CAAC;QAOpB,2BAAsB,GAAG,2EAAuC,CAAC;IAqB5E,CAAC;IAnBC,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO;SACR;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAES,OAAO;;QACf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE;YACtB,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,8CAA8C,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA5BH,kDA6BC;AA3BQ,wBAAI,GAAG,qBAAqB,CAAC;AACpB,wBAAI,GAAW,eAAe,CAAC;AAI/B,0CAAsB,GAAG,2EAAuC,CAAC;AAwB5E,MAAM,2BAA2B,GAAG,CAAC,MAAmC,EAAE,EAAE;IACjF,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,eAAM,CAAC;IACnD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,mBAAmB,EAAE,qBAAY,CAAC,CAAC,CAAC;KACjE;AACH,CAAC,CAAC;AALW,QAAA,2BAA2B,+BAKtC","file":"sequence-scatter-link.js","sourcesContent":["import type { ISequenceScatterLinkSpec } from './interface';\nimport { VChart, BaseChart, ScatterChart } from '@visactor/vchart';\nimport { SequenceScatterLinkChartSpecTransformer } from './sequence-scatter-link-transformer';\n\nexport class SequenceScatterLink extends BaseChart<Omit<ISequenceScatterLinkSpec, 'data'>> {\n type = 'sequenceScatterLink';\n static type = 'sequenceScatterLink';\n static readonly view: string = 'singleDefault';\n\n declare _spec: ISequenceScatterLinkSpec;\n\n static readonly transformerConstructor = SequenceScatterLinkChartSpecTransformer;\n readonly transformerConstructor = SequenceScatterLinkChartSpecTransformer;\n\n init() {\n if (!this.isValid()) {\n return;\n }\n super.init();\n }\n\n protected isValid() {\n const { xField, yField, data } = this._spec;\n if (!xField || !yField) {\n this._option.onError?.('Missing Required Config: `xField`, `yField` ');\n return false;\n }\n if (!data) {\n this._option.onError?.('Data is required');\n return false;\n }\n return true;\n }\n}\n\nexport const registerSequenceScatterLink = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useChart([SequenceScatterLink, ScatterChart]);\n }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.ts"],"names":[],"mappings":";;;AAEA,6CAA8D;AAC9D,mCAA8C;AAC9C,yCAAsC;AAEtC,MAAa,wCAAyC,SAAQ,mCAA+B;IAC3F,aAAa,CAAC,IAAS;;QACrB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAA,2BAAmB,EAAC,IAA4C,CAAC,CAAC;QAEpF,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,mBAAQ,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,MAAM,GAAG;YACZ;gBACE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB;SACF,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,mCACN,IAAI,CAAC,MAAM,KACd,KAAK,EAAE,SAAS,GACjB,CAAC;YACF,IAAI,CAAC,eAAe,GAAG;gBACrB,QAAQ,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,mCAAI,IAAI;gBACvC,MAAM,EAAE,QAAQ;aACjB,CAAC;YAEF,IAAI,CAAC,eAAe,GAAG;gBACrB,QAAQ,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,mCAAI,IAAI;gBACvC,MAAM,EAAE,QAAQ;aACjB,CAAC;SACH;QAED,IAAI,CAAC,IAAI,GAAG;YACV;gBACE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;gBACxB,IAAI,EAAE,QAAQ;aACf;SACF,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG;YAEhB;gBACE,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;oBACxC,MAAM,EAAE,CAAC,CAAC;iBACX;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,CAAC;gBACZ,KAAK,kBACH,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"sources":["../src/charts/sequence-scatter-pixel/sequence-scatter-pixel-transformer.ts"],"names":[],"mappings":";;;AAEA,6CAA8D;AAC9D,mCAA8C;AAC9C,yCAAsC;AAEtC,MAAa,wCAAyC,SAAQ,mCAA+B;IAC3F,aAAa,CAAC,IAAS;;QACrB,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,IAAA,2BAAmB,EAAC,IAA4C,CAAC,CAAC;QAEpF,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,mBAAQ,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE9B,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;QAClB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC,MAAM,GAAG;YACZ;gBACE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB;SACF,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,mCACN,IAAI,CAAC,MAAM,KACd,KAAK,EAAE,SAAS,GACjB,CAAC;YACF,IAAI,CAAC,eAAe,GAAG;gBACrB,QAAQ,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,mCAAI,IAAI;gBACvC,MAAM,EAAE,QAAQ;aACjB,CAAC;YAEF,IAAI,CAAC,eAAe,GAAG;gBACrB,QAAQ,EAAE,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,mCAAI,IAAI;gBACvC,MAAM,EAAE,QAAQ;aACjB,CAAC;SACH;QAED,IAAI,CAAC,IAAI,GAAG;YACV;gBACE,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,MAAM,EAAE,QAAQ;gBAChB,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;gBACxB,IAAI,EAAE,QAAQ;aACf;SACF,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG;YAEhB;gBACE,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,CAAC;gBACZ,KAAK,EAAE;oBACL,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;oBACJ,KAAK,EAAE,GAAG;oBACV,MAAM,EAAE,GAAG;oBACX,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS;oBACxC,MAAM,EAAE,CAAC,CAAC;iBACX;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,SAAS,EAAE,CAAC;gBACZ,KAAK,kBACH,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EACnC,CAAC,EAAE,EAAE,EACL,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,EACX,YAAY,EAAE,KAAK,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,GAAG,EACb,UAAU,EAAE,QAAQ,EACpB,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,GAAG,IACb,MAAA,IAAI,CAAC,SAAS,0CAAE,KAAK,CACzB;aACF;SACF,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG;YACb,OAAO,EAAE,KAAK;SACf,CAAC;QAEF,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;CACF;AAvFD,4FAuFC","file":"sequence-scatter-pixel-transformer.js","sourcesContent":["import type { Datum } from '@visactor/vchart/src/typings';\nimport type { ISequenceScatterPixelSpec } from './interface';\nimport { CommonChartSpecTransformer } from '@visactor/vchart';\nimport { processSequenceData } from './utils';\nimport { DATA_KEY } from './constant';\n\nexport class SequenceScatterPixelChartSpecTransformer extends CommonChartSpecTransformer<any> {\n transformSpec(spec: any): void {\n super.transformSpec(spec);\n const dataSpecs = processSequenceData(spec as unknown as ISequenceScatterPixelSpec);\n\n spec.type = 'common';\n spec.dataKey = DATA_KEY;\n spec.data = dataSpecs[0].data;\n\n spec.width = 300;\n spec.height = 300;\n spec.autoFit = false;\n\n spec.series = [\n {\n type: 'scatter',\n xField: spec.xField,\n yField: spec.yField\n }\n ];\n\n if (spec.player) {\n spec.player = {\n ...spec.player,\n specs: dataSpecs\n };\n spec.animationAppear = {\n duration: spec.player?.duration ?? 2000,\n easing: 'linear'\n };\n\n spec.animationUpdate = {\n duration: spec.player?.duration ?? 2000,\n easing: 'linear'\n };\n }\n\n spec.axes = [\n {\n orient: 'left',\n type: 'linear'\n },\n {\n orient: 'bottom',\n label: { visible: true },\n type: 'linear'\n }\n ];\n\n spec.customMark = [\n // 背景图像\n {\n type: 'image',\n dataIndex: 2,\n style: {\n x: 0,\n y: 0,\n width: 300,\n height: 300,\n image: (datum: Datum) => datum.imageData,\n zIndex: -1\n }\n },\n {\n type: 'text',\n dataIndex: 1,\n style: {\n text: (datum: Datum) => datum.inter,\n x: 50,\n y: () => 10,\n textBaseline: 'top',\n textAlign: 'left',\n fontSize: 100,\n fontWeight: 'bolder',\n fill: 'black',\n fillOpacity: 0.2,\n ...spec.infoLabel?.style\n }\n }\n ];\n\n spec.tooltip = {\n visible: false\n };\n\n super.transformSpec(spec);\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ISequenceScatterPixelSpec } from './interface';
|
|
1
|
+
import type { ISequenceScatterPixelSpec } from './interface';
|
|
2
2
|
import { VChart, BaseChart } from '@visactor/vchart';
|
|
3
3
|
import { SequenceScatterPixelChartSpecTransformer } from './sequence-scatter-pixel-transformer';
|
|
4
4
|
export declare class SequenceScatterPixel extends BaseChart<Omit<ISequenceScatterPixelSpec, 'data'>> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/sequence-scatter-pixel/sequence-scatter-pixel.ts"],"names":[],"mappings":";;;AACA,6CAAmE;AACnE,6FAAgG;AAEhG,MAAa,oBAAqB,SAAQ,kBAAkD;IAA5F;;QACE,SAAI,GAAG,sBAAsB,CAAC;QAOrB,2BAAsB,GAAG,6EAAwC,CAAC;IAqB7E,CAAC;IAnBC,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO;SACR;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAES,OAAO;;QACf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE;YACtB,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,8CAA8C,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA5BH,oDA6BC;AA3BQ,yBAAI,GAAG,sBAAsB,CAAC;AACrB,yBAAI,GAAW,eAAe,CAAC;AAI/B,2CAAsB,GAAG,6EAAwC,CAAC;AAwB7E,MAAM,4BAA4B,GAAG,CAAC,MAAmC,EAAE,EAAE;IAClF,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,eAAM,CAAC;IACnD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,oBAAoB,EAAE,qBAAY,CAAC,CAAC,CAAC;KAClE;AACH,CAAC,CAAC;AALW,QAAA,4BAA4B,gCAKvC","file":"sequence-scatter-pixel.js","sourcesContent":["import { ISequenceScatterPixelSpec } from './interface';\nimport { VChart, BaseChart, ScatterChart } from '@visactor/vchart';\nimport { SequenceScatterPixelChartSpecTransformer } from './sequence-scatter-pixel-transformer';\n\nexport class SequenceScatterPixel extends BaseChart<Omit<ISequenceScatterPixelSpec, 'data'>> {\n type = 'sequenceScatterPixel';\n static type = 'sequenceScatterPixel';\n static readonly view: string = 'singleDefault';\n\n declare _spec: ISequenceScatterPixelSpec;\n\n static readonly transformerConstructor = SequenceScatterPixelChartSpecTransformer;\n readonly transformerConstructor = SequenceScatterPixelChartSpecTransformer;\n\n init() {\n if (!this.isValid()) {\n return;\n }\n super.init();\n }\n\n protected isValid() {\n const { xField, yField, data } = this._spec;\n if (!xField || !yField) {\n this._option.onError?.('Missing Required Config: `xField`, `yField` ');\n return false;\n }\n if (!data) {\n this._option.onError?.('Data is required');\n return false;\n }\n return true;\n }\n}\n\nexport const registerSequenceScatterPixel = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useChart([SequenceScatterPixel, ScatterChart]);\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/charts/sequence-scatter-pixel/sequence-scatter-pixel.ts"],"names":[],"mappings":";;;AACA,6CAAmE;AACnE,6FAAgG;AAEhG,MAAa,oBAAqB,SAAQ,kBAAkD;IAA5F;;QACE,SAAI,GAAG,sBAAsB,CAAC;QAOrB,2BAAsB,GAAG,6EAAwC,CAAC;IAqB7E,CAAC;IAnBC,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;YACnB,OAAO;SACR;QACD,KAAK,CAAC,IAAI,EAAE,CAAC;IACf,CAAC;IAES,OAAO;;QACf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC5C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,EAAE;YACtB,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,8CAA8C,CAAC,CAAC;YACvE,OAAO,KAAK,CAAC;SACd;QACD,IAAI,CAAC,IAAI,EAAE;YACT,MAAA,MAAA,IAAI,CAAC,OAAO,EAAC,OAAO,mDAAG,kBAAkB,CAAC,CAAC;YAC3C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;;AA5BH,oDA6BC;AA3BQ,yBAAI,GAAG,sBAAsB,CAAC;AACrB,yBAAI,GAAW,eAAe,CAAC;AAI/B,2CAAsB,GAAG,6EAAwC,CAAC;AAwB7E,MAAM,4BAA4B,GAAG,CAAC,MAAmC,EAAE,EAAE;IAClF,MAAM,iBAAiB,GAAG,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,eAAM,CAAC;IACnD,IAAI,iBAAiB,EAAE;QACrB,iBAAiB,CAAC,QAAQ,CAAC,CAAC,oBAAoB,EAAE,qBAAY,CAAC,CAAC,CAAC;KAClE;AACH,CAAC,CAAC;AALW,QAAA,4BAA4B,gCAKvC","file":"sequence-scatter-pixel.js","sourcesContent":["import type { ISequenceScatterPixelSpec } from './interface';\nimport { VChart, BaseChart, ScatterChart } from '@visactor/vchart';\nimport { SequenceScatterPixelChartSpecTransformer } from './sequence-scatter-pixel-transformer';\n\nexport class SequenceScatterPixel extends BaseChart<Omit<ISequenceScatterPixelSpec, 'data'>> {\n type = 'sequenceScatterPixel';\n static type = 'sequenceScatterPixel';\n static readonly view: string = 'singleDefault';\n\n declare _spec: ISequenceScatterPixelSpec;\n\n static readonly transformerConstructor = SequenceScatterPixelChartSpecTransformer;\n readonly transformerConstructor = SequenceScatterPixelChartSpecTransformer;\n\n init() {\n if (!this.isValid()) {\n return;\n }\n super.init();\n }\n\n protected isValid() {\n const { xField, yField, data } = this._spec;\n if (!xField || !yField) {\n this._option.onError?.('Missing Required Config: `xField`, `yField` ');\n return false;\n }\n if (!data) {\n this._option.onError?.('Data is required');\n return false;\n }\n return true;\n }\n}\n\nexport const registerSequenceScatterPixel = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useChart([SequenceScatterPixel, ScatterChart]);\n }\n};\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { ISequenceScatterPixelSpec } from './interface';
|
|
1
|
+
import type { ISequenceScatterPixelSpec } from './interface';
|
|
2
2
|
export declare function createImageDataFromColorMatrix(colorMatrix: any[][], spec: ISequenceScatterPixelSpec): string | null;
|
|
3
3
|
export declare function processSequenceData(spec: ISequenceScatterPixelSpec): any[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/charts/sequence-scatter-pixel/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import { ISequenceScatterPixelSpec } from './interface';\nimport { BACKGROUND_KEY, DATA_KEY } from './constant';\n\n// 将RGB三元组数组转换为Canvas可用的imageData\nexport function createImageDataFromColorMatrix(colorMatrix: any[][], spec: ISequenceScatterPixelSpec): string | null {\n // 浏览器环境检查\n if (typeof document === 'undefined') {\n throw new Error('Canvas rendering requires browser environment with document object'); // 非浏览器环境下返回null\n }\n\n // 创建Canvas离屏渲染\n const canvas = document.createElement('canvas');\n canvas.width = spec.width;\n canvas.height = spec.height;\n const ctx = canvas.getContext('2d');\n\n if (!ctx) {\n throw new Error('Failed to get 2D rendering context from canvas'); // Canvas context creation failed\n }\n\n // 创建imageData\n const imageData = ctx.createImageData(spec.width, spec.height);\n\n // 填充像素数据\n for (let y = 0; y < 300; y++) {\n for (let x = 0; x < 300; x++) {\n const rgb = colorMatrix[y]?.[x] || [0, 0, 0];\n const pixelIndex = (y * 300 + x) * 4;\n\n // 转换0-1范围到0-255\n imageData.data[pixelIndex] = Math.round(rgb[0] * 255); // R\n imageData.data[pixelIndex + 1] = Math.round(rgb[1] * 255); // G\n imageData.data[pixelIndex + 2] = Math.round(rgb[2] * 255); // B\n imageData.data[pixelIndex + 3] = 255; // A (完全不透明)\n }\n }\n\n // 将imageData绘制到canvas然后返回dataURL\n ctx.putImageData(imageData, 0, 0);\n return canvas.toDataURL('image/png');\n}\n\nexport function processSequenceData(spec: ISequenceScatterPixelSpec) {\n const result: any[] = [];\n Object.keys(spec.data).forEach(inter => {\n let backgroundData = null;\n if (spec.backgroundColors && spec.backgroundColors[inter]) {\n const imageData = createImageDataFromColorMatrix(spec.backgroundColors[inter], spec);\n backgroundData = { imageData };\n }\n result.push({\n data: [\n {\n id: 'nodes',\n values: spec.data[inter].map((d, i) => {\n return { ...d, [DATA_KEY]: i };\n })\n },\n {\n id: 'inter',\n values: [\n {\n inter\n }\n ]\n },\n {\n id: BACKGROUND_KEY,\n values: backgroundData ? [backgroundData] : []\n }\n ]\n });\n });\n return result;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/charts/sequence-scatter-pixel/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { ISequenceScatterPixelSpec } from './interface';\nimport { BACKGROUND_KEY, DATA_KEY } from './constant';\n\n// 将RGB三元组数组转换为Canvas可用的imageData\nexport function createImageDataFromColorMatrix(colorMatrix: any[][], spec: ISequenceScatterPixelSpec): string | null {\n // 浏览器环境检查\n if (typeof document === 'undefined') {\n throw new Error('Canvas rendering requires browser environment with document object'); // 非浏览器环境下返回null\n }\n\n // 创建Canvas离屏渲染\n const canvas = document.createElement('canvas');\n canvas.width = spec.width;\n canvas.height = spec.height;\n const ctx = canvas.getContext('2d');\n\n if (!ctx) {\n throw new Error('Failed to get 2D rendering context from canvas'); // Canvas context creation failed\n }\n\n // 创建imageData\n const imageData = ctx.createImageData(spec.width, spec.height);\n\n // 填充像素数据\n for (let y = 0; y < 300; y++) {\n for (let x = 0; x < 300; x++) {\n const rgb = colorMatrix[y]?.[x] || [0, 0, 0];\n const pixelIndex = (y * 300 + x) * 4;\n\n // 转换0-1范围到0-255\n imageData.data[pixelIndex] = Math.round(rgb[0] * 255); // R\n imageData.data[pixelIndex + 1] = Math.round(rgb[1] * 255); // G\n imageData.data[pixelIndex + 2] = Math.round(rgb[2] * 255); // B\n imageData.data[pixelIndex + 3] = 255; // A (完全不透明)\n }\n }\n\n // 将imageData绘制到canvas然后返回dataURL\n ctx.putImageData(imageData, 0, 0);\n return canvas.toDataURL('image/png');\n}\n\nexport function processSequenceData(spec: ISequenceScatterPixelSpec) {\n const result: any[] = [];\n Object.keys(spec.data).forEach(inter => {\n let backgroundData = null;\n if (spec.backgroundColors && spec.backgroundColors[inter]) {\n const imageData = createImageDataFromColorMatrix(spec.backgroundColors[inter], spec);\n backgroundData = { imageData };\n }\n result.push({\n data: [\n {\n id: 'nodes',\n values: spec.data[inter].map((d, i) => {\n return { ...d, [DATA_KEY]: i };\n })\n },\n {\n id: 'inter',\n values: [\n {\n inter\n }\n ]\n },\n {\n id: BACKGROUND_KEY,\n values: backgroundData ? [backgroundData] : []\n }\n ]\n });\n });\n return result;\n}\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __createBinding = this && this.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
4
|
+
void 0 === k2 && (k2 = k);
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
desc && !("get" in desc ? !m.__esModule : desc.writable || desc.configurable) || (desc = {
|
|
7
|
+
enumerable: !0,
|
|
8
|
+
get: function() {
|
|
9
|
+
return m[k];
|
|
10
|
+
}
|
|
11
|
+
}), Object.defineProperty(o, k2, desc);
|
|
12
|
+
} : function(o, m, k, k2) {
|
|
13
|
+
void 0 === k2 && (k2 = k), o[k2] = m[k];
|
|
14
|
+
}), __exportStar = this && this.__exportStar || function(m, exports) {
|
|
15
|
+
for (var p in m) "default" === p || Object.prototype.hasOwnProperty.call(exports, p) || __createBinding(exports, m, p);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
Object.defineProperty(exports, "__esModule", {
|
|
19
|
+
value: !0
|
|
20
|
+
}), exports.registerEventSeries = void 0, __exportStar(require("./interface"), exports),
|
|
21
|
+
__exportStar(require("./timeline"), exports);
|
|
22
|
+
|
|
23
|
+
var event_series_1 = require("./series/event-series");
|
|
24
|
+
|
|
25
|
+
Object.defineProperty(exports, "registerEventSeries", {
|
|
26
|
+
enumerable: !0,
|
|
27
|
+
get: function() {
|
|
28
|
+
return event_series_1.registerEventSeries;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/charts/timeline/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,6CAA2B;AAE3B,sDAA4D;AAAnD,mHAAA,mBAAmB,OAAA","file":"index.js","sourcesContent":["export * from './interface';\nexport * from './timeline';\nexport type { IEventSeriesSpec, IEventSeriesTheme } from './series/interface';\nexport { registerEventSeries } from './series/event-series';\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { IChartExtendsSeriesSpec, IChartSpec, ICartesianAxisSpec } from '@visactor/vchart';
|
|
2
|
+
import type { IEventSeriesSpec } from './series/interface';
|
|
3
|
+
export interface ITimelineChartSpec extends IChartSpec, Omit<IChartExtendsSeriesSpec<IEventSeriesSpec>, 'type' | 'title'> {
|
|
4
|
+
type: 'timeline';
|
|
5
|
+
series?: IEventSeriesSpec[];
|
|
6
|
+
axes?: ICartesianAxisSpec[];
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/charts/timeline/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IChartExtendsSeriesSpec, IChartSpec, ICartesianAxisSpec } from '@visactor/vchart';\nimport type { IEventSeriesSpec } from './series/interface';\n\nexport interface ITimelineChartSpec\n extends IChartSpec,\n Omit<IChartExtendsSeriesSpec<IEventSeriesSpec>, 'type' | 'title'> {\n type: 'timeline';\n series?: IEventSeriesSpec[];\n axes?: ICartesianAxisSpec[];\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const EVENT_SERIES_TYPE = "event";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/charts/timeline/series/constant.ts"],"names":[],"mappings":";;;AAAa,QAAA,iBAAiB,GAAG,OAAO,CAAC","file":"constant.js","sourcesContent":["export const EVENT_SERIES_TYPE = 'event';\n"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { StringOrNumber } from '@visactor/vchart';
|
|
2
|
+
import { CartesianSeries, type IMark, type IPoint, type SeriesMarkMap } from '@visactor/vchart';
|
|
3
|
+
import type { IEventSeriesSpec } from './interface';
|
|
4
|
+
export declare class EventSeries<T extends IEventSeriesSpec = IEventSeriesSpec> extends CartesianSeries<T> {
|
|
5
|
+
static readonly type: string;
|
|
6
|
+
type: any;
|
|
7
|
+
static readonly mark: SeriesMarkMap;
|
|
8
|
+
static readonly builtInTheme: {
|
|
9
|
+
event: import("./interface").IEventSeriesTheme;
|
|
10
|
+
};
|
|
11
|
+
static readonly transformerConstructor: any;
|
|
12
|
+
readonly transformerConstructor: any;
|
|
13
|
+
readonly coordinate: 'cartesian';
|
|
14
|
+
protected _spec: T;
|
|
15
|
+
private _dotMark?;
|
|
16
|
+
private _iconMark?;
|
|
17
|
+
private _titleMark?;
|
|
18
|
+
private _subTitleMark?;
|
|
19
|
+
private _axisLineMark?;
|
|
20
|
+
private _arrowMark?;
|
|
21
|
+
private _timeField?;
|
|
22
|
+
private _eventField?;
|
|
23
|
+
private _subTitleField?;
|
|
24
|
+
private _iconField?;
|
|
25
|
+
private _labelPosition?;
|
|
26
|
+
setAttrFromSpec(): void;
|
|
27
|
+
getDimensionField(): string[];
|
|
28
|
+
getMeasureField(): string[];
|
|
29
|
+
initMark(): void;
|
|
30
|
+
protected initTooltip(): void;
|
|
31
|
+
initMarkStyle(): void;
|
|
32
|
+
private _getLabelSide;
|
|
33
|
+
private _getLabelTextAlign;
|
|
34
|
+
private _getLabelTextBaseline;
|
|
35
|
+
private _getTitlePosition;
|
|
36
|
+
private _getSubTitlePosition;
|
|
37
|
+
private _getIconPosition;
|
|
38
|
+
private _getViewDataList;
|
|
39
|
+
private _getPoint;
|
|
40
|
+
private _getPositionFromAxis;
|
|
41
|
+
onXAxisHelperUpdate(): void;
|
|
42
|
+
onYAxisHelperUpdate(): void;
|
|
43
|
+
private _getDefaultPosition;
|
|
44
|
+
private _getAxisPoints;
|
|
45
|
+
private _isFirstDataInGroup;
|
|
46
|
+
private _getNextDatum;
|
|
47
|
+
private _getPreviousDatum;
|
|
48
|
+
private _getArrowPath;
|
|
49
|
+
private _getDatumString;
|
|
50
|
+
valueToPosition(timeValue: StringOrNumber, eventValue?: StringOrNumber): IPoint;
|
|
51
|
+
getActiveMarks(): IMark[];
|
|
52
|
+
}
|
|
53
|
+
export declare const registerEventSeries: () => void;
|