@visactor/vseed 0.4.4 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceLine.js +2 -2
- package/dist/esm/pipeline/advanced/chart/pipes/encoding/raceLine.js.map +1 -1
- package/dist/esm/types/chartType/raceLine/raceLine.d.ts +1 -1
- package/dist/esm/types/properties/dimensions/index.d.ts +0 -1
- package/dist/esm/types/properties/measures/index.d.ts +0 -1
- package/dist/umd/index.js +2 -2
- package/dist/umd/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/esm/types/properties/dimensions/raceLineDimension.d.ts +0 -15
- package/dist/esm/types/properties/dimensions/raceLineDimension.js +0 -0
- package/dist/esm/types/properties/measures/raceLineMeasure.d.ts +0 -2
- package/dist/esm/types/properties/measures/raceLineMeasure.js +0 -0
|
@@ -47,14 +47,14 @@ const generateDimensionEncoding = (dimensions, encoding, isMultiMeasure)=>{
|
|
|
47
47
|
...playerDims,
|
|
48
48
|
...xDims
|
|
49
49
|
]);
|
|
50
|
-
if (
|
|
50
|
+
if (xDims.length > 0) {
|
|
51
51
|
encoding.player = merged;
|
|
52
52
|
encoding.x = merged;
|
|
53
53
|
} else {
|
|
54
|
-
encoding.player = [];
|
|
55
54
|
encoding.x = [
|
|
56
55
|
dimensions[0].id
|
|
57
56
|
];
|
|
57
|
+
encoding.player = encoding.x;
|
|
58
58
|
}
|
|
59
59
|
addColorToEncoding(dimensions, encoding, isMultiMeasure);
|
|
60
60
|
encoding.detail = unique(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/advanced/chart/pipes/encoding/raceLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/raceLine.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureId } from 'src/dataReshape'\nimport { hasMultipleMeasureInSingleView } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\nimport { addColorToEncoding } from './color'\nimport { addDefaultColorEncoding } from './color/addColorToEncoding'\n\nexport const defaultEncodingForRaceLine: AdvancedPipe = (advancedVSeed) => {\n const { measures = [], reshapeMeasures = [], dimensions = [] } = advancedVSeed\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding, hasMultipleMeasureInSingleView(reshapeMeasures))\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForRaceLine: AdvancedPipe = (advancedVSeed) => {\n const { measures = [], reshapeMeasures = [], dimensions = [] } = advancedVSeed\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n const hasMulti = hasMultipleMeasureInSingleView(reshapeMeasures)\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding, hasMulti)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding, hasMulti)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding, isMultiMeasure: boolean) => {\n const uniqueDimIds: string[] = unique(dimensions.map((d) => d.id))\n encoding.player = uniqueDimIds.slice(0, 1) // 第一个维度用于播放\n encoding.x = uniqueDimIds.slice(0, 1) // 第二个维度用于离散的X轴\n encoding.color = uniqueDimIds.slice(1, 2) // 第二个维度用于颜色\n addDefaultColorEncoding(uniqueDimIds, encoding, isMultiMeasure)\n encoding.detail = encoding.color\n encoding.tooltip = uniqueDimIds.filter((d) => d !== MeasureId) // 展示指标名称之外的所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding, isMultiMeasure: boolean) => {\n // player & x\n const playerDims = dimensions.filter((item) => item.encoding === 'player').map((item) => item.id)\n const xDims = dimensions.filter((item) => item.encoding === 'xAxis').map((item) => item.id)\n const merged = unique([...playerDims, ...xDims])\n\n if (
|
|
1
|
+
{"version":3,"file":"pipeline/advanced/chart/pipes/encoding/raceLine.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/chart/pipes/encoding/raceLine.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureId } from 'src/dataReshape'\nimport { hasMultipleMeasureInSingleView } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\nimport { addColorToEncoding } from './color'\nimport { addDefaultColorEncoding } from './color/addColorToEncoding'\n\nexport const defaultEncodingForRaceLine: AdvancedPipe = (advancedVSeed) => {\n const { measures = [], reshapeMeasures = [], dimensions = [] } = advancedVSeed\n const encoding: Encoding = {}\n generateDefaultDimensionEncoding(dimensions, encoding, hasMultipleMeasureInSingleView(reshapeMeasures))\n generateDefaultMeasureEncoding(measures, encoding)\n return { ...advancedVSeed, encoding }\n}\n\nexport const encodingForRaceLine: AdvancedPipe = (advancedVSeed) => {\n const { measures = [], reshapeMeasures = [], dimensions = [] } = advancedVSeed\n\n const hasDimensionEncoding = dimensions.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n const hasMulti = hasMultipleMeasureInSingleView(reshapeMeasures)\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensions, encoding, hasMulti)\n } else {\n generateDefaultDimensionEncoding(dimensions, encoding, hasMulti)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding, isMultiMeasure: boolean) => {\n const uniqueDimIds: string[] = unique(dimensions.map((d) => d.id))\n encoding.player = uniqueDimIds.slice(0, 1) // 第一个维度用于播放\n encoding.x = uniqueDimIds.slice(0, 1) // 第二个维度用于离散的X轴\n encoding.color = uniqueDimIds.slice(1, 2) // 第二个维度用于颜色\n addDefaultColorEncoding(uniqueDimIds, encoding, isMultiMeasure)\n encoding.detail = encoding.color\n encoding.tooltip = uniqueDimIds.filter((d) => d !== MeasureId) // 展示指标名称之外的所有维度\n encoding.label = [] // 默认不展示标签\n encoding.row = [] // 默认不进行行透视\n encoding.column = [] // 默认不进行列透视\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding, isMultiMeasure: boolean) => {\n // player & x\n const playerDims = dimensions.filter((item) => item.encoding === 'player').map((item) => item.id)\n const xDims = dimensions.filter((item) => item.encoding === 'xAxis').map((item) => item.id)\n const merged = unique([...playerDims, ...xDims])\n\n // Player和X轴保持一致\n if (xDims.length > 0) {\n encoding.player = merged\n encoding.x = merged\n } else {\n encoding.x = [dimensions[0].id]\n encoding.player = encoding.x\n }\n // color\n addColorToEncoding(dimensions, encoding, isMultiMeasure)\n\n // detail\n encoding.detail = unique(dimensions.filter((item) => item.encoding === 'detail').map((item) => item.id))\n if (encoding.detail.length === 0) {\n encoding.detail = encoding.color\n }\n\n // tooltip\n encoding.tooltip = unique(dimensions.map((item) => item.id))\n encoding.tooltip = encoding.tooltip.filter((d) => d !== MeasureId)\n\n // label\n encoding.label = unique(dimensions.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = encoding.label.filter((d) => d !== MeasureId)\n}\n\n/**\n * --------------------指标--------------------\n */\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.y = unique(measures.filter((item) => item.encoding === 'yAxis' || !item.encoding).map((item) => item.id))\n}\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n // y\n encoding.y = unique(measures.filter((item) => item.encoding === 'yAxis' || !item.encoding).map((item) => item.id))\n\n // color\n const color = unique(measures.filter((item) => item.encoding === 'color').map((item) => item.id))\n if (color.length > 0) {\n encoding.color = color\n }\n\n // label\n const label = unique(measures.filter((item) => item.encoding === 'label').map((item) => item.id))\n encoding.label = unique([...(encoding.label || []), ...label])\n\n // tooltip\n const tooltip = unique(measures.filter((item) => item.encoding === 'tooltip').map((item) => item.id))\n encoding.tooltip = unique([...(encoding.tooltip || []), ...label, ...tooltip, ...color])\n}\n"],"names":["defaultEncodingForRaceLine","advancedVSeed","measures","reshapeMeasures","dimensions","encoding","generateDefaultDimensionEncoding","hasMultipleMeasureInSingleView","generateDefaultMeasureEncoding","encodingForRaceLine","hasDimensionEncoding","item","hasMeasureEncoding","hasMulti","generateDimensionEncoding","generateMeasureEncoding","isMultiMeasure","uniqueDimIds","unique","d","addDefaultColorEncoding","MeasureId","playerDims","xDims","merged","addColorToEncoding","color","label","tooltip"],"mappings":";;;;;AAOO,MAAMA,6BAA2C,CAACC;IACvD,MAAM,EAAEC,WAAW,EAAE,EAAEC,kBAAkB,EAAE,EAAEC,aAAa,EAAE,EAAE,GAAGH;IACjE,MAAMI,WAAqB,CAAC;IAC5BC,iCAAiCF,YAAYC,UAAUE,+BAA+BJ;IACtFK,+BAA+BN,UAAUG;IACzC,OAAO;QAAE,GAAGJ,aAAa;QAAEI;IAAS;AACtC;AAEO,MAAMI,sBAAoC,CAACR;IAChD,MAAM,EAAEC,WAAW,EAAE,EAAEC,kBAAkB,EAAE,EAAEC,aAAa,EAAE,EAAE,GAAGH;IAEjE,MAAMS,uBAAuBN,WAAW,IAAI,CAAC,CAACO,OAAoBA,KAAK,QAAQ;IAC/E,MAAMC,qBAAqBV,SAAS,IAAI,CAAC,CAACS,OAAkBA,KAAK,QAAQ;IACzE,MAAMN,WAAqB,CAAC;IAC5B,MAAMQ,WAAWN,+BAA+BJ;IAEhD,IAAIO,sBACFI,0BAA0BV,YAAYC,UAAUQ;SAEhDP,iCAAiCF,YAAYC,UAAUQ;IAGzD,IAAID,oBACFG,wBAAwBb,UAAUG;SAElCG,+BAA+BN,UAAUG;IAG3C,OAAO;QAAE,GAAGJ,aAAa;QAAEI;IAAS;AACtC;AAKA,MAAMC,mCAAmC,CAACF,YAAwBC,UAAoBW;IACpF,MAAMC,eAAyBC,OAAOd,WAAW,GAAG,CAAC,CAACe,IAAMA,EAAE,EAAE;IAChEd,SAAS,MAAM,GAAGY,aAAa,KAAK,CAAC,GAAG;IACxCZ,SAAS,CAAC,GAAGY,aAAa,KAAK,CAAC,GAAG;IACnCZ,SAAS,KAAK,GAAGY,aAAa,KAAK,CAAC,GAAG;IACvCG,wBAAwBH,cAAcZ,UAAUW;IAChDX,SAAS,MAAM,GAAGA,SAAS,KAAK;IAChCA,SAAS,OAAO,GAAGY,aAAa,MAAM,CAAC,CAACE,IAAMA,MAAME;IACpDhB,SAAS,KAAK,GAAG,EAAE;IACnBA,SAAS,GAAG,GAAG,EAAE;IACjBA,SAAS,MAAM,GAAG,EAAE;AACtB;AACA,MAAMS,4BAA4B,CAACV,YAAwBC,UAAoBW;IAE7E,MAAMM,aAAalB,WAAW,MAAM,CAAC,CAACO,OAASA,AAAkB,aAAlBA,KAAK,QAAQ,EAAe,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAChG,MAAMY,QAAQnB,WAAW,MAAM,CAAC,CAACO,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAC1F,MAAMa,SAASN,OAAO;WAAII;WAAeC;KAAM;IAG/C,IAAIA,MAAM,MAAM,GAAG,GAAG;QACpBlB,SAAS,MAAM,GAAGmB;QAClBnB,SAAS,CAAC,GAAGmB;IACf,OAAO;QACLnB,SAAS,CAAC,GAAG;YAACD,UAAU,CAAC,EAAE,CAAC,EAAE;SAAC;QAC/BC,SAAS,MAAM,GAAGA,SAAS,CAAC;IAC9B;IAEAoB,mBAAmBrB,YAAYC,UAAUW;IAGzCX,SAAS,MAAM,GAAGa,OAAOd,WAAW,MAAM,CAAC,CAACO,OAASA,AAAkB,aAAlBA,KAAK,QAAQ,EAAe,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IACtG,IAAIN,AAA2B,MAA3BA,SAAS,MAAM,CAAC,MAAM,EACxBA,SAAS,MAAM,GAAGA,SAAS,KAAK;IAIlCA,SAAS,OAAO,GAAGa,OAAOd,WAAW,GAAG,CAAC,CAACO,OAASA,KAAK,EAAE;IAC1DN,SAAS,OAAO,GAAGA,SAAS,OAAO,CAAC,MAAM,CAAC,CAACc,IAAMA,MAAME;IAGxDhB,SAAS,KAAK,GAAGa,OAAOd,WAAW,MAAM,CAAC,CAACO,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IACpGN,SAAS,KAAK,GAAGA,SAAS,KAAK,CAAC,MAAM,CAAC,CAACc,IAAMA,MAAME;AACtD;AAKA,MAAMb,iCAAiC,CAACN,UAAoBG;IAC1DA,SAAS,CAAC,GAAGa,OAAOhB,SAAS,MAAM,CAAC,CAACS,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,IAAgB,CAACA,KAAK,QAAQ,EAAE,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;AAClH;AACA,MAAMI,0BAA0B,CAACb,UAAoBG;IAEnDA,SAAS,CAAC,GAAGa,OAAOhB,SAAS,MAAM,CAAC,CAACS,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,IAAgB,CAACA,KAAK,QAAQ,EAAE,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAGhH,MAAMe,QAAQR,OAAOhB,SAAS,MAAM,CAAC,CAACS,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAC/F,IAAIe,MAAM,MAAM,GAAG,GACjBrB,SAAS,KAAK,GAAGqB;IAInB,MAAMC,QAAQT,OAAOhB,SAAS,MAAM,CAAC,CAACS,OAASA,AAAkB,YAAlBA,KAAK,QAAQ,EAAc,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IAC/FN,SAAS,KAAK,GAAGa,OAAO;WAAKb,SAAS,KAAK,IAAI,EAAE;WAAMsB;KAAM;IAG7D,MAAMC,UAAUV,OAAOhB,SAAS,MAAM,CAAC,CAACS,OAASA,AAAkB,cAAlBA,KAAK,QAAQ,EAAgB,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;IACnGN,SAAS,OAAO,GAAGa,OAAO;WAAKb,SAAS,OAAO,IAAI,EAAE;WAAMsB;WAAUC;WAAYF;KAAM;AACzF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Locale } from '../../i18n';
|
|
2
|
-
import type { AnnotationArea, AnnotationHorizontalLine, AnnotationPoint, AnnotationVerticalLine, BackgroundColor, Brush, Color, Dataset, Label, Legend, Page, LineStyle, PointStyle, Theme, Tooltip, CrosshairLine, XBandAxis, YLinearAxis, Sort, SortLegend, DimensionLinkage,
|
|
2
|
+
import type { AnnotationArea, AnnotationHorizontalLine, AnnotationPoint, AnnotationVerticalLine, BackgroundColor, Brush, Color, Dataset, Label, Legend, Page, LineStyle, PointStyle, Theme, Tooltip, CrosshairLine, XBandAxis, YLinearAxis, Sort, SortLegend, DimensionLinkage, Player, LineDimension, LineMeasure } from '../../properties';
|
|
3
3
|
/**
|
|
4
4
|
* @description 动态折线图 (Race Line Chart)
|
|
5
5
|
* 适用于展示数据随时间变化的趋势,通过线段连接数据点形成趋势线
|
|
@@ -17,7 +17,6 @@ export type { DualAxisDimension } from './dualAxisDimension';
|
|
|
17
17
|
export type { RaceBarDimension, RaceBarParallelDimension, RaceBarPercentDimension } from './raceBarDimension';
|
|
18
18
|
export type { RaceColumnDimension, RaceColumnParallelDimension, RaceColumnPercentDimension, } from './raceColumnDimension';
|
|
19
19
|
export type { RaceScatterDimension } from './raceScatterDimension';
|
|
20
|
-
export type { RaceLineDimension } from './raceLineDimension';
|
|
21
20
|
export type { RacePieDimension } from './racePieDimension';
|
|
22
21
|
export type { RaceDonutDimension } from './raceDonutDimension';
|
|
23
22
|
export type { TableDimension, DimensionGroup, DimensionTree } from './tableDimension';
|
|
@@ -16,7 +16,6 @@ export type { DualAxisMeasure } from './dualAxisMeasure';
|
|
|
16
16
|
export type { TableMeasure } from './tableMeasure';
|
|
17
17
|
export type { MeasureGroup, MeasureTree } from './measureTree';
|
|
18
18
|
export type { RaceBarMeasure } from './raceBarMeasure';
|
|
19
|
-
export type { RaceLineMeasure } from './raceLineMeasure';
|
|
20
19
|
export type { RacePieMeasure } from './racePieMeasure';
|
|
21
20
|
export type { RaceDonutMeasure } from './raceDonutMeasure';
|
|
22
21
|
export type { HierarchyMeasure } from './hierarchyMeasure';
|
package/dist/umd/index.js
CHANGED
|
@@ -10817,14 +10817,14 @@ self.R = R;
|
|
|
10817
10817
|
...playerDims,
|
|
10818
10818
|
...xDims
|
|
10819
10819
|
]);
|
|
10820
|
-
if (
|
|
10820
|
+
if (xDims.length > 0) {
|
|
10821
10821
|
encoding.player = merged;
|
|
10822
10822
|
encoding.x = merged;
|
|
10823
10823
|
} else {
|
|
10824
|
-
encoding.player = [];
|
|
10825
10824
|
encoding.x = [
|
|
10826
10825
|
dimensions[0].id
|
|
10827
10826
|
];
|
|
10827
|
+
encoding.player = encoding.x;
|
|
10828
10828
|
}
|
|
10829
10829
|
addColorToEncoding(dimensions, encoding, isMultiMeasure);
|
|
10830
10830
|
encoding.detail = chunk_QJLMYOTX_i(dimensions.filter((item)=>'detail' === item.encoding).map((item)=>item.id));
|