@visactor/vseed 0.2.6 → 0.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/cjs/index.cjs +1 -1
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/esm/pipeline/advanced/chart/pipeline/area.js +3 -3
  4. package/dist/esm/pipeline/advanced/chart/pipeline/area.js.map +1 -1
  5. package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js +3 -3
  6. package/dist/esm/pipeline/advanced/chart/pipeline/areaPercent.js.map +1 -1
  7. package/dist/esm/pipeline/advanced/chart/pipeline/bar.js +3 -3
  8. package/dist/esm/pipeline/advanced/chart/pipeline/bar.js.map +1 -1
  9. package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js +3 -3
  10. package/dist/esm/pipeline/advanced/chart/pipeline/barParallel.js.map +1 -1
  11. package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js +3 -3
  12. package/dist/esm/pipeline/advanced/chart/pipeline/barPercent.js.map +1 -1
  13. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js +3 -3
  14. package/dist/esm/pipeline/advanced/chart/pipeline/boxplot.js.map +1 -1
  15. package/dist/esm/pipeline/advanced/chart/pipeline/column.js +3 -3
  16. package/dist/esm/pipeline/advanced/chart/pipeline/column.js.map +1 -1
  17. package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js +3 -3
  18. package/dist/esm/pipeline/advanced/chart/pipeline/columnParallel.js.map +1 -1
  19. package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js +3 -3
  20. package/dist/esm/pipeline/advanced/chart/pipeline/columnPercent.js.map +1 -1
  21. package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js +3 -3
  22. package/dist/esm/pipeline/advanced/chart/pipeline/dualAxis.js.map +1 -1
  23. package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js +3 -3
  24. package/dist/esm/pipeline/advanced/chart/pipeline/funnel.js.map +1 -1
  25. package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js +3 -3
  26. package/dist/esm/pipeline/advanced/chart/pipeline/heatmap.js.map +1 -1
  27. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js +3 -3
  28. package/dist/esm/pipeline/advanced/chart/pipeline/histogram.js.map +1 -1
  29. package/dist/esm/pipeline/advanced/chart/pipeline/line.js +3 -3
  30. package/dist/esm/pipeline/advanced/chart/pipeline/line.js.map +1 -1
  31. package/dist/esm/pipeline/advanced/chart/pipeline/radar.js +3 -3
  32. package/dist/esm/pipeline/advanced/chart/pipeline/radar.js.map +1 -1
  33. package/dist/esm/pipeline/advanced/chart/pipeline/rose.js +3 -3
  34. package/dist/esm/pipeline/advanced/chart/pipeline/rose.js.map +1 -1
  35. package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js +3 -3
  36. package/dist/esm/pipeline/advanced/chart/pipeline/roseParallel.js.map +1 -1
  37. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js +3 -3
  38. package/dist/esm/pipeline/advanced/chart/pipeline/scatter.js.map +1 -1
  39. package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js +8 -7
  40. package/dist/esm/pipeline/advanced/chart/pipes/encoding/bar.js.map +1 -1
  41. package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js +8 -7
  42. package/dist/esm/pipeline/advanced/chart/pipes/encoding/boxplot.js.map +1 -1
  43. package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.d.ts +7 -0
  44. package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.js +9 -1
  45. package/dist/esm/pipeline/advanced/chart/pipes/encoding/color/addColorToEncoding.js.map +1 -1
  46. package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js +8 -7
  47. package/dist/esm/pipeline/advanced/chart/pipes/encoding/column.js.map +1 -1
  48. package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js +16 -7
  49. package/dist/esm/pipeline/advanced/chart/pipes/encoding/dualAxis.js.map +1 -1
  50. package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js +7 -6
  51. package/dist/esm/pipeline/advanced/chart/pipes/encoding/funnel.js.map +1 -1
  52. package/dist/esm/pipeline/advanced/chart/pipes/encoding/heatmap.js.map +1 -1
  53. package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js +8 -6
  54. package/dist/esm/pipeline/advanced/chart/pipes/encoding/line.js.map +1 -1
  55. package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js +8 -6
  56. package/dist/esm/pipeline/advanced/chart/pipes/encoding/radar.js.map +1 -1
  57. package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js +8 -7
  58. package/dist/esm/pipeline/advanced/chart/pipes/encoding/rose.js.map +1 -1
  59. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js +48 -23
  60. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForDualAxis.js.map +1 -1
  61. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js +47 -23
  62. package/dist/esm/pipeline/advanced/chart/pipes/measures/buildMeasuresForScatter.js.map +1 -1
  63. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js +2 -2
  64. package/dist/esm/pipeline/advanced/chart/pipes/reshape/pivotReshapeWithDualEncoding.js.map +1 -1
  65. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js +1 -1
  66. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithDualEncoding.js.map +1 -1
  67. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js +1 -1
  68. package/dist/esm/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js.map +1 -1
  69. package/dist/esm/pipeline/spec/chart/pipes/tooltip/tooltipElement.js.map +1 -1
  70. package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js +2 -2
  71. package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js.map +1 -1
  72. package/dist/esm/pipeline/spec/table/pipeline/table.js +2 -2
  73. package/dist/esm/pipeline/spec/table/pipeline/table.js.map +1 -1
  74. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js +16 -4
  75. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js.map +1 -1
  76. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js +16 -4
  77. package/dist/esm/pipeline/spec/table/pipes/cellStyle/table.js.map +1 -1
  78. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js.map +1 -1
  79. package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.d.ts +1 -1
  80. package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.js +6 -2
  81. package/dist/esm/pipeline/spec/table/pipes/theme/frameStyle.js.map +1 -1
  82. package/dist/umd/index.js +435 -339
  83. package/dist/umd/index.js.map +1 -1
  84. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport {\n dataReshapeByEncoding,\n FoldXMeasureId,\n FoldXMeasureValue,\n FoldYMeasureId,\n FoldYMeasureValue,\n} from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n Encoding,\n FoldInfo,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const reshapeWithScatterEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding, chartType } = advancedVSeed\n const measures = advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2 groups in scatter')\n }\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const xMeasures = measures[0] as MeasureGroup\n const yMeasures = (measures[1] || xMeasures) as MeasureGroup\n\n if (xMeasures && xMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (d) => d.id),\n uniqueBy(xMeasures.children, (d) => d.id),\n encoding as Encoding,\n {\n foldMeasureValue: FoldXMeasureValue,\n foldMeasureId: FoldXMeasureId,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n },\n )\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (yMeasures && yMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n datasets[0],\n uniqueBy(dimensions, (d) => d.id),\n uniqueBy(yMeasures.children, (d) => d.id),\n encoding as Encoding,\n {\n foldMeasureValue: FoldYMeasureValue,\n foldMeasureId: FoldYMeasureId,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n },\n )\n\n datasets[0] = newDataset\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n return {\n ...result,\n dataset: datasets[0],\n\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n },\n ],\n }\n}\n"],"names":["reshapeWithScatterEncoding","advancedVSeed","context","result","vseed","dataset","encoding","chartType","measures","dimensions","Error","foldInfoList","unfoldInfoList","datasets","xMeasures","yMeasures","newDataset","foldInfo","unfoldInfo","dataReshapeByEncoding","uniqueBy","d","FoldXMeasureValue","FoldXMeasureId","getColorMeasureId","FoldYMeasureValue","FoldYMeasureId","prev","cur","String"],"mappings":";;;AAoBO,MAAMA,6BAA2C,CAACC,eAAeC;IACtE,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAE,GAAGD;IACpB,MAAM,EAAEE,QAAQ,EAAEC,SAAS,EAAE,GAAGN;IAChC,MAAMO,WAAWP,cAAc,eAAe,IAAIA,cAAc,QAAQ,IAAI,EAAE;IAC9E,MAAMQ,aAAaR,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE;IAEpF,IAAIO,SAAS,MAAM,GAAG,GACpB,MAAM,IAAIE,MAAM;IAElB,MAAMC,eAA2B,EAAE;IACnC,MAAMC,iBAA+B,EAAE;IAEvC,MAAMC,WAAsB,EAAE;IAC9B,MAAMC,YAAYN,QAAQ,CAAC,EAAE;IAC7B,MAAMO,YAAaP,QAAQ,CAAC,EAAE,IAAIM;IAElC,IAAIA,aAAaA,UAAU,QAAQ,EAAE;QACnC,MAAM,EACJ,SAASE,UAAU,EACnBC,QAAQ,EACRC,UAAU,EACX,GAAGC,sBACFd,SACAe,SAASX,YAAY,CAACY,IAAMA,EAAE,EAAE,GAChCD,SAASN,UAAU,QAAQ,EAAE,CAACO,IAAMA,EAAE,EAAE,GACxCf,UACA;YACE,kBAAkBgB;YAClB,eAAeC;YACf,eAAe;YACf,gBAAgBC,kBAAkBvB,eAAgCG;QACpE;QAGFS,SAAS,IAAI,CAACG;QACdL,aAAa,IAAI,CAACM;QAClBL,eAAe,IAAI,CAACM;IACtB;IAEA,IAAIH,aAAaA,UAAU,QAAQ,EAAE;QACnC,MAAM,EACJ,SAASC,UAAU,EACnBC,QAAQ,EACRC,UAAU,EACX,GAAGC,sBACFN,QAAQ,CAAC,EAAE,EACXO,SAASX,YAAY,CAACY,IAAMA,EAAE,EAAE,GAChCD,SAASL,UAAU,QAAQ,EAAE,CAACM,IAAMA,EAAE,EAAE,GACxCf,UACA;YACE,kBAAkBmB;YAClB,eAAeC;YACf,eAAe;YACf,gBAAgBF,kBAAkBvB,eAAgCG;QACpE;QAGFS,QAAQ,CAAC,EAAE,GAAGG;QACdL,aAAa,IAAI,CAACM;QAClBL,eAAe,IAAI,CAACM;IACtB;IAEA,MAAMA,aAAyB;QAC7B,GAAGN,cAAc,CAAC,EAAE;QACpB,YAAYA,eAAe,OAAO,CAAC,CAACS,IAAMA,EAAE,UAAU;QACtD,YAAYT,eAAe,MAAM,CAAC,CAACe,MAAMC,MAAS;gBAAE,GAAGD,IAAI;gBAAE,GAAGC,IAAI,UAAU;YAAC,IAAI,CAAC;IACtF;IAEA,OAAO;QACL,GAAGzB,MAAM;QACT,SAASU,QAAQ,CAAC,EAAE;QAEpB,oBAAoB;YAClB;gBACE,IAAIgB,OAAOtB;gBACX,OAAO;gBACP,UAAUI,YAAY,CAAC,EAAE;gBACzB,cAAcA;gBACd,YAAYO;YACd;SACD;IACH;AACF"}
1
+ {"version":3,"file":"pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.js","sources":["../../../../../../../src/pipeline/advanced/chart/pipes/reshape/reshapeWithScatterEncoding.ts"],"sourcesContent":["import { uniqueBy } from 'remeda'\nimport {\n dataReshapeByEncoding,\n FoldXMeasureId,\n FoldXMeasureValue,\n FoldYMeasureId,\n FoldYMeasureValue,\n} from 'src/dataReshape'\nimport { getColorMeasureId } from 'src/pipeline/spec/chart/pipes'\nimport type {\n AdvancedPipe,\n AdvancedVSeed,\n ColumnParallel,\n Dataset,\n Encoding,\n FoldInfo,\n Measure,\n MeasureGroup,\n UnfoldInfo,\n} from 'src/types'\n\nexport const reshapeWithScatterEncoding: AdvancedPipe = (advancedVSeed, context) => {\n const result = { ...advancedVSeed }\n const { vseed } = context\n const { dataset } = vseed as ColumnParallel\n const { encoding, chartType } = advancedVSeed\n const measures = (advancedVSeed.reshapeMeasures ?? advancedVSeed.measures ?? []).filter(\n (m: Measure | MeasureGroup) => m && (m as MeasureGroup).children,\n )\n const dimensions = advancedVSeed.reshapeDimensions ?? advancedVSeed.dimensions ?? []\n\n if (measures.length > 2) {\n throw new Error('measures can not be more than 2 groups in scatter')\n }\n const foldInfoList: FoldInfo[] = []\n const unfoldInfoList: UnfoldInfo[] = []\n\n const datasets: Dataset[] = []\n const xMeasures = measures[0] as MeasureGroup\n const yMeasures = (measures[1] || xMeasures) as MeasureGroup\n\n if (xMeasures && xMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n dataset,\n uniqueBy(dimensions, (d) => d.id),\n uniqueBy(xMeasures.children, (d) => d.id),\n encoding as Encoding,\n {\n foldMeasureValue: FoldXMeasureValue,\n foldMeasureId: FoldXMeasureId,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n },\n )\n\n datasets.push(newDataset)\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n if (yMeasures && yMeasures.children) {\n const {\n dataset: newDataset,\n foldInfo,\n unfoldInfo,\n } = dataReshapeByEncoding(\n datasets[0],\n uniqueBy(dimensions, (d) => d.id),\n uniqueBy(yMeasures.children, (d) => d.id),\n encoding as Encoding,\n {\n foldMeasureValue: FoldYMeasureValue,\n foldMeasureId: FoldYMeasureId,\n colorItemAsId: true,\n colorMeasureId: getColorMeasureId(advancedVSeed as AdvancedVSeed, vseed),\n },\n )\n\n datasets[0] = newDataset\n foldInfoList.push(foldInfo)\n unfoldInfoList.push(unfoldInfo)\n }\n\n const unfoldInfo: UnfoldInfo = {\n ...unfoldInfoList[0],\n colorItems: unfoldInfoList.flatMap((d) => d.colorItems),\n colorIdMap: unfoldInfoList.reduce((prev, cur) => ({ ...prev, ...cur.colorIdMap }), {}),\n }\n\n return {\n ...result,\n dataset: datasets[0],\n\n datasetReshapeInfo: [\n {\n id: String(chartType),\n index: 0,\n foldInfo: foldInfoList[0],\n foldInfoList: foldInfoList,\n unfoldInfo: unfoldInfo,\n },\n ],\n }\n}\n"],"names":["reshapeWithScatterEncoding","advancedVSeed","context","result","vseed","dataset","encoding","chartType","measures","m","dimensions","Error","foldInfoList","unfoldInfoList","datasets","xMeasures","yMeasures","newDataset","foldInfo","unfoldInfo","dataReshapeByEncoding","uniqueBy","d","FoldXMeasureValue","FoldXMeasureId","getColorMeasureId","FoldYMeasureValue","FoldYMeasureId","prev","cur","String"],"mappings":";;;AAqBO,MAAMA,6BAA2C,CAACC,eAAeC;IACtE,MAAMC,SAAS;QAAE,GAAGF,aAAa;IAAC;IAClC,MAAM,EAAEG,KAAK,EAAE,GAAGF;IAClB,MAAM,EAAEG,OAAO,EAAE,GAAGD;IACpB,MAAM,EAAEE,QAAQ,EAAEC,SAAS,EAAE,GAAGN;IAChC,MAAMO,WAAYP,AAAAA,CAAAA,cAAc,eAAe,IAAIA,cAAc,QAAQ,IAAI,EAAC,EAAG,MAAM,CACrF,CAACQ,IAA8BA,KAAMA,EAAmB,QAAQ;IAElE,MAAMC,aAAaT,cAAc,iBAAiB,IAAIA,cAAc,UAAU,IAAI,EAAE;IAEpF,IAAIO,SAAS,MAAM,GAAG,GACpB,MAAM,IAAIG,MAAM;IAElB,MAAMC,eAA2B,EAAE;IACnC,MAAMC,iBAA+B,EAAE;IAEvC,MAAMC,WAAsB,EAAE;IAC9B,MAAMC,YAAYP,QAAQ,CAAC,EAAE;IAC7B,MAAMQ,YAAaR,QAAQ,CAAC,EAAE,IAAIO;IAElC,IAAIA,aAAaA,UAAU,QAAQ,EAAE;QACnC,MAAM,EACJ,SAASE,UAAU,EACnBC,QAAQ,EACRC,UAAU,EACX,GAAGC,sBACFf,SACAgB,SAASX,YAAY,CAACY,IAAMA,EAAE,EAAE,GAChCD,SAASN,UAAU,QAAQ,EAAE,CAACO,IAAMA,EAAE,EAAE,GACxChB,UACA;YACE,kBAAkBiB;YAClB,eAAeC;YACf,eAAe;YACf,gBAAgBC,kBAAkBxB,eAAgCG;QACpE;QAGFU,SAAS,IAAI,CAACG;QACdL,aAAa,IAAI,CAACM;QAClBL,eAAe,IAAI,CAACM;IACtB;IAEA,IAAIH,aAAaA,UAAU,QAAQ,EAAE;QACnC,MAAM,EACJ,SAASC,UAAU,EACnBC,QAAQ,EACRC,UAAU,EACX,GAAGC,sBACFN,QAAQ,CAAC,EAAE,EACXO,SAASX,YAAY,CAACY,IAAMA,EAAE,EAAE,GAChCD,SAASL,UAAU,QAAQ,EAAE,CAACM,IAAMA,EAAE,EAAE,GACxChB,UACA;YACE,kBAAkBoB;YAClB,eAAeC;YACf,eAAe;YACf,gBAAgBF,kBAAkBxB,eAAgCG;QACpE;QAGFU,QAAQ,CAAC,EAAE,GAAGG;QACdL,aAAa,IAAI,CAACM;QAClBL,eAAe,IAAI,CAACM;IACtB;IAEA,MAAMA,aAAyB;QAC7B,GAAGN,cAAc,CAAC,EAAE;QACpB,YAAYA,eAAe,OAAO,CAAC,CAACS,IAAMA,EAAE,UAAU;QACtD,YAAYT,eAAe,MAAM,CAAC,CAACe,MAAMC,MAAS;gBAAE,GAAGD,IAAI;gBAAE,GAAGC,IAAI,UAAU;YAAC,IAAI,CAAC;IACtF;IAEA,OAAO;QACL,GAAG1B,MAAM;QACT,SAASW,QAAQ,CAAC,EAAE;QAEpB,oBAAoB;YAClB;gBACE,IAAIgB,OAAOvB;gBACX,OAAO;gBACP,UAAUK,YAAY,CAAC,EAAE;gBACzB,cAAcA;gBACd,YAAYO;YACd;SACD;IACH;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipElement.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/tooltip/tooltipElement.ts"],"sourcesContent":["const setWholeIcon = (shapeContainer: any, color: string) => {\n shapeContainer.style.backgroundColor = color\n shapeContainer.style.borderColor = color\n shapeContainer.style.width = '4px'\n shapeContainer.style.height = '100%'\n shapeContainer.style.display = 'inline-block'\n shapeContainer.style.borderRadius = '2px'\n shapeContainer.style.marginRight = '6px'\n\n const shapeElements = shapeContainer.children\n\n for (let i = 0; i < shapeElements.length; i++) {\n const shapeElement = shapeElements[i]\n const svgElement = shapeElement.children[0]\n\n if (svgElement) {\n svgElement.style.visibility = 'hidden'\n }\n\n shapeElement.style.background = 'transparent'\n shapeElement.style.borderColor = 'transparent'\n }\n}\n\nexport const updateTooltipElement = (tooltipElement: any, actualTooltip: any) => {\n if (!tooltipElement || !tooltipElement.querySelector || !actualTooltip) {\n return\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call\n const shapeContainer = tooltipElement.querySelector('.vchart-tooltip-shape-column')\n\n if (!shapeContainer) {\n return\n }\n\n if (actualTooltip.activeType === 'mark') {\n const color = (actualTooltip.content[0].shapeFill as string) ?? 'transparent'\n\n setWholeIcon(shapeContainer, color)\n } else if (actualTooltip.activeType === 'dimension') {\n shapeContainer.style.background = 'transparent'\n shapeContainer.style.borderColor = 'transparent'\n shapeContainer.style.width = 'auto'\n shapeContainer.style.height = 'auto'\n shapeContainer.style.display = 'inline-block'\n shapeContainer.style.marginRight = '2px'\n\n const shapeElements = shapeContainer.children\n\n for (let i = 0; i < shapeElements.length; i++) {\n const shapeElement = shapeElements[i]\n const svgElement = shapeElement.children[0]\n if (svgElement) {\n svgElement.style.visibility = 'hidden'\n }\n const color = actualTooltip.content[i]?.shapeFill ?? 'transparent'\n\n shapeElement.style.width = '4px'\n shapeElement.style.height = '100%'\n shapeElement.style.borderRadius = '2px'\n shapeElement.style.marginRight = '4px'\n shapeElement.style.backgroundColor = color\n shapeElement.style.borderColor = color\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call\n const title = tooltipElement.querySelector('.vchart-tooltip-title')\n\n if (title) {\n title.style.marginBottom = '8px'\n }\n}\n\nexport const updateMarkTooltipElement = (tooltipElement: any, actualTooltip: any) => {\n if (!tooltipElement || !tooltipElement.querySelector || !actualTooltip) {\n return\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call\n const shapeContainer = tooltipElement.querySelector('.vchart-tooltip-shape-column')\n\n if (!shapeContainer) {\n return\n }\n\n const color = (actualTooltip.content[0].shapeFill as string) ?? 'transparent'\n\n setWholeIcon(shapeContainer, color)\n}\n"],"names":["setWholeIcon","shapeContainer","color","shapeElements","i","shapeElement","svgElement","updateTooltipElement","tooltipElement","actualTooltip","title","updateMarkTooltipElement"],"mappings":"AAAA,MAAMA,eAAe,CAACC,gBAAqBC;IACzCD,eAAe,KAAK,CAAC,eAAe,GAAGC;IACvCD,eAAe,KAAK,CAAC,WAAW,GAAGC;IACnCD,eAAe,KAAK,CAAC,KAAK,GAAG;IAC7BA,eAAe,KAAK,CAAC,MAAM,GAAG;IAC9BA,eAAe,KAAK,CAAC,OAAO,GAAG;IAC/BA,eAAe,KAAK,CAAC,YAAY,GAAG;IACpCA,eAAe,KAAK,CAAC,WAAW,GAAG;IAEnC,MAAME,gBAAgBF,eAAe,QAAQ;IAE7C,IAAK,IAAIG,IAAI,GAAGA,IAAID,cAAc,MAAM,EAAEC,IAAK;QAC7C,MAAMC,eAAeF,aAAa,CAACC,EAAE;QACrC,MAAME,aAAaD,aAAa,QAAQ,CAAC,EAAE;QAE3C,IAAIC,YACFA,WAAW,KAAK,CAAC,UAAU,GAAG;QAGhCD,aAAa,KAAK,CAAC,UAAU,GAAG;QAChCA,aAAa,KAAK,CAAC,WAAW,GAAG;IACnC;AACF;AAEO,MAAME,uBAAuB,CAACC,gBAAqBC;IACxD,IAAI,CAACD,kBAAkB,CAACA,eAAe,aAAa,IAAI,CAACC,eACvD;IAGF,MAAMR,iBAAiBO,eAAe,aAAa,CAAC;IAEpD,IAAI,CAACP,gBACH;IAGF,IAAIQ,AAA6B,WAA7BA,cAAc,UAAU,EAAa;QACvC,MAAMP,QAASO,cAAc,OAAO,CAAC,EAAE,CAAC,SAAS,IAAe;QAEhET,aAAaC,gBAAgBC;IAC/B,OAAO,IAAIO,AAA6B,gBAA7BA,cAAc,UAAU,EAAkB;QACnDR,eAAe,KAAK,CAAC,UAAU,GAAG;QAClCA,eAAe,KAAK,CAAC,WAAW,GAAG;QACnCA,eAAe,KAAK,CAAC,KAAK,GAAG;QAC7BA,eAAe,KAAK,CAAC,MAAM,GAAG;QAC9BA,eAAe,KAAK,CAAC,OAAO,GAAG;QAC/BA,eAAe,KAAK,CAAC,WAAW,GAAG;QAEnC,MAAME,gBAAgBF,eAAe,QAAQ;QAE7C,IAAK,IAAIG,IAAI,GAAGA,IAAID,cAAc,MAAM,EAAEC,IAAK;YAC7C,MAAMC,eAAeF,aAAa,CAACC,EAAE;YACrC,MAAME,aAAaD,aAAa,QAAQ,CAAC,EAAE;YAC3C,IAAIC,YACFA,WAAW,KAAK,CAAC,UAAU,GAAG;YAEhC,MAAMJ,QAAQO,cAAc,OAAO,CAACL,EAAE,EAAE,aAAa;YAErDC,aAAa,KAAK,CAAC,KAAK,GAAG;YAC3BA,aAAa,KAAK,CAAC,MAAM,GAAG;YAC5BA,aAAa,KAAK,CAAC,YAAY,GAAG;YAClCA,aAAa,KAAK,CAAC,WAAW,GAAG;YACjCA,aAAa,KAAK,CAAC,eAAe,GAAGH;YACrCG,aAAa,KAAK,CAAC,WAAW,GAAGH;QACnC;IACF;IAGA,MAAMQ,QAAQF,eAAe,aAAa,CAAC;IAE3C,IAAIE,OACFA,MAAM,KAAK,CAAC,YAAY,GAAG;AAE/B;AAEO,MAAMC,2BAA2B,CAACH,gBAAqBC;IAC5D,IAAI,CAACD,kBAAkB,CAACA,eAAe,aAAa,IAAI,CAACC,eACvD;IAGF,MAAMR,iBAAiBO,eAAe,aAAa,CAAC;IAEpD,IAAI,CAACP,gBACH;IAGF,MAAMC,QAASO,cAAc,OAAO,CAAC,EAAE,CAAC,SAAS,IAAe;IAEhET,aAAaC,gBAAgBC;AAC/B"}
1
+ {"version":3,"file":"pipeline/spec/chart/pipes/tooltip/tooltipElement.js","sources":["../../../../../../../src/pipeline/spec/chart/pipes/tooltip/tooltipElement.ts"],"sourcesContent":["const setWholeIcon = (shapeContainer: any, color: string) => {\n shapeContainer.style.backgroundColor = color\n shapeContainer.style.borderColor = color\n shapeContainer.style.width = '4px'\n shapeContainer.style.height = '100%'\n shapeContainer.style.display = 'inline-block'\n shapeContainer.style.borderRadius = '2px'\n shapeContainer.style.marginRight = '6px'\n\n const shapeElements = shapeContainer.children\n\n for (let i = 0; i < shapeElements.length; i++) {\n const shapeElement = shapeElements[i]\n const svgElement = shapeElement.children[0]\n\n if (svgElement) {\n svgElement.style.visibility = 'hidden'\n }\n\n shapeElement.style.background = 'transparent'\n shapeElement.style.borderColor = 'transparent'\n }\n}\n\nexport const updateTooltipElement = (tooltipElement: any, actualTooltip: any) => {\n if (!tooltipElement || !tooltipElement.querySelector || !actualTooltip) {\n return\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n const shapeContainer = tooltipElement.querySelector('.vchart-tooltip-shape-column')\n\n if (!shapeContainer) {\n return\n }\n\n if (actualTooltip.activeType === 'mark') {\n const color = (actualTooltip.content[0].shapeFill as string) ?? 'transparent'\n\n setWholeIcon(shapeContainer, color)\n } else if (actualTooltip.activeType === 'dimension') {\n shapeContainer.style.background = 'transparent'\n shapeContainer.style.borderColor = 'transparent'\n shapeContainer.style.width = 'auto'\n shapeContainer.style.height = 'auto'\n shapeContainer.style.display = 'inline-block'\n shapeContainer.style.marginRight = '2px'\n\n const shapeElements = shapeContainer.children\n\n for (let i = 0; i < shapeElements.length; i++) {\n const shapeElement = shapeElements[i]\n const svgElement = shapeElement.children[0]\n if (svgElement) {\n svgElement.style.visibility = 'hidden'\n }\n const color = actualTooltip.content[i]?.shapeFill ?? 'transparent'\n\n shapeElement.style.width = '4px'\n shapeElement.style.height = '100%'\n shapeElement.style.borderRadius = '2px'\n shapeElement.style.marginRight = '4px'\n shapeElement.style.backgroundColor = color\n shapeElement.style.borderColor = color\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n const title = tooltipElement.querySelector('.vchart-tooltip-title')\n\n if (title) {\n title.style.marginBottom = '8px'\n }\n}\n\nexport const updateMarkTooltipElement = (tooltipElement: any, actualTooltip: any) => {\n if (!tooltipElement || !tooltipElement.querySelector || !actualTooltip) {\n return\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n const shapeContainer = tooltipElement.querySelector('.vchart-tooltip-shape-column')\n\n if (!shapeContainer) {\n return\n }\n\n const color = (actualTooltip.content[0].shapeFill as string) ?? 'transparent'\n\n setWholeIcon(shapeContainer, color)\n}\n"],"names":["setWholeIcon","shapeContainer","color","shapeElements","i","shapeElement","svgElement","updateTooltipElement","tooltipElement","actualTooltip","title","updateMarkTooltipElement"],"mappings":"AAAA,MAAMA,eAAe,CAACC,gBAAqBC;IACzCD,eAAe,KAAK,CAAC,eAAe,GAAGC;IACvCD,eAAe,KAAK,CAAC,WAAW,GAAGC;IACnCD,eAAe,KAAK,CAAC,KAAK,GAAG;IAC7BA,eAAe,KAAK,CAAC,MAAM,GAAG;IAC9BA,eAAe,KAAK,CAAC,OAAO,GAAG;IAC/BA,eAAe,KAAK,CAAC,YAAY,GAAG;IACpCA,eAAe,KAAK,CAAC,WAAW,GAAG;IAEnC,MAAME,gBAAgBF,eAAe,QAAQ;IAE7C,IAAK,IAAIG,IAAI,GAAGA,IAAID,cAAc,MAAM,EAAEC,IAAK;QAC7C,MAAMC,eAAeF,aAAa,CAACC,EAAE;QACrC,MAAME,aAAaD,aAAa,QAAQ,CAAC,EAAE;QAE3C,IAAIC,YACFA,WAAW,KAAK,CAAC,UAAU,GAAG;QAGhCD,aAAa,KAAK,CAAC,UAAU,GAAG;QAChCA,aAAa,KAAK,CAAC,WAAW,GAAG;IACnC;AACF;AAEO,MAAME,uBAAuB,CAACC,gBAAqBC;IACxD,IAAI,CAACD,kBAAkB,CAACA,eAAe,aAAa,IAAI,CAACC,eACvD;IAGF,MAAMR,iBAAiBO,eAAe,aAAa,CAAC;IAEpD,IAAI,CAACP,gBACH;IAGF,IAAIQ,AAA6B,WAA7BA,cAAc,UAAU,EAAa;QACvC,MAAMP,QAASO,cAAc,OAAO,CAAC,EAAE,CAAC,SAAS,IAAe;QAEhET,aAAaC,gBAAgBC;IAC/B,OAAO,IAAIO,AAA6B,gBAA7BA,cAAc,UAAU,EAAkB;QACnDR,eAAe,KAAK,CAAC,UAAU,GAAG;QAClCA,eAAe,KAAK,CAAC,WAAW,GAAG;QACnCA,eAAe,KAAK,CAAC,KAAK,GAAG;QAC7BA,eAAe,KAAK,CAAC,MAAM,GAAG;QAC9BA,eAAe,KAAK,CAAC,OAAO,GAAG;QAC/BA,eAAe,KAAK,CAAC,WAAW,GAAG;QAEnC,MAAME,gBAAgBF,eAAe,QAAQ;QAE7C,IAAK,IAAIG,IAAI,GAAGA,IAAID,cAAc,MAAM,EAAEC,IAAK;YAC7C,MAAMC,eAAeF,aAAa,CAACC,EAAE;YACrC,MAAME,aAAaD,aAAa,QAAQ,CAAC,EAAE;YAC3C,IAAIC,YACFA,WAAW,KAAK,CAAC,UAAU,GAAG;YAEhC,MAAMJ,QAAQO,cAAc,OAAO,CAACL,EAAE,EAAE,aAAa;YAErDC,aAAa,KAAK,CAAC,KAAK,GAAG;YAC3BA,aAAa,KAAK,CAAC,MAAM,GAAG;YAC5BA,aAAa,KAAK,CAAC,YAAY,GAAG;YAClCA,aAAa,KAAK,CAAC,WAAW,GAAG;YACjCA,aAAa,KAAK,CAAC,eAAe,GAAGH;YACrCG,aAAa,KAAK,CAAC,WAAW,GAAGH;QACnC;IACF;IAGA,MAAMQ,QAAQF,eAAe,aAAa,CAAC;IAE3C,IAAIE,OACFA,MAAM,KAAK,CAAC,YAAY,GAAG;AAE/B;AAEO,MAAMC,2BAA2B,CAACH,gBAAqBC;IAC5D,IAAI,CAACD,kBAAkB,CAACA,eAAe,aAAa,IAAI,CAACC,eACvD;IAGF,MAAMR,iBAAiBO,eAAe,aAAa,CAAC;IAEpD,IAAI,CAACP,gBACH;IAGF,MAAMC,QAASO,cAAc,OAAO,CAAC,EAAE,CAAC,SAAS,IAAe;IAEhET,aAAaC,gBAAgBC;AAC/B"}
@@ -1,4 +1,4 @@
1
- import { bodyStyle, cornerHeaderStyle, frameStyle, headerStyle, initPivotTable, pivotColumns, pivotIndicators, pivotRows, pivotTableBodyCell, rowHeaderStyle, selectionStyle, titleOnDimension } from "../pipes/index.js";
1
+ import { bodyStyle, cornerHeaderStyle, headerStyle, initPivotTable, pivotColumns, pivotIndicators, pivotRows, pivotTableBodyCell, rowHeaderStyle, selectionStyle, tableThemeStyle, titleOnDimension } from "../pipes/index.js";
2
2
  import { dataConfig } from "../pipes/indicators/pivotDataConfig.js";
3
3
  const pivotTableSpecPipeline = [
4
4
  initPivotTable,
@@ -10,7 +10,7 @@ const pivotTableSpecPipeline = [
10
10
  headerStyle,
11
11
  rowHeaderStyle,
12
12
  cornerHeaderStyle,
13
- frameStyle,
13
+ tableThemeStyle,
14
14
  selectionStyle,
15
15
  dataConfig,
16
16
  pivotTableBodyCell
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipeline/pivotTable.js","sources":["../../../../../../src/pipeline/spec/table/pipeline/pivotTable.ts"],"sourcesContent":["import type { SpecPipeline } from 'src/types'\nimport {\n initPivotTable,\n pivotColumns,\n pivotRows,\n pivotIndicators,\n bodyStyle,\n headerStyle,\n rowHeaderStyle,\n cornerHeaderStyle,\n frameStyle,\n selectionStyle,\n titleOnDimension,\n pivotTableBodyCell,\n} from '../pipes'\nimport { dataConfig } from '../pipes/indicators/pivotDataConfig'\n\nexport const pivotTableSpecPipeline: SpecPipeline = [\n initPivotTable,\n pivotColumns,\n pivotRows,\n titleOnDimension,\n pivotIndicators,\n bodyStyle,\n headerStyle,\n rowHeaderStyle,\n cornerHeaderStyle,\n frameStyle,\n selectionStyle,\n dataConfig,\n pivotTableBodyCell,\n]\n"],"names":["pivotTableSpecPipeline","initPivotTable","pivotColumns","pivotRows","titleOnDimension","pivotIndicators","bodyStyle","headerStyle","rowHeaderStyle","cornerHeaderStyle","frameStyle","selectionStyle","dataConfig","pivotTableBodyCell"],"mappings":";;AAiBO,MAAMA,yBAAuC;IAClDC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;CACD"}
1
+ {"version":3,"file":"pipeline/spec/table/pipeline/pivotTable.js","sources":["../../../../../../src/pipeline/spec/table/pipeline/pivotTable.ts"],"sourcesContent":["import type { SpecPipeline } from 'src/types'\nimport {\n initPivotTable,\n pivotColumns,\n pivotRows,\n pivotIndicators,\n bodyStyle,\n headerStyle,\n rowHeaderStyle,\n cornerHeaderStyle,\n tableThemeStyle,\n selectionStyle,\n titleOnDimension,\n pivotTableBodyCell,\n} from '../pipes'\nimport { dataConfig } from '../pipes/indicators/pivotDataConfig'\n\nexport const pivotTableSpecPipeline: SpecPipeline = [\n initPivotTable,\n pivotColumns,\n pivotRows,\n titleOnDimension,\n pivotIndicators,\n bodyStyle,\n headerStyle,\n rowHeaderStyle,\n cornerHeaderStyle,\n tableThemeStyle,\n selectionStyle,\n dataConfig,\n pivotTableBodyCell,\n]\n"],"names":["pivotTableSpecPipeline","initPivotTable","pivotColumns","pivotRows","titleOnDimension","pivotIndicators","bodyStyle","headerStyle","rowHeaderStyle","cornerHeaderStyle","tableThemeStyle","selectionStyle","dataConfig","pivotTableBodyCell"],"mappings":";;AAiBO,MAAMA,yBAAuC;IAClDC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;CACD"}
@@ -1,11 +1,11 @@
1
- import { bodyStyle, dimensionTreeToColumns, frameStyle, headerStyle, initTable, measureTreeToColumns, selectionStyle, tableBodyCell } from "../pipes/index.js";
1
+ import { bodyStyle, dimensionTreeToColumns, headerStyle, initTable, measureTreeToColumns, selectionStyle, tableBodyCell, tableThemeStyle } from "../pipes/index.js";
2
2
  const tableSpecPipeline = [
3
3
  initTable,
4
4
  dimensionTreeToColumns,
5
5
  measureTreeToColumns,
6
6
  bodyStyle,
7
7
  headerStyle,
8
- frameStyle,
8
+ tableThemeStyle,
9
9
  selectionStyle,
10
10
  tableBodyCell
11
11
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipeline/table.js","sources":["../../../../../../src/pipeline/spec/table/pipeline/table.ts"],"sourcesContent":["import type { SpecPipeline } from 'src/types'\nimport {\n initTable,\n dimensionTreeToColumns,\n measureTreeToColumns,\n bodyStyle,\n headerStyle,\n frameStyle,\n selectionStyle,\n tableBodyCell,\n} from '../pipes'\n\nexport const tableSpecPipeline: SpecPipeline = [\n initTable,\n dimensionTreeToColumns,\n measureTreeToColumns,\n bodyStyle,\n headerStyle,\n frameStyle,\n selectionStyle,\n tableBodyCell,\n]\n"],"names":["tableSpecPipeline","initTable","dimensionTreeToColumns","measureTreeToColumns","bodyStyle","headerStyle","frameStyle","selectionStyle","tableBodyCell"],"mappings":";AAYO,MAAMA,oBAAkC;IAC7CC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;CACD"}
1
+ {"version":3,"file":"pipeline/spec/table/pipeline/table.js","sources":["../../../../../../src/pipeline/spec/table/pipeline/table.ts"],"sourcesContent":["import type { SpecPipeline } from 'src/types'\nimport {\n initTable,\n dimensionTreeToColumns,\n measureTreeToColumns,\n bodyStyle,\n headerStyle,\n tableThemeStyle,\n selectionStyle,\n tableBodyCell,\n} from '../pipes'\n\nexport const tableSpecPipeline: SpecPipeline = [\n initTable,\n dimensionTreeToColumns,\n measureTreeToColumns,\n bodyStyle,\n headerStyle,\n tableThemeStyle,\n selectionStyle,\n tableBodyCell,\n]\n"],"names":["tableSpecPipeline","initTable","dimensionTreeToColumns","measureTreeToColumns","bodyStyle","headerStyle","tableThemeStyle","selectionStyle","tableBodyCell"],"mappings":";AAYO,MAAMA,oBAAkC;IAC7CC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;CACD"}
@@ -10,6 +10,7 @@ const pivotTableBodyCell = (spec, context)=>{
10
10
  if (!bodyCellStyle) return spec;
11
11
  const bodyCellStyleList = array(bodyCellStyle);
12
12
  const indicators = spec.indicators || [];
13
+ const selectedPos = [];
13
14
  const newIndicators = indicators.map((ind)=>{
14
15
  const newInd = isString(ind) ? {
15
16
  indicatorKey: ind
@@ -29,10 +30,17 @@ const pivotTableBodyCell = (spec, context)=>{
29
30
  });
30
31
  if (!isNullish(originalDatum[MeasureId]) && !isNullish(originalDatum[FoldMeasureValue])) originalDatum[originalDatum[MeasureId]] = originalDatum[FoldMeasureValue];
31
32
  const mergedStyle = bodyCellStyleList.reduce((result, style)=>{
32
- if (selector(originalDatum, style.selector)) return {
33
- ...result,
34
- ...pickBodyCellStyle(style)
35
- };
33
+ if (selector(originalDatum, style.selector)) {
34
+ if (selectedPos.length && selectedPos[0].col === datum?.col && selectedPos[0].row === datum?.row) selectedPos.length = 0;
35
+ selectedPos.push({
36
+ col: datum?.col,
37
+ row: datum?.row
38
+ });
39
+ return {
40
+ ...result,
41
+ ...pickBodyCellStyle(style)
42
+ };
43
+ }
36
44
  return result;
37
45
  }, {});
38
46
  return mergedStyle;
@@ -41,6 +49,10 @@ const pivotTableBodyCell = (spec, context)=>{
41
49
  });
42
50
  return {
43
51
  ...spec,
52
+ runningConfig: {
53
+ ...spec?.runningConfig || {},
54
+ selectedPos
55
+ },
44
56
  indicators: newIndicators
45
57
  };
46
58
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/cellStyle/pivot.js","sources":["../../../../../../../src/pipeline/spec/table/pipes/cellStyle/pivot.ts"],"sourcesContent":["import type { IIndicator, PivotTableConstructorOptions } from '@visactor/vtable'\nimport { array } from '@visactor/vutils'\nimport { isNullish, isString } from 'remeda'\nimport { selector } from 'src/dataSelector/selector'\nimport type { BodyCellStyle, Datum, PivotTableSpecPipe } from 'src/types'\nimport { pickBodyCellStyle } from './common'\nimport { FoldMeasureValue, MeasureId } from 'src/dataReshape'\n\nexport const pivotTableBodyCell: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { cellStyle } = advancedVSeed\n const bodyCellStyle = cellStyle?.bodyCellStyle\n\n if (!bodyCellStyle) {\n return spec as PivotTableConstructorOptions\n }\n const bodyCellStyleList = array(bodyCellStyle) as BodyCellStyle[]\n const indicators = (spec as PivotTableConstructorOptions).indicators || []\n\n const newIndicators = indicators.map((ind) => {\n const newInd = isString(ind)\n ? ({\n indicatorKey: ind,\n } as IIndicator)\n : ind\n\n const { indicatorKey } = newInd\n\n newInd.style = (datum: any) => {\n const { dataValue, cellHeaderPaths } = datum\n const headerPaths = [...cellHeaderPaths.colHeaderPaths, ...cellHeaderPaths.rowHeaderPaths]\n\n const originalDatum: Datum = {\n [indicatorKey]: dataValue,\n }\n\n headerPaths.forEach((path: any) => {\n if (path.dimensionKey) {\n originalDatum[path.dimensionKey] = path.value\n }\n })\n\n if (!isNullish(originalDatum[MeasureId]) && !isNullish(originalDatum[FoldMeasureValue])) {\n originalDatum[originalDatum[MeasureId]] = originalDatum[FoldMeasureValue]\n }\n\n const mergedStyle = bodyCellStyleList.reduce<Record<string, any>>((result, style) => {\n if (selector(originalDatum, style.selector)) {\n return {\n ...result,\n ...pickBodyCellStyle(style),\n }\n }\n\n return result\n }, {})\n\n return mergedStyle\n }\n return newInd\n })\n return {\n ...spec,\n indicators: newIndicators,\n } as PivotTableConstructorOptions\n}\n"],"names":["pivotTableBodyCell","spec","context","advancedVSeed","cellStyle","bodyCellStyle","bodyCellStyleList","array","indicators","newIndicators","ind","newInd","isString","indicatorKey","datum","dataValue","cellHeaderPaths","headerPaths","originalDatum","path","isNullish","MeasureId","FoldMeasureValue","mergedStyle","result","style","selector","pickBodyCellStyle"],"mappings":";;;;;AAQO,MAAMA,qBAAyC,CAACC,MAAMC;IAC3D,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,gBAAgBD,WAAW;IAEjC,IAAI,CAACC,eACH,OAAOJ;IAET,MAAMK,oBAAoBC,MAAMF;IAChC,MAAMG,aAAcP,KAAsC,UAAU,IAAI,EAAE;IAE1E,MAAMQ,gBAAgBD,WAAW,GAAG,CAAC,CAACE;QACpC,MAAMC,SAASC,SAASF,OACnB;YACC,cAAcA;QAChB,IACAA;QAEJ,MAAM,EAAEG,YAAY,EAAE,GAAGF;QAEzBA,OAAO,KAAK,GAAG,CAACG;YACd,MAAM,EAAEC,SAAS,EAAEC,eAAe,EAAE,GAAGF;YACvC,MAAMG,cAAc;mBAAID,gBAAgB,cAAc;mBAAKA,gBAAgB,cAAc;aAAC;YAE1F,MAAME,gBAAuB;gBAC3B,CAACL,aAAa,EAAEE;YAClB;YAEAE,YAAY,OAAO,CAAC,CAACE;gBACnB,IAAIA,KAAK,YAAY,EACnBD,aAAa,CAACC,KAAK,YAAY,CAAC,GAAGA,KAAK,KAAK;YAEjD;YAEA,IAAI,CAACC,UAAUF,aAAa,CAACG,UAAU,KAAK,CAACD,UAAUF,aAAa,CAACI,iBAAiB,GACpFJ,aAAa,CAACA,aAAa,CAACG,UAAU,CAAC,GAAGH,aAAa,CAACI,iBAAiB;YAG3E,MAAMC,cAAcjB,kBAAkB,MAAM,CAAsB,CAACkB,QAAQC;gBACzE,IAAIC,SAASR,eAAeO,MAAM,QAAQ,GACxC,OAAO;oBACL,GAAGD,MAAM;oBACT,GAAGG,kBAAkBF,MAAM;gBAC7B;gBAGF,OAAOD;YACT,GAAG,CAAC;YAEJ,OAAOD;QACT;QACA,OAAOZ;IACT;IACA,OAAO;QACL,GAAGV,IAAI;QACP,YAAYQ;IACd;AACF"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/cellStyle/pivot.js","sources":["../../../../../../../src/pipeline/spec/table/pipes/cellStyle/pivot.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport type { IIndicator, PivotTableConstructorOptions } from '@visactor/vtable'\nimport { array } from '@visactor/vutils'\nimport { isNullish, isString } from 'remeda'\nimport { selector } from 'src/dataSelector/selector'\nimport type { BodyCellStyle, Datum, PivotTableSpecPipe } from 'src/types'\nimport { pickBodyCellStyle } from './common'\nimport { FoldMeasureValue, MeasureId } from 'src/dataReshape'\n\nexport const pivotTableBodyCell: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { cellStyle } = advancedVSeed\n const bodyCellStyle = cellStyle?.bodyCellStyle\n\n if (!bodyCellStyle) {\n return spec as PivotTableConstructorOptions\n }\n const bodyCellStyleList = array(bodyCellStyle) as BodyCellStyle[]\n const indicators = (spec as PivotTableConstructorOptions).indicators || []\n const selectedPos: { col: number; row: number }[] = []\n\n const newIndicators = indicators.map((ind) => {\n const newInd = isString(ind)\n ? ({\n indicatorKey: ind,\n } as IIndicator)\n : ind\n\n const { indicatorKey } = newInd\n\n newInd.style = (datum: any) => {\n const { dataValue, cellHeaderPaths } = datum\n const headerPaths = [...cellHeaderPaths.colHeaderPaths, ...cellHeaderPaths.rowHeaderPaths]\n\n const originalDatum: Datum = {\n [indicatorKey]: dataValue,\n }\n\n headerPaths.forEach((path: any) => {\n if (path.dimensionKey) {\n originalDatum[path.dimensionKey] = path.value\n }\n })\n\n if (!isNullish(originalDatum[MeasureId]) && !isNullish(originalDatum[FoldMeasureValue])) {\n originalDatum[originalDatum[MeasureId]] = originalDatum[FoldMeasureValue]\n }\n\n const mergedStyle = bodyCellStyleList.reduce<Record<string, any>>((result, style) => {\n if (selector(originalDatum, style.selector)) {\n if (selectedPos.length && selectedPos[0].col === datum?.col && selectedPos[0].row === datum?.row) {\n // 说明重复进入了,清空历史\n selectedPos.length = 0\n }\n selectedPos.push({\n col: datum?.col,\n row: datum?.row,\n })\n return {\n ...result,\n ...pickBodyCellStyle(style),\n }\n }\n\n return result\n }, {})\n\n return mergedStyle\n }\n return newInd\n })\n return {\n ...spec,\n runningConfig: {\n ...((spec as any)?.runningConfig || {}),\n selectedPos,\n },\n indicators: newIndicators,\n } as PivotTableConstructorOptions\n}\n"],"names":["pivotTableBodyCell","spec","context","advancedVSeed","cellStyle","bodyCellStyle","bodyCellStyleList","array","indicators","selectedPos","newIndicators","ind","newInd","isString","indicatorKey","datum","dataValue","cellHeaderPaths","headerPaths","originalDatum","path","isNullish","MeasureId","FoldMeasureValue","mergedStyle","result","style","selector","pickBodyCellStyle"],"mappings":";;;;;AASO,MAAMA,qBAAyC,CAACC,MAAMC;IAC3D,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,gBAAgBD,WAAW;IAEjC,IAAI,CAACC,eACH,OAAOJ;IAET,MAAMK,oBAAoBC,MAAMF;IAChC,MAAMG,aAAcP,KAAsC,UAAU,IAAI,EAAE;IAC1E,MAAMQ,cAA8C,EAAE;IAEtD,MAAMC,gBAAgBF,WAAW,GAAG,CAAC,CAACG;QACpC,MAAMC,SAASC,SAASF,OACnB;YACC,cAAcA;QAChB,IACAA;QAEJ,MAAM,EAAEG,YAAY,EAAE,GAAGF;QAEzBA,OAAO,KAAK,GAAG,CAACG;YACd,MAAM,EAAEC,SAAS,EAAEC,eAAe,EAAE,GAAGF;YACvC,MAAMG,cAAc;mBAAID,gBAAgB,cAAc;mBAAKA,gBAAgB,cAAc;aAAC;YAE1F,MAAME,gBAAuB;gBAC3B,CAACL,aAAa,EAAEE;YAClB;YAEAE,YAAY,OAAO,CAAC,CAACE;gBACnB,IAAIA,KAAK,YAAY,EACnBD,aAAa,CAACC,KAAK,YAAY,CAAC,GAAGA,KAAK,KAAK;YAEjD;YAEA,IAAI,CAACC,UAAUF,aAAa,CAACG,UAAU,KAAK,CAACD,UAAUF,aAAa,CAACI,iBAAiB,GACpFJ,aAAa,CAACA,aAAa,CAACG,UAAU,CAAC,GAAGH,aAAa,CAACI,iBAAiB;YAG3E,MAAMC,cAAclB,kBAAkB,MAAM,CAAsB,CAACmB,QAAQC;gBACzE,IAAIC,SAASR,eAAeO,MAAM,QAAQ,GAAG;oBAC3C,IAAIjB,YAAY,MAAM,IAAIA,WAAW,CAAC,EAAE,CAAC,GAAG,KAAKM,OAAO,OAAON,WAAW,CAAC,EAAE,CAAC,GAAG,KAAKM,OAAO,KAE3FN,YAAY,MAAM,GAAG;oBAEvBA,YAAY,IAAI,CAAC;wBACf,KAAKM,OAAO;wBACZ,KAAKA,OAAO;oBACd;oBACA,OAAO;wBACL,GAAGU,MAAM;wBACT,GAAGG,kBAAkBF,MAAM;oBAC7B;gBACF;gBAEA,OAAOD;YACT,GAAG,CAAC;YAEJ,OAAOD;QACT;QACA,OAAOZ;IACT;IACA,OAAO;QACL,GAAGX,IAAI;QACP,eAAe;YACb,GAAKA,MAAc,iBAAiB,CAAC,CAAC;YACtCQ;QACF;QACA,YAAYC;IACd;AACF"}
@@ -10,6 +10,7 @@ const tableBodyCell = (spec, context)=>{
10
10
  if (!bodyCellStyle) return spec;
11
11
  const bodyCellStyleList = array(bodyCellStyle);
12
12
  const columns = spec.columns || [];
13
+ const selectedPos = [];
13
14
  const setStyleOfColumn = (col)=>{
14
15
  const field = col.field;
15
16
  const matchedStyles = bodyCellStyleList.filter((style)=>{
@@ -23,10 +24,17 @@ const tableBodyCell = (spec, context)=>{
23
24
  [field]: datum.dataValue
24
25
  };
25
26
  const mergedStyle = matchedStyles.reduce((result, style)=>{
26
- if (selector_js_selector(originalDatum, style.selector)) return {
27
- ...result,
28
- ...pickBodyCellStyle(style)
29
- };
27
+ if (selector_js_selector(originalDatum, style.selector)) {
28
+ if (selectedPos.length && selectedPos[0].col === datum?.col && selectedPos[0].row === datum?.row) selectedPos.length = 0;
29
+ selectedPos.push({
30
+ col: datum?.col,
31
+ row: datum?.row
32
+ });
33
+ return {
34
+ ...result,
35
+ ...pickBodyCellStyle(style)
36
+ };
37
+ }
30
38
  return result;
31
39
  }, {});
32
40
  return mergedStyle;
@@ -34,6 +42,10 @@ const tableBodyCell = (spec, context)=>{
34
42
  return false;
35
43
  };
36
44
  preorderTraverse(columns, setStyleOfColumn, 'columns');
45
+ spec.runningConfig = {
46
+ ...spec.runningConfig || {},
47
+ selectedPos
48
+ };
37
49
  return spec;
38
50
  };
39
51
  export { tableBodyCell };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/cellStyle/table.js","sources":["../../../../../../../src/pipeline/spec/table/pipes/cellStyle/table.ts"],"sourcesContent":["import type { ListTableConstructorOptions, ColumnDefine } from '@visactor/vtable'\nimport { array } from '@visactor/vutils'\nimport { isNullish, isNumber, isPlainObject, isString } from 'remeda'\nimport { selector } from 'src/dataSelector/selector'\nimport type { BodyCellStyle, ListTableSpecPipe } from 'src/types'\nimport type { MeasureSelector, Selectors } from 'src/types/dataSelector'\nimport { pickBodyCellStyle } from './common'\nimport { preorderTraverse } from 'src/pipeline/utils/tree/traverse'\n\nexport const tableBodyCell: ListTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { cellStyle } = advancedVSeed\n const bodyCellStyle = cellStyle?.bodyCellStyle\n\n if (!bodyCellStyle) {\n return spec as ListTableConstructorOptions\n }\n const bodyCellStyleList = array(bodyCellStyle) as BodyCellStyle[]\n const columns = (spec as ListTableConstructorOptions).columns || []\n const setStyleOfColumn = (col: ColumnDefine) => {\n const field = col.field as string\n const matchedStyles = bodyCellStyleList.filter((style) => {\n if (isNullish(style.selector)) {\n return true\n }\n const selectors = array(style.selector) as Selectors\n\n return selectors.some((selector) => {\n return isPlainObject(selector)\n ? isNullish(selector.field) || (selector as MeasureSelector).field === field\n : isNumber(selector) || isString(selector)\n })\n })\n\n if (!matchedStyles.length) {\n return false\n }\n\n col.style = (datum: any) => {\n const originalDatum = {\n [field]: datum.dataValue,\n }\n\n const mergedStyle = matchedStyles.reduce<Record<string, any>>((result, style) => {\n if (selector(originalDatum, style.selector)) {\n return {\n ...result,\n ...pickBodyCellStyle(style),\n }\n }\n\n return result\n }, {})\n\n return mergedStyle\n }\n return false\n }\n\n preorderTraverse<ColumnDefine, 'columns'>(columns, setStyleOfColumn, 'columns')\n\n return spec as ListTableConstructorOptions\n}\n"],"names":["tableBodyCell","spec","context","advancedVSeed","cellStyle","bodyCellStyle","bodyCellStyleList","array","columns","setStyleOfColumn","col","field","matchedStyles","style","isNullish","selectors","selector","isPlainObject","isNumber","isString","datum","originalDatum","mergedStyle","result","pickBodyCellStyle","preorderTraverse"],"mappings":";;;;;AASO,MAAMA,gBAAmC,CAACC,MAAMC;IACrD,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,gBAAgBD,WAAW;IAEjC,IAAI,CAACC,eACH,OAAOJ;IAET,MAAMK,oBAAoBC,MAAMF;IAChC,MAAMG,UAAWP,KAAqC,OAAO,IAAI,EAAE;IACnE,MAAMQ,mBAAmB,CAACC;QACxB,MAAMC,QAAQD,IAAI,KAAK;QACvB,MAAME,gBAAgBN,kBAAkB,MAAM,CAAC,CAACO;YAC9C,IAAIC,UAAUD,MAAM,QAAQ,GAC1B,OAAO;YAET,MAAME,YAAYR,MAAMM,MAAM,QAAQ;YAEtC,OAAOE,UAAU,IAAI,CAAC,CAACC,WACdC,cAAcD,YACjBF,UAAUE,SAAS,KAAK,KAAMA,SAA6B,KAAK,KAAKL,QACrEO,SAASF,aAAaG,SAASH;QAEvC;QAEA,IAAI,CAACJ,cAAc,MAAM,EACvB,OAAO;QAGTF,IAAI,KAAK,GAAG,CAACU;YACX,MAAMC,gBAAgB;gBACpB,CAACV,MAAM,EAAES,MAAM,SAAS;YAC1B;YAEA,MAAME,cAAcV,cAAc,MAAM,CAAsB,CAACW,QAAQV;gBACrE,IAAIG,qBAASK,eAAeR,MAAM,QAAQ,GACxC,OAAO;oBACL,GAAGU,MAAM;oBACT,GAAGC,kBAAkBX,MAAM;gBAC7B;gBAGF,OAAOU;YACT,GAAG,CAAC;YAEJ,OAAOD;QACT;QACA,OAAO;IACT;IAEAG,iBAA0CjB,SAASC,kBAAkB;IAErE,OAAOR;AACT"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/cellStyle/table.js","sources":["../../../../../../../src/pipeline/spec/table/pipes/cellStyle/table.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport type { ListTableConstructorOptions, ColumnDefine } from '@visactor/vtable'\nimport { array } from '@visactor/vutils'\nimport { isNullish, isNumber, isPlainObject, isString } from 'remeda'\nimport { selector } from 'src/dataSelector/selector'\nimport type { BodyCellStyle, ListTableSpecPipe } from 'src/types'\nimport type { MeasureSelector, Selectors } from 'src/types/dataSelector'\nimport { pickBodyCellStyle } from './common'\nimport { preorderTraverse } from 'src/pipeline/utils/tree/traverse'\n\nexport const tableBodyCell: ListTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { cellStyle } = advancedVSeed\n const bodyCellStyle = cellStyle?.bodyCellStyle\n\n if (!bodyCellStyle) {\n return spec as ListTableConstructorOptions\n }\n const bodyCellStyleList = array(bodyCellStyle) as BodyCellStyle[]\n const columns = (spec as ListTableConstructorOptions).columns || []\n const selectedPos: { col: number; row: number }[] = []\n const setStyleOfColumn = (col: ColumnDefine) => {\n const field = col.field as string\n const matchedStyles = bodyCellStyleList.filter((style) => {\n if (isNullish(style.selector)) {\n return true\n }\n const selectors = array(style.selector) as Selectors\n\n return selectors.some((selector) => {\n return isPlainObject(selector)\n ? isNullish(selector.field) || (selector as MeasureSelector).field === field\n : isNumber(selector) || isString(selector)\n })\n })\n\n if (!matchedStyles.length) {\n return false\n }\n\n col.style = (datum: any) => {\n const originalDatum = {\n [field]: datum.dataValue,\n }\n\n const mergedStyle = matchedStyles.reduce<Record<string, any>>((result, style) => {\n if (selector(originalDatum, style.selector)) {\n if (selectedPos.length && selectedPos[0].col === datum?.col && selectedPos[0].row === datum?.row) {\n // 说明重复进入了,清空历史\n selectedPos.length = 0\n }\n selectedPos.push({\n col: datum?.col,\n row: datum?.row,\n })\n return {\n ...result,\n ...pickBodyCellStyle(style),\n }\n }\n\n return result\n }, {})\n\n return mergedStyle\n }\n return false\n }\n\n preorderTraverse<ColumnDefine, 'columns'>(columns, setStyleOfColumn, 'columns')\n ;(spec as any).runningConfig = {\n ...((spec as any).runningConfig || {}),\n selectedPos,\n }\n\n return spec as ListTableConstructorOptions\n}\n"],"names":["tableBodyCell","spec","context","advancedVSeed","cellStyle","bodyCellStyle","bodyCellStyleList","array","columns","selectedPos","setStyleOfColumn","col","field","matchedStyles","style","isNullish","selectors","selector","isPlainObject","isNumber","isString","datum","originalDatum","mergedStyle","result","pickBodyCellStyle","preorderTraverse"],"mappings":";;;;;AAUO,MAAMA,gBAAmC,CAACC,MAAMC;IACrD,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,SAAS,EAAE,GAAGD;IACtB,MAAME,gBAAgBD,WAAW;IAEjC,IAAI,CAACC,eACH,OAAOJ;IAET,MAAMK,oBAAoBC,MAAMF;IAChC,MAAMG,UAAWP,KAAqC,OAAO,IAAI,EAAE;IACnE,MAAMQ,cAA8C,EAAE;IACtD,MAAMC,mBAAmB,CAACC;QACxB,MAAMC,QAAQD,IAAI,KAAK;QACvB,MAAME,gBAAgBP,kBAAkB,MAAM,CAAC,CAACQ;YAC9C,IAAIC,UAAUD,MAAM,QAAQ,GAC1B,OAAO;YAET,MAAME,YAAYT,MAAMO,MAAM,QAAQ;YAEtC,OAAOE,UAAU,IAAI,CAAC,CAACC,WACdC,cAAcD,YACjBF,UAAUE,SAAS,KAAK,KAAMA,SAA6B,KAAK,KAAKL,QACrEO,SAASF,aAAaG,SAASH;QAEvC;QAEA,IAAI,CAACJ,cAAc,MAAM,EACvB,OAAO;QAGTF,IAAI,KAAK,GAAG,CAACU;YACX,MAAMC,gBAAgB;gBACpB,CAACV,MAAM,EAAES,MAAM,SAAS;YAC1B;YAEA,MAAME,cAAcV,cAAc,MAAM,CAAsB,CAACW,QAAQV;gBACrE,IAAIG,qBAASK,eAAeR,MAAM,QAAQ,GAAG;oBAC3C,IAAIL,YAAY,MAAM,IAAIA,WAAW,CAAC,EAAE,CAAC,GAAG,KAAKY,OAAO,OAAOZ,WAAW,CAAC,EAAE,CAAC,GAAG,KAAKY,OAAO,KAE3FZ,YAAY,MAAM,GAAG;oBAEvBA,YAAY,IAAI,CAAC;wBACf,KAAKY,OAAO;wBACZ,KAAKA,OAAO;oBACd;oBACA,OAAO;wBACL,GAAGG,MAAM;wBACT,GAAGC,kBAAkBX,MAAM;oBAC7B;gBACF;gBAEA,OAAOU;YACT,GAAG,CAAC;YAEJ,OAAOD;QACT;QACA,OAAO;IACT;IAEAG,iBAA0ClB,SAASE,kBAAkB;IACnET,KAAa,aAAa,GAAG;QAC7B,GAAKA,KAAa,aAAa,IAAI,CAAC,CAAC;QACrCQ;IACF;IAEA,OAAOR;AACT"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/indicators/pivotIndicators.js","sources":["../../../../../../../src/pipeline/spec/table/pipes/indicators/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions, BaseTableAPI } from '@visactor/vtable'\nimport { isNumber } from 'remeda'\nimport { intl } from 'src/i18n'\nimport { createFormatterByMeasure, findMeasureById } from 'src/pipeline/utils'\nimport type { Datum, FoldInfo, MeasureTree, PivotTableSpecPipe } from 'src/types'\n\nexport const pivotIndicators: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo } = advancedVSeed\n const { foldInfo } = datasetReshapeInfo[0]\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access\n const hasRow = ((spec as any)?.rows as any[])?.length > 0\n const foldMapValues = Object.values(foldInfo.foldMap)\n\n return {\n ...spec,\n indicatorTitle: intl.i18n`指标名称`,\n indicatorsAsCol: hasRow,\n hideIndicatorName: hasRow,\n indicators: [\n {\n cellType: 'text',\n indicatorKey: foldInfo.measureValue,\n title: foldMapValues.length > 1 ? '' : foldMapValues[0],\n width: 'auto',\n format: fieldFormat(measures, foldInfo as FoldInfo),\n },\n ] as unknown as PivotChartConstructorOptions['indicators'],\n }\n}\n\nconst fieldFormat = (measures: MeasureTree, foldInfo: FoldInfo) => {\n return (value: number | string, col?: number, row?: number, table?: BaseTableAPI) => {\n if (!isNumber(col) || !isNumber(row) || !table) {\n return value\n }\n\n const datum = table.getCellOriginRecord(col, row) as Datum[]\n if (!datum[0]) {\n return value\n }\n const { measureId: foldMeasureId } = foldInfo\n const measureId = datum[0][foldMeasureId] as string\n const measure = findMeasureById(measures, measureId)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n }\n}\n"],"names":["pivotIndicators","spec","context","advancedVSeed","measures","datasetReshapeInfo","foldInfo","hasRow","foldMapValues","Object","intl","fieldFormat","value","col","row","table","isNumber","datum","foldMeasureId","measureId","measure","findMeasureById","formatter","createFormatterByMeasure"],"mappings":";;;AAMO,MAAMA,kBAAsC,CAACC,MAAMC;IACxD,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,QAAQ,EAAEC,kBAAkB,EAAE,GAAGF;IACzC,MAAM,EAAEG,QAAQ,EAAE,GAAGD,kBAAkB,CAAC,EAAE;IAE1C,MAAME,SAAWN,MAAc,MAAgB,SAAS;IACxD,MAAMO,gBAAgBC,OAAO,MAAM,CAACH,SAAS,OAAO;IAEpD,OAAO;QACL,GAAGL,IAAI;QACP,gBAAgBS,KAAK,IAAI,CAAC,IAAI,CAAC;QAC/B,iBAAiBH;QACjB,mBAAmBA;QACnB,YAAY;YACV;gBACE,UAAU;gBACV,cAAcD,SAAS,YAAY;gBACnC,OAAOE,cAAc,MAAM,GAAG,IAAI,KAAKA,aAAa,CAAC,EAAE;gBACvD,OAAO;gBACP,QAAQG,YAAYP,UAAUE;YAChC;SACD;IACH;AACF;AAEA,MAAMK,cAAc,CAACP,UAAuBE,WACnC,CAACM,OAAwBC,KAAcC,KAAcC;QAC1D,IAAI,CAACC,SAASH,QAAQ,CAACG,SAASF,QAAQ,CAACC,OACvC,OAAOH;QAGT,MAAMK,QAAQF,MAAM,mBAAmB,CAACF,KAAKC;QAC7C,IAAI,CAACG,KAAK,CAAC,EAAE,EACX,OAAOL;QAET,MAAM,EAAE,WAAWM,aAAa,EAAE,GAAGZ;QACrC,MAAMa,YAAYF,KAAK,CAAC,EAAE,CAACC,cAAc;QACzC,MAAME,UAAUC,gBAAgBjB,UAAUe;QAC1C,MAAMG,YAAYC,yBAAyBH;QAC3C,OAAOE,UAAUV;IACnB"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/indicators/pivotIndicators.js","sources":["../../../../../../../src/pipeline/spec/table/pipes/indicators/pivotIndicators.ts"],"sourcesContent":["import type { PivotChartConstructorOptions, BaseTableAPI } from '@visactor/vtable'\nimport { isNumber } from 'remeda'\nimport { intl } from 'src/i18n'\nimport { createFormatterByMeasure, findMeasureById } from 'src/pipeline/utils'\nimport type { Datum, FoldInfo, MeasureTree, PivotTableSpecPipe } from 'src/types'\n\nexport const pivotIndicators: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { measures, datasetReshapeInfo } = advancedVSeed\n const { foldInfo } = datasetReshapeInfo[0]\n const hasRow = ((spec as any)?.rows as any[])?.length > 0\n const foldMapValues = Object.values(foldInfo.foldMap)\n\n return {\n ...spec,\n indicatorTitle: intl.i18n`指标名称`,\n indicatorsAsCol: hasRow,\n hideIndicatorName: hasRow,\n indicators: [\n {\n cellType: 'text',\n indicatorKey: foldInfo.measureValue,\n title: foldMapValues.length > 1 ? '' : foldMapValues[0],\n width: 'auto',\n format: fieldFormat(measures, foldInfo as FoldInfo),\n },\n ] as unknown as PivotChartConstructorOptions['indicators'],\n }\n}\n\nconst fieldFormat = (measures: MeasureTree, foldInfo: FoldInfo) => {\n return (value: number | string, col?: number, row?: number, table?: BaseTableAPI) => {\n if (!isNumber(col) || !isNumber(row) || !table) {\n return value\n }\n\n const datum = table.getCellOriginRecord(col, row) as Datum[]\n if (!datum[0]) {\n return value\n }\n const { measureId: foldMeasureId } = foldInfo\n const measureId = datum[0][foldMeasureId] as string\n const measure = findMeasureById(measures, measureId)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n }\n}\n"],"names":["pivotIndicators","spec","context","advancedVSeed","measures","datasetReshapeInfo","foldInfo","hasRow","foldMapValues","Object","intl","fieldFormat","value","col","row","table","isNumber","datum","foldMeasureId","measureId","measure","findMeasureById","formatter","createFormatterByMeasure"],"mappings":";;;AAMO,MAAMA,kBAAsC,CAACC,MAAMC;IACxD,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,QAAQ,EAAEC,kBAAkB,EAAE,GAAGF;IACzC,MAAM,EAAEG,QAAQ,EAAE,GAAGD,kBAAkB,CAAC,EAAE;IAC1C,MAAME,SAAWN,MAAc,MAAgB,SAAS;IACxD,MAAMO,gBAAgBC,OAAO,MAAM,CAACH,SAAS,OAAO;IAEpD,OAAO;QACL,GAAGL,IAAI;QACP,gBAAgBS,KAAK,IAAI,CAAC,IAAI,CAAC;QAC/B,iBAAiBH;QACjB,mBAAmBA;QACnB,YAAY;YACV;gBACE,UAAU;gBACV,cAAcD,SAAS,YAAY;gBACnC,OAAOE,cAAc,MAAM,GAAG,IAAI,KAAKA,aAAa,CAAC,EAAE;gBACvD,OAAO;gBACP,QAAQG,YAAYP,UAAUE;YAChC;SACD;IACH;AACF;AAEA,MAAMK,cAAc,CAACP,UAAuBE,WACnC,CAACM,OAAwBC,KAAcC,KAAcC;QAC1D,IAAI,CAACC,SAASH,QAAQ,CAACG,SAASF,QAAQ,CAACC,OACvC,OAAOH;QAGT,MAAMK,QAAQF,MAAM,mBAAmB,CAACF,KAAKC;QAC7C,IAAI,CAACG,KAAK,CAAC,EAAE,EACX,OAAOL;QAET,MAAM,EAAE,WAAWM,aAAa,EAAE,GAAGZ;QACrC,MAAMa,YAAYF,KAAK,CAAC,EAAE,CAACC,cAAc;QACzC,MAAME,UAAUC,gBAAgBjB,UAAUe;QAC1C,MAAMG,YAAYC,yBAAyBH;QAC3C,OAAOE,UAAUV;IACnB"}
@@ -1,2 +1,2 @@
1
1
  import type { PivotTableSpecPipe } from '../../../../../types';
2
- export declare const frameStyle: PivotTableSpecPipe;
2
+ export declare const tableThemeStyle: PivotTableSpecPipe;
@@ -1,4 +1,4 @@
1
- const frameStyle = (spec, context)=>{
1
+ const tableThemeStyle = (spec, context)=>{
2
2
  const result = {
3
3
  ...spec
4
4
  };
@@ -12,8 +12,12 @@ const frameStyle = (spec, context)=>{
12
12
  borderLineWidth: 1,
13
13
  cornerRadius: 4
14
14
  };
15
+ result.theme.scrollStyle = {
16
+ visible: 'scrolling',
17
+ hoverOn: true
18
+ };
15
19
  return result;
16
20
  };
17
- export { frameStyle };
21
+ export { tableThemeStyle };
18
22
 
19
23
  //# sourceMappingURL=frameStyle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/theme/frameStyle.js","sources":["../../../../../../../src/pipeline/spec/table/pipes/theme/frameStyle.ts"],"sourcesContent":["import type { PivotTableSpecPipe, TableConfig } from 'src/types'\nimport type { ThemeLike, WithTheme } from './type'\n\nexport const frameStyle: 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\n ;(result.theme as ThemeLike).frameStyle = {\n borderColor,\n borderLineWidth: 1,\n cornerRadius: 4,\n }\n\n return result\n}\n"],"names":["frameStyle","spec","context","result","advancedVSeed","config","chartType","themConfig","borderColor"],"mappings":"AAGO,MAAMA,aAAiC,CAACC,MAAMC;IACnD,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;IAE5CJ,OAAO,KAAK,CAAe,UAAU,GAAG;QACxCK;QACA,iBAAiB;QACjB,cAAc;IAChB;IAEA,OAAOL;AACT"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/theme/frameStyle.js","sources":["../../../../../../../src/pipeline/spec/table/pipes/theme/frameStyle.ts"],"sourcesContent":["import type { PivotTableSpecPipe, TableConfig } from 'src/types'\nimport type { ThemeLike, WithTheme } from './type'\n\nexport const tableThemeStyle: 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\n ;(result.theme as ThemeLike).frameStyle = {\n borderColor,\n borderLineWidth: 1,\n cornerRadius: 4,\n }\n result.theme.scrollStyle = {\n visible: 'scrolling',\n hoverOn: true,\n }\n\n return result\n}\n"],"names":["tableThemeStyle","spec","context","result","advancedVSeed","config","chartType","themConfig","borderColor"],"mappings":"AAGO,MAAMA,kBAAsC,CAACC,MAAMC;IACxD,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;IAE5CJ,OAAO,KAAK,CAAe,UAAU,GAAG;QACxCK;QACA,iBAAiB;QACjB,cAAc;IAChB;IACAL,OAAO,KAAK,CAAC,WAAW,GAAG;QACzB,SAAS;QACT,SAAS;IACX;IAEA,OAAOA;AACT"}