@visactor/vseed 0.4.21 → 0.4.22
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 +2 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/builder/builder/buildSpec.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/area.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/area.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/areaPercent.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/bar.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/bar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/barParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/barPercent.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/boxplot.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/circlePacking.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/circlePacking.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/column.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/column.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/columnParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/columnPercent.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/donut.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/donut.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/dualAxis.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/funnel.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/funnel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/heatmap.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/histogram.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/histogram.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/line.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/line.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/pie.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/pie.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceBar.js +2 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceBar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceColumn.js +2 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceColumn.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceDonut.js +2 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceDonut.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceLine.js +2 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceLine.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/racePie.js +2 -1
- package/dist/esm/pipeline/spec/chart/pipeline/racePie.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceScatter.js +2 -1
- package/dist/esm/pipeline/spec/chart/pipeline/raceScatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/radar.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/radar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/rose.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/rose.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/roseParallel.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/scatter.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/scatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/sunburst.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/sunburst.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipeline/treeMap.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipeline/treeMap.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/index.d.ts +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/index.js +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/label/labelSunburst.js +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelSunburst.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelTreeMapGroup.js +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/label/labelTreeMapGroup.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js +16 -4
- package/dist/esm/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/player/playerBar.js +3 -2
- package/dist/esm/pipeline/spec/chart/pipes/player/playerBar.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/player/playerColumn.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipes/player/playerColumn.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/player/playerPie.js +3 -1
- package/dist/esm/pipeline/spec/chart/pipes/player/playerPie.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/player/playerScatter.js +3 -2
- package/dist/esm/pipeline/spec/chart/pipes/player/playerScatter.js.map +1 -1
- package/dist/esm/pipeline/spec/chart/pipes/theme/fontFamily.d.ts +2 -0
- package/dist/esm/pipeline/spec/chart/pipes/theme/fontFamily.js +17 -0
- package/dist/esm/pipeline/spec/chart/pipes/theme/fontFamily.js.map +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/theme/index.d.ts +1 -0
- package/dist/esm/pipeline/spec/chart/pipes/theme/index.js +2 -0
- package/dist/esm/pipeline/spec/table/pipes/theme/bodyStyle.js +2 -0
- package/dist/esm/pipeline/spec/table/pipes/theme/bodyStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/bottomFrozenStyle.js +2 -0
- package/dist/esm/pipeline/spec/table/pipes/theme/bottomFrozenStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/cornerHeaderStyle.js +2 -0
- package/dist/esm/pipeline/spec/table/pipes/theme/cornerHeaderStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/headerStyle.js +2 -0
- package/dist/esm/pipeline/spec/table/pipes/theme/headerStyle.js.map +1 -1
- package/dist/esm/pipeline/spec/table/pipes/theme/rowHeaderStyle.js +2 -0
- package/dist/esm/pipeline/spec/table/pipes/theme/rowHeaderStyle.js.map +1 -1
- package/dist/esm/theme/common/table.d.ts +6 -0
- package/dist/esm/theme/dark/area.d.ts +6 -0
- package/dist/esm/theme/dark/bar.d.ts +9 -0
- package/dist/esm/theme/dark/boxPlot.d.ts +3 -0
- package/dist/esm/theme/dark/column.d.ts +9 -0
- package/dist/esm/theme/dark/dualAxis.d.ts +3 -0
- package/dist/esm/theme/dark/funnel.d.ts +3 -0
- package/dist/esm/theme/dark/heatmap.d.ts +3 -0
- package/dist/esm/theme/dark/hierarchy.d.ts +9 -0
- package/dist/esm/theme/dark/histogram.d.ts +3 -0
- package/dist/esm/theme/dark/line.d.ts +3 -0
- package/dist/esm/theme/dark/pie.d.ts +6 -0
- package/dist/esm/theme/dark/race.d.ts +9 -0
- package/dist/esm/theme/dark/raceLine.d.ts +3 -0
- package/dist/esm/theme/dark/racePie.d.ts +6 -0
- package/dist/esm/theme/dark/radar.d.ts +3 -0
- package/dist/esm/theme/dark/rose.d.ts +6 -0
- package/dist/esm/theme/dark/scatter.d.ts +3 -0
- package/dist/esm/theme/index.d.ts +2 -0
- package/dist/esm/theme/index.js +2 -1
- package/dist/esm/theme/light/area.d.ts +6 -0
- package/dist/esm/theme/light/bar.d.ts +9 -0
- package/dist/esm/theme/light/boxPlot.d.ts +3 -0
- package/dist/esm/theme/light/column.d.ts +9 -0
- package/dist/esm/theme/light/dualAxis.d.ts +3 -0
- package/dist/esm/theme/light/funnel.d.ts +3 -0
- package/dist/esm/theme/light/heatmap.d.ts +3 -0
- package/dist/esm/theme/light/hierarchy.d.ts +9 -0
- package/dist/esm/theme/light/histogram.d.ts +3 -0
- package/dist/esm/theme/light/line.d.ts +3 -0
- package/dist/esm/theme/light/pie.d.ts +6 -0
- package/dist/esm/theme/light/race.d.ts +9 -0
- package/dist/esm/theme/light/raceLine.d.ts +3 -0
- package/dist/esm/theme/light/racePie.d.ts +6 -0
- package/dist/esm/theme/light/radar.d.ts +3 -0
- package/dist/esm/theme/light/rose.d.ts +6 -0
- package/dist/esm/theme/light/scatter.d.ts +3 -0
- package/dist/esm/theme/tokenTheme.d.ts +54 -0
- package/dist/esm/theme/tokenTheme.js +243 -0
- package/dist/esm/theme/tokenTheme.js.map +1 -0
- package/dist/esm/types/chartType/column/zColumn.d.ts +2 -0
- package/dist/esm/types/chartType/columnParallel/zColumnParallel.d.ts +2 -0
- package/dist/esm/types/chartType/raceBar/zRaceBar.d.ts +2 -0
- package/dist/esm/types/chartType/raceColumn/zRaceColumn.d.ts +2 -0
- package/dist/esm/types/chartType/raceDonut/zRaceDonut.d.ts +2 -0
- package/dist/esm/types/chartType/raceLine/zRaceLine.d.ts +2 -0
- package/dist/esm/types/chartType/racePie/zRacePie.d.ts +2 -0
- package/dist/esm/types/chartType/raceScatter/zRaceScatter.d.ts +2 -0
- package/dist/esm/types/properties/config/area.d.ts +6 -0
- package/dist/esm/types/properties/config/bar.d.ts +9 -0
- package/dist/esm/types/properties/config/boxplot.d.ts +3 -0
- package/dist/esm/types/properties/config/circlePacking.d.ts +3 -0
- package/dist/esm/types/properties/config/column.d.ts +9 -0
- package/dist/esm/types/properties/config/config.d.ts +103 -0
- package/dist/esm/types/properties/config/dualAxis.d.ts +3 -0
- package/dist/esm/types/properties/config/funnel.d.ts +3 -0
- package/dist/esm/types/properties/config/heatmap.d.ts +3 -0
- package/dist/esm/types/properties/config/histogram.d.ts +3 -0
- package/dist/esm/types/properties/config/line.d.ts +3 -0
- package/dist/esm/types/properties/config/pie.d.ts +9 -0
- package/dist/esm/types/properties/config/pivotGrid/pivotGrid.d.ts +3 -0
- package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js +4 -1
- package/dist/esm/types/properties/config/pivotGrid/pivotGrid.js.map +1 -1
- package/dist/esm/types/properties/config/pivotTable.d.ts +2 -0
- package/dist/esm/types/properties/config/player/player.d.ts +8 -0
- package/dist/esm/types/properties/config/player/zPlayer.d.ts +2 -0
- package/dist/esm/types/properties/config/player/zPlayer.js +2 -0
- package/dist/esm/types/properties/config/player/zPlayer.js.map +1 -1
- package/dist/esm/types/properties/config/race.d.ts +30 -0
- package/dist/esm/types/properties/config/rose.d.ts +6 -0
- package/dist/esm/types/properties/config/scatter.d.ts +3 -0
- package/dist/esm/types/properties/config/sunburst.d.ts +3 -0
- package/dist/esm/types/properties/config/table.d.ts +2 -0
- package/dist/esm/types/properties/config/table.js +2 -0
- package/dist/esm/types/properties/config/table.js.map +1 -1
- package/dist/esm/types/properties/config/treeMap.d.ts +3 -0
- package/dist/esm/types/properties/theme/customTheme.d.ts +206 -0
- package/dist/umd/index.js +357 -17
- package/dist/umd/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.ts"],"sourcesContent":["import type { ILineChartSpec } from '@visactor/vchart'\nimport { isNil } from '@visactor/vutils'\nimport { MeasureId } from 'src/dataReshape'\nimport { BAND_AXIS_INNER_OFFSET_IN_PIVOT, ChartTypeEnum } from 'src/pipeline/utils/constant'\nimport type { Config, VChartSpecPipe } from 'src/types'\n\nexport const pivotAxisStyle = (axisStyle: VChartSpecPipe): VChartSpecPipe => {\n return (spec, context) => {\n const result = axisStyle(spec, context) as ILineChartSpec\n\n if (result.axes) {\n const { advancedVSeed } = context\n const { config, chartType, encoding, reshapeMeasures, datasetReshapeInfo } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n result.axes.forEach((axis: any) => {\n axis.domainLine = {\n visible: false,\n }\n\n if (themConfig.chartGridColor && axis.grid && axis.grid.visible && axis.grid.style) {\n axis.grid.style.stroke = themConfig.chartGridColor\n }\n\n if (themConfig.axisLabelColor && axis.label && axis.label.visible && axis.label.style) {\n axis.label.style.fill = themConfig.axisLabelColor\n }\n\n if (axis.type === 'band') {\n if (axis.orient === 'left' || axis.orient === 'right') {\n axis.innerOffset = {\n top: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n bottom: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n }\n\n if (\n reshapeMeasures &&\n reshapeMeasures.length > 1 &&\n chartType === ChartTypeEnum.Heatmap &&\n isNil(axis.title.text)\n ) {\n axis.title.visible = true\n axis.title.text = Object.values(datasetReshapeInfo[0].foldInfo.foldMap)[0]\n }\n } else if (axis.orient === 'top' || axis.orient === 'bottom') {\n axis.innerOffset = {\n left: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n right: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n }\n }\n } else if (axis.type === 'linear') {\n if (axis.orient === 'top' || axis.orient === 'bottom') {\n axis.label.flush = true\n }\n\n if (\n reshapeMeasures &&\n reshapeMeasures.length > 1 &&\n axis.title.text &&\n encoding.color &&\n encoding.color.length &&\n !encoding.color.includes(MeasureId)\n ) {\n axis.title.visible = true\n }\n }\n })\n }\n\n return result\n }\n}\n"],"names":["pivotAxisStyle","axisStyle","spec","context","result","advancedVSeed","config","chartType","encoding","reshapeMeasures","datasetReshapeInfo","themConfig","axis","BAND_AXIS_INNER_OFFSET_IN_PIVOT","ChartTypeEnum","isNil","Object","MeasureId"],"mappings":";;;AAMO,MAAMA,iBAAiB,CAACC,YACtB,CAACC,MAAMC;QACZ,MAAMC,SAASH,UAAUC,MAAMC;QAE/B,IAAIC,OAAO,IAAI,EAAE;YACf,MAAM,EAAEC,aAAa,EAAE,GAAGF;YAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,eAAe,EAAEC,kBAAkB,EAAE,GAAGL;YAC7E,MAAMM,aAAcL,QAAQ,CAACC,UAAU,EAAqB,aAAa,CAAC;YAE1EH,OAAO,IAAI,CAAC,OAAO,CAAC,CAACQ;gBACnBA,KAAK,UAAU,GAAG;oBAChB,SAAS;gBACX;gBAEA,IAAID,WAAW,cAAc,IAAIC,KAAK,IAAI,IAAIA,KAAK,IAAI,CAAC,OAAO,IAAIA,KAAK,IAAI,CAAC,KAAK,EAChFA,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAGD,WAAW,cAAc;gBAGpD,IAAIA,WAAW,cAAc,IAAIC,KAAK,KAAK,IAAIA,KAAK,KAAK,CAAC,OAAO,IAAIA,KAAK,KAAK,CAAC,KAAK,EACnFA,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,GAAGD,WAAW,cAAc;gBAGnD,IAAIC,AAAc,WAAdA,KAAK,IAAI,EACX;oBAAA,IAAIA,AAAgB,WAAhBA,KAAK,MAAM,IAAeA,AAAgB,YAAhBA,KAAK,MAAM,EAAc;wBACrDA,KAAK,WAAW,GAAG;4BACjB,KAAKC;4BACL,QAAQA;wBACV;wBAEA,IACEJ,mBACAA,gBAAgB,MAAM,GAAG,KACzBF,cAAcO,cAAc,OAAO,IACnCC,MAAMH,KAAK,KAAK,CAAC,IAAI,GACrB;4BACAA,KAAK,KAAK,CAAC,OAAO,GAAG;4BACrBA,KAAK,KAAK,CAAC,IAAI,GAAGI,OAAO,MAAM,CAACN,kBAAkB,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE;wBAC5E;oBACF,OAAO,IAAIE,AAAgB,UAAhBA,KAAK,MAAM,IAAcA,AAAgB,aAAhBA,KAAK,MAAM,EAC7CA,KAAK,WAAW,GAAG;wBACjB,MAAMC;wBACN,OAAOA;oBACT;gBACF,OACK,IAAID,AAAc,aAAdA,KAAK,IAAI,EAAe;oBACjC,IAAIA,AAAgB,UAAhBA,KAAK,MAAM,IAAcA,AAAgB,aAAhBA,KAAK,MAAM,EACtCA,KAAK,KAAK,CAAC,KAAK,GAAG;oBAGrB,IACEH,mBACAA,gBAAgB,MAAM,GAAG,KACzBG,KAAK,KAAK,CAAC,IAAI,IACfJ,SAAS,KAAK,IACdA,SAAS,KAAK,CAAC,MAAM,IACrB,CAACA,SAAS,KAAK,CAAC,QAAQ,CAACS,YAEzBL,KAAK,KAAK,CAAC,OAAO,GAAG;gBAEzB;YACF;QACF;QAEA,OAAOR;IACT"}
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotAxisStyle.ts"],"sourcesContent":["import type { ILineChartSpec } from '@visactor/vchart'\nimport { isNil } from '@visactor/vutils'\nimport { MeasureId } from 'src/dataReshape'\nimport { BAND_AXIS_INNER_OFFSET_IN_PIVOT, ChartTypeEnum } from 'src/pipeline/utils/constant'\nimport type { Config, VChartSpecPipe } from 'src/types'\n\nexport const pivotAxisStyle = (axisStyle: VChartSpecPipe): VChartSpecPipe => {\n return (spec, context) => {\n const result = axisStyle(spec, context) as ILineChartSpec\n\n if (result.axes) {\n const { advancedVSeed } = context\n const { config, chartType, encoding, reshapeMeasures, datasetReshapeInfo } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n result.axes.forEach((axis: any) => {\n axis.domainLine = {\n visible: false,\n }\n\n if (themConfig.chartGridColor && axis.grid && axis.grid.visible && axis.grid.style) {\n axis.grid.style.stroke = themConfig.chartGridColor\n }\n\n if (themConfig.axisLabelColor && axis.label && axis.label.visible && axis.label.style) {\n axis.label.style.fill = themConfig.axisLabelColor\n }\n\n if (themConfig.axisLabelFontSize && axis.label && axis.label.visible && axis.label.style) {\n axis.label.style.fontSize = themConfig.axisLabelFontSize\n }\n\n if (axis.type === 'band') {\n if (axis.orient === 'left' || axis.orient === 'right') {\n axis.innerOffset = {\n top: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n bottom: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n }\n\n if (\n reshapeMeasures &&\n reshapeMeasures.length > 1 &&\n chartType === ChartTypeEnum.Heatmap &&\n isNil(axis.title.text)\n ) {\n axis.title.visible = true\n axis.title.text = Object.values(datasetReshapeInfo[0].foldInfo.foldMap)[0]\n }\n } else if (axis.orient === 'top' || axis.orient === 'bottom') {\n axis.innerOffset = {\n left: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n right: BAND_AXIS_INNER_OFFSET_IN_PIVOT,\n }\n }\n } else if (axis.type === 'linear') {\n if (axis.orient === 'top' || axis.orient === 'bottom') {\n axis.label.flush = true\n }\n\n if (\n reshapeMeasures &&\n reshapeMeasures.length > 1 &&\n axis.title.text &&\n encoding.color &&\n encoding.color.length &&\n !encoding.color.includes(MeasureId)\n ) {\n axis.title.visible = true\n }\n }\n })\n }\n\n return result\n }\n}\n"],"names":["pivotAxisStyle","axisStyle","spec","context","result","advancedVSeed","config","chartType","encoding","reshapeMeasures","datasetReshapeInfo","themConfig","axis","BAND_AXIS_INNER_OFFSET_IN_PIVOT","ChartTypeEnum","isNil","Object","MeasureId"],"mappings":";;;AAMO,MAAMA,iBAAiB,CAACC,YACtB,CAACC,MAAMC;QACZ,MAAMC,SAASH,UAAUC,MAAMC;QAE/B,IAAIC,OAAO,IAAI,EAAE;YACf,MAAM,EAAEC,aAAa,EAAE,GAAGF;YAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,eAAe,EAAEC,kBAAkB,EAAE,GAAGL;YAC7E,MAAMM,aAAcL,QAAQ,CAACC,UAAU,EAAqB,aAAa,CAAC;YAE1EH,OAAO,IAAI,CAAC,OAAO,CAAC,CAACQ;gBACnBA,KAAK,UAAU,GAAG;oBAChB,SAAS;gBACX;gBAEA,IAAID,WAAW,cAAc,IAAIC,KAAK,IAAI,IAAIA,KAAK,IAAI,CAAC,OAAO,IAAIA,KAAK,IAAI,CAAC,KAAK,EAChFA,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,GAAGD,WAAW,cAAc;gBAGpD,IAAIA,WAAW,cAAc,IAAIC,KAAK,KAAK,IAAIA,KAAK,KAAK,CAAC,OAAO,IAAIA,KAAK,KAAK,CAAC,KAAK,EACnFA,KAAK,KAAK,CAAC,KAAK,CAAC,IAAI,GAAGD,WAAW,cAAc;gBAGnD,IAAIA,WAAW,iBAAiB,IAAIC,KAAK,KAAK,IAAIA,KAAK,KAAK,CAAC,OAAO,IAAIA,KAAK,KAAK,CAAC,KAAK,EACtFA,KAAK,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAGD,WAAW,iBAAiB;gBAG1D,IAAIC,AAAc,WAAdA,KAAK,IAAI,EACX;oBAAA,IAAIA,AAAgB,WAAhBA,KAAK,MAAM,IAAeA,AAAgB,YAAhBA,KAAK,MAAM,EAAc;wBACrDA,KAAK,WAAW,GAAG;4BACjB,KAAKC;4BACL,QAAQA;wBACV;wBAEA,IACEJ,mBACAA,gBAAgB,MAAM,GAAG,KACzBF,cAAcO,cAAc,OAAO,IACnCC,MAAMH,KAAK,KAAK,CAAC,IAAI,GACrB;4BACAA,KAAK,KAAK,CAAC,OAAO,GAAG;4BACrBA,KAAK,KAAK,CAAC,IAAI,GAAGI,OAAO,MAAM,CAACN,kBAAkB,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAE;wBAC5E;oBACF,OAAO,IAAIE,AAAgB,UAAhBA,KAAK,MAAM,IAAcA,AAAgB,aAAhBA,KAAK,MAAM,EAC7CA,KAAK,WAAW,GAAG;wBACjB,MAAMC;wBACN,OAAOA;oBACT;gBACF,OACK,IAAID,AAAc,aAAdA,KAAK,IAAI,EAAe;oBACjC,IAAIA,AAAgB,UAAhBA,KAAK,MAAM,IAAcA,AAAgB,aAAhBA,KAAK,MAAM,EACtCA,KAAK,KAAK,CAAC,KAAK,GAAG;oBAGrB,IACEH,mBACAA,gBAAgB,MAAM,GAAG,KACzBG,KAAK,KAAK,CAAC,IAAI,IACfJ,SAAS,KAAK,IACdA,SAAS,KAAK,CAAC,MAAM,IACrB,CAACA,SAAS,KAAK,CAAC,QAAQ,CAACS,YAEzBL,KAAK,KAAK,CAAC,OAAO,GAAG;gBAEzB;YACF;QACF;QAEA,OAAOR;IACT"}
|
|
@@ -3,14 +3,18 @@ import { isNullish } from "remeda";
|
|
|
3
3
|
const pivotGridStyle = (spec, context)=>{
|
|
4
4
|
const { vseed, advancedVSeed } = context;
|
|
5
5
|
const { config, chartType } = advancedVSeed;
|
|
6
|
-
const
|
|
6
|
+
const chartConfig = config?.[chartType] ?? {};
|
|
7
|
+
const themConfig = chartConfig?.pivotGrid ?? {};
|
|
8
|
+
const fontFamily = chartConfig?.fontFamily;
|
|
7
9
|
const onlyCombination = !isPivot(vseed) && isCombination(vseed);
|
|
8
10
|
const result = {
|
|
9
11
|
...spec
|
|
10
12
|
};
|
|
11
13
|
const transparent = 'rgba(0,0,0,0)';
|
|
12
14
|
const borderColor = themConfig.borderColor ?? '#e3e5eb';
|
|
15
|
+
const bodyFontSize = themConfig.bodyFontSize ?? 12;
|
|
13
16
|
const bodyFontColor = themConfig.bodyFontColor ?? '#141414';
|
|
17
|
+
const headerFontSize = themConfig.headerFontSize ?? 12;
|
|
14
18
|
const headerFontColor = themConfig.headerFontColor ?? '#21252c';
|
|
15
19
|
const headerBackgroundColor = themConfig.headerBackgroundColor ?? 'rgba(0,0,0,0)';
|
|
16
20
|
const hoverHeaderBackgroundColor = onlyCombination ? transparent : themConfig.hoverHeaderBackgroundColor ?? '#D9DDE4';
|
|
@@ -26,6 +30,8 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
26
30
|
bodyStyle: {
|
|
27
31
|
borderColor,
|
|
28
32
|
color: bodyFontColor,
|
|
33
|
+
fontSize: bodyFontSize,
|
|
34
|
+
fontFamily,
|
|
29
35
|
borderLineWidth: (arg)=>{
|
|
30
36
|
const noYAxis = 'pie' === chartType || 'rose' === chartType || 'donut' === chartType || 'radar' === chartType || 'roseParallel' === chartType;
|
|
31
37
|
return [
|
|
@@ -42,7 +48,8 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
42
48
|
},
|
|
43
49
|
headerStyle: {
|
|
44
50
|
borderColor,
|
|
45
|
-
fontSize:
|
|
51
|
+
fontSize: headerFontSize,
|
|
52
|
+
fontFamily,
|
|
46
53
|
borderLineWidth: (arg)=>[
|
|
47
54
|
outlineBorderLineWidth,
|
|
48
55
|
outlineBorderLineWidth,
|
|
@@ -60,7 +67,8 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
60
67
|
},
|
|
61
68
|
rowHeaderStyle: {
|
|
62
69
|
borderColor,
|
|
63
|
-
fontSize:
|
|
70
|
+
fontSize: headerFontSize,
|
|
71
|
+
fontFamily,
|
|
64
72
|
color: headerFontColor,
|
|
65
73
|
padding: [
|
|
66
74
|
0,
|
|
@@ -84,7 +92,8 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
84
92
|
cornerHeaderStyle: {
|
|
85
93
|
borderColor,
|
|
86
94
|
textAlign: 'center',
|
|
87
|
-
fontSize:
|
|
95
|
+
fontSize: headerFontSize,
|
|
96
|
+
fontFamily,
|
|
88
97
|
color: headerFontColor,
|
|
89
98
|
padding: [
|
|
90
99
|
0,
|
|
@@ -189,6 +198,9 @@ const pivotGridStyle = (spec, context)=>{
|
|
|
189
198
|
},
|
|
190
199
|
bottomFrozenStyle: {
|
|
191
200
|
borderColor,
|
|
201
|
+
fontSize: headerFontSize,
|
|
202
|
+
color: headerFontColor,
|
|
203
|
+
fontFamily,
|
|
192
204
|
borderLineWidth: [
|
|
193
205
|
1,
|
|
194
206
|
outlineBorderLineWidth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { isCombination, isPivot } from 'src/pipeline/utils'\nimport type { Config, PivotChartSpecPipe } from 'src/types'\nimport { isNullish } from 'remeda'\n\nexport const pivotGridStyle: PivotChartSpecPipe = (spec, context) => {\n const { vseed, advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = (config?.[chartType] as Config['line'])?.pivotGrid ?? {}\n\n const onlyCombination = !isPivot(vseed) && isCombination(vseed)\n\n const result = { ...spec } as PivotChartConstructorOptions\n const transparent = 'rgba(0,0,0,0)'\n\n const borderColor = themConfig.borderColor ?? '#e3e5eb'\n const bodyFontColor = themConfig.bodyFontColor ?? '#141414'\n const headerFontColor = themConfig.headerFontColor ?? '#21252c'\n const headerBackgroundColor = themConfig.headerBackgroundColor ?? 'rgba(0,0,0,0)'\n const hoverHeaderBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderBackgroundColor ?? '#D9DDE4')\n const hoverHeaderInlineBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderInlineBackgroundColor ?? '#D9DDE455')\n const outlineBorderLineWidth = themConfig.outlineBorderLineWidth ?? 0\n const frameCornerRadius = themConfig.frameCornerRadius ?? 0\n\n if (!isNullish(themConfig.minChartWidth)) {\n result.defaultColWidth = themConfig.minChartWidth!\n }\n\n if (!isNullish(themConfig.minChartHeight)) {\n result.defaultRowHeight = themConfig.minChartHeight!\n }\n\n return {\n ...result,\n theme: {\n underlayBackgroundColor: transparent,\n bodyStyle: {\n borderColor,\n color: bodyFontColor,\n borderLineWidth: (arg: { row: number; col: number; table: any }) => {\n const noYAxis =\n chartType === 'pie' ||\n chartType === 'rose' ||\n chartType === 'donut' ||\n chartType === 'radar' ||\n chartType === 'roseParallel'\n\n return [\n arg.row === 0 || (chartType === 'funnel' && arg.row === 1 && arg.table.rowCount <= 2)\n ? outlineBorderLineWidth\n : 1,\n outlineBorderLineWidth,\n 0,\n arg.col === 0 || (noYAxis && arg.col === 1 && arg.table.colCount <= 2) ? outlineBorderLineWidth : 1,\n ]\n },\n bgColor: transparent,\n hover: {\n cellBgColor: 'transparent',\n },\n },\n headerStyle: {\n borderColor,\n fontSize: 12,\n // borderLineWidth: [outlineBorderLineWidth, outlineBorderLineWidth, 1, 1],\n borderLineWidth: (arg: { row: number; col: number }) => {\n return [outlineBorderLineWidth, outlineBorderLineWidth, 1, arg.col === 0 ? outlineBorderLineWidth : 1]\n },\n color: headerFontColor,\n textAlign: 'center',\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n rowHeaderStyle: {\n borderColor,\n fontSize: 12,\n color: headerFontColor,\n padding: [0, 12, 0, 4],\n borderLineWidth: (arg: { row: number }) => {\n return [arg.row === 0 ? outlineBorderLineWidth : 1, 1, 0, outlineBorderLineWidth]\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerHeaderStyle: {\n borderColor,\n textAlign: 'center',\n fontSize: 12,\n color: headerFontColor,\n padding: [0, 12, 0, 4],\n fontWeight: 'bold',\n borderLineWidth: [outlineBorderLineWidth, 1, 1, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerLeftBottomCellStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [1, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightTopCellStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, outlineBorderLineWidth, 1, 1],\n frameStyle: {\n borderColor,\n borderLineWidth: 0,\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n rightFrozenStyle: {\n borderColor,\n bgColor: headerBackgroundColor,\n borderLineWidth: (arg: { row: number }) => {\n return [arg.row === 0 ? outlineBorderLineWidth : 1, outlineBorderLineWidth, 0, 1]\n },\n frameStyle: {\n borderLineWidth: 0,\n },\n hover: {\n borderLineWidth: 0,\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightBottomCellStyle: {\n borderColor,\n bgColor: headerBackgroundColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n frameStyle: {\n borderColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n\n bottomFrozenStyle: {\n borderColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n selectionStyle: {\n cellBgColor: '',\n cellBorderColor: '',\n },\n frameStyle: {\n borderColor,\n cornerRadius: frameCornerRadius,\n borderLineWidth: outlineBorderLineWidth,\n },\n\n axisStyle: {\n leftAxisStyle: {\n cellPaddingLeft: 10,\n },\n bottomAxisStyle: {\n cellPaddingBottom: 4,\n },\n rightAxisStyle: {\n cellPaddingRight: 4,\n },\n },\n scrollStyle: {\n visible: 'scrolling',\n hoverOn: false,\n },\n },\n }\n}\n"],"names":["pivotGridStyle","spec","context","vseed","advancedVSeed","config","chartType","themConfig","onlyCombination","isPivot","isCombination","result","transparent","borderColor","bodyFontColor","headerFontColor","headerBackgroundColor","hoverHeaderBackgroundColor","hoverHeaderInlineBackgroundColor","outlineBorderLineWidth","frameCornerRadius","isNullish","arg","noYAxis","undefined"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/pivotChart/pivotGridStyle.ts"],"sourcesContent":["import type { PivotChartConstructorOptions } from '@visactor/vtable'\nimport { isCombination, isPivot } from 'src/pipeline/utils'\nimport type { Config, PivotChartSpecPipe } from 'src/types'\nimport { isNullish } from 'remeda'\n\nexport const pivotGridStyle: PivotChartSpecPipe = (spec, context) => {\n const { vseed, advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const chartConfig = (config?.[chartType] as (Config['line'] & { fontFamily?: string }) | undefined) ?? {}\n const themConfig = chartConfig?.pivotGrid ?? {}\n const fontFamily = chartConfig?.fontFamily\n\n const onlyCombination = !isPivot(vseed) && isCombination(vseed)\n\n const result = { ...spec } as PivotChartConstructorOptions\n const transparent = 'rgba(0,0,0,0)'\n\n const borderColor = themConfig.borderColor ?? '#e3e5eb'\n const bodyFontSize = themConfig.bodyFontSize ?? 12\n const bodyFontColor = themConfig.bodyFontColor ?? '#141414'\n const headerFontSize = themConfig.headerFontSize ?? 12\n const headerFontColor = themConfig.headerFontColor ?? '#21252c'\n const headerBackgroundColor = themConfig.headerBackgroundColor ?? 'rgba(0,0,0,0)'\n const hoverHeaderBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderBackgroundColor ?? '#D9DDE4')\n const hoverHeaderInlineBackgroundColor = onlyCombination\n ? transparent\n : (themConfig.hoverHeaderInlineBackgroundColor ?? '#D9DDE455')\n const outlineBorderLineWidth = themConfig.outlineBorderLineWidth ?? 0\n const frameCornerRadius = themConfig.frameCornerRadius ?? 0\n\n if (!isNullish(themConfig.minChartWidth)) {\n result.defaultColWidth = themConfig.minChartWidth!\n }\n\n if (!isNullish(themConfig.minChartHeight)) {\n result.defaultRowHeight = themConfig.minChartHeight!\n }\n\n return {\n ...result,\n theme: {\n underlayBackgroundColor: transparent,\n bodyStyle: {\n borderColor,\n color: bodyFontColor,\n fontSize: bodyFontSize,\n fontFamily,\n borderLineWidth: (arg: { row: number; col: number; table: any }) => {\n const noYAxis =\n chartType === 'pie' ||\n chartType === 'rose' ||\n chartType === 'donut' ||\n chartType === 'radar' ||\n chartType === 'roseParallel'\n\n return [\n arg.row === 0 || (chartType === 'funnel' && arg.row === 1 && arg.table.rowCount <= 2)\n ? outlineBorderLineWidth\n : 1,\n outlineBorderLineWidth,\n 0,\n arg.col === 0 || (noYAxis && arg.col === 1 && arg.table.colCount <= 2) ? outlineBorderLineWidth : 1,\n ]\n },\n bgColor: transparent,\n hover: {\n cellBgColor: 'transparent',\n },\n },\n headerStyle: {\n borderColor,\n fontSize: headerFontSize,\n fontFamily,\n // borderLineWidth: [outlineBorderLineWidth, outlineBorderLineWidth, 1, 1],\n borderLineWidth: (arg: { row: number; col: number }) => {\n return [outlineBorderLineWidth, outlineBorderLineWidth, 1, arg.col === 0 ? outlineBorderLineWidth : 1]\n },\n color: headerFontColor,\n textAlign: 'center',\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n rowHeaderStyle: {\n borderColor,\n fontSize: headerFontSize,\n fontFamily,\n color: headerFontColor,\n padding: [0, 12, 0, 4],\n borderLineWidth: (arg: { row: number }) => {\n return [arg.row === 0 ? outlineBorderLineWidth : 1, 1, 0, outlineBorderLineWidth]\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerHeaderStyle: {\n borderColor,\n textAlign: 'center',\n fontSize: headerFontSize,\n fontFamily,\n color: headerFontColor,\n padding: [0, 12, 0, 4],\n fontWeight: 'bold',\n borderLineWidth: [outlineBorderLineWidth, 1, 1, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n inlineRowBgColor: hoverHeaderInlineBackgroundColor || undefined,\n inlineColumnBgColor: hoverHeaderInlineBackgroundColor || undefined,\n },\n },\n cornerLeftBottomCellStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n bgColor: headerBackgroundColor,\n frameStyle: {\n borderColor,\n borderLineWidth: [1, 0, outlineBorderLineWidth, outlineBorderLineWidth],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightTopCellStyle: {\n borderColor,\n borderLineWidth: [outlineBorderLineWidth, outlineBorderLineWidth, 1, 1],\n frameStyle: {\n borderColor,\n borderLineWidth: 0,\n },\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n rightFrozenStyle: {\n borderColor,\n bgColor: headerBackgroundColor,\n borderLineWidth: (arg: { row: number }) => {\n return [arg.row === 0 ? outlineBorderLineWidth : 1, outlineBorderLineWidth, 0, 1]\n },\n frameStyle: {\n borderLineWidth: 0,\n },\n hover: {\n borderLineWidth: 0,\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n cornerRightBottomCellStyle: {\n borderColor,\n bgColor: headerBackgroundColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n frameStyle: {\n borderColor,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n },\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n\n bottomFrozenStyle: {\n borderColor,\n fontSize: headerFontSize,\n color: headerFontColor,\n fontFamily,\n borderLineWidth: [1, outlineBorderLineWidth, outlineBorderLineWidth, 1],\n bgColor: headerBackgroundColor,\n hover: {\n cellBgColor: hoverHeaderBackgroundColor,\n },\n },\n selectionStyle: {\n cellBgColor: '',\n cellBorderColor: '',\n },\n frameStyle: {\n borderColor,\n cornerRadius: frameCornerRadius,\n borderLineWidth: outlineBorderLineWidth,\n },\n\n axisStyle: {\n leftAxisStyle: {\n cellPaddingLeft: 10,\n },\n bottomAxisStyle: {\n cellPaddingBottom: 4,\n },\n rightAxisStyle: {\n cellPaddingRight: 4,\n },\n },\n scrollStyle: {\n visible: 'scrolling',\n hoverOn: false,\n },\n },\n }\n}\n"],"names":["pivotGridStyle","spec","context","vseed","advancedVSeed","config","chartType","chartConfig","themConfig","fontFamily","onlyCombination","isPivot","isCombination","result","transparent","borderColor","bodyFontSize","bodyFontColor","headerFontSize","headerFontColor","headerBackgroundColor","hoverHeaderBackgroundColor","hoverHeaderInlineBackgroundColor","outlineBorderLineWidth","frameCornerRadius","isNullish","arg","noYAxis","undefined"],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ const playerBar = (spec, context)=>{
|
|
|
7
7
|
const result = datasetYX(spec, context);
|
|
8
8
|
if (!baseConfig || !baseConfig.player) return result;
|
|
9
9
|
const { player } = baseConfig;
|
|
10
|
+
const fontFamily = player.fontFamily || baseConfig.fontFamily;
|
|
11
|
+
const textSize = player.fontSize ?? 36;
|
|
10
12
|
const id = datasetReshapeInfo[0].id;
|
|
11
13
|
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
|
12
14
|
const { encodingPlayer, encodingY } = unfoldInfo;
|
|
@@ -31,7 +33,6 @@ const playerBar = (spec, context)=>{
|
|
|
31
33
|
};
|
|
32
34
|
});
|
|
33
35
|
const dataKey = dimensions.filter((d)=>!encoding.player?.includes(d.id)).map((d)=>d.id);
|
|
34
|
-
const textSize = 36;
|
|
35
36
|
const padding = 12;
|
|
36
37
|
return {
|
|
37
38
|
...result,
|
|
@@ -102,7 +103,7 @@ const playerBar = (spec, context)=>{
|
|
|
102
103
|
textBaseline: 'bottom',
|
|
103
104
|
fontSize: textSize,
|
|
104
105
|
textAlign: 'right',
|
|
105
|
-
fontFamily
|
|
106
|
+
fontFamily,
|
|
106
107
|
fontWeight: 600,
|
|
107
108
|
text: (datum)=>datum[encodingPlayer],
|
|
108
109
|
x: (_datum, ctx)=>ctx.vchart.getChart().getCanvasRect()?.width - padding,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/player/playerBar.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/player/playerBar.ts"],"sourcesContent":["import type { IPlayerSpec, ISpec } from '@visactor/vchart'\nimport { groupBy, uniqueBy } from 'remeda'\nimport type { Player, VChartSpecPipe } from 'src/types'\nimport { datasetYX } from '../dataset'\n\nexport const playerBar: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dimensions = [], datasetReshapeInfo, chartType, encoding } = advancedVSeed\n\n const baseConfig = advancedVSeed.config[chartType] as { player: Player }\n const result = datasetYX(spec, context)\n\n if (!baseConfig || !baseConfig.player) {\n return result\n }\n const { player } = baseConfig\n const id = datasetReshapeInfo[0].id\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n const { encodingPlayer, encodingY } = unfoldInfo\n const { measureValue } = foldInfo\n const {\n maxCount,\n autoPlay = true,\n interval = 1000,\n loop = false,\n position,\n railColor,\n trackColor,\n sliderHandleColor,\n sliderHandleBorderColor,\n startButtonColor,\n pauseButtonColor,\n backwardButtonColor,\n forwardButtonColor,\n } = player\n const duration = interval\n const exchangeDuration = interval * 0.6\n\n const dataGroups = groupBy(advancedVSeed.dataset, (item) => item[encodingPlayer])\n if (result.data && 'values' in result.data) {\n result.data.values = []\n }\n\n const yValues = uniqueBy(\n advancedVSeed.dataset.map((d) => d[encodingY]),\n (item) => item,\n )\n const specs = Object.values(dataGroups).map((items) => {\n // 如果当前items中不存在yValues中的值, 则填充为0, 保证每组都有同样的yValue, 都有对应的数据\n const filledItems = items.map((item) => ({\n ...item,\n [encodingY]: yValues.find((yValue) => yValue === item[encodingY]) || 0,\n }))\n const sortedItems = filledItems.sort((a, b) => b[measureValue] - a[measureValue])\n\n return {\n data: {\n id: id,\n values: maxCount === false ? sortedItems : sortedItems.slice(0, maxCount as number),\n },\n }\n })\n\n const dataKey = dimensions.filter((d) => !encoding.player?.includes(d.id)).map((d) => d.id)\n const
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/player/playerBar.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/player/playerBar.ts"],"sourcesContent":["import type { IPlayerSpec, ISpec } from '@visactor/vchart'\nimport { groupBy, uniqueBy } from 'remeda'\nimport type { Player, VChartSpecPipe } from 'src/types'\nimport { datasetYX } from '../dataset'\n\nexport const playerBar: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dimensions = [], datasetReshapeInfo, chartType, encoding } = advancedVSeed\n\n const baseConfig = advancedVSeed.config[chartType] as { fontFamily?: string; player: Player }\n const result = datasetYX(spec, context)\n\n if (!baseConfig || !baseConfig.player) {\n return result\n }\n const { player } = baseConfig\n const fontFamily = player.fontFamily || baseConfig.fontFamily\n const textSize = player.fontSize ?? 36\n const id = datasetReshapeInfo[0].id\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n const { encodingPlayer, encodingY } = unfoldInfo\n const { measureValue } = foldInfo\n const {\n maxCount,\n autoPlay = true,\n interval = 1000,\n loop = false,\n position,\n railColor,\n trackColor,\n sliderHandleColor,\n sliderHandleBorderColor,\n startButtonColor,\n pauseButtonColor,\n backwardButtonColor,\n forwardButtonColor,\n } = player\n const duration = interval\n const exchangeDuration = interval * 0.6\n\n const dataGroups = groupBy(advancedVSeed.dataset, (item) => item[encodingPlayer])\n if (result.data && 'values' in result.data) {\n result.data.values = []\n }\n\n const yValues = uniqueBy(\n advancedVSeed.dataset.map((d) => d[encodingY]),\n (item) => item,\n )\n const specs = Object.values(dataGroups).map((items) => {\n // 如果当前items中不存在yValues中的值, 则填充为0, 保证每组都有同样的yValue, 都有对应的数据\n const filledItems = items.map((item) => ({\n ...item,\n [encodingY]: yValues.find((yValue) => yValue === item[encodingY]) || 0,\n }))\n const sortedItems = filledItems.sort((a, b) => b[measureValue] - a[measureValue])\n\n return {\n data: {\n id: id,\n values: maxCount === false ? sortedItems : sortedItems.slice(0, maxCount as number),\n },\n }\n })\n\n const dataKey = dimensions.filter((d) => !encoding.player?.includes(d.id)).map((d) => d.id)\n const padding = 12\n\n return {\n ...result,\n dataKey,\n stackCornerRadius: undefined,\n animationUpdate: {\n bar: [\n {\n type: 'update',\n options: { excludeChannels: ['y'] },\n easing: 'linear',\n duration,\n },\n {\n channel: ['y'],\n easing: 'circInOut',\n duration: exchangeDuration,\n },\n ],\n },\n animationEnter: {\n bar: [\n {\n type: 'moveIn',\n duration: exchangeDuration,\n easing: 'circInOut',\n options: {\n direction: 'y',\n orient: 'negative',\n },\n },\n ],\n },\n animationExit: {\n bar: [\n {\n type: 'moveOut',\n options: {\n direction: 'x',\n },\n duration: exchangeDuration,\n },\n {\n type: 'moveOut',\n options: {\n direction: 'y',\n orient: 'negative',\n },\n duration: exchangeDuration,\n },\n {\n type: 'fadeOut',\n duration: exchangeDuration,\n },\n ],\n },\n customMark: [\n {\n type: 'text',\n dataId: 'year',\n style: {\n textBaseline: 'bottom',\n fontSize: textSize,\n textAlign: 'right',\n fontFamily,\n fontWeight: 600,\n text: (datum: any) => datum[encodingPlayer],\n x: (_datum: any, ctx: any) => {\n return ctx.vchart.getChart().getCanvasRect()?.width - padding\n },\n y: (_datum: any, ctx: any) => {\n return ctx.vchart.getChart().getCanvasRect()?.height - padding - textSize\n },\n fill: 'rgb(100, 100, 100)',\n fillOpacity: 0.25,\n },\n },\n ],\n player: {\n visible: true,\n auto: autoPlay,\n interval: interval,\n loop: loop,\n alternate: false,\n position: 'middle',\n orient: position,\n type: 'discrete',\n specs,\n controller: {\n visible: true,\n start: { visible: true, order: 0, style: { fill: startButtonColor } },\n pause: { visible: true, order: 1, style: { fill: pauseButtonColor } },\n backward: { visible: true, order: 2, style: { fill: backwardButtonColor } },\n forward: { visible: true, order: 3, position: 'end', style: { fill: forwardButtonColor } },\n },\n slider: {\n visible: true,\n railStyle: {\n visible: true,\n fill: railColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n trackStyle: {\n visible: true,\n fill: trackColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n handlerStyle: {\n visible: true,\n lineWidth: 2,\n stroke: sliderHandleBorderColor,\n fill: sliderHandleColor,\n size: 9,\n },\n },\n } as IPlayerSpec,\n } as unknown as ISpec\n}\n"],"names":["playerBar","spec","context","advancedVSeed","dimensions","datasetReshapeInfo","chartType","encoding","baseConfig","result","datasetYX","player","fontFamily","textSize","id","unfoldInfo","foldInfo","encodingPlayer","encodingY","measureValue","maxCount","autoPlay","interval","loop","position","railColor","trackColor","sliderHandleColor","sliderHandleBorderColor","startButtonColor","pauseButtonColor","backwardButtonColor","forwardButtonColor","duration","exchangeDuration","dataGroups","groupBy","item","yValues","uniqueBy","d","specs","Object","items","filledItems","yValue","sortedItems","a","b","dataKey","padding","undefined","datum","_datum","ctx"],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ const playerColumn = (spec, context)=>{
|
|
|
7
7
|
const result = datasetXY(spec, context);
|
|
8
8
|
if (!baseConfig || !baseConfig.player) return result;
|
|
9
9
|
const { player } = baseConfig;
|
|
10
|
+
const fontFamily = player.fontFamily || baseConfig.fontFamily;
|
|
11
|
+
const textSize = player.fontSize ?? 36;
|
|
10
12
|
const id = datasetReshapeInfo[0].id;
|
|
11
13
|
const { unfoldInfo, foldInfo } = datasetReshapeInfo[0];
|
|
12
14
|
const { encodingPlayer, encodingX } = unfoldInfo;
|
|
@@ -31,7 +33,6 @@ const playerColumn = (spec, context)=>{
|
|
|
31
33
|
const duration = interval;
|
|
32
34
|
const exchangeDuration = 0.6 * interval;
|
|
33
35
|
const dataKey = dimensions.filter((d)=>!encoding.player?.includes(d.id)).map((d)=>d.id);
|
|
34
|
-
const textSize = 36;
|
|
35
36
|
const padding = 12;
|
|
36
37
|
return {
|
|
37
38
|
...result,
|
|
@@ -121,6 +122,7 @@ const playerColumn = (spec, context)=>{
|
|
|
121
122
|
textBaseline: 'bottom',
|
|
122
123
|
fontSize: textSize,
|
|
123
124
|
textAlign: 'right',
|
|
125
|
+
fontFamily,
|
|
124
126
|
text: (datum)=>datum[encodingPlayer],
|
|
125
127
|
x: (_datum, ctx)=>ctx.vchart.getChart().getCanvasRect()?.width - padding,
|
|
126
128
|
y: (_datum, _ctx)=>textSize + padding,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/player/playerColumn.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/player/playerColumn.ts"],"sourcesContent":["import type { IPlayerSpec, ISpec } from '@visactor/vchart'\nimport { groupBy, uniqueBy } from 'remeda'\nimport type { Player, VChartSpecPipe } from 'src/types'\nimport { datasetXY } from '../dataset'\n\nexport const playerColumn: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dimensions = [], datasetReshapeInfo, chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { player: Player }\n const result = datasetXY(spec, context)\n\n if (!baseConfig || !baseConfig.player) {\n return result\n }\n const { player } = baseConfig\n\n const id = datasetReshapeInfo[0].id\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n const { encodingPlayer, encodingX } = unfoldInfo\n const { measureValue } = foldInfo\n const {\n maxCount,\n autoPlay = true,\n interval = 1000,\n loop = false,\n position,\n railColor,\n trackColor,\n sliderHandleColor,\n sliderHandleBorderColor,\n startButtonColor,\n pauseButtonColor,\n backwardButtonColor,\n forwardButtonColor,\n } = player\n\n const dataGroups = groupBy(advancedVSeed.dataset, (item) => item[encodingPlayer])\n if (result.data && 'values' in result.data) {\n result.data.values = []\n }\n\n const xValues = uniqueBy(\n advancedVSeed.dataset.map((d) => d[encodingX]),\n (item) => item,\n )\n const specs = Object.values(dataGroups).map((items) => {\n // 如果当前items中不存在xValues中的值, 则填充为0, 保证每组都有同样的xValue, 都有对应的数据\n const filledItems = items.map((item) => ({\n ...item,\n [encodingX]: xValues.find((xValue) => xValue === item[encodingX]) || 0,\n }))\n const sortedItems = filledItems.sort((a, b) => b[measureValue] - a[measureValue])\n return {\n data: {\n id: id,\n values: maxCount === false ? sortedItems : sortedItems.slice(0, maxCount as number),\n },\n }\n })\n\n const duration = interval\n const exchangeDuration = interval * 0.6\n\n const dataKey = dimensions.filter((d) => !encoding.player?.includes(d.id)).map((d) => d.id)\n\n const
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/player/playerColumn.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/player/playerColumn.ts"],"sourcesContent":["import type { IPlayerSpec, ISpec } from '@visactor/vchart'\nimport { groupBy, uniqueBy } from 'remeda'\nimport type { Player, VChartSpecPipe } from 'src/types'\nimport { datasetXY } from '../dataset'\n\nexport const playerColumn: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dimensions = [], datasetReshapeInfo, chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { fontFamily?: string; player: Player }\n const result = datasetXY(spec, context)\n\n if (!baseConfig || !baseConfig.player) {\n return result\n }\n const { player } = baseConfig\n const fontFamily = player.fontFamily || baseConfig.fontFamily\n const textSize = player.fontSize ?? 36\n\n const id = datasetReshapeInfo[0].id\n const { unfoldInfo, foldInfo } = datasetReshapeInfo[0]\n const { encodingPlayer, encodingX } = unfoldInfo\n const { measureValue } = foldInfo\n const {\n maxCount,\n autoPlay = true,\n interval = 1000,\n loop = false,\n position,\n railColor,\n trackColor,\n sliderHandleColor,\n sliderHandleBorderColor,\n startButtonColor,\n pauseButtonColor,\n backwardButtonColor,\n forwardButtonColor,\n } = player\n\n const dataGroups = groupBy(advancedVSeed.dataset, (item) => item[encodingPlayer])\n if (result.data && 'values' in result.data) {\n result.data.values = []\n }\n\n const xValues = uniqueBy(\n advancedVSeed.dataset.map((d) => d[encodingX]),\n (item) => item,\n )\n const specs = Object.values(dataGroups).map((items) => {\n // 如果当前items中不存在xValues中的值, 则填充为0, 保证每组都有同样的xValue, 都有对应的数据\n const filledItems = items.map((item) => ({\n ...item,\n [encodingX]: xValues.find((xValue) => xValue === item[encodingX]) || 0,\n }))\n const sortedItems = filledItems.sort((a, b) => b[measureValue] - a[measureValue])\n return {\n data: {\n id: id,\n values: maxCount === false ? sortedItems : sortedItems.slice(0, maxCount as number),\n },\n }\n })\n\n const duration = interval\n const exchangeDuration = interval * 0.6\n\n const dataKey = dimensions.filter((d) => !encoding.player?.includes(d.id)).map((d) => d.id)\n\n const padding = 12\n return {\n ...result,\n dataKey,\n stackCornerRadius: undefined,\n animationUpdate: {\n bar: [\n {\n type: 'update',\n options: { excludeChannels: ['x'] },\n easing: 'linear',\n duration,\n },\n {\n channel: ['x'],\n easing: 'circInOut',\n duration: exchangeDuration,\n },\n ],\n point: [\n {\n type: 'update',\n easing: 'linear',\n duration,\n },\n ],\n line: [\n {\n type: 'update',\n easing: 'linear',\n duration,\n },\n ],\n axis: {\n duration: exchangeDuration,\n easing: 'circInOut',\n },\n },\n animationEnter: {\n bar: [\n {\n type: 'moveIn',\n duration: exchangeDuration,\n easing: 'circInOut',\n options: {\n direction: 'x',\n orient: 'negative',\n },\n },\n ],\n },\n animationExit: {\n bar: [\n {\n type: 'moveOut',\n options: {\n direction: 'y',\n orient: 'negative',\n },\n duration: exchangeDuration,\n },\n {\n type: 'moveOut',\n options: {\n direction: 'x',\n orient: 'negative',\n },\n duration: exchangeDuration,\n },\n {\n type: 'fadeOut',\n duration: exchangeDuration,\n },\n ],\n },\n customMark: [\n {\n type: 'text',\n dataId: 'year',\n style: {\n textBaseline: 'bottom',\n fontSize: textSize,\n textAlign: 'right',\n fontFamily,\n text: (datum: any) => datum[encodingPlayer],\n x: (_datum: any, ctx: any) => {\n return ctx.vchart.getChart().getCanvasRect()?.width - padding\n },\n y: (_datum: any, _ctx: any) => {\n return textSize + padding\n },\n fill: 'rgb(100, 100, 100)',\n fillOpacity: 0.25,\n },\n },\n ],\n player: {\n visible: true,\n auto: autoPlay,\n interval: interval,\n loop: loop,\n alternate: false,\n position: 'middle',\n orient: position,\n type: 'discrete',\n specs,\n controller: {\n visible: true,\n start: { visible: true, order: 0, style: { fill: startButtonColor } },\n pause: { visible: true, order: 1, style: { fill: pauseButtonColor } },\n backward: { visible: true, order: 2, style: { fill: backwardButtonColor } },\n forward: { visible: true, order: 3, position: 'end', style: { fill: forwardButtonColor } },\n },\n slider: {\n visible: true,\n railStyle: {\n visible: true,\n fill: railColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n trackStyle: {\n visible: true,\n fill: trackColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n handlerStyle: {\n visible: true,\n lineWidth: 2,\n stroke: sliderHandleBorderColor,\n fill: sliderHandleColor,\n size: 9,\n },\n },\n } as IPlayerSpec,\n } as unknown as ISpec\n}\n"],"names":["playerColumn","spec","context","advancedVSeed","dimensions","datasetReshapeInfo","chartType","encoding","baseConfig","result","datasetXY","player","fontFamily","textSize","id","unfoldInfo","foldInfo","encodingPlayer","encodingX","measureValue","maxCount","autoPlay","interval","loop","position","railColor","trackColor","sliderHandleColor","sliderHandleBorderColor","startButtonColor","pauseButtonColor","backwardButtonColor","forwardButtonColor","dataGroups","groupBy","item","xValues","uniqueBy","d","specs","Object","items","filledItems","xValue","sortedItems","a","b","duration","exchangeDuration","dataKey","padding","undefined","datum","_datum","ctx","_ctx"],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ const playerPie = (spec, context)=>{
|
|
|
7
7
|
const result = datasetXY(spec, context);
|
|
8
8
|
if (!baseConfig || !baseConfig.player) return result;
|
|
9
9
|
const { player } = baseConfig;
|
|
10
|
+
const fontFamily = player.fontFamily || baseConfig.fontFamily;
|
|
11
|
+
const textSize = player.fontSize ?? 36;
|
|
10
12
|
const id = datasetReshapeInfo[0].id;
|
|
11
13
|
const { unfoldInfo } = datasetReshapeInfo[0];
|
|
12
14
|
const { encodingPlayer } = unfoldInfo;
|
|
@@ -26,7 +28,6 @@ const playerPie = (spec, context)=>{
|
|
|
26
28
|
const duration = interval;
|
|
27
29
|
const exchangeDuration = 0.6 * interval;
|
|
28
30
|
const dataKey = dimensions.filter((d)=>!encoding.player?.includes(d.id)).map((d)=>d.id);
|
|
29
|
-
const textSize = 36;
|
|
30
31
|
const padding = 12;
|
|
31
32
|
return {
|
|
32
33
|
...result,
|
|
@@ -96,6 +97,7 @@ const playerPie = (spec, context)=>{
|
|
|
96
97
|
textBaseline: 'bottom',
|
|
97
98
|
fontSize: textSize,
|
|
98
99
|
textAlign: 'right',
|
|
100
|
+
fontFamily,
|
|
99
101
|
text: (datum)=>datum[encodingPlayer],
|
|
100
102
|
x: (_datum, ctx)=>ctx.vchart.getChart().getCanvasRect()?.width - padding,
|
|
101
103
|
y: (_datum, _ctx)=>textSize + padding,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/player/playerPie.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/player/playerPie.ts"],"sourcesContent":["import type { IPlayerSpec, ISpec } from '@visactor/vchart'\nimport { groupBy } from 'remeda'\nimport type { Player, VChartSpecPipe } from 'src/types'\nimport { datasetXY } from '../dataset'\n\nexport const playerPie: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dimensions = [], datasetReshapeInfo, chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { player: Player }\n const result = datasetXY(spec, context)\n\n if (!baseConfig || !baseConfig.player) {\n return result\n }\n const { player } = baseConfig\n\n const id = datasetReshapeInfo[0].id\n const { unfoldInfo } = datasetReshapeInfo[0]\n const { encodingPlayer } = unfoldInfo\n const {\n maxCount,\n autoPlay = true,\n interval = 1000,\n loop = false,\n position,\n railColor,\n trackColor,\n sliderHandleColor,\n sliderHandleBorderColor,\n startButtonColor,\n pauseButtonColor,\n backwardButtonColor,\n forwardButtonColor,\n } = player\n\n const dataGroups = groupBy(advancedVSeed.dataset, (item) => item[encodingPlayer])\n if (result.data && 'values' in result.data) {\n result.data.values = []\n }\n\n const specs = Object.keys(dataGroups)\n .sort()\n .map((key) => {\n const items = dataGroups[key]\n const sortedItems = items\n return {\n data: {\n id: id,\n values: maxCount === false ? sortedItems : sortedItems.slice(0, maxCount as number),\n },\n }\n })\n\n const duration = interval\n const exchangeDuration = interval * 0.6\n\n const dataKey = dimensions.filter((d) => !encoding.player?.includes(d.id)).map((d) => d.id)\n\n const
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/player/playerPie.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/player/playerPie.ts"],"sourcesContent":["import type { IPlayerSpec, ISpec } from '@visactor/vchart'\nimport { groupBy } from 'remeda'\nimport type { Player, VChartSpecPipe } from 'src/types'\nimport { datasetXY } from '../dataset'\n\nexport const playerPie: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { dimensions = [], datasetReshapeInfo, chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { fontFamily?: string; player: Player }\n const result = datasetXY(spec, context)\n\n if (!baseConfig || !baseConfig.player) {\n return result\n }\n const { player } = baseConfig\n const fontFamily = player.fontFamily || baseConfig.fontFamily\n const textSize = player.fontSize ?? 36\n\n const id = datasetReshapeInfo[0].id\n const { unfoldInfo } = datasetReshapeInfo[0]\n const { encodingPlayer } = unfoldInfo\n const {\n maxCount,\n autoPlay = true,\n interval = 1000,\n loop = false,\n position,\n railColor,\n trackColor,\n sliderHandleColor,\n sliderHandleBorderColor,\n startButtonColor,\n pauseButtonColor,\n backwardButtonColor,\n forwardButtonColor,\n } = player\n\n const dataGroups = groupBy(advancedVSeed.dataset, (item) => item[encodingPlayer])\n if (result.data && 'values' in result.data) {\n result.data.values = []\n }\n\n const specs = Object.keys(dataGroups)\n .sort()\n .map((key) => {\n const items = dataGroups[key]\n const sortedItems = items\n return {\n data: {\n id: id,\n values: maxCount === false ? sortedItems : sortedItems.slice(0, maxCount as number),\n },\n }\n })\n\n const duration = interval\n const exchangeDuration = interval * 0.6\n\n const dataKey = dimensions.filter((d) => !encoding.player?.includes(d.id)).map((d) => d.id)\n\n const padding = 12\n return {\n ...result,\n dataKey,\n stackCornerRadius: undefined,\n animationUpdate: {\n pie: [\n {\n type: 'update',\n options: { excludeChannels: ['angle', 'startAngle', 'endAngle'] },\n easing: 'linear',\n duration,\n },\n {\n channel: ['angle', 'startAngle', 'endAngle'],\n easing: 'circInOut',\n duration: exchangeDuration,\n },\n ],\n point: [\n {\n type: 'update',\n easing: 'linear',\n duration,\n },\n ],\n line: [\n {\n type: 'update',\n easing: 'linear',\n duration,\n },\n ],\n },\n animationEnter: {\n pie: [\n {\n type: 'update',\n duration: exchangeDuration,\n easing: 'circInOut',\n },\n ],\n },\n animationExit: {\n pie: [\n {\n type: 'fadeOut',\n duration: exchangeDuration,\n },\n ],\n },\n customMark: [\n {\n type: 'text',\n dataId: 'year',\n style: {\n textBaseline: 'bottom',\n fontSize: textSize,\n textAlign: 'right',\n fontFamily,\n text: (datum: any) => datum[encodingPlayer],\n x: (_datum: any, ctx: any) => {\n return ctx.vchart.getChart().getCanvasRect()?.width - padding\n },\n y: (_datum: any, _ctx: any) => {\n return textSize + padding\n },\n fill: 'rgb(100, 100, 100)',\n fillOpacity: 0.25,\n },\n },\n ],\n player: {\n visible: true,\n auto: autoPlay,\n interval: interval,\n loop: loop,\n alternate: false,\n position: 'middle',\n orient: position,\n type: 'discrete',\n specs,\n controller: {\n visible: true,\n start: { visible: true, order: 0, style: { fill: startButtonColor } },\n pause: { visible: true, order: 1, style: { fill: pauseButtonColor } },\n backward: { visible: true, order: 2, style: { fill: backwardButtonColor } },\n forward: { visible: true, order: 3, position: 'end', style: { fill: forwardButtonColor } },\n },\n slider: {\n visible: true,\n railStyle: {\n visible: true,\n fill: railColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n trackStyle: {\n visible: true,\n fill: trackColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n handlerStyle: {\n visible: true,\n lineWidth: 2,\n stroke: sliderHandleBorderColor,\n fill: sliderHandleColor,\n size: 9,\n },\n },\n } as IPlayerSpec,\n } as unknown as ISpec\n}\n"],"names":["playerPie","spec","context","advancedVSeed","dimensions","datasetReshapeInfo","chartType","encoding","baseConfig","result","datasetXY","player","fontFamily","textSize","id","unfoldInfo","encodingPlayer","maxCount","autoPlay","interval","loop","position","railColor","trackColor","sliderHandleColor","sliderHandleBorderColor","startButtonColor","pauseButtonColor","backwardButtonColor","forwardButtonColor","dataGroups","groupBy","item","specs","Object","key","items","sortedItems","duration","exchangeDuration","dataKey","d","padding","undefined","datum","_datum","ctx","_ctx"],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ const playerScatter = (spec, context)=>{
|
|
|
7
7
|
const result = datasetScatter(spec, context);
|
|
8
8
|
if (!baseConfig || !baseConfig.player) return result;
|
|
9
9
|
const { player } = baseConfig;
|
|
10
|
+
const fontFamily = player.fontFamily || baseConfig.fontFamily;
|
|
11
|
+
const textSize = player.fontSize ?? 36;
|
|
10
12
|
const id = datasetReshapeInfo[0].id;
|
|
11
13
|
const { unfoldInfo } = datasetReshapeInfo[0];
|
|
12
14
|
const { encodingPlayer } = unfoldInfo;
|
|
@@ -24,7 +26,6 @@ const playerScatter = (spec, context)=>{
|
|
|
24
26
|
const exchangeDuration = 0.6 * interval;
|
|
25
27
|
const dataKey = dimensions.filter((d)=>!encoding.player?.includes(d.id)).map((d)=>d.id);
|
|
26
28
|
const padding = 12;
|
|
27
|
-
const textSize = 36;
|
|
28
29
|
return {
|
|
29
30
|
...result,
|
|
30
31
|
dataKey,
|
|
@@ -97,7 +98,7 @@ const playerScatter = (spec, context)=>{
|
|
|
97
98
|
textBaseline: 'bottom',
|
|
98
99
|
fontSize: textSize,
|
|
99
100
|
textAlign: 'right',
|
|
100
|
-
fontFamily
|
|
101
|
+
fontFamily,
|
|
101
102
|
fontWeight: 600,
|
|
102
103
|
text: (datum)=>datum[encodingPlayer],
|
|
103
104
|
x: (datum, ctx)=>ctx.vchart.getChart().getCanvasRect()?.width - padding,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/chart/pipes/player/playerScatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/player/playerScatter.ts"],"sourcesContent":["import type { IPlayerSpec, ISpec } from '@visactor/vchart'\nimport { groupBy } from 'remeda'\nimport type { Player, VChartSpecPipe } from 'src/types'\nimport { datasetScatter } from '../dataset'\n\nexport const playerScatter: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dimensions = [], chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { player: Player }\n const result = datasetScatter(spec, context)\n\n if (!baseConfig || !baseConfig.player) {\n return result\n }\n const { player } = baseConfig\n\n const id = datasetReshapeInfo[0].id\n const { unfoldInfo } = datasetReshapeInfo[0]\n const { encodingPlayer } = unfoldInfo\n const {\n autoPlay = true,\n interval = 1000,\n loop = false,\n position,\n railColor,\n trackColor,\n sliderHandleColor,\n sliderHandleBorderColor,\n startButtonColor,\n pauseButtonColor,\n backwardButtonColor,\n forwardButtonColor,\n } = player\n\n const { maxCount } = player\n\n const dataGroups = groupBy(advancedVSeed.dataset, (item) => item[encodingPlayer])\n if (result.data && 'values' in result.data) {\n result.data.values = []\n }\n const specs = Object.values(dataGroups).map((items) => ({\n data: {\n id: id,\n values: maxCount ? items.slice(0, maxCount) : items,\n },\n }))\n\n const duration = interval\n const exchangeDuration = interval * 0.6\n const dataKey = dimensions.filter((d) => !encoding.player?.includes(d.id)).map((d) => d.id)\n const padding = 12\n
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/player/playerScatter.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/player/playerScatter.ts"],"sourcesContent":["import type { IPlayerSpec, ISpec } from '@visactor/vchart'\nimport { groupBy } from 'remeda'\nimport type { Player, VChartSpecPipe } from 'src/types'\nimport { datasetScatter } from '../dataset'\n\nexport const playerScatter: VChartSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { datasetReshapeInfo, dimensions = [], chartType, encoding } = advancedVSeed\n const baseConfig = advancedVSeed.config[chartType] as { fontFamily?: string; player: Player }\n const result = datasetScatter(spec, context)\n\n if (!baseConfig || !baseConfig.player) {\n return result\n }\n const { player } = baseConfig\n const fontFamily = player.fontFamily || baseConfig.fontFamily\n const textSize = player.fontSize ?? 36\n\n const id = datasetReshapeInfo[0].id\n const { unfoldInfo } = datasetReshapeInfo[0]\n const { encodingPlayer } = unfoldInfo\n const {\n autoPlay = true,\n interval = 1000,\n loop = false,\n position,\n railColor,\n trackColor,\n sliderHandleColor,\n sliderHandleBorderColor,\n startButtonColor,\n pauseButtonColor,\n backwardButtonColor,\n forwardButtonColor,\n } = player\n\n const { maxCount } = player\n\n const dataGroups = groupBy(advancedVSeed.dataset, (item) => item[encodingPlayer])\n if (result.data && 'values' in result.data) {\n result.data.values = []\n }\n const specs = Object.values(dataGroups).map((items) => ({\n data: {\n id: id,\n values: maxCount ? items.slice(0, maxCount) : items,\n },\n }))\n\n const duration = interval\n const exchangeDuration = interval * 0.6\n const dataKey = dimensions.filter((d) => !encoding.player?.includes(d.id)).map((d) => d.id)\n const padding = 12\n return {\n ...result,\n dataKey,\n stackCornerRadius: undefined,\n animationUpdate: {\n bar: [\n {\n type: 'update',\n options: { excludeChannels: ['x'] },\n easing: 'linear',\n duration,\n },\n {\n channel: ['x'],\n easing: 'circInOut',\n duration: exchangeDuration,\n },\n ],\n point: [\n {\n type: 'update',\n easing: 'linear',\n duration,\n },\n ],\n line: [\n {\n type: 'update',\n easing: 'linear',\n duration,\n },\n ],\n axis: {\n duration: exchangeDuration,\n easing: 'circInOut',\n },\n },\n animationEnter: {\n bar: [\n {\n type: 'moveIn',\n duration: exchangeDuration,\n easing: 'circInOut',\n options: {\n direction: 'x',\n orient: 'negative',\n },\n },\n ],\n },\n animationExit: {\n bar: [\n {\n type: 'fadeOut',\n duration: exchangeDuration,\n },\n ],\n },\n customMark: [\n {\n type: 'text',\n dataId: 'year',\n style: {\n textBaseline: 'bottom',\n fontSize: textSize,\n textAlign: 'right',\n fontFamily,\n fontWeight: 600,\n text: (datum: any) => datum[encodingPlayer],\n x: (datum: any, ctx: any) => {\n return ctx.vchart.getChart().getCanvasRect()?.width - padding\n },\n y: (datum: any, ctx: any) => {\n return ctx.vchart.getChart().getCanvasRect()?.height - padding - textSize\n },\n fill: 'grey',\n fillOpacity: 0.5,\n },\n },\n ],\n player: {\n visible: true,\n auto: autoPlay,\n interval: interval,\n loop: loop,\n alternate: false,\n position: 'middle',\n orient: position,\n type: 'discrete',\n specs,\n controller: {\n visible: true,\n start: { visible: true, order: 0, style: { fill: startButtonColor } },\n pause: { visible: true, order: 1, style: { fill: pauseButtonColor } },\n backward: { visible: true, order: 2, style: { fill: backwardButtonColor } },\n forward: { visible: true, order: 3, position: 'end', style: { fill: forwardButtonColor } },\n },\n slider: {\n visible: true,\n railStyle: {\n visible: true,\n fill: railColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n trackStyle: {\n visible: true,\n fill: trackColor,\n [position === 'top' || position === 'bottom' ? 'height' : 'width']: 2,\n },\n handlerStyle: {\n visible: true,\n lineWidth: 2,\n stroke: sliderHandleBorderColor,\n fill: sliderHandleColor,\n size: 9,\n },\n },\n } as IPlayerSpec,\n } as unknown as ISpec\n}\n"],"names":["playerScatter","spec","context","advancedVSeed","datasetReshapeInfo","dimensions","chartType","encoding","baseConfig","result","datasetScatter","player","fontFamily","textSize","id","unfoldInfo","encodingPlayer","autoPlay","interval","loop","position","railColor","trackColor","sliderHandleColor","sliderHandleBorderColor","startButtonColor","pauseButtonColor","backwardButtonColor","forwardButtonColor","maxCount","dataGroups","groupBy","item","specs","Object","items","duration","exchangeDuration","dataKey","d","padding","undefined","datum","ctx"],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
const fontFamilyTheme = (spec, context)=>{
|
|
2
|
+
const result = {
|
|
3
|
+
...spec
|
|
4
|
+
};
|
|
5
|
+
const { advancedVSeed } = context;
|
|
6
|
+
const chartConfig = advancedVSeed.config?.[advancedVSeed.chartType] || {};
|
|
7
|
+
if (!chartConfig.fontFamily) return result;
|
|
8
|
+
const theme = 'object' != typeof result.theme || null === result.theme || Array.isArray(result.theme) ? {} : result.theme;
|
|
9
|
+
result.theme = {
|
|
10
|
+
...theme,
|
|
11
|
+
fontFamily: chartConfig.fontFamily
|
|
12
|
+
};
|
|
13
|
+
return result;
|
|
14
|
+
};
|
|
15
|
+
export { fontFamilyTheme };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=fontFamily.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pipeline/spec/chart/pipes/theme/fontFamily.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/chart/pipes/theme/fontFamily.ts"],"sourcesContent":["import type { VChartSpecPipe } from 'src/types'\n\ntype FontFamilyAwareChartConfig = {\n fontFamily?: string\n}\n\nexport const fontFamilyTheme: VChartSpecPipe = (spec, context) => {\n const result = { ...spec } as Record<string, unknown>\n const { advancedVSeed } = context\n const chartConfig = (advancedVSeed.config?.[advancedVSeed.chartType] || {}) as FontFamilyAwareChartConfig\n\n if (!chartConfig.fontFamily) {\n return result\n }\n\n const theme =\n typeof result.theme === 'object' && result.theme !== null && !Array.isArray(result.theme)\n ? (result.theme as Record<string, unknown>)\n : {}\n\n result.theme = {\n ...theme,\n fontFamily: chartConfig.fontFamily,\n }\n\n return result\n}\n"],"names":["fontFamilyTheme","spec","context","result","advancedVSeed","chartConfig","theme","Array"],"mappings":"AAMO,MAAMA,kBAAkC,CAACC,MAAMC;IACpD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAMG,cAAeD,cAAc,MAAM,EAAE,CAACA,cAAc,SAAS,CAAC,IAAI,CAAC;IAEzE,IAAI,CAACC,YAAY,UAAU,EACzB,OAAOF;IAGT,MAAMG,QACJ,AAAwB,YAAxB,OAAOH,OAAO,KAAK,IAAiBA,AAAiB,SAAjBA,OAAO,KAAK,IAAcI,MAAM,OAAO,CAACJ,OAAO,KAAK,IAEpF,CAAC,IADAA,OAAO,KAAK;IAGnBA,OAAO,KAAK,GAAG;QACb,GAAGG,KAAK;QACR,YAAYD,YAAY,UAAU;IACpC;IAEA,OAAOF;AACT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { fontFamilyTheme } from './fontFamily';
|
|
@@ -10,6 +10,7 @@ const bodyStyle = (spec, context)=>{
|
|
|
10
10
|
const backgroundColor = themeConfig.bodyBackgroundColor || '#fff';
|
|
11
11
|
const fontColor = themeConfig.bodyFontColor || '#1B1F23';
|
|
12
12
|
const fontSize = themeConfig.bodyFontSize || 12;
|
|
13
|
+
const fontFamily = themeConfig.bodyFontFamily;
|
|
13
14
|
const hoverCellBgColor = themeConfig.hoverBodyBackgroundColor || '#bedaff';
|
|
14
15
|
const hoverInlineColor = themeConfig.hoverBodyInlineBackgroundColor || '#bedaff';
|
|
15
16
|
if (!result.theme) result.theme = {};
|
|
@@ -30,6 +31,7 @@ const bodyStyle = (spec, context)=>{
|
|
|
30
31
|
},
|
|
31
32
|
color: fontColor,
|
|
32
33
|
fontSize: fontSize,
|
|
34
|
+
fontFamily: fontFamily,
|
|
33
35
|
fontStyle: 'normal',
|
|
34
36
|
fontWeight: 'normal',
|
|
35
37
|
fontVariant: 'normal',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/table/pipes/theme/bodyStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/theme/bodyStyle.ts"],"sourcesContent":["import type { PivotTableSpecPipe, TableConfig } from 'src/types'\nimport type { ThemeLike, WithTheme } from './type'\n\nexport const bodyStyle: PivotTableSpecPipe = (spec, context) => {\n const result = { ...spec } as Partial<typeof spec> & WithTheme\n const { advancedVSeed } = context\n const { chartType, config } = advancedVSeed\n const themeConfig = config?.[chartType] as TableConfig\n\n if (!result.theme || !themeConfig) return result\n\n // basic\n const borderColor = themeConfig.borderColor || 'rgb(224, 224, 224)'\n const backgroundColor = themeConfig.bodyBackgroundColor || '#fff'\n const fontColor = themeConfig.bodyFontColor || '#1B1F23'\n const fontSize = themeConfig.bodyFontSize || 12\n // Interaction\n const hoverCellBgColor = themeConfig.hoverBodyBackgroundColor || '#bedaff'\n const hoverInlineColor = themeConfig.hoverBodyInlineBackgroundColor || '#bedaff'\n\n if (!result.theme) result.theme = {}\n ;(result.theme as ThemeLike).bodyStyle = {\n borderColor: borderColor,\n borderLineWidth: 1,\n padding: [8, 12, 8, 12],\n textAlign: 'right',\n hover: {\n cellBgColor: hoverCellBgColor,\n inlineRowBgColor: hoverInlineColor,\n inlineColumnBgColor: hoverInlineColor,\n },\n color: fontColor,\n fontSize: fontSize,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontVariant: 'normal',\n bgColor: backgroundColor,\n lineHeight: fontSize * 1.5,\n }\n\n return result\n}\n"],"names":["bodyStyle","spec","context","result","advancedVSeed","chartType","config","themeConfig","borderColor","backgroundColor","fontColor","fontSize","hoverCellBgColor","hoverInlineColor"],"mappings":"AAGO,MAAMA,YAAgC,CAACC,MAAMC;IAClD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,SAAS,EAAEC,MAAM,EAAE,GAAGF;IAC9B,MAAMG,cAAcD,QAAQ,CAACD,UAAU;IAEvC,IAAI,CAACF,OAAO,KAAK,IAAI,CAACI,aAAa,OAAOJ;IAG1C,MAAMK,cAAcD,YAAY,WAAW,IAAI;IAC/C,MAAME,kBAAkBF,YAAY,mBAAmB,IAAI;IAC3D,MAAMG,YAAYH,YAAY,aAAa,IAAI;IAC/C,MAAMI,WAAWJ,YAAY,YAAY,IAAI;
|
|
1
|
+
{"version":3,"file":"pipeline/spec/table/pipes/theme/bodyStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/theme/bodyStyle.ts"],"sourcesContent":["import type { PivotTableSpecPipe, TableConfig } from 'src/types'\nimport type { ThemeLike, WithTheme } from './type'\n\nexport const bodyStyle: PivotTableSpecPipe = (spec, context) => {\n const result = { ...spec } as Partial<typeof spec> & WithTheme\n const { advancedVSeed } = context\n const { chartType, config } = advancedVSeed\n const themeConfig = config?.[chartType] as TableConfig\n\n if (!result.theme || !themeConfig) return result\n\n // basic\n const borderColor = themeConfig.borderColor || 'rgb(224, 224, 224)'\n const backgroundColor = themeConfig.bodyBackgroundColor || '#fff'\n const fontColor = themeConfig.bodyFontColor || '#1B1F23'\n const fontSize = themeConfig.bodyFontSize || 12\n const fontFamily = themeConfig.bodyFontFamily\n // Interaction\n const hoverCellBgColor = themeConfig.hoverBodyBackgroundColor || '#bedaff'\n const hoverInlineColor = themeConfig.hoverBodyInlineBackgroundColor || '#bedaff'\n\n if (!result.theme) result.theme = {}\n ;(result.theme as ThemeLike).bodyStyle = {\n borderColor: borderColor,\n borderLineWidth: 1,\n padding: [8, 12, 8, 12],\n textAlign: 'right',\n hover: {\n cellBgColor: hoverCellBgColor,\n inlineRowBgColor: hoverInlineColor,\n inlineColumnBgColor: hoverInlineColor,\n },\n color: fontColor,\n fontSize: fontSize,\n fontFamily: fontFamily,\n fontStyle: 'normal',\n fontWeight: 'normal',\n fontVariant: 'normal',\n bgColor: backgroundColor,\n lineHeight: fontSize * 1.5,\n }\n\n return result\n}\n"],"names":["bodyStyle","spec","context","result","advancedVSeed","chartType","config","themeConfig","borderColor","backgroundColor","fontColor","fontSize","fontFamily","hoverCellBgColor","hoverInlineColor"],"mappings":"AAGO,MAAMA,YAAgC,CAACC,MAAMC;IAClD,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,SAAS,EAAEC,MAAM,EAAE,GAAGF;IAC9B,MAAMG,cAAcD,QAAQ,CAACD,UAAU;IAEvC,IAAI,CAACF,OAAO,KAAK,IAAI,CAACI,aAAa,OAAOJ;IAG1C,MAAMK,cAAcD,YAAY,WAAW,IAAI;IAC/C,MAAME,kBAAkBF,YAAY,mBAAmB,IAAI;IAC3D,MAAMG,YAAYH,YAAY,aAAa,IAAI;IAC/C,MAAMI,WAAWJ,YAAY,YAAY,IAAI;IAC7C,MAAMK,aAAaL,YAAY,cAAc;IAE7C,MAAMM,mBAAmBN,YAAY,wBAAwB,IAAI;IACjE,MAAMO,mBAAmBP,YAAY,8BAA8B,IAAI;IAEvE,IAAI,CAACJ,OAAO,KAAK,EAAEA,OAAO,KAAK,GAAG,CAAC;IACjCA,OAAO,KAAK,CAAe,SAAS,GAAG;QACvC,aAAaK;QACb,iBAAiB;QACjB,SAAS;YAAC;YAAG;YAAI;YAAG;SAAG;QACvB,WAAW;QACX,OAAO;YACL,aAAaK;YACb,kBAAkBC;YAClB,qBAAqBA;QACvB;QACA,OAAOJ;QACP,UAAUC;QACV,YAAYC;QACZ,WAAW;QACX,YAAY;QACZ,aAAa;QACb,SAASH;QACT,YAAYE,AAAW,MAAXA;IACd;IAEA,OAAOR;AACT"}
|
|
@@ -10,6 +10,7 @@ const bottomFrozenStyle = (spec, context)=>{
|
|
|
10
10
|
const backgroundColor = themConfig.headerBackgroundColor || '#EEF1F5';
|
|
11
11
|
const fontColor = themConfig.headerFontColor || '#1B1F23';
|
|
12
12
|
const fontSize = themConfig.headerFontSize || 12;
|
|
13
|
+
const fontFamily = themConfig.headerFontFamily;
|
|
13
14
|
const hoverCellBgColor = themConfig.hoverHeaderBackgroundColor || '#bedaff';
|
|
14
15
|
const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor || '#bedaff';
|
|
15
16
|
result.theme.bottomFrozenStyle = {
|
|
@@ -37,6 +38,7 @@ const bottomFrozenStyle = (spec, context)=>{
|
|
|
37
38
|
]
|
|
38
39
|
},
|
|
39
40
|
fontSize,
|
|
41
|
+
fontFamily,
|
|
40
42
|
fontVariant: 'normal',
|
|
41
43
|
fontStyle: 'normal',
|
|
42
44
|
fontWeight: 'bold',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/table/pipes/theme/bottomFrozenStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/theme/bottomFrozenStyle.ts"],"sourcesContent":["import type { PivotTableSpecPipe, TableConfig } from 'src/types'\nimport type { ThemeLike, WithTheme } from './type'\n\nexport const bottomFrozenStyle: PivotTableSpecPipe = (spec, context) => {\n const result = { ...spec } as Partial<typeof spec> & WithTheme\n const { advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = config?.[chartType] as TableConfig\n\n if (!result.theme || !themConfig) return result\n\n const borderColor = themConfig.borderColor || 'rgb(224, 224, 224)'\n const backgroundColor = themConfig.headerBackgroundColor || '#EEF1F5'\n const fontColor = themConfig.headerFontColor || '#1B1F23'\n const fontSize = themConfig.headerFontSize || 12\n const hoverCellBgColor = themConfig.hoverHeaderBackgroundColor || '#bedaff'\n const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor || '#bedaff'\n\n ;(result.theme as ThemeLike).bottomFrozenStyle = {\n borderColor,\n borderLineWidth: 1,\n padding: [8, 12, 8, 12],\n textAlign: 'center',\n hover: {\n cellBgColor: hoverCellBgColor,\n inlineRowBgColor: hoverInlineColor,\n inlineColumnBgColor: hoverInlineColor,\n },\n frameStyle: {\n borderColor,\n borderLineWidth: [0, 0, 1, 0],\n },\n fontSize,\n fontVariant: 'normal',\n fontStyle: 'normal',\n fontWeight: 'bold',\n color: fontColor,\n bgColor: backgroundColor,\n lineHeight: fontSize * 1.5,\n }\n\n return result\n}\n"],"names":["bottomFrozenStyle","spec","context","result","advancedVSeed","config","chartType","themConfig","borderColor","backgroundColor","fontColor","fontSize","hoverCellBgColor","hoverInlineColor"],"mappings":"AAGO,MAAMA,oBAAwC,CAACC,MAAMC;IAC1D,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAE,GAAGF;IAC9B,MAAMG,aAAaF,QAAQ,CAACC,UAAU;IAEtC,IAAI,CAACH,OAAO,KAAK,IAAI,CAACI,YAAY,OAAOJ;IAEzC,MAAMK,cAAcD,WAAW,WAAW,IAAI;IAC9C,MAAME,kBAAkBF,WAAW,qBAAqB,IAAI;IAC5D,MAAMG,YAAYH,WAAW,eAAe,IAAI;IAChD,MAAMI,WAAWJ,WAAW,cAAc,IAAI;IAC9C,MAAMK,
|
|
1
|
+
{"version":3,"file":"pipeline/spec/table/pipes/theme/bottomFrozenStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/theme/bottomFrozenStyle.ts"],"sourcesContent":["import type { PivotTableSpecPipe, TableConfig } from 'src/types'\nimport type { ThemeLike, WithTheme } from './type'\n\nexport const bottomFrozenStyle: PivotTableSpecPipe = (spec, context) => {\n const result = { ...spec } as Partial<typeof spec> & WithTheme\n const { advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = config?.[chartType] as TableConfig\n\n if (!result.theme || !themConfig) return result\n\n const borderColor = themConfig.borderColor || 'rgb(224, 224, 224)'\n const backgroundColor = themConfig.headerBackgroundColor || '#EEF1F5'\n const fontColor = themConfig.headerFontColor || '#1B1F23'\n const fontSize = themConfig.headerFontSize || 12\n const fontFamily = themConfig.headerFontFamily\n const hoverCellBgColor = themConfig.hoverHeaderBackgroundColor || '#bedaff'\n const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor || '#bedaff'\n\n ;(result.theme as ThemeLike).bottomFrozenStyle = {\n borderColor,\n borderLineWidth: 1,\n padding: [8, 12, 8, 12],\n textAlign: 'center',\n hover: {\n cellBgColor: hoverCellBgColor,\n inlineRowBgColor: hoverInlineColor,\n inlineColumnBgColor: hoverInlineColor,\n },\n frameStyle: {\n borderColor,\n borderLineWidth: [0, 0, 1, 0],\n },\n fontSize,\n fontFamily,\n fontVariant: 'normal',\n fontStyle: 'normal',\n fontWeight: 'bold',\n color: fontColor,\n bgColor: backgroundColor,\n lineHeight: fontSize * 1.5,\n }\n\n return result\n}\n"],"names":["bottomFrozenStyle","spec","context","result","advancedVSeed","config","chartType","themConfig","borderColor","backgroundColor","fontColor","fontSize","fontFamily","hoverCellBgColor","hoverInlineColor"],"mappings":"AAGO,MAAMA,oBAAwC,CAACC,MAAMC;IAC1D,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAE,GAAGF;IAC9B,MAAMG,aAAaF,QAAQ,CAACC,UAAU;IAEtC,IAAI,CAACH,OAAO,KAAK,IAAI,CAACI,YAAY,OAAOJ;IAEzC,MAAMK,cAAcD,WAAW,WAAW,IAAI;IAC9C,MAAME,kBAAkBF,WAAW,qBAAqB,IAAI;IAC5D,MAAMG,YAAYH,WAAW,eAAe,IAAI;IAChD,MAAMI,WAAWJ,WAAW,cAAc,IAAI;IAC9C,MAAMK,aAAaL,WAAW,gBAAgB;IAC9C,MAAMM,mBAAmBN,WAAW,0BAA0B,IAAI;IAClE,MAAMO,mBAAmBP,WAAW,gCAAgC,IAAI;IAEtEJ,OAAO,KAAK,CAAe,iBAAiB,GAAG;QAC/CK;QACA,iBAAiB;QACjB,SAAS;YAAC;YAAG;YAAI;YAAG;SAAG;QACvB,WAAW;QACX,OAAO;YACL,aAAaK;YACb,kBAAkBC;YAClB,qBAAqBA;QACvB;QACA,YAAY;YACVN;YACA,iBAAiB;gBAAC;gBAAG;gBAAG;gBAAG;aAAE;QAC/B;QACAG;QACAC;QACA,aAAa;QACb,WAAW;QACX,YAAY;QACZ,OAAOF;QACP,SAASD;QACT,YAAYE,AAAW,MAAXA;IACd;IAEA,OAAOR;AACT"}
|
|
@@ -10,6 +10,7 @@ const cornerHeaderStyle = (spec, context)=>{
|
|
|
10
10
|
const backgroundColor = themConfig.headerBackgroundColor || '#EEF1F5';
|
|
11
11
|
const fontColor = themConfig.headerFontColor || '#1B1F23';
|
|
12
12
|
const fontSize = themConfig.headerFontSize || 12;
|
|
13
|
+
const fontFamily = themConfig.headerFontFamily;
|
|
13
14
|
const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor;
|
|
14
15
|
const hoverCellColor = themConfig.hoverHeaderBackgroundColor;
|
|
15
16
|
result.theme.cornerHeaderStyle = {
|
|
@@ -40,6 +41,7 @@ const cornerHeaderStyle = (spec, context)=>{
|
|
|
40
41
|
]
|
|
41
42
|
},
|
|
42
43
|
fontSize: fontSize,
|
|
44
|
+
fontFamily: fontFamily,
|
|
43
45
|
fontVariant: 'normal',
|
|
44
46
|
fontStyle: 'normal',
|
|
45
47
|
fontWeight: 'bold',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline/spec/table/pipes/theme/cornerHeaderStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/theme/cornerHeaderStyle.ts"],"sourcesContent":["import type { PivotTableSpecPipe, TableConfig } from 'src/types'\nimport type { ThemeLike, WithTheme } from './type'\n\nexport const cornerHeaderStyle: PivotTableSpecPipe = (spec, context) => {\n const result = { ...spec } as Partial<typeof spec> & WithTheme\n const { advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = config?.[chartType] as TableConfig\n\n if (!result.theme || !themConfig) return result\n\n // basic\n const borderColor = themConfig.borderColor || 'rgb(224, 224, 224)'\n const backgroundColor = themConfig.headerBackgroundColor || '#EEF1F5'\n const fontColor = themConfig.headerFontColor || '#1B1F23'\n const fontSize = themConfig.headerFontSize || 12\n // Interaction\n const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor\n const hoverCellColor = themConfig.hoverHeaderBackgroundColor\n\n ;(result.theme as ThemeLike).cornerHeaderStyle = {\n borderColor: [borderColor, borderColor],\n borderLineWidth: 1,\n padding: [8, 12, 8, 12],\n textAlign: 'left',\n hover: {\n cellBgColor: hoverCellColor || undefined,\n inlineRowBgColor: hoverInlineColor || undefined,\n inlineColumnBgColor: hoverInlineColor || undefined,\n },\n frameStyle: {\n borderColor: borderColor,\n borderLineWidth: [0, 1, 1, 0],\n },\n fontSize: fontSize,\n fontVariant: 'normal',\n fontStyle: 'normal',\n fontWeight: 'bold',\n color: fontColor,\n bgColor: backgroundColor,\n lineHeight: fontSize * 1.5,\n }\n\n return result\n}\n"],"names":["cornerHeaderStyle","spec","context","result","advancedVSeed","config","chartType","themConfig","borderColor","backgroundColor","fontColor","fontSize","hoverInlineColor","hoverCellColor","undefined"],"mappings":"AAGO,MAAMA,oBAAwC,CAACC,MAAMC;IAC1D,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAE,GAAGF;IAC9B,MAAMG,aAAaF,QAAQ,CAACC,UAAU;IAEtC,IAAI,CAACH,OAAO,KAAK,IAAI,CAACI,YAAY,OAAOJ;IAGzC,MAAMK,cAAcD,WAAW,WAAW,IAAI;IAC9C,MAAME,kBAAkBF,WAAW,qBAAqB,IAAI;IAC5D,MAAMG,YAAYH,WAAW,eAAe,IAAI;IAChD,MAAMI,WAAWJ,WAAW,cAAc,IAAI;
|
|
1
|
+
{"version":3,"file":"pipeline/spec/table/pipes/theme/cornerHeaderStyle.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/theme/cornerHeaderStyle.ts"],"sourcesContent":["import type { PivotTableSpecPipe, TableConfig } from 'src/types'\nimport type { ThemeLike, WithTheme } from './type'\n\nexport const cornerHeaderStyle: PivotTableSpecPipe = (spec, context) => {\n const result = { ...spec } as Partial<typeof spec> & WithTheme\n const { advancedVSeed } = context\n const { config, chartType } = advancedVSeed\n const themConfig = config?.[chartType] as TableConfig\n\n if (!result.theme || !themConfig) return result\n\n // basic\n const borderColor = themConfig.borderColor || 'rgb(224, 224, 224)'\n const backgroundColor = themConfig.headerBackgroundColor || '#EEF1F5'\n const fontColor = themConfig.headerFontColor || '#1B1F23'\n const fontSize = themConfig.headerFontSize || 12\n const fontFamily = themConfig.headerFontFamily\n // Interaction\n const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor\n const hoverCellColor = themConfig.hoverHeaderBackgroundColor\n\n ;(result.theme as ThemeLike).cornerHeaderStyle = {\n borderColor: [borderColor, borderColor],\n borderLineWidth: 1,\n padding: [8, 12, 8, 12],\n textAlign: 'left',\n hover: {\n cellBgColor: hoverCellColor || undefined,\n inlineRowBgColor: hoverInlineColor || undefined,\n inlineColumnBgColor: hoverInlineColor || undefined,\n },\n frameStyle: {\n borderColor: borderColor,\n borderLineWidth: [0, 1, 1, 0],\n },\n fontSize: fontSize,\n fontFamily: fontFamily,\n fontVariant: 'normal',\n fontStyle: 'normal',\n fontWeight: 'bold',\n color: fontColor,\n bgColor: backgroundColor,\n lineHeight: fontSize * 1.5,\n }\n\n return result\n}\n"],"names":["cornerHeaderStyle","spec","context","result","advancedVSeed","config","chartType","themConfig","borderColor","backgroundColor","fontColor","fontSize","fontFamily","hoverInlineColor","hoverCellColor","undefined"],"mappings":"AAGO,MAAMA,oBAAwC,CAACC,MAAMC;IAC1D,MAAMC,SAAS;QAAE,GAAGF,IAAI;IAAC;IACzB,MAAM,EAAEG,aAAa,EAAE,GAAGF;IAC1B,MAAM,EAAEG,MAAM,EAAEC,SAAS,EAAE,GAAGF;IAC9B,MAAMG,aAAaF,QAAQ,CAACC,UAAU;IAEtC,IAAI,CAACH,OAAO,KAAK,IAAI,CAACI,YAAY,OAAOJ;IAGzC,MAAMK,cAAcD,WAAW,WAAW,IAAI;IAC9C,MAAME,kBAAkBF,WAAW,qBAAqB,IAAI;IAC5D,MAAMG,YAAYH,WAAW,eAAe,IAAI;IAChD,MAAMI,WAAWJ,WAAW,cAAc,IAAI;IAC9C,MAAMK,aAAaL,WAAW,gBAAgB;IAE9C,MAAMM,mBAAmBN,WAAW,gCAAgC;IACpE,MAAMO,iBAAiBP,WAAW,0BAA0B;IAE1DJ,OAAO,KAAK,CAAe,iBAAiB,GAAG;QAC/C,aAAa;YAACK;YAAaA;SAAY;QACvC,iBAAiB;QACjB,SAAS;YAAC;YAAG;YAAI;YAAG;SAAG;QACvB,WAAW;QACX,OAAO;YACL,aAAaM,kBAAkBC;YAC/B,kBAAkBF,oBAAoBE;YACtC,qBAAqBF,oBAAoBE;QAC3C;QACA,YAAY;YACV,aAAaP;YACb,iBAAiB;gBAAC;gBAAG;gBAAG;gBAAG;aAAE;QAC/B;QACA,UAAUG;QACV,YAAYC;QACZ,aAAa;QACb,WAAW;QACX,YAAY;QACZ,OAAOF;QACP,SAASD;QACT,YAAYE,AAAW,MAAXA;IACd;IAEA,OAAOR;AACT"}
|