@visactor/vseed 0.4.7 → 0.4.8

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 (46) 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/table/pipeline/pivotTable.js +2 -3
  4. package/dist/esm/pipeline/advanced/table/pipeline/pivotTable.js.map +1 -1
  5. package/dist/esm/pipeline/advanced/table/pipes/default/index.d.ts +0 -1
  6. package/dist/esm/pipeline/advanced/table/pipes/default/index.js +1 -2
  7. package/dist/esm/pipeline/advanced/table/pipes/encoding/pivotTable.js +6 -3
  8. package/dist/esm/pipeline/advanced/table/pipes/encoding/pivotTable.js.map +1 -1
  9. package/dist/esm/pipeline/advanced/table/pipes/index.d.ts +0 -1
  10. package/dist/esm/pipeline/advanced/table/pipes/index.js +0 -1
  11. package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js +1 -1
  12. package/dist/esm/pipeline/spec/table/pipeline/pivotTable.js.map +1 -1
  13. package/dist/esm/pipeline/spec/table/pipeline/table.js +2 -1
  14. package/dist/esm/pipeline/spec/table/pipeline/table.js.map +1 -1
  15. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js +1 -3
  16. package/dist/esm/pipeline/spec/table/pipes/cellStyle/pivot.js.map +1 -1
  17. package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.js +2 -12
  18. package/dist/esm/pipeline/spec/table/pipes/columns/pivotColumns.js.map +1 -1
  19. package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.js +3 -2
  20. package/dist/esm/pipeline/spec/table/pipes/corner/titleOnDimension.js.map +1 -1
  21. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js +3 -2
  22. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotDataConfig.js.map +1 -1
  23. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js +20 -25
  24. package/dist/esm/pipeline/spec/table/pipes/indicators/pivotIndicators.js.map +1 -1
  25. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js +2 -12
  26. package/dist/esm/pipeline/spec/table/pipes/rows/pivotRows.js.map +1 -1
  27. package/dist/esm/pipeline/spec/table/pipes/theme/bottomFrozenStyle.d.ts +2 -0
  28. package/dist/esm/pipeline/spec/table/pipes/theme/bottomFrozenStyle.js +51 -0
  29. package/dist/esm/pipeline/spec/table/pipes/theme/bottomFrozenStyle.js.map +1 -0
  30. package/dist/esm/pipeline/spec/table/pipes/theme/index.d.ts +1 -0
  31. package/dist/esm/pipeline/spec/table/pipes/theme/index.js +1 -0
  32. package/dist/esm/types/chartType/pivotTable/pivotTable.d.ts +6 -0
  33. package/dist/esm/types/chartType/pivotTable/zPivotTable.d.ts +1 -0
  34. package/dist/esm/types/chartType/pivotTable/zPivotTable.js +1 -0
  35. package/dist/esm/types/chartType/pivotTable/zPivotTable.js.map +1 -1
  36. package/dist/umd/index.js +191 -198
  37. package/dist/umd/index.js.map +1 -1
  38. package/package.json +1 -1
  39. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.d.ts +0 -2
  40. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.js +0 -19
  41. package/dist/esm/pipeline/advanced/table/pipes/default/defaultMeasureId.js.map +0 -1
  42. package/dist/esm/pipeline/advanced/table/pipes/reshape/index.d.ts +0 -1
  43. package/dist/esm/pipeline/advanced/table/pipes/reshape/index.js +0 -2
  44. package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.d.ts +0 -2
  45. package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.js +0 -32
  46. package/dist/esm/pipeline/advanced/table/pipes/reshape/reshapePivotTable.js.map +0 -1
@@ -1,14 +1,13 @@
1
1
  import { theme } from "../../chart/pipes/index.js";
2
- import { cellStyle, defaultDimensions, defaultMeasureId, defaultMeasures, encodingForPivotTable, initAdvancedVSeed, page, pivotTableConfig, reshapePivotTable } from "../pipes/index.js";
2
+ import { cellStyle, defaultDimensions, defaultMeasures, encodingForPivotTable, initAdvancedVSeed, page, pivotTableConfig, records } from "../pipes/index.js";
3
3
  const pivotTableAdvancedPipeline = [
4
4
  page,
5
5
  initAdvancedVSeed,
6
6
  defaultMeasures,
7
7
  defaultDimensions,
8
- defaultMeasureId,
9
8
  cellStyle,
10
9
  encodingForPivotTable,
11
- reshapePivotTable,
10
+ records,
12
11
  pivotTableConfig,
13
12
  theme
14
13
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/table/pipeline/pivotTable.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/table/pipeline/pivotTable.ts"],"sourcesContent":["import type { AdvancedPipeline } from 'src/types'\nimport { theme } from '../../chart/pipes'\nimport {\n cellStyle,\n defaultDimensions,\n defaultMeasureId,\n defaultMeasures,\n encodingForPivotTable,\n initAdvancedVSeed,\n page,\n pivotTableConfig,\n reshapePivotTable,\n} from '../pipes'\n\nexport const pivotTableAdvancedPipeline: AdvancedPipeline = [\n page,\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n defaultMeasureId,\n cellStyle,\n\n encodingForPivotTable,\n reshapePivotTable,\n pivotTableConfig,\n theme,\n]\n"],"names":["pivotTableAdvancedPipeline","page","initAdvancedVSeed","defaultMeasures","defaultDimensions","defaultMeasureId","cellStyle","encodingForPivotTable","reshapePivotTable","pivotTableConfig","theme"],"mappings":";;AAcO,MAAMA,6BAA+C;IAC1DC;IACAC;IACAC;IACAC;IACAC;IACAC;IAEAC;IACAC;IACAC;IACAC;CACD"}
1
+ {"version":3,"file":"pipeline/advanced/table/pipeline/pivotTable.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/table/pipeline/pivotTable.ts"],"sourcesContent":["import type { AdvancedPipeline } from 'src/types'\nimport { theme } from '../../chart/pipes'\nimport {\n cellStyle,\n defaultDimensions,\n defaultMeasures,\n encodingForPivotTable,\n initAdvancedVSeed,\n page,\n pivotTableConfig,\n records,\n} from '../pipes'\n\nexport const pivotTableAdvancedPipeline: AdvancedPipeline = [\n page,\n initAdvancedVSeed,\n defaultMeasures,\n defaultDimensions,\n cellStyle,\n\n encodingForPivotTable,\n records,\n pivotTableConfig,\n theme,\n]\n"],"names":["pivotTableAdvancedPipeline","page","initAdvancedVSeed","defaultMeasures","defaultDimensions","cellStyle","encodingForPivotTable","records","pivotTableConfig","theme"],"mappings":";;AAaO,MAAMA,6BAA+C;IAC1DC;IACAC;IACAC;IACAC;IACAC;IAEAC;IACAC;IACAC;IACAC;CACD"}
@@ -1,3 +1,2 @@
1
1
  export { defaultMeasures } from './defaultMeasures';
2
- export { defaultMeasureId } from './defaultMeasureId';
3
2
  export { defaultDimensions } from './defaultDimensions';
@@ -1,4 +1,3 @@
1
1
  import { defaultMeasures } from "./defaultMeasures.js";
2
- import { defaultMeasureId } from "./defaultMeasureId.js";
3
2
  import { defaultDimensions } from "./defaultDimensions.js";
4
- export { defaultDimensions, defaultMeasureId, defaultMeasures };
3
+ export { defaultDimensions, defaultMeasures };
@@ -1,17 +1,20 @@
1
1
  import { unique } from "remeda";
2
+ import { MeasureId, MeasureName } from "../../../../../dataReshape/index.js";
2
3
  import { findAllMeasures } from "../../../../utils/index.js";
3
4
  const encodingForPivotTable = (advancedVSeed)=>{
4
5
  const { measureTree = [], dimensionTree = [] } = advancedVSeed;
5
6
  const measures = findAllMeasures(measureTree);
6
- const hasDimensionEncoding = dimensionTree.some((item)=>item.encoding);
7
+ const filteredDimensionTree = dimensionTree.filter((dim)=>dim.id !== MeasureId && dim.id !== MeasureName);
8
+ const hasDimensionEncoding = filteredDimensionTree.some((item)=>item.encoding);
7
9
  const hasMeasureEncoding = measures.some((item)=>item.encoding);
8
10
  const encoding = {};
9
- if (hasDimensionEncoding) generateDimensionEncoding(dimensionTree, encoding);
10
- else generateDefaultDimensionEncoding(dimensionTree, encoding);
11
+ if (hasDimensionEncoding) generateDimensionEncoding(filteredDimensionTree, encoding);
12
+ else generateDefaultDimensionEncoding(filteredDimensionTree, encoding);
11
13
  if (hasMeasureEncoding) generateMeasureEncoding(measures, encoding);
12
14
  else generateDefaultMeasureEncoding(measures, encoding);
13
15
  return {
14
16
  ...advancedVSeed,
17
+ dimensionTree: filteredDimensionTree,
15
18
  encoding
16
19
  };
17
20
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/advanced/table/pipes/encoding/pivotTable.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/table/pipes/encoding/pivotTable.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const encodingForPivotTable: AdvancedPipe = (advancedVSeed) => {\n const { measureTree = [], dimensionTree = [] } = advancedVSeed\n const measures = findAllMeasures(measureTree)\n\n const hasDimensionEncoding = dimensionTree.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(dimensionTree, encoding)\n } else {\n generateDefaultDimensionEncoding(dimensionTree, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.tooltip = uniqueDimIds\n encoding.row = []\n encoding.column = []\n\n uniqueDimIds.forEach((item, index) => {\n if (index % 2 === 0) {\n encoding.column!.push(item)\n } else {\n encoding.row!.push(item)\n }\n })\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.tooltip = uniqueDimIds\n encoding.row = []\n encoding.column = []\n\n dimensions.forEach((dim, index) => {\n const id = dim.id\n if (dim.encoding === 'row') {\n encoding.row!.push(id)\n } else if (dim.encoding === 'column') {\n encoding.column!.push(id)\n } else {\n if (index % 2 === 0) {\n encoding.column!.push(id)\n } else {\n encoding.row!.push(id)\n }\n }\n })\n}\n\n/**\n * --------------------指标--------------------\n */\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.detail = unique(\n measures.filter((item) => item.encoding === 'detail' || !item.encoding).map((item) => item.id),\n )\n}\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.detail = unique(\n measures.filter((item) => item.encoding === 'detail' || !item.encoding).map((item) => item.id),\n )\n}\n"],"names":["encodingForPivotTable","advancedVSeed","measureTree","dimensionTree","measures","findAllMeasures","hasDimensionEncoding","item","hasMeasureEncoding","encoding","generateDimensionEncoding","generateDefaultDimensionEncoding","generateMeasureEncoding","generateDefaultMeasureEncoding","dimensions","uniqueDimIds","unique","d","index","dim","id"],"mappings":";;AAIO,MAAMA,wBAAsC,CAACC;IAClD,MAAM,EAAEC,cAAc,EAAE,EAAEC,gBAAgB,EAAE,EAAE,GAAGF;IACjD,MAAMG,WAAWC,gBAAgBH;IAEjC,MAAMI,uBAAuBH,cAAc,IAAI,CAAC,CAACI,OAAoBA,KAAK,QAAQ;IAClF,MAAMC,qBAAqBJ,SAAS,IAAI,CAAC,CAACG,OAAkBA,KAAK,QAAQ;IACzE,MAAME,WAAqB,CAAC;IAE5B,IAAIH,sBACFI,0BAA0BP,eAAeM;SAEzCE,iCAAiCR,eAAeM;IAGlD,IAAID,oBACFI,wBAAwBR,UAAUK;SAElCI,+BAA+BT,UAAUK;IAG3C,OAAO;QAAE,GAAGR,aAAa;QAAEQ;IAAS;AACtC;AAKA,MAAME,mCAAmC,CAACG,YAAwBL;IAChE,MAAMM,eAAeC,OAAOF,WAAW,GAAG,CAAC,CAACG,IAAMA,EAAE,EAAE;IACtDR,SAAS,OAAO,GAAGM;IACnBN,SAAS,GAAG,GAAG,EAAE;IACjBA,SAAS,MAAM,GAAG,EAAE;IAEpBM,aAAa,OAAO,CAAC,CAACR,MAAMW;QAC1B,IAAIA,QAAQ,MAAM,GAChBT,SAAS,MAAM,CAAE,IAAI,CAACF;aAEtBE,SAAS,GAAG,CAAE,IAAI,CAACF;IAEvB;AACF;AACA,MAAMG,4BAA4B,CAACI,YAAwBL;IACzD,MAAMM,eAAeC,OAAOF,WAAW,GAAG,CAAC,CAACG,IAAMA,EAAE,EAAE;IACtDR,SAAS,OAAO,GAAGM;IACnBN,SAAS,GAAG,GAAG,EAAE;IACjBA,SAAS,MAAM,GAAG,EAAE;IAEpBK,WAAW,OAAO,CAAC,CAACK,KAAKD;QACvB,MAAME,KAAKD,IAAI,EAAE;QACjB,IAAIA,AAAiB,UAAjBA,IAAI,QAAQ,EACdV,SAAS,GAAG,CAAE,IAAI,CAACW;aACd,IAAID,AAAiB,aAAjBA,IAAI,QAAQ,EACrBV,SAAS,MAAM,CAAE,IAAI,CAACW;aAEtB,IAAIF,QAAQ,MAAM,GAChBT,SAAS,MAAM,CAAE,IAAI,CAACW;aAEtBX,SAAS,GAAG,CAAE,IAAI,CAACW;IAGzB;AACF;AAKA,MAAMP,iCAAiC,CAACT,UAAoBK;IAC1DA,SAAS,OAAO,GAAGO,OAAOZ,SAAS,GAAG,CAAC,CAACG,OAASA,KAAK,EAAE;IACxDE,SAAS,MAAM,GAAGO,OAChBZ,SAAS,MAAM,CAAC,CAACG,OAASA,AAAkB,aAAlBA,KAAK,QAAQ,IAAiB,CAACA,KAAK,QAAQ,EAAE,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;AAEjG;AACA,MAAMK,0BAA0B,CAACR,UAAoBK;IACnDA,SAAS,OAAO,GAAGL,SAAS,GAAG,CAAC,CAACG,OAASA,KAAK,EAAE;IACjDE,SAAS,MAAM,GAAGO,OAChBZ,SAAS,MAAM,CAAC,CAACG,OAASA,AAAkB,aAAlBA,KAAK,QAAQ,IAAiB,CAACA,KAAK,QAAQ,EAAE,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;AAEjG"}
1
+ {"version":3,"file":"pipeline/advanced/table/pipes/encoding/pivotTable.js","sources":["webpack://@visactor/vseed/./src/pipeline/advanced/table/pipes/encoding/pivotTable.ts"],"sourcesContent":["import { unique } from 'remeda'\nimport { MeasureId, MeasureName } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { AdvancedPipe, Dimension, Dimensions, Encoding, Measure, Measures } from 'src/types'\n\nexport const encodingForPivotTable: AdvancedPipe = (advancedVSeed) => {\n const { measureTree = [], dimensionTree = [] } = advancedVSeed\n const measures = findAllMeasures(measureTree)\n\n // 过滤掉用户输入中可能存在的虚拟指标维度(__MeaId__ / __MeaName__),\n // pivotTable 不再做 data reshape,这些虚拟维度不再需要\n const filteredDimensionTree = dimensionTree.filter((dim: Dimension) => dim.id !== MeasureId && dim.id !== MeasureName)\n\n const hasDimensionEncoding = filteredDimensionTree.some((item: Dimension) => item.encoding)\n const hasMeasureEncoding = measures.some((item: Measure) => item.encoding)\n const encoding: Encoding = {}\n\n if (hasDimensionEncoding) {\n generateDimensionEncoding(filteredDimensionTree, encoding)\n } else {\n generateDefaultDimensionEncoding(filteredDimensionTree, encoding)\n }\n\n if (hasMeasureEncoding) {\n generateMeasureEncoding(measures, encoding)\n } else {\n generateDefaultMeasureEncoding(measures, encoding)\n }\n\n return { ...advancedVSeed, dimensionTree: filteredDimensionTree, encoding }\n}\n\n/**\n * --------------------维度--------------------\n */\nconst generateDefaultDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.tooltip = uniqueDimIds\n encoding.row = []\n encoding.column = []\n\n uniqueDimIds.forEach((item, index) => {\n if (index % 2 === 0) {\n encoding.column!.push(item)\n } else {\n encoding.row!.push(item)\n }\n })\n}\nconst generateDimensionEncoding = (dimensions: Dimensions, encoding: Encoding) => {\n const uniqueDimIds = unique(dimensions.map((d) => d.id))\n encoding.tooltip = uniqueDimIds\n encoding.row = []\n encoding.column = []\n\n dimensions.forEach((dim, index) => {\n const id = dim.id\n if (dim.encoding === 'row') {\n encoding.row!.push(id)\n } else if (dim.encoding === 'column') {\n encoding.column!.push(id)\n } else {\n if (index % 2 === 0) {\n encoding.column!.push(id)\n } else {\n encoding.row!.push(id)\n }\n }\n })\n}\n\n/**\n * --------------------指标--------------------\n */\nconst generateDefaultMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = unique(measures.map((item) => item.id))\n encoding.detail = unique(\n measures.filter((item) => item.encoding === 'detail' || !item.encoding).map((item) => item.id),\n )\n}\nconst generateMeasureEncoding = (measures: Measures, encoding: Encoding) => {\n encoding.tooltip = measures.map((item) => item.id)\n encoding.detail = unique(\n measures.filter((item) => item.encoding === 'detail' || !item.encoding).map((item) => item.id),\n )\n}\n"],"names":["encodingForPivotTable","advancedVSeed","measureTree","dimensionTree","measures","findAllMeasures","filteredDimensionTree","dim","MeasureId","MeasureName","hasDimensionEncoding","item","hasMeasureEncoding","encoding","generateDimensionEncoding","generateDefaultDimensionEncoding","generateMeasureEncoding","generateDefaultMeasureEncoding","dimensions","uniqueDimIds","unique","d","index","id"],"mappings":";;;AAKO,MAAMA,wBAAsC,CAACC;IAClD,MAAM,EAAEC,cAAc,EAAE,EAAEC,gBAAgB,EAAE,EAAE,GAAGF;IACjD,MAAMG,WAAWC,gBAAgBH;IAIjC,MAAMI,wBAAwBH,cAAc,MAAM,CAAC,CAACI,MAAmBA,IAAI,EAAE,KAAKC,aAAaD,IAAI,EAAE,KAAKE;IAE1G,MAAMC,uBAAuBJ,sBAAsB,IAAI,CAAC,CAACK,OAAoBA,KAAK,QAAQ;IAC1F,MAAMC,qBAAqBR,SAAS,IAAI,CAAC,CAACO,OAAkBA,KAAK,QAAQ;IACzE,MAAME,WAAqB,CAAC;IAE5B,IAAIH,sBACFI,0BAA0BR,uBAAuBO;SAEjDE,iCAAiCT,uBAAuBO;IAG1D,IAAID,oBACFI,wBAAwBZ,UAAUS;SAElCI,+BAA+Bb,UAAUS;IAG3C,OAAO;QAAE,GAAGZ,aAAa;QAAE,eAAeK;QAAuBO;IAAS;AAC5E;AAKA,MAAME,mCAAmC,CAACG,YAAwBL;IAChE,MAAMM,eAAeC,OAAOF,WAAW,GAAG,CAAC,CAACG,IAAMA,EAAE,EAAE;IACtDR,SAAS,OAAO,GAAGM;IACnBN,SAAS,GAAG,GAAG,EAAE;IACjBA,SAAS,MAAM,GAAG,EAAE;IAEpBM,aAAa,OAAO,CAAC,CAACR,MAAMW;QAC1B,IAAIA,QAAQ,MAAM,GAChBT,SAAS,MAAM,CAAE,IAAI,CAACF;aAEtBE,SAAS,GAAG,CAAE,IAAI,CAACF;IAEvB;AACF;AACA,MAAMG,4BAA4B,CAACI,YAAwBL;IACzD,MAAMM,eAAeC,OAAOF,WAAW,GAAG,CAAC,CAACG,IAAMA,EAAE,EAAE;IACtDR,SAAS,OAAO,GAAGM;IACnBN,SAAS,GAAG,GAAG,EAAE;IACjBA,SAAS,MAAM,GAAG,EAAE;IAEpBK,WAAW,OAAO,CAAC,CAACX,KAAKe;QACvB,MAAMC,KAAKhB,IAAI,EAAE;QACjB,IAAIA,AAAiB,UAAjBA,IAAI,QAAQ,EACdM,SAAS,GAAG,CAAE,IAAI,CAACU;aACd,IAAIhB,AAAiB,aAAjBA,IAAI,QAAQ,EACrBM,SAAS,MAAM,CAAE,IAAI,CAACU;aAEtB,IAAID,QAAQ,MAAM,GAChBT,SAAS,MAAM,CAAE,IAAI,CAACU;aAEtBV,SAAS,GAAG,CAAE,IAAI,CAACU;IAGzB;AACF;AAKA,MAAMN,iCAAiC,CAACb,UAAoBS;IAC1DA,SAAS,OAAO,GAAGO,OAAOhB,SAAS,GAAG,CAAC,CAACO,OAASA,KAAK,EAAE;IACxDE,SAAS,MAAM,GAAGO,OAChBhB,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,aAAlBA,KAAK,QAAQ,IAAiB,CAACA,KAAK,QAAQ,EAAE,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;AAEjG;AACA,MAAMK,0BAA0B,CAACZ,UAAoBS;IACnDA,SAAS,OAAO,GAAGT,SAAS,GAAG,CAAC,CAACO,OAASA,KAAK,EAAE;IACjDE,SAAS,MAAM,GAAGO,OAChBhB,SAAS,MAAM,CAAC,CAACO,OAASA,AAAkB,aAAlBA,KAAK,QAAQ,IAAiB,CAACA,KAAK,QAAQ,EAAE,GAAG,CAAC,CAACA,OAASA,KAAK,EAAE;AAEjG"}
@@ -2,7 +2,6 @@ export * from './init';
2
2
  export * from './records';
3
3
  export * from './config';
4
4
  export * from './default';
5
- export * from './reshape';
6
5
  export * from './encoding';
7
6
  export * from './cellStyle';
8
7
  export * from './page';
@@ -2,7 +2,6 @@ export * from "./init/index.js";
2
2
  export * from "./records/index.js";
3
3
  export * from "./config/index.js";
4
4
  export * from "./default/index.js";
5
- export * from "./reshape/index.js";
6
5
  export * from "./encoding/index.js";
7
6
  export * from "./cellStyle/index.js";
8
7
  export * from "./page/index.js";
@@ -4,8 +4,8 @@ const pivotTableSpecPipeline = [
4
4
  initPivotTable,
5
5
  pivotColumns,
6
6
  pivotRows,
7
- titleOnDimension,
8
7
  pivotIndicators,
8
+ titleOnDimension,
9
9
  bodyStyle,
10
10
  headerStyle,
11
11
  rowHeaderStyle,
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipeline/pivotTable.js","sources":["webpack://@visactor/vseed/./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
+ {"version":3,"file":"pipeline/spec/table/pipeline/pivotTable.js","sources":["webpack://@visactor/vseed/./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 pivotIndicators,\n titleOnDimension,\n bodyStyle,\n headerStyle,\n rowHeaderStyle,\n cornerHeaderStyle,\n tableThemeStyle,\n selectionStyle,\n dataConfig,\n pivotTableBodyCell,\n]\n"],"names":["pivotTableSpecPipeline","initPivotTable","pivotColumns","pivotRows","pivotIndicators","titleOnDimension","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,4 +1,4 @@
1
- import { bodyStyle, columnsAggregation, dimensionTreeToColumns, headerStyle, initTable, measureTreeToColumns, selectionStyle, tableBodyCell, tableThemeStyle } from "../pipes/index.js";
1
+ import { bodyStyle, bottomFrozenStyle, columnsAggregation, dimensionTreeToColumns, headerStyle, initTable, measureTreeToColumns, selectionStyle, tableBodyCell, tableThemeStyle } from "../pipes/index.js";
2
2
  const tableSpecPipeline = [
3
3
  initTable,
4
4
  dimensionTreeToColumns,
@@ -6,6 +6,7 @@ const tableSpecPipeline = [
6
6
  columnsAggregation,
7
7
  bodyStyle,
8
8
  headerStyle,
9
+ bottomFrozenStyle,
9
10
  tableThemeStyle,
10
11
  selectionStyle,
11
12
  tableBodyCell
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipeline/table.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipeline/table.ts"],"sourcesContent":["import type { SpecPipeline } from 'src/types'\nimport {\n initTable,\n dimensionTreeToColumns,\n measureTreeToColumns,\n columnsAggregation,\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 columnsAggregation,\n bodyStyle,\n headerStyle,\n tableThemeStyle,\n selectionStyle,\n tableBodyCell,\n]\n"],"names":["tableSpecPipeline","initTable","dimensionTreeToColumns","measureTreeToColumns","columnsAggregation","bodyStyle","headerStyle","tableThemeStyle","selectionStyle","tableBodyCell"],"mappings":";AAaO,MAAMA,oBAAkC;IAC7CC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;CACD"}
1
+ {"version":3,"file":"pipeline/spec/table/pipeline/table.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipeline/table.ts"],"sourcesContent":["import type { SpecPipeline } from 'src/types'\nimport {\n initTable,\n dimensionTreeToColumns,\n measureTreeToColumns,\n columnsAggregation,\n bodyStyle,\n headerStyle,\n bottomFrozenStyle,\n tableThemeStyle,\n selectionStyle,\n tableBodyCell,\n} from '../pipes'\n\nexport const tableSpecPipeline: SpecPipeline = [\n initTable,\n dimensionTreeToColumns,\n measureTreeToColumns,\n columnsAggregation,\n bodyStyle,\n headerStyle,\n bottomFrozenStyle,\n tableThemeStyle,\n selectionStyle,\n tableBodyCell,\n]\n"],"names":["tableSpecPipeline","initTable","dimensionTreeToColumns","measureTreeToColumns","columnsAggregation","bodyStyle","headerStyle","bottomFrozenStyle","tableThemeStyle","selectionStyle","tableBodyCell"],"mappings":";AAcO,MAAMA,oBAAkC;IAC7CC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;IACAC;CACD"}
@@ -1,8 +1,7 @@
1
1
  import { array } from "@visactor/vutils";
2
- import { isNullish, isString } from "remeda";
2
+ import { isString } from "remeda";
3
3
  import { selector, selectorWithDynamicFilter } from "../../../../../dataSelector/selector.js";
4
4
  import { getCellOriginalDataByDatum, pickBodyCellStyle } from "./common.js";
5
- import { FoldMeasureValue, MeasureId } from "../../../../../dataReshape/index.js";
6
5
  const pivotTableBodyCell = (spec, context)=>{
7
6
  const { advancedVSeed } = context;
8
7
  const { cellStyle } = advancedVSeed;
@@ -29,7 +28,6 @@ const pivotTableBodyCell = (spec, context)=>{
29
28
  headerPaths.forEach((path)=>{
30
29
  if (path.dimensionKey) originalDatum[path.dimensionKey] = path.value;
31
30
  });
32
- if (!isNullish(originalDatum[MeasureId]) && !isNullish(originalDatum[FoldMeasureValue])) originalDatum[originalDatum[MeasureId]] = originalDatum[FoldMeasureValue];
33
31
  const currentCellData = getCellOriginalDataByDatum(datum, hasDynamicFilter, originalDatum);
34
32
  const mergedStyle = bodyCellStyleList.reduce((result, style)=>{
35
33
  const shouldApply = style.dynamicFilter ? selectorWithDynamicFilter(currentCellData || originalDatum, style.dynamicFilter, style.selector) : selector(originalDatum, style.selector);
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/cellStyle/pivot.js","sources":["webpack://@visactor/vseed/./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, selectorWithDynamicFilter } from 'src/dataSelector/selector'\nimport type { BodyCellStyle, Datum, PivotTableSpecPipe } from 'src/types'\nimport { getCellOriginalDataByDatum, 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 const hasDynamicFilter = bodyCellStyleList.some((style) => !!style.dynamicFilter)\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 const currentCellData = getCellOriginalDataByDatum(datum, hasDynamicFilter, originalDatum)\n\n const mergedStyle = bodyCellStyleList.reduce<Record<string, any>>((result, style) => {\n const shouldApply = style.dynamicFilter\n ? selectorWithDynamicFilter(currentCellData || originalDatum, style.dynamicFilter, style.selector)\n : selector(originalDatum, style.selector)\n if (shouldApply) {\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","hasDynamicFilter","style","newIndicators","ind","newInd","isString","indicatorKey","datum","dataValue","cellHeaderPaths","headerPaths","originalDatum","path","isNullish","MeasureId","FoldMeasureValue","currentCellData","getCellOriginalDataByDatum","mergedStyle","result","shouldApply","selectorWithDynamicFilter","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;IAC1E,MAAMQ,cAA8C,EAAE;IACtD,MAAMC,mBAAmBJ,kBAAkB,IAAI,CAAC,CAACK,QAAU,CAAC,CAACA,MAAM,aAAa;IAEhF,MAAMC,gBAAgBJ,WAAW,GAAG,CAAC,CAACK;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;YAE3E,MAAMC,kBAAkBC,2BAA2BV,OAAOP,kBAAkBW;YAE5E,MAAMO,cAActB,kBAAkB,MAAM,CAAsB,CAACuB,QAAQlB;gBACzE,MAAMmB,cAAcnB,MAAM,aAAa,GACnCoB,0BAA0BL,mBAAmBL,eAAeV,MAAM,aAAa,EAAEA,MAAM,QAAQ,IAC/FqB,SAASX,eAAeV,MAAM,QAAQ;gBAC1C,IAAImB,aAAa;oBACf,IAAIrB,YAAY,MAAM,IAAIA,WAAW,CAAC,EAAE,CAAC,GAAG,KAAKQ,OAAO,OAAOR,WAAW,CAAC,EAAE,CAAC,GAAG,KAAKQ,OAAO,KAE3FR,YAAY,MAAM,GAAG;oBAEvBA,YAAY,IAAI,CAAC;wBACf,KAAKQ,OAAO;wBACZ,KAAKA,OAAO;oBACd;oBACA,OAAO;wBACL,GAAGY,MAAM;wBACT,GAAGI,kBAAkBtB,MAAM;oBAC7B;gBACF;gBAEA,OAAOkB;YACT,GAAG,CAAC;YAEJ,OAAOD;QACT;QACA,OAAOd;IACT;IACA,OAAO;QACL,GAAGb,IAAI;QACP,eAAe;YACb,GAAKA,MAAc,iBAAiB,CAAC,CAAC;YACtCQ;QACF;QACA,YAAYG;IACd;AACF"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/cellStyle/pivot.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/cellStyle/pivot.ts"],"sourcesContent":["import type { IIndicator, PivotTableConstructorOptions } from '@visactor/vtable'\nimport { array } from '@visactor/vutils'\nimport { isString } from 'remeda'\nimport { selector, selectorWithDynamicFilter } from 'src/dataSelector/selector'\nimport type { BodyCellStyle, Datum, PivotTableSpecPipe } from 'src/types'\nimport { getCellOriginalDataByDatum, pickBodyCellStyle } from './common'\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 const hasDynamicFilter = bodyCellStyleList.some((style) => !!style.dynamicFilter)\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 const currentCellData = getCellOriginalDataByDatum(datum, hasDynamicFilter, originalDatum)\n\n const mergedStyle = bodyCellStyleList.reduce<Record<string, any>>((result, style) => {\n const shouldApply = style.dynamicFilter\n ? selectorWithDynamicFilter(currentCellData || originalDatum, style.dynamicFilter, style.selector)\n : selector(originalDatum, style.selector)\n if (shouldApply) {\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","hasDynamicFilter","style","newIndicators","ind","newInd","isString","indicatorKey","datum","dataValue","cellHeaderPaths","headerPaths","originalDatum","path","currentCellData","getCellOriginalDataByDatum","mergedStyle","result","shouldApply","selectorWithDynamicFilter","selector","pickBodyCellStyle"],"mappings":";;;;AAOO,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;IACtD,MAAMC,mBAAmBJ,kBAAkB,IAAI,CAAC,CAACK,QAAU,CAAC,CAACA,MAAM,aAAa;IAEhF,MAAMC,gBAAgBJ,WAAW,GAAG,CAAC,CAACK;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,MAAMC,kBAAkBC,2BAA2BP,OAAOP,kBAAkBW;YAE5E,MAAMI,cAAcnB,kBAAkB,MAAM,CAAsB,CAACoB,QAAQf;gBACzE,MAAMgB,cAAchB,MAAM,aAAa,GACnCiB,0BAA0BL,mBAAmBF,eAAeV,MAAM,aAAa,EAAEA,MAAM,QAAQ,IAC/FkB,SAASR,eAAeV,MAAM,QAAQ;gBAC1C,IAAIgB,aAAa;oBACf,IAAIlB,YAAY,MAAM,IAAIA,WAAW,CAAC,EAAE,CAAC,GAAG,KAAKQ,OAAO,OAAOR,WAAW,CAAC,EAAE,CAAC,GAAG,KAAKQ,OAAO,KAE3FR,YAAY,MAAM,GAAG;oBAEvBA,YAAY,IAAI,CAAC;wBACf,KAAKQ,OAAO;wBACZ,KAAKA,OAAO;oBACd;oBACA,OAAO;wBACL,GAAGS,MAAM;wBACT,GAAGI,kBAAkBnB,MAAM;oBAC7B;gBACF;gBAEA,OAAOe;YACT,GAAG,CAAC;YAEJ,OAAOD;QACT;QACA,OAAOX;IACT;IACA,OAAO;QACL,GAAGb,IAAI;QACP,eAAe;YACb,GAAKA,MAAc,iBAAiB,CAAC,CAAC;YACtCQ;QACF;QACA,YAAYG;IACd;AACF"}
@@ -1,25 +1,15 @@
1
- import { MeasureId } from "../../../../../dataReshape/index.js";
2
- import { findAllMeasures } from "../../../../utils/index.js";
3
1
  const pivotColumns = (spec, context)=>{
4
2
  const { advancedVSeed } = context;
5
3
  const { encoding } = advancedVSeed;
6
4
  const dimensions = advancedVSeed.dimensionTree;
7
5
  const columns = dimensions.filter((item)=>encoding.column?.includes(item.id));
8
- const allMeasures = findAllMeasures(advancedVSeed.measureTree);
9
6
  return {
10
7
  ...spec,
11
- columns: columns.map((item)=>{
12
- const res = {
8
+ columns: columns.map((item)=>({
13
9
  dimensionKey: item.id,
14
10
  title: item.alias || item.id,
15
11
  width: 'auto'
16
- };
17
- if (item.id === MeasureId) res.headerFormat = (measureId)=>{
18
- const measure = allMeasures.find((m)=>m.id === measureId);
19
- return measure?.alias ?? measureId;
20
- };
21
- return res;
22
- })
12
+ }))
23
13
  };
24
14
  };
25
15
  export { pivotColumns };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/columns/pivotColumns.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/columns/pivotColumns.ts"],"sourcesContent":["import type { PivotTableConstructorOptions } from '@visactor/vtable'\nimport { MeasureId } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { Dimensions, PivotTableSpecPipe } from 'src/types'\n\nexport const pivotColumns: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n const dimensions = advancedVSeed.dimensionTree as Dimensions\n const columns = dimensions.filter((item) => encoding.column?.includes(item.id))\n const allMeasures = findAllMeasures(advancedVSeed.measureTree)\n\n return {\n ...spec,\n columns: columns.map((item) => {\n const res = {\n dimensionKey: item.id,\n title: item.alias || item.id,\n width: 'auto',\n }\n if (item.id === MeasureId) {\n ;(res as any).headerFormat = (measureId: string) => {\n const measure = allMeasures.find((m) => m.id === measureId)\n\n return measure?.alias ?? measureId\n }\n }\n\n return res\n }),\n } as PivotTableConstructorOptions\n}\n"],"names":["pivotColumns","spec","context","advancedVSeed","encoding","dimensions","columns","item","allMeasures","findAllMeasures","res","MeasureId","measureId","measure","m"],"mappings":";;AAKO,MAAMA,eAAmC,CAACC,MAAMC;IACrD,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,QAAQ,EAAE,GAAGD;IACrB,MAAME,aAAaF,cAAc,aAAa;IAC9C,MAAMG,UAAUD,WAAW,MAAM,CAAC,CAACE,OAASH,SAAS,MAAM,EAAE,SAASG,KAAK,EAAE;IAC7E,MAAMC,cAAcC,gBAAgBN,cAAc,WAAW;IAE7D,OAAO;QACL,GAAGF,IAAI;QACP,SAASK,QAAQ,GAAG,CAAC,CAACC;YACpB,MAAMG,MAAM;gBACV,cAAcH,KAAK,EAAE;gBACrB,OAAOA,KAAK,KAAK,IAAIA,KAAK,EAAE;gBAC5B,OAAO;YACT;YACA,IAAIA,KAAK,EAAE,KAAKI,WACZD,IAAY,YAAY,GAAG,CAACE;gBAC5B,MAAMC,UAAUL,YAAY,IAAI,CAAC,CAACM,IAAMA,EAAE,EAAE,KAAKF;gBAEjD,OAAOC,SAAS,SAASD;YAC3B;YAGF,OAAOF;QACT;IACF;AACF"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/columns/pivotColumns.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/columns/pivotColumns.ts"],"sourcesContent":["import type { PivotTableConstructorOptions } from '@visactor/vtable'\nimport type { Dimensions, PivotTableSpecPipe } from 'src/types'\n\nexport const pivotColumns: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const { encoding } = advancedVSeed\n const dimensions = advancedVSeed.dimensionTree as Dimensions\n const columns = dimensions.filter((item) => encoding.column?.includes(item.id))\n\n return {\n ...spec,\n columns: columns.map((item) => {\n return {\n dimensionKey: item.id,\n title: item.alias || item.id,\n width: 'auto',\n }\n }),\n } as PivotTableConstructorOptions\n}\n"],"names":["pivotColumns","spec","context","advancedVSeed","encoding","dimensions","columns","item"],"mappings":"AAGO,MAAMA,eAAmC,CAACC,MAAMC;IACrD,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAM,EAAEE,QAAQ,EAAE,GAAGD;IACrB,MAAME,aAAaF,cAAc,aAAa;IAC9C,MAAMG,UAAUD,WAAW,MAAM,CAAC,CAACE,OAASH,SAAS,MAAM,EAAE,SAASG,KAAK,EAAE;IAE7E,OAAO;QACL,GAAGN,IAAI;QACP,SAASK,QAAQ,GAAG,CAAC,CAACC,OACb;gBACL,cAAcA,KAAK,EAAE;gBACrB,OAAOA,KAAK,KAAK,IAAIA,KAAK,EAAE;gBAC5B,OAAO;YACT;IAEJ;AACF"}
@@ -1,9 +1,10 @@
1
1
  const titleOnDimension = (spec)=>{
2
- const { rows = [], columns = [] } = spec;
2
+ const { rows = [], columns = [], indicatorsAsCol, indicators = [] } = spec;
3
+ const rowsLength = rows.length + (indicatorsAsCol ? 0 : indicators?.length > 0 ? 1 : 0);
3
4
  return {
4
5
  ...spec,
5
6
  corner: {
6
- titleOnDimension: rows.length <= 1 && columns.length >= 1 ? 'column' : 'row'
7
+ titleOnDimension: rowsLength <= 1 && columns.length >= 1 && !indicatorsAsCol ? 'column' : 'row'
7
8
  }
8
9
  };
9
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/corner/titleOnDimension.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/corner/titleOnDimension.ts"],"sourcesContent":["import type { PivotTableSpecPipe } from 'src/types'\n\nexport const titleOnDimension: PivotTableSpecPipe = (spec) => {\n const { rows = [], columns = [] } = spec\n\n return {\n ...spec,\n corner: {\n titleOnDimension: (rows as any[]).length <= 1 && (columns as any[]).length >= 1 ? 'column' : 'row',\n },\n }\n}\n"],"names":["titleOnDimension","spec","rows","columns"],"mappings":"AAEO,MAAMA,mBAAuC,CAACC;IACnD,MAAM,EAAEC,OAAO,EAAE,EAAEC,UAAU,EAAE,EAAE,GAAGF;IAEpC,OAAO;QACL,GAAGA,IAAI;QACP,QAAQ;YACN,kBAAmBC,KAAe,MAAM,IAAI,KAAMC,QAAkB,MAAM,IAAI,IAAI,WAAW;QAC/F;IACF;AACF"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/corner/titleOnDimension.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/corner/titleOnDimension.ts"],"sourcesContent":["import type { PivotTableSpecPipe } from 'src/types'\n\nexport const titleOnDimension: PivotTableSpecPipe = (spec) => {\n const { rows = [], columns = [], indicatorsAsCol, indicators = [] } = spec\n const rowsLength = rows.length + (indicatorsAsCol ? 0 : indicators?.length > 0 ? 1 : 0)\n\n return {\n ...spec,\n corner: {\n titleOnDimension: rowsLength <= 1 && columns.length >= 1 && !indicatorsAsCol ? 'column' : 'row',\n },\n }\n}\n"],"names":["titleOnDimension","spec","rows","columns","indicatorsAsCol","indicators","rowsLength"],"mappings":"AAEO,MAAMA,mBAAuC,CAACC;IACnD,MAAM,EAAEC,OAAO,EAAE,EAAEC,UAAU,EAAE,EAAEC,eAAe,EAAEC,aAAa,EAAE,EAAE,GAAGJ;IACtE,MAAMK,aAAaJ,KAAK,MAAM,GAAIE,CAAAA,kBAAkB,IAAIC,YAAY,SAAS,IAAI,IAAI;IAErF,OAAO;QACL,GAAGJ,IAAI;QACP,QAAQ;YACN,kBAAkBK,cAAc,KAAKH,QAAQ,MAAM,IAAI,KAAK,CAACC,kBAAkB,WAAW;QAC5F;IACF;AACF"}
@@ -5,7 +5,7 @@ const dataConfig = (spec, context)=>{
5
5
  const measures = findAllMeasures(advancedVSeed.measureTree);
6
6
  const aggregationRules = measures.map((measure)=>({
7
7
  field: measure.id,
8
- aggregationType: 'NONE',
8
+ aggregationType: 'SUM',
9
9
  indicatorKey: measure.id
10
10
  }));
11
11
  const dataConfigObj = {
@@ -15,9 +15,9 @@ const dataConfig = (spec, context)=>{
15
15
  if (totals) {
16
16
  const grandTotalLabel = intl.i18n`总计`;
17
17
  const subTotalLabel = intl.i18n`小计`;
18
- const dimensionIds = (advancedVSeed.dimensionTree || []).map((dim)=>dim.id);
19
18
  dataConfigObj.totals = {};
20
19
  if (totals.row) {
20
+ const dimensionIds = (advancedVSeed.dimensionTree || []).filter((dim)=>'row' === dim.encoding).map((dim)=>dim.id);
21
21
  const rowSubDimensions = totals.row.subTotalsDimensions?.filter((dim)=>dimensionIds.includes(dim));
22
22
  const normalizedRowSubDimensions = totals.row.showSubTotals && (!rowSubDimensions || 0 === rowSubDimensions.length) ? dimensionIds.length > 0 ? [
23
23
  dimensionIds[0]
@@ -31,6 +31,7 @@ const dataConfig = (spec, context)=>{
31
31
  };
32
32
  }
33
33
  if (totals.column) {
34
+ const dimensionIds = (advancedVSeed.dimensionTree || []).filter((dim)=>'column' === dim.encoding).map((dim)=>dim.id);
34
35
  const columnSubDimensions = totals.column.subTotalsDimensions?.filter((dim)=>dimensionIds.includes(dim));
35
36
  const normalizedColumnSubDimensions = totals.column.showSubTotals && (!columnSubDimensions || 0 === columnSubDimensions.length) ? dimensionIds.length > 0 ? [
36
37
  dimensionIds[0]
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/indicators/pivotDataConfig.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/indicators/pivotDataConfig.ts"],"sourcesContent":["import { intl } from 'src/i18n'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { PivotTable, PivotTableSpecPipe } from 'src/types'\n\nexport const dataConfig: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const measures = findAllMeasures(advancedVSeed.measureTree)\n\n const aggregationRules = measures.map((measure) => ({\n field: measure.id,\n aggregationType: 'NONE',\n indicatorKey: measure.id,\n }))\n\n const dataConfigObj: any = {\n aggregationRules,\n }\n\n // 处理totals配置\n const { totals } = vseed as PivotTable\n if (totals) {\n const grandTotalLabel = intl.i18n`总计`\n const subTotalLabel = intl.i18n`小计`\n const dimensionIds = (advancedVSeed.dimensionTree || []).map((dim) => dim.id)\n\n dataConfigObj.totals = {}\n\n // 处理行配置\n if (totals.row) {\n const rowSubDimensions = totals.row.subTotalsDimensions?.filter((dim) => dimensionIds.includes(dim))\n const normalizedRowSubDimensions =\n totals.row.showSubTotals && (!rowSubDimensions || rowSubDimensions.length === 0)\n ? dimensionIds.length > 0\n ? [dimensionIds[0]]\n : []\n : rowSubDimensions\n\n dataConfigObj.totals.row = {\n showGrandTotals: totals.row.showGrandTotals ?? false,\n showSubTotals: totals.row.showSubTotals ?? false,\n subTotalsDimensions: normalizedRowSubDimensions,\n grandTotalLabel,\n subTotalLabel,\n }\n }\n\n // 处理列配置\n if (totals.column) {\n const columnSubDimensions = totals.column.subTotalsDimensions?.filter((dim) => dimensionIds.includes(dim))\n const normalizedColumnSubDimensions =\n totals.column.showSubTotals && (!columnSubDimensions || columnSubDimensions.length === 0)\n ? dimensionIds.length > 0\n ? [dimensionIds[0]]\n : []\n : columnSubDimensions\n\n dataConfigObj.totals.column = {\n showGrandTotals: totals.column.showGrandTotals ?? false,\n showSubTotals: totals.column.showSubTotals ?? false,\n subTotalsDimensions: normalizedColumnSubDimensions,\n grandTotalLabel,\n subTotalLabel,\n }\n }\n }\n\n return {\n ...spec,\n dataConfig: dataConfigObj,\n }\n}\n"],"names":["dataConfig","spec","context","advancedVSeed","vseed","measures","findAllMeasures","aggregationRules","measure","dataConfigObj","totals","grandTotalLabel","intl","subTotalLabel","dimensionIds","dim","rowSubDimensions","normalizedRowSubDimensions","columnSubDimensions","normalizedColumnSubDimensions"],"mappings":";;AAIO,MAAMA,aAAiC,CAACC,MAAMC;IACnD,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAE,GAAGF;IACjC,MAAMG,WAAWC,gBAAgBH,cAAc,WAAW;IAE1D,MAAMI,mBAAmBF,SAAS,GAAG,CAAC,CAACG,UAAa;YAClD,OAAOA,QAAQ,EAAE;YACjB,iBAAiB;YACjB,cAAcA,QAAQ,EAAE;QAC1B;IAEA,MAAMC,gBAAqB;QACzBF;IACF;IAGA,MAAM,EAAEG,MAAM,EAAE,GAAGN;IACnB,IAAIM,QAAQ;QACV,MAAMC,kBAAkBC,KAAK,IAAI,CAAC,EAAE,CAAC;QACrC,MAAMC,gBAAgBD,KAAK,IAAI,CAAC,EAAE,CAAC;QACnC,MAAME,eAAgBX,AAAAA,CAAAA,cAAc,aAAa,IAAI,EAAC,EAAG,GAAG,CAAC,CAACY,MAAQA,IAAI,EAAE;QAE5EN,cAAc,MAAM,GAAG,CAAC;QAGxB,IAAIC,OAAO,GAAG,EAAE;YACd,MAAMM,mBAAmBN,OAAO,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAACK,MAAQD,aAAa,QAAQ,CAACC;YAC/F,MAAME,6BACJP,OAAO,GAAG,CAAC,aAAa,IAAK,EAACM,oBAAoBA,AAA4B,MAA5BA,iBAAiB,MAAM,AAAK,IAC1EF,aAAa,MAAM,GAAG,IACpB;gBAACA,YAAY,CAAC,EAAE;aAAC,GACjB,EAAE,GACJE;YAENP,cAAc,MAAM,CAAC,GAAG,GAAG;gBACzB,iBAAiBC,OAAO,GAAG,CAAC,eAAe,IAAI;gBAC/C,eAAeA,OAAO,GAAG,CAAC,aAAa,IAAI;gBAC3C,qBAAqBO;gBACrBN;gBACAE;YACF;QACF;QAGA,IAAIH,OAAO,MAAM,EAAE;YACjB,MAAMQ,sBAAsBR,OAAO,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAACK,MAAQD,aAAa,QAAQ,CAACC;YACrG,MAAMI,gCACJT,OAAO,MAAM,CAAC,aAAa,IAAK,EAACQ,uBAAuBA,AAA+B,MAA/BA,oBAAoB,MAAM,AAAK,IACnFJ,aAAa,MAAM,GAAG,IACpB;gBAACA,YAAY,CAAC,EAAE;aAAC,GACjB,EAAE,GACJI;YAENT,cAAc,MAAM,CAAC,MAAM,GAAG;gBAC5B,iBAAiBC,OAAO,MAAM,CAAC,eAAe,IAAI;gBAClD,eAAeA,OAAO,MAAM,CAAC,aAAa,IAAI;gBAC9C,qBAAqBS;gBACrBR;gBACAE;YACF;QACF;IACF;IAEA,OAAO;QACL,GAAGZ,IAAI;QACP,YAAYQ;IACd;AACF"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/indicators/pivotDataConfig.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/indicators/pivotDataConfig.ts"],"sourcesContent":["import { intl } from 'src/i18n'\nimport { findAllMeasures } from 'src/pipeline/utils'\nimport type { Dimension, PivotTable, PivotTableSpecPipe } from 'src/types'\n\nexport const dataConfig: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const measures = findAllMeasures(advancedVSeed.measureTree)\n\n const aggregationRules = measures.map((measure) => ({\n field: measure.id,\n aggregationType: 'SUM',\n indicatorKey: measure.id,\n }))\n\n const dataConfigObj: any = {\n aggregationRules,\n }\n\n // 处理totals配置\n const { totals } = vseed as PivotTable\n if (totals) {\n const grandTotalLabel = intl.i18n`总计`\n const subTotalLabel = intl.i18n`小计`\n\n dataConfigObj.totals = {}\n\n // 处理行配置\n if (totals.row) {\n const dimensionIds = (advancedVSeed.dimensionTree || [])\n .filter((dim: Dimension) => dim.encoding === 'row')\n .map((dim) => dim.id)\n const rowSubDimensions = totals.row.subTotalsDimensions?.filter((dim) => dimensionIds.includes(dim))\n const normalizedRowSubDimensions =\n totals.row.showSubTotals && (!rowSubDimensions || rowSubDimensions.length === 0)\n ? dimensionIds.length > 0\n ? [dimensionIds[0]]\n : []\n : rowSubDimensions\n\n dataConfigObj.totals.row = {\n showGrandTotals: totals.row.showGrandTotals ?? false,\n showSubTotals: totals.row.showSubTotals ?? false,\n subTotalsDimensions: normalizedRowSubDimensions,\n grandTotalLabel,\n subTotalLabel,\n }\n }\n\n // 处理列配置\n if (totals.column) {\n const dimensionIds = (advancedVSeed.dimensionTree || [])\n .filter((dim: Dimension) => dim.encoding === 'column')\n .map((dim) => dim.id)\n const columnSubDimensions = totals.column.subTotalsDimensions?.filter((dim) => dimensionIds.includes(dim))\n const normalizedColumnSubDimensions =\n totals.column.showSubTotals && (!columnSubDimensions || columnSubDimensions.length === 0)\n ? dimensionIds.length > 0\n ? [dimensionIds[0]]\n : []\n : columnSubDimensions\n\n dataConfigObj.totals.column = {\n showGrandTotals: totals.column.showGrandTotals ?? false,\n showSubTotals: totals.column.showSubTotals ?? false,\n subTotalsDimensions: normalizedColumnSubDimensions,\n grandTotalLabel,\n subTotalLabel,\n }\n }\n }\n\n return {\n ...spec,\n dataConfig: dataConfigObj,\n }\n}\n"],"names":["dataConfig","spec","context","advancedVSeed","vseed","measures","findAllMeasures","aggregationRules","measure","dataConfigObj","totals","grandTotalLabel","intl","subTotalLabel","dimensionIds","dim","rowSubDimensions","normalizedRowSubDimensions","columnSubDimensions","normalizedColumnSubDimensions"],"mappings":";;AAIO,MAAMA,aAAiC,CAACC,MAAMC;IACnD,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAE,GAAGF;IACjC,MAAMG,WAAWC,gBAAgBH,cAAc,WAAW;IAE1D,MAAMI,mBAAmBF,SAAS,GAAG,CAAC,CAACG,UAAa;YAClD,OAAOA,QAAQ,EAAE;YACjB,iBAAiB;YACjB,cAAcA,QAAQ,EAAE;QAC1B;IAEA,MAAMC,gBAAqB;QACzBF;IACF;IAGA,MAAM,EAAEG,MAAM,EAAE,GAAGN;IACnB,IAAIM,QAAQ;QACV,MAAMC,kBAAkBC,KAAK,IAAI,CAAC,EAAE,CAAC;QACrC,MAAMC,gBAAgBD,KAAK,IAAI,CAAC,EAAE,CAAC;QAEnCH,cAAc,MAAM,GAAG,CAAC;QAGxB,IAAIC,OAAO,GAAG,EAAE;YACd,MAAMI,eAAgBX,AAAAA,CAAAA,cAAc,aAAa,IAAI,EAAC,EACnD,MAAM,CAAC,CAACY,MAAmBA,AAAiB,UAAjBA,IAAI,QAAQ,EACvC,GAAG,CAAC,CAACA,MAAQA,IAAI,EAAE;YACtB,MAAMC,mBAAmBN,OAAO,GAAG,CAAC,mBAAmB,EAAE,OAAO,CAACK,MAAQD,aAAa,QAAQ,CAACC;YAC/F,MAAME,6BACJP,OAAO,GAAG,CAAC,aAAa,IAAK,EAACM,oBAAoBA,AAA4B,MAA5BA,iBAAiB,MAAM,AAAK,IAC1EF,aAAa,MAAM,GAAG,IACpB;gBAACA,YAAY,CAAC,EAAE;aAAC,GACjB,EAAE,GACJE;YAENP,cAAc,MAAM,CAAC,GAAG,GAAG;gBACzB,iBAAiBC,OAAO,GAAG,CAAC,eAAe,IAAI;gBAC/C,eAAeA,OAAO,GAAG,CAAC,aAAa,IAAI;gBAC3C,qBAAqBO;gBACrBN;gBACAE;YACF;QACF;QAGA,IAAIH,OAAO,MAAM,EAAE;YACjB,MAAMI,eAAgBX,AAAAA,CAAAA,cAAc,aAAa,IAAI,EAAC,EACnD,MAAM,CAAC,CAACY,MAAmBA,AAAiB,aAAjBA,IAAI,QAAQ,EACvC,GAAG,CAAC,CAACA,MAAQA,IAAI,EAAE;YACtB,MAAMG,sBAAsBR,OAAO,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAACK,MAAQD,aAAa,QAAQ,CAACC;YACrG,MAAMI,gCACJT,OAAO,MAAM,CAAC,aAAa,IAAK,EAACQ,uBAAuBA,AAA+B,MAA/BA,oBAAoB,MAAM,AAAK,IACnFJ,aAAa,MAAM,GAAG,IACpB;gBAACA,YAAY,CAAC,EAAE;aAAC,GACjB,EAAE,GACJI;YAENT,cAAc,MAAM,CAAC,MAAM,GAAG;gBAC5B,iBAAiBC,OAAO,MAAM,CAAC,eAAe,IAAI;gBAClD,eAAeA,OAAO,MAAM,CAAC,aAAa,IAAI;gBAC9C,qBAAqBS;gBACrBR;gBACAE;YACF;QACF;IACF;IAEA,OAAO;QACL,GAAGZ,IAAI;QACP,YAAYQ;IACd;AACF"}
@@ -1,38 +1,33 @@
1
1
  import { isNumber } from "remeda";
2
2
  import { intl } from "../../../../../i18n/index.js";
3
- import { createFormatterByMeasure, findMeasureById } from "../../../../utils/index.js";
3
+ import { createFormatterByMeasure, findAllMeasures } from "../../../../utils/index.js";
4
4
  const pivotIndicators = (spec, context)=>{
5
- const { advancedVSeed } = context;
6
- const { measureTree, datasetReshapeInfo } = advancedVSeed;
7
- const { foldInfo } = datasetReshapeInfo[0];
8
- const hasRow = spec?.rows?.length > 0;
9
- const foldMapValues = Object.values(foldInfo.foldMap);
5
+ const { advancedVSeed, vseed } = context;
6
+ const { measureTree } = advancedVSeed;
7
+ const measures = findAllMeasures(measureTree);
8
+ const indicatorsAsCol = vseed.indicatorsAsCol ?? false;
10
9
  return {
11
10
  ...spec,
12
11
  indicatorTitle: intl.i18n`指标名称`,
13
- indicatorsAsCol: hasRow,
14
- hideIndicatorName: hasRow,
15
- indicators: [
16
- {
12
+ indicatorsAsCol,
13
+ hideIndicatorName: measures.length <= 1,
14
+ indicators: measures.map((measure)=>{
15
+ const formatter = createFormatterByMeasure(measure);
16
+ return {
17
17
  cellType: 'text',
18
- indicatorKey: foldInfo.measureValue,
19
- title: foldMapValues.length > 1 ? '' : foldMapValues[0],
18
+ indicatorKey: measure.id,
19
+ title: measure.alias || measure.id,
20
20
  width: 'auto',
21
- format: fieldFormat(measureTree, foldInfo)
22
- }
23
- ]
21
+ format: (value, col, row, table)=>{
22
+ if (!isNumber(col) || !isNumber(row) || !table) return value;
23
+ const datum = table.getCellOriginRecord(col, row);
24
+ if (!datum?.[0]) return value;
25
+ return formatter(value);
26
+ }
27
+ };
28
+ })
24
29
  };
25
30
  };
26
- const fieldFormat = (measureTree, foldInfo)=>(value, col, row, table)=>{
27
- if (!isNumber(col) || !isNumber(row) || !table) return value;
28
- const datum = table.getCellOriginRecord(col, row);
29
- if (!datum[0]) return value;
30
- const { measureId: foldMeasureId } = foldInfo;
31
- const measureId = datum[0][foldMeasureId];
32
- const measure = findMeasureById(measureTree, measureId);
33
- const formatter = createFormatterByMeasure(measure);
34
- return formatter(value);
35
- };
36
31
  export { pivotIndicators };
37
32
 
38
33
  //# sourceMappingURL=pivotIndicators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/indicators/pivotIndicators.js","sources":["webpack://@visactor/vseed/./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 { measureTree, 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(measureTree as MeasureTree, foldInfo as FoldInfo),\n },\n ] as unknown as PivotChartConstructorOptions['indicators'],\n }\n}\n\nconst fieldFormat = (measureTree: 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(measureTree, measureId)\n const formatter = createFormatterByMeasure(measure)\n return formatter(value)\n }\n}\n"],"names":["pivotIndicators","spec","context","advancedVSeed","measureTree","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,WAAW,EAAEC,kBAAkB,EAAE,GAAGF;IAC5C,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,aAA4BE;YAClD;SACD;IACH;AACF;AAEA,MAAMK,cAAc,CAACP,aAA0BE,WACtC,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,aAAae;QAC7C,MAAMG,YAAYC,yBAAyBH;QAC3C,OAAOE,UAAUV;IACnB"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/indicators/pivotIndicators.js","sources":["webpack://@visactor/vseed/./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, findAllMeasures } from 'src/pipeline/utils'\nimport type { Datum, MeasureTree, PivotTable, PivotTableSpecPipe } from 'src/types'\n\nexport const pivotIndicators: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed, vseed } = context\n const { measureTree } = advancedVSeed\n const measures = findAllMeasures(measureTree as MeasureTree)\n\n // 用户可配置 indicatorsAsCol,默认 true\n const indicatorsAsCol = (vseed as PivotTable).indicatorsAsCol ?? false\n\n return {\n ...spec,\n indicatorTitle: intl.i18n`指标名称`,\n indicatorsAsCol,\n hideIndicatorName: measures.length <= 1,\n indicators: measures.map((measure) => {\n const formatter = createFormatterByMeasure(measure)\n return {\n cellType: 'text',\n indicatorKey: measure.id,\n title: measure.alias || measure.id,\n width: 'auto',\n format: (value: number | string, col?: number, row?: number, table?: BaseTableAPI) => {\n if (!isNumber(col) || !isNumber(row) || !table) {\n return value\n }\n const datum = table.getCellOriginRecord(col, row) as Datum[]\n if (!datum?.[0]) {\n return value\n }\n return formatter(value)\n },\n }\n }) as unknown as PivotChartConstructorOptions['indicators'],\n }\n}\n"],"names":["pivotIndicators","spec","context","advancedVSeed","vseed","measureTree","measures","findAllMeasures","indicatorsAsCol","intl","measure","formatter","createFormatterByMeasure","value","col","row","table","isNumber","datum"],"mappings":";;;AAMO,MAAMA,kBAAsC,CAACC,MAAMC;IACxD,MAAM,EAAEC,aAAa,EAAEC,KAAK,EAAE,GAAGF;IACjC,MAAM,EAAEG,WAAW,EAAE,GAAGF;IACxB,MAAMG,WAAWC,gBAAgBF;IAGjC,MAAMG,kBAAmBJ,MAAqB,eAAe,IAAI;IAEjE,OAAO;QACL,GAAGH,IAAI;QACP,gBAAgBQ,KAAK,IAAI,CAAC,IAAI,CAAC;QAC/BD;QACA,mBAAmBF,SAAS,MAAM,IAAI;QACtC,YAAYA,SAAS,GAAG,CAAC,CAACI;YACxB,MAAMC,YAAYC,yBAAyBF;YAC3C,OAAO;gBACL,UAAU;gBACV,cAAcA,QAAQ,EAAE;gBACxB,OAAOA,QAAQ,KAAK,IAAIA,QAAQ,EAAE;gBAClC,OAAO;gBACP,QAAQ,CAACG,OAAwBC,KAAcC,KAAcC;oBAC3D,IAAI,CAACC,SAASH,QAAQ,CAACG,SAASF,QAAQ,CAACC,OACvC,OAAOH;oBAET,MAAMK,QAAQF,MAAM,mBAAmB,CAACF,KAAKC;oBAC7C,IAAI,CAACG,OAAO,CAAC,EAAE,EACb,OAAOL;oBAET,OAAOF,UAAUE;gBACnB;YACF;QACF;IACF;AACF"}
@@ -1,25 +1,15 @@
1
- import { MeasureId } from "../../../../../dataReshape/index.js";
2
- import { findAllMeasures } from "../../../../utils/measures/find.js";
3
1
  const pivotRows = (spec, context)=>{
4
2
  const { advancedVSeed } = context;
5
3
  const dimensions = advancedVSeed.dimensionTree;
6
4
  const { encoding } = advancedVSeed;
7
5
  const rows = dimensions.filter((item)=>encoding.row?.includes(item.id));
8
- const allMeasures = findAllMeasures(advancedVSeed.measureTree);
9
6
  return {
10
7
  ...spec,
11
- rows: rows.map((item)=>{
12
- const res = {
8
+ rows: rows.map((item)=>({
13
9
  dimensionKey: item.id,
14
10
  title: item.alias || item.id,
15
11
  width: 'auto'
16
- };
17
- if (item.id === MeasureId) res.headerFormat = (measureId)=>{
18
- const measure = allMeasures.find((m)=>m.id === measureId);
19
- return measure?.alias ?? measureId;
20
- };
21
- return res;
22
- })
12
+ }))
23
13
  };
24
14
  };
25
15
  export { pivotRows };
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline/spec/table/pipes/rows/pivotRows.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/rows/pivotRows.ts"],"sourcesContent":["import { MeasureId } from 'src/dataReshape'\nimport { findAllMeasures } from 'src/pipeline/utils/measures/find'\nimport type { Dimensions, PivotTableSpecPipe } from 'src/types'\n\nexport const pivotRows: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensionTree as Dimensions\n const { encoding } = advancedVSeed\n const rows = dimensions.filter((item) => encoding.row?.includes(item.id))\n const allMeasures = findAllMeasures(advancedVSeed.measureTree)\n\n return {\n ...spec,\n rows: rows.map((item) => {\n const res = {\n dimensionKey: item.id,\n title: item.alias || item.id,\n width: 'auto',\n }\n\n if (item.id === MeasureId) {\n ;(res as any).headerFormat = (measureId: string) => {\n const measure = allMeasures.find((m) => m.id === measureId)\n\n return measure?.alias ?? measureId\n }\n }\n\n return res\n }),\n }\n}\n"],"names":["pivotRows","spec","context","advancedVSeed","dimensions","encoding","rows","item","allMeasures","findAllMeasures","res","MeasureId","measureId","measure","m"],"mappings":";;AAIO,MAAMA,YAAgC,CAACC,MAAMC;IAClD,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAME,aAAaD,cAAc,aAAa;IAC9C,MAAM,EAAEE,QAAQ,EAAE,GAAGF;IACrB,MAAMG,OAAOF,WAAW,MAAM,CAAC,CAACG,OAASF,SAAS,GAAG,EAAE,SAASE,KAAK,EAAE;IACvE,MAAMC,cAAcC,gBAAgBN,cAAc,WAAW;IAE7D,OAAO;QACL,GAAGF,IAAI;QACP,MAAMK,KAAK,GAAG,CAAC,CAACC;YACd,MAAMG,MAAM;gBACV,cAAcH,KAAK,EAAE;gBACrB,OAAOA,KAAK,KAAK,IAAIA,KAAK,EAAE;gBAC5B,OAAO;YACT;YAEA,IAAIA,KAAK,EAAE,KAAKI,WACZD,IAAY,YAAY,GAAG,CAACE;gBAC5B,MAAMC,UAAUL,YAAY,IAAI,CAAC,CAACM,IAAMA,EAAE,EAAE,KAAKF;gBAEjD,OAAOC,SAAS,SAASD;YAC3B;YAGF,OAAOF;QACT;IACF;AACF"}
1
+ {"version":3,"file":"pipeline/spec/table/pipes/rows/pivotRows.js","sources":["webpack://@visactor/vseed/./src/pipeline/spec/table/pipes/rows/pivotRows.ts"],"sourcesContent":["import type { Dimensions, PivotTableSpecPipe } from 'src/types'\n\nexport const pivotRows: PivotTableSpecPipe = (spec, context) => {\n const { advancedVSeed } = context\n const dimensions = advancedVSeed.dimensionTree as Dimensions\n const { encoding } = advancedVSeed\n const rows = dimensions.filter((item) => encoding.row?.includes(item.id))\n\n return {\n ...spec,\n rows: rows.map((item) => {\n return {\n dimensionKey: item.id,\n title: item.alias || item.id,\n width: 'auto',\n }\n }),\n }\n}\n"],"names":["pivotRows","spec","context","advancedVSeed","dimensions","encoding","rows","item"],"mappings":"AAEO,MAAMA,YAAgC,CAACC,MAAMC;IAClD,MAAM,EAAEC,aAAa,EAAE,GAAGD;IAC1B,MAAME,aAAaD,cAAc,aAAa;IAC9C,MAAM,EAAEE,QAAQ,EAAE,GAAGF;IACrB,MAAMG,OAAOF,WAAW,MAAM,CAAC,CAACG,OAASF,SAAS,GAAG,EAAE,SAASE,KAAK,EAAE;IAEvE,OAAO;QACL,GAAGN,IAAI;QACP,MAAMK,KAAK,GAAG,CAAC,CAACC,OACP;gBACL,cAAcA,KAAK,EAAE;gBACrB,OAAOA,KAAK,KAAK,IAAIA,KAAK,EAAE;gBAC5B,OAAO;YACT;IAEJ;AACF"}
@@ -0,0 +1,2 @@
1
+ import type { PivotTableSpecPipe } from '../../../../../types';
2
+ export declare const bottomFrozenStyle: PivotTableSpecPipe;
@@ -0,0 +1,51 @@
1
+ const bottomFrozenStyle = (spec, context)=>{
2
+ const result = {
3
+ ...spec
4
+ };
5
+ const { advancedVSeed } = context;
6
+ const { config, chartType } = advancedVSeed;
7
+ const themConfig = config?.[chartType];
8
+ if (!result.theme || !themConfig) return result;
9
+ const borderColor = themConfig.borderColor || 'rgb(224, 224, 224)';
10
+ const backgroundColor = themConfig.headerBackgroundColor || '#EEF1F5';
11
+ const fontColor = themConfig.headerFontColor || '#1B1F23';
12
+ const fontSize = themConfig.headerFontSize || 12;
13
+ const hoverCellBgColor = themConfig.hoverHeaderBackgroundColor || '#bedaff';
14
+ const hoverInlineColor = themConfig.hoverHeaderInlineBackgroundColor || '#bedaff';
15
+ result.theme.bottomFrozenStyle = {
16
+ borderColor,
17
+ borderLineWidth: 1,
18
+ padding: [
19
+ 8,
20
+ 12,
21
+ 8,
22
+ 12
23
+ ],
24
+ textAlign: 'center',
25
+ hover: {
26
+ cellBgColor: hoverCellBgColor,
27
+ inlineRowBgColor: hoverInlineColor,
28
+ inlineColumnBgColor: hoverInlineColor
29
+ },
30
+ frameStyle: {
31
+ borderColor,
32
+ borderLineWidth: [
33
+ 0,
34
+ 0,
35
+ 1,
36
+ 0
37
+ ]
38
+ },
39
+ fontSize,
40
+ fontVariant: 'normal',
41
+ fontStyle: 'normal',
42
+ fontWeight: 'bold',
43
+ color: fontColor,
44
+ bgColor: backgroundColor,
45
+ lineHeight: 1.5 * fontSize
46
+ };
47
+ return result;
48
+ };
49
+ export { bottomFrozenStyle };
50
+
51
+ //# sourceMappingURL=bottomFrozenStyle.js.map
@@ -0,0 +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,mBAAmBL,WAAW,0BAA0B,IAAI;IAClE,MAAMM,mBAAmBN,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,aAAaI;YACb,kBAAkBC;YAClB,qBAAqBA;QACvB;QACA,YAAY;YACVL;YACA,iBAAiB;gBAAC;gBAAG;gBAAG;gBAAG;aAAE;QAC/B;QACAG;QACA,aAAa;QACb,WAAW;QACX,YAAY;QACZ,OAAOD;QACP,SAASD;QACT,YAAYE,AAAW,MAAXA;IACd;IAEA,OAAOR;AACT"}
@@ -1,5 +1,6 @@
1
1
  export * from './bodyStyle';
2
2
  export * from './headerStyle';
3
+ export * from './bottomFrozenStyle';
3
4
  export * from './rowHeaderStyle';
4
5
  export * from './cornerHeaderStyle';
5
6
  export * from './frameStyle';
@@ -1,5 +1,6 @@
1
1
  export * from "./bodyStyle.js";
2
2
  export * from "./headerStyle.js";
3
+ export * from "./bottomFrozenStyle.js";
3
4
  export * from "./rowHeaderStyle.js";
4
5
  export * from "./cornerHeaderStyle.js";
5
6
  export * from "./frameStyle.js";
@@ -105,6 +105,12 @@ export interface PivotTable {
105
105
  * @description 设置表格正文部分单元格的特殊样式
106
106
  */
107
107
  bodyCellStyle?: BodyCellStyle | BodyCellStyle[];
108
+ /**
109
+ * @description 指标是否作为列展示,当为 true 时指标在列方向展开,为 false 时在行方向展开
110
+ * @default true
111
+ * @example true
112
+ */
113
+ indicatorsAsCol?: boolean;
108
114
  /**
109
115
  * @description 透视表的总计和小计配置
110
116
  * @example { row: { showGrandTotals: true, showSubTotals: true, subTotalsDimensions: ['category'] } }
@@ -448,6 +448,7 @@ export declare const zPivotTable: z.ZodObject<{
448
448
  borderColor: z.ZodOptional<z.ZodNullable<z.ZodString>>;
449
449
  borderLineWidth: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
450
450
  }, z.core.$strip>]>>>;
451
+ indicatorsAsCol: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
451
452
  totals: z.ZodOptional<z.ZodNullable<z.ZodObject<{
452
453
  row: z.ZodOptional<z.ZodObject<{
453
454
  showGrandTotals: z.ZodOptional<z.ZodBoolean>;
@@ -22,6 +22,7 @@ const zPivotTable = z.object({
22
22
  selectedBorderColor: z.string().nullish(),
23
23
  selectedBackgroundColor: z.string().nullish(),
24
24
  bodyCellStyle: z.array(zBodyCellStyle).or(zBodyCellStyle).nullish(),
25
+ indicatorsAsCol: z.boolean().nullish(),
25
26
  totals: zPivotTableTotals.nullish(),
26
27
  theme: zTheme.nullish(),
27
28
  locale: zLocale.nullish()
@@ -1 +1 @@
1
- {"version":3,"file":"types/chartType/pivotTable/zPivotTable.js","sources":["webpack://@visactor/vseed/./src/types/chartType/pivotTable/zPivotTable.ts"],"sourcesContent":["import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zBackgroundColor,\n zDataset,\n zDimensions,\n zTheme,\n zMeasures,\n zBodyCellStyle,\n zPage,\n zPivotTableTotals,\n} from '../../properties'\n\nexport const zPivotTable = z.object({\n chartType: z.literal('pivotTable'),\n dataset: zDataset.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasures.nullish(),\n page: zPage.nullish(),\n\n backgroundColor: zBackgroundColor.nullish(),\n borderColor: z.string().nullish(),\n bodyFontSize: z.number().nullish(),\n bodyFontColor: z.string().nullish(),\n bodyBackgroundColor: z.string().nullish(),\n hoverBodyBackgroundColor: z.string().nullish(),\n hoverBodyInlineBackgroundColor: z.string().nullish(),\n headerFontSize: z.number().nullish(),\n headerFontColor: z.string().nullish(),\n headerBackgroundColor: z.string().nullish(),\n hoverHeaderBackgroundColor: z.string().nullish(),\n hoverHeaderInlineBackgroundColor: z.string().nullish(),\n selectedBorderColor: z.string().nullish(),\n selectedBackgroundColor: z.string().nullish(),\n bodyCellStyle: z.array(zBodyCellStyle).or(zBodyCellStyle).nullish(),\n\n totals: zPivotTableTotals.nullish(),\n\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n"],"names":["zPivotTable","z","zDataset","zDimensions","zMeasures","zPage","zBackgroundColor","zBodyCellStyle","zPivotTableTotals","zTheme","zLocale"],"mappings":";;;AAaO,MAAMA,cAAcC,EAAE,MAAM,CAAC;IAClC,WAAWA,EAAE,OAAO,CAAC;IACrB,SAASC,SAAS,OAAO;IACzB,YAAYC,YAAY,OAAO;IAC/B,UAAUC,UAAU,OAAO;IAC3B,MAAMC,MAAM,OAAO;IAEnB,iBAAiBC,iBAAiB,OAAO;IACzC,aAAaL,EAAE,MAAM,GAAG,OAAO;IAC/B,cAAcA,EAAE,MAAM,GAAG,OAAO;IAChC,eAAeA,EAAE,MAAM,GAAG,OAAO;IACjC,qBAAqBA,EAAE,MAAM,GAAG,OAAO;IACvC,0BAA0BA,EAAE,MAAM,GAAG,OAAO;IAC5C,gCAAgCA,EAAE,MAAM,GAAG,OAAO;IAClD,gBAAgBA,EAAE,MAAM,GAAG,OAAO;IAClC,iBAAiBA,EAAE,MAAM,GAAG,OAAO;IACnC,uBAAuBA,EAAE,MAAM,GAAG,OAAO;IACzC,4BAA4BA,EAAE,MAAM,GAAG,OAAO;IAC9C,kCAAkCA,EAAE,MAAM,GAAG,OAAO;IACpD,qBAAqBA,EAAE,MAAM,GAAG,OAAO;IACvC,yBAAyBA,EAAE,MAAM,GAAG,OAAO;IAC3C,eAAeA,EAAE,KAAK,CAACM,gBAAgB,EAAE,CAACA,gBAAgB,OAAO;IAEjE,QAAQC,kBAAkB,OAAO;IAEjC,OAAOC,OAAO,OAAO;IACrB,QAAQC,QAAQ,OAAO;AACzB"}
1
+ {"version":3,"file":"types/chartType/pivotTable/zPivotTable.js","sources":["webpack://@visactor/vseed/./src/types/chartType/pivotTable/zPivotTable.ts"],"sourcesContent":["import { z } from 'zod'\nimport { zLocale } from '../../i18n'\nimport {\n zBackgroundColor,\n zDataset,\n zDimensions,\n zTheme,\n zMeasures,\n zBodyCellStyle,\n zPage,\n zPivotTableTotals,\n} from '../../properties'\n\nexport const zPivotTable = z.object({\n chartType: z.literal('pivotTable'),\n dataset: zDataset.nullish(),\n dimensions: zDimensions.nullish(),\n measures: zMeasures.nullish(),\n page: zPage.nullish(),\n\n backgroundColor: zBackgroundColor.nullish(),\n borderColor: z.string().nullish(),\n bodyFontSize: z.number().nullish(),\n bodyFontColor: z.string().nullish(),\n bodyBackgroundColor: z.string().nullish(),\n hoverBodyBackgroundColor: z.string().nullish(),\n hoverBodyInlineBackgroundColor: z.string().nullish(),\n headerFontSize: z.number().nullish(),\n headerFontColor: z.string().nullish(),\n headerBackgroundColor: z.string().nullish(),\n hoverHeaderBackgroundColor: z.string().nullish(),\n hoverHeaderInlineBackgroundColor: z.string().nullish(),\n selectedBorderColor: z.string().nullish(),\n selectedBackgroundColor: z.string().nullish(),\n bodyCellStyle: z.array(zBodyCellStyle).or(zBodyCellStyle).nullish(),\n\n indicatorsAsCol: z.boolean().nullish(),\n totals: zPivotTableTotals.nullish(),\n\n theme: zTheme.nullish(),\n locale: zLocale.nullish(),\n})\n"],"names":["zPivotTable","z","zDataset","zDimensions","zMeasures","zPage","zBackgroundColor","zBodyCellStyle","zPivotTableTotals","zTheme","zLocale"],"mappings":";;;AAaO,MAAMA,cAAcC,EAAE,MAAM,CAAC;IAClC,WAAWA,EAAE,OAAO,CAAC;IACrB,SAASC,SAAS,OAAO;IACzB,YAAYC,YAAY,OAAO;IAC/B,UAAUC,UAAU,OAAO;IAC3B,MAAMC,MAAM,OAAO;IAEnB,iBAAiBC,iBAAiB,OAAO;IACzC,aAAaL,EAAE,MAAM,GAAG,OAAO;IAC/B,cAAcA,EAAE,MAAM,GAAG,OAAO;IAChC,eAAeA,EAAE,MAAM,GAAG,OAAO;IACjC,qBAAqBA,EAAE,MAAM,GAAG,OAAO;IACvC,0BAA0BA,EAAE,MAAM,GAAG,OAAO;IAC5C,gCAAgCA,EAAE,MAAM,GAAG,OAAO;IAClD,gBAAgBA,EAAE,MAAM,GAAG,OAAO;IAClC,iBAAiBA,EAAE,MAAM,GAAG,OAAO;IACnC,uBAAuBA,EAAE,MAAM,GAAG,OAAO;IACzC,4BAA4BA,EAAE,MAAM,GAAG,OAAO;IAC9C,kCAAkCA,EAAE,MAAM,GAAG,OAAO;IACpD,qBAAqBA,EAAE,MAAM,GAAG,OAAO;IACvC,yBAAyBA,EAAE,MAAM,GAAG,OAAO;IAC3C,eAAeA,EAAE,KAAK,CAACM,gBAAgB,EAAE,CAACA,gBAAgB,OAAO;IAEjE,iBAAiBN,EAAE,OAAO,GAAG,OAAO;IACpC,QAAQO,kBAAkB,OAAO;IAEjC,OAAOC,OAAO,OAAO;IACrB,QAAQC,QAAQ,OAAO;AACzB"}