@visactor/vtable 0.24.2-alpha.1 → 0.24.2-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/PivotTable.js +20 -14
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/core/BaseTable.js +1 -1
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/dataset/dataset.d.ts +1 -0
- package/cjs/dataset/dataset.js +14 -0
- package/cjs/dataset/dataset.js.map +1 -1
- package/cjs/dataset/flatDataToObject.d.ts +1 -1
- package/cjs/dataset/flatDataToObject.js +8 -4
- package/cjs/dataset/flatDataToObject.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/state/state.js +1 -1
- package/cjs/themes/component.js +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +75 -27
- package/dist/vtable.min.js +1 -1
- package/es/PivotTable.js +20 -14
- package/es/PivotTable.js.map +1 -1
- package/es/core/BaseTable.js +1 -1
- package/es/core/BaseTable.js.map +1 -1
- package/es/dataset/dataset.d.ts +1 -0
- package/es/dataset/dataset.js +14 -0
- package/es/dataset/dataset.js.map +1 -1
- package/es/dataset/flatDataToObject.d.ts +1 -1
- package/es/dataset/flatDataToObject.js +8 -4
- package/es/dataset/flatDataToObject.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/state/state.js +1 -1
- package/es/themes/component.js +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/dataset/flatDataToObject.ts"],"names":[],"mappings":"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","file":"flatDataToObject.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport { Env } from '../tools/env';\n\n// if (Env.mode === 'node') {\n// // eslint-disable-next-line no-global-assign\n// window = {\n// performance: {\n// now: () => -1,\n// },\n// } as any;\n// }\n/**\n * 针对聚合好的flat数据转为便于查询的行列树对象,每一个显示的指标值都能从一条数据记录中获得\n */\nexport class FlatDataToObjects {\n /**\n * 用户配置\n */\n dataConfig: {\n rows: string[]; //行维度字段数组;\n columns: string[]; //列维度字段数组;\n indicators: string[]; //具体展示指标;\n indicatorsAsCol: boolean;\n indicatorDimensionKey: string | number;\n };\n /**\n * 明细数据\n */\n records: any[];\n /**\n * 树形节点,最后的子节点对应到body部分的每个单元格 树结构: 行-列-单元格\n */\n tree: Record<string, Record<string, Record<string, any>>> = {};\n beforeChangedTree: Record<string, Record<string, { record: any; value: string }>> = {};\n private colFlatKeys = {};\n private rowFlatKeys = {};\n\n // //列表头的每列对应的表头键值\n // colKeys: string[][] = [];\n // //行表头的每行对应的表头键值\n // rowKeys: string[][] = [];\n // /**\n // * 对应dataset中的rowKeys,行表头的每行表头键值,包含小计总计\n // */\n // rowKeysPath: string[][];\n // /**\n // * 对应dataset中的colKeys,列表头的每列表头键值,包含小计总计\n // */\n // colKeysPath: string[][];\n\n stringJoinChar = String.fromCharCode(0);\n //缓存rows对应每个值是否为汇总字段\n private rowsIsTotal: boolean[] = [];\n private colsIsTotal: boolean[] = [];\n private colGrandTotalLabel: string;\n private colSubTotalLabel: string;\n private rowGrandTotalLabel: string;\n private rowSubTotalLabel: string;\n constructor(\n dataConfig: {\n rows: string[]; //行维度字段数组;\n columns: string[]; //列维度字段数组;\n indicators: string[]; //具体展示指标;\n indicatorsAsCol: boolean;\n indicatorDimensionKey: string | number;\n },\n records?: any[]\n ) {\n this.dataConfig = dataConfig;\n // this.allTotal = new SumAggregator(this.dataConfig.indicators[0]);\n\n if (records) {\n //处理数据\n this.records = records;\n const t0 = typeof window !== 'undefined' ? window.performance.now() : 0;\n this.setRecords(records);\n const t1 = typeof window !== 'undefined' ? window.performance.now() : 0;\n console.log('processRecords:', t1 - t0);\n }\n\n // delete this.rowFlatKeys;\n // delete this.colFlatKeys;\n }\n changeDataConfig(dataConfig: {\n rows: string[]; //行维度字段数组;\n columns: string[]; //列维度字段数组;\n indicators: string[]; //具体展示指标;\n indicatorsAsCol: boolean;\n indicatorDimensionKey: string | number;\n }) {\n this.dataConfig = dataConfig;\n }\n setRecords(records: any[]) {\n this.processRecords();\n }\n /**\n * 处理数据,遍历所有条目,过滤和派生字段的处理有待优化TODO\n */\n processRecords() {\n for (let i = 0, len = this.records.length; i < len; i++) {\n const record = this.records[i];\n this.processRecord(record);\n }\n }\n\n /**\n * 处理单条数据\n * @param record\n * @returns\n */\n processRecord(record: any) {\n const colKey: any[] = [];\n const rowKey: any[] = [];\n\n for (let l = 0, len1 = this.dataConfig.rows.length; l < len1; l++) {\n const rowAttr = this.dataConfig.rows[l];\n if (\n // record[rowAttr] !== null &&\n record[rowAttr] !== undefined &&\n rowAttr !== this.dataConfig.indicatorDimensionKey\n ) {\n rowKey.push(record[rowAttr]);\n }\n }\n for (let n = 0, len2 = this.dataConfig.columns.length; n < len2; n++) {\n const colAttr = this.dataConfig.columns[n];\n if (\n // record[colAttr] !== null &&\n record[colAttr] !== undefined &&\n colAttr !== this.dataConfig.indicatorDimensionKey\n ) {\n colKey.push(record[colAttr]);\n }\n }\n\n this.dataConfig.indicators?.forEach((indicatorKey: string | number) => {\n const recordValue: string | number = record[indicatorKey];\n // const indicatorName = this.dataConfig.indicators[indicatorKey];\n if (recordValue !== undefined) {\n if (this.dataConfig.indicatorsAsCol) {\n colKey.push(indicatorKey);\n } else {\n rowKey.push(indicatorKey);\n }\n }\n\n // record[indicatorKey] && (recordValue = record[indicatorKey]);\n\n // this.allTotal.push(record);\n\n const flatRowKey = rowKey.join(this.stringJoinChar);\n const flatColKey = colKey.join(this.stringJoinChar);\n\n if (rowKey.length !== 0) {\n if (!this.rowFlatKeys[flatRowKey]) {\n this.rowFlatKeys[flatRowKey] = 1;\n }\n }\n if (colKey.length !== 0) {\n if (!this.colFlatKeys[flatColKey]) {\n this.colFlatKeys[flatColKey] = 1;\n }\n }\n\n if (colKey.length !== 0 || rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (recordValue !== undefined) {\n this.tree[flatRowKey][flatColKey] = { value: recordValue, record };\n if (this.dataConfig.indicatorsAsCol) {\n colKey.pop();\n } else {\n rowKey.pop();\n }\n }\n }\n });\n }\n\n getTreeNode(\n rowKey: string[] | string = [],\n colKey: string[] | string = [],\n indicator: string,\n ifChangedValue: boolean = true\n ): Record<string, any> {\n let flatRowKey;\n let flatColKey;\n if (typeof rowKey === 'string') {\n flatRowKey = rowKey;\n } else {\n //考虑 指标key有可能在数组中间位置或者前面的可能 将其删除再添加到尾部\n let isHasIndicator = false;\n rowKey.map((key, i) => {\n if (key === indicator) {\n rowKey.splice(i, 1);\n isHasIndicator = true;\n }\n });\n isHasIndicator && rowKey.push(indicator);\n flatRowKey = rowKey.join(this.stringJoinChar);\n }\n\n if (typeof colKey === 'string') {\n flatColKey = colKey;\n } else {\n //考虑 指标key有可能在数组中间位置或者前面的可能 将其删除再添加到尾部\n let isHasIndicator = false;\n colKey.map((key, i) => {\n if (key === indicator) {\n colKey.splice(i, 1);\n isHasIndicator = true;\n }\n });\n isHasIndicator && colKey.push(indicator);\n flatColKey = colKey.join(this.stringJoinChar);\n }\n\n if (ifChangedValue) {\n return this.tree?.[flatRowKey]?.[flatColKey] ?? undefined;\n }\n if (isValid(this.beforeChangedTree[flatRowKey]?.[flatColKey])) {\n return {\n value: this.beforeChangedTree[flatRowKey][flatColKey].value,\n record: this.beforeChangedTree[flatRowKey][flatColKey].record\n };\n }\n return undefined;\n }\n\n changeTreeNodeValue(rowKey: string[] = [], colKey: string[] = [], indicator: string, newValue: any) {\n let flatRowKey;\n let flatColKey;\n if (typeof rowKey === 'string') {\n flatRowKey = rowKey;\n } else {\n //考虑 指标key有可能在数组中间位置或者前面的可能 将其删除再添加到尾部\n let isHasIndicator = false;\n rowKey.map((key, i) => {\n if (key === indicator) {\n rowKey.splice(i, 1);\n isHasIndicator = true;\n }\n });\n isHasIndicator && rowKey.push(indicator);\n flatRowKey = rowKey.join(this.stringJoinChar);\n }\n\n if (typeof colKey === 'string') {\n flatColKey = colKey;\n } else {\n //考虑 指标key有可能在数组中间位置或者前面的可能 将其删除再添加到尾部\n let isHasIndicator = false;\n colKey.map((key, i) => {\n if (key === indicator) {\n colKey.splice(i, 1);\n isHasIndicator = true;\n }\n });\n isHasIndicator && colKey.push(indicator);\n flatColKey = colKey.join(this.stringJoinChar);\n }\n const oldValue = this.tree[flatRowKey]?.[flatColKey]?.value;\n const oldRecord = Object.assign({}, this.tree[flatRowKey]?.[flatColKey]?.record);\n if (this.tree[flatRowKey]?.[flatColKey]?.record) {\n this.tree[flatRowKey][flatColKey].record[indicator] = newValue;\n this.tree[flatRowKey][flatColKey].value = newValue;\n } else {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n // 没有对应数据需要添加进去\n this.tree[flatRowKey][flatColKey] = {\n record: this._buildRecord(rowKey, colKey, indicator, newValue),\n value: newValue\n };\n }\n if (!this.beforeChangedTree[flatRowKey]?.[flatColKey]) {\n this.beforeChangedTree[flatRowKey] = {};\n this.beforeChangedTree[flatRowKey][flatColKey] = { record: undefined, value: undefined };\n this.beforeChangedTree[flatRowKey][flatColKey].record = oldRecord;\n this.beforeChangedTree[flatRowKey][flatColKey].value = oldValue;\n }\n }\n\n _buildRecord(rowKey: string[] = [], colKey: string[] = [], indicator: string, value: any) {\n const record = {};\n const rowDimensions = this.dataConfig.rows;\n const colDimensions = this.dataConfig.columns;\n rowDimensions.forEach((dimension, index) => {\n if (dimension !== this.dataConfig.indicatorDimensionKey) {\n record[dimension] = rowKey[index];\n }\n });\n colDimensions.forEach((dimension, index) => {\n if (dimension !== this.dataConfig.indicatorDimensionKey) {\n record[dimension] = colKey[index];\n }\n });\n record[indicator] = value;\n this.records.push(record);\n return record;\n }\n addRecords(records: any[]) {\n for (let i = 0, len = records.length; i < len; i++) {\n const record = records[i];\n this.processRecord(record);\n }\n this.records.push(records);\n }\n changeRecordFieldValue(fieldName: string, value: string | number) {\n let isIndicatorName = false;\n\n for (let i = 0; i < this.dataConfig.indicators.length; i++) {\n if (this.dataConfig.indicators[i] === fieldName) {\n isIndicatorName = true;\n }\n }\n\n this.records.forEach(record => {\n if (isIndicatorName) {\n } else {\n record[fieldName] = value;\n }\n });\n this.rowFlatKeys = {};\n this.colFlatKeys = {};\n this.tree = {};\n this.processRecords();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/dataset/flatDataToObject.ts"],"names":[],"mappings":"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","file":"flatDataToObject.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport { Env } from '../tools/env';\n\n// if (Env.mode === 'node') {\n// // eslint-disable-next-line no-global-assign\n// window = {\n// performance: {\n// now: () => -1,\n// },\n// } as any;\n// }\n/**\n * 针对聚合好的flat数据转为便于查询的行列树对象,每一个显示的指标值都能从一条数据记录中获得\n */\nexport class FlatDataToObjects {\n /**\n * 用户配置\n */\n dataConfig: {\n rows: string[]; //行维度字段数组;\n columns: string[]; //列维度字段数组;\n indicators: string[]; //具体展示指标;\n indicatorsAsCol: boolean;\n indicatorDimensionKey: string | number;\n };\n /**\n * 明细数据\n */\n records: any[];\n /**\n * 树形节点,最后的子节点对应到body部分的每个单元格 树结构: 行-列-单元格\n */\n tree: Record<string, Record<string, Record<string, any>>> = {};\n beforeChangedTree: Record<string, Record<string, { record: any; value: string }>> = {};\n private colFlatKeys = {};\n private rowFlatKeys = {};\n\n // //列表头的每列对应的表头键值\n // colKeys: string[][] = [];\n // //行表头的每行对应的表头键值\n // rowKeys: string[][] = [];\n // /**\n // * 对应dataset中的rowKeys,行表头的每行表头键值,包含小计总计\n // */\n // rowKeysPath: string[][];\n // /**\n // * 对应dataset中的colKeys,列表头的每列表头键值,包含小计总计\n // */\n // colKeysPath: string[][];\n\n stringJoinChar = String.fromCharCode(0);\n //缓存rows对应每个值是否为汇总字段\n private rowsIsTotal: boolean[] = [];\n private colsIsTotal: boolean[] = [];\n private colGrandTotalLabel: string;\n private colSubTotalLabel: string;\n private rowGrandTotalLabel: string;\n private rowSubTotalLabel: string;\n constructor(\n dataConfig: {\n rows: string[]; //行维度字段数组;\n columns: string[]; //列维度字段数组;\n indicators: string[]; //具体展示指标;\n indicatorsAsCol: boolean;\n indicatorDimensionKey: string | number;\n },\n records?: any[]\n ) {\n this.dataConfig = dataConfig;\n // this.allTotal = new SumAggregator(this.dataConfig.indicators[0]);\n\n if (records) {\n //处理数据\n this.records = records;\n const t0 = typeof window !== 'undefined' ? window.performance.now() : 0;\n this.setRecords(records);\n const t1 = typeof window !== 'undefined' ? window.performance.now() : 0;\n console.log('processRecords:', t1 - t0);\n }\n\n // delete this.rowFlatKeys;\n // delete this.colFlatKeys;\n }\n changeDataConfig(dataConfig: {\n rows: string[]; //行维度字段数组;\n columns: string[]; //列维度字段数组;\n indicators: string[]; //具体展示指标;\n indicatorsAsCol: boolean;\n indicatorDimensionKey: string | number;\n }) {\n this.dataConfig = dataConfig;\n }\n setRecords(records: any[]) {\n this.processRecords();\n }\n /**\n * 处理数据,遍历所有条目,过滤和派生字段的处理有待优化TODO\n */\n processRecords() {\n for (let i = 0, len = this.records.length; i < len; i++) {\n const record = this.records[i];\n this.processRecord(record);\n }\n }\n\n /**\n * 处理单条数据\n * @param record\n * @returns\n */\n processRecord(record: any) {\n const colKey: any[] = [];\n const rowKey: any[] = [];\n\n for (let l = 0, len1 = this.dataConfig.rows.length; l < len1; l++) {\n const rowAttr = this.dataConfig.rows[l];\n if (\n // record[rowAttr] !== null &&\n record[rowAttr] !== undefined &&\n rowAttr !== this.dataConfig.indicatorDimensionKey\n ) {\n rowKey.push(record[rowAttr]);\n }\n }\n for (let n = 0, len2 = this.dataConfig.columns.length; n < len2; n++) {\n const colAttr = this.dataConfig.columns[n];\n if (\n // record[colAttr] !== null &&\n record[colAttr] !== undefined &&\n colAttr !== this.dataConfig.indicatorDimensionKey\n ) {\n colKey.push(record[colAttr]);\n }\n }\n\n this.dataConfig.indicators?.forEach((indicatorKey: string | number) => {\n const recordValue: string | number = record[indicatorKey];\n // const indicatorName = this.dataConfig.indicators[indicatorKey];\n if (recordValue !== undefined) {\n if (this.dataConfig.indicatorsAsCol) {\n colKey.push(indicatorKey);\n } else {\n rowKey.push(indicatorKey);\n }\n }\n\n // record[indicatorKey] && (recordValue = record[indicatorKey]);\n\n // this.allTotal.push(record);\n\n const flatRowKey = rowKey.join(this.stringJoinChar);\n const flatColKey = colKey.join(this.stringJoinChar);\n\n if (rowKey.length !== 0) {\n if (!this.rowFlatKeys[flatRowKey]) {\n this.rowFlatKeys[flatRowKey] = 1;\n }\n }\n if (colKey.length !== 0) {\n if (!this.colFlatKeys[flatColKey]) {\n this.colFlatKeys[flatColKey] = 1;\n }\n }\n\n if (colKey.length !== 0 || rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (recordValue !== undefined) {\n this.tree[flatRowKey][flatColKey] = { value: recordValue, record };\n if (this.dataConfig.indicatorsAsCol) {\n colKey.pop();\n } else {\n rowKey.pop();\n }\n }\n }\n });\n }\n\n getTreeNode(\n rowKey: string[] | string = [],\n colKey: string[] | string = [],\n indicator: string,\n ifChangedValue: boolean = true\n ): Record<string, any> {\n let flatRowKey;\n let flatColKey;\n if (typeof rowKey === 'string') {\n flatRowKey = rowKey;\n } else {\n //考虑 指标key有可能在数组中间位置或者前面的可能 将其删除再添加到尾部\n let isHasIndicator = false;\n rowKey.map((key, i) => {\n if (key === indicator) {\n rowKey.splice(i, 1);\n isHasIndicator = true;\n }\n });\n isHasIndicator && rowKey.push(indicator);\n flatRowKey = rowKey.join(this.stringJoinChar);\n }\n\n if (typeof colKey === 'string') {\n flatColKey = colKey;\n } else {\n //考虑 指标key有可能在数组中间位置或者前面的可能 将其删除再添加到尾部\n let isHasIndicator = false;\n colKey.map((key, i) => {\n if (key === indicator) {\n colKey.splice(i, 1);\n isHasIndicator = true;\n }\n });\n isHasIndicator && colKey.push(indicator);\n flatColKey = colKey.join(this.stringJoinChar);\n }\n\n if (ifChangedValue) {\n return this.tree?.[flatRowKey]?.[flatColKey] ?? undefined;\n }\n if (isValid(this.beforeChangedTree[flatRowKey]?.[flatColKey])) {\n return {\n value: this.beforeChangedTree[flatRowKey][flatColKey].value,\n record: this.beforeChangedTree[flatRowKey][flatColKey].record\n };\n }\n return undefined;\n }\n\n changeTreeNodeValue(rowKey: string[] = [], colKey: string[] = [], indicator: string, newValue: any) {\n let flatRowKey;\n let flatColKey;\n if (typeof rowKey === 'string') {\n flatRowKey = rowKey;\n } else {\n //考虑 指标key有可能在数组中间位置或者前面的可能 将其删除再添加到尾部\n let isHasIndicator = false;\n rowKey.map((key, i) => {\n if (key === indicator) {\n rowKey.splice(i, 1);\n isHasIndicator = true;\n }\n });\n isHasIndicator && rowKey.push(indicator);\n flatRowKey = rowKey.join(this.stringJoinChar);\n }\n\n if (typeof colKey === 'string') {\n flatColKey = colKey;\n } else {\n //考虑 指标key有可能在数组中间位置或者前面的可能 将其删除再添加到尾部\n let isHasIndicator = false;\n colKey.map((key, i) => {\n if (key === indicator) {\n colKey.splice(i, 1);\n isHasIndicator = true;\n }\n });\n isHasIndicator && colKey.push(indicator);\n flatColKey = colKey.join(this.stringJoinChar);\n }\n const oldValue = this.tree[flatRowKey]?.[flatColKey]?.value;\n const oldRecord = Object.assign({}, this.tree[flatRowKey]?.[flatColKey]?.record);\n if (this.tree[flatRowKey]?.[flatColKey]?.record) {\n this.tree[flatRowKey][flatColKey].record[indicator] = newValue;\n this.tree[flatRowKey][flatColKey].value = newValue;\n } else {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n // 没有对应数据需要添加进去\n this.tree[flatRowKey][flatColKey] = {\n record: this._buildRecord(rowKey, colKey, indicator, newValue),\n value: newValue\n };\n }\n if (!this.beforeChangedTree[flatRowKey]?.[flatColKey]) {\n this.beforeChangedTree[flatRowKey] = {};\n this.beforeChangedTree[flatRowKey][flatColKey] = { record: undefined, value: undefined };\n this.beforeChangedTree[flatRowKey][flatColKey].record = oldRecord;\n this.beforeChangedTree[flatRowKey][flatColKey].value = oldValue;\n }\n }\n\n _buildRecord(rowKey: string[] = [], colKey: string[] = [], indicator: string, value: any) {\n const record = {};\n const rowDimensions = this.dataConfig.rows;\n const colDimensions = this.dataConfig.columns;\n rowDimensions.forEach((dimension, index) => {\n if (dimension !== this.dataConfig.indicatorDimensionKey) {\n record[dimension] = rowKey[index];\n }\n });\n colDimensions.forEach((dimension, index) => {\n if (dimension !== this.dataConfig.indicatorDimensionKey) {\n record[dimension] = colKey[index];\n }\n });\n record[indicator] = value;\n this.records.push(record);\n return record;\n }\n addRecords(records: any[]) {\n for (let i = 0, len = records.length; i < len; i++) {\n const record = records[i];\n this.processRecord(record);\n }\n this.records.push(records);\n }\n changeRecordFieldValue(fieldName: string, oldValue: string | number, value: string | number) {\n let isIndicatorName = false;\n\n for (let i = 0; i < this.dataConfig.indicators.length; i++) {\n if (this.dataConfig.indicators[i] === fieldName) {\n isIndicatorName = true;\n }\n }\n if (!isIndicatorName) {\n for (let i = 0, len = this.records.length; i < len; i++) {\n const record = this.records[i];\n if (record[fieldName] === oldValue) {\n record[fieldName] = value;\n }\n }\n this.rowFlatKeys = {};\n this.colFlatKeys = {};\n this.tree = {};\n this.processRecords();\n }\n }\n}\n"]}
|
package/cjs/index.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ import { renderChart } from './scenegraph/graphic/contributions/chart-render-hel
|
|
|
16
16
|
import { restoreMeasureText, setCustomAlphabetCharSet } from './scenegraph/utils/text-measure';
|
|
17
17
|
export { getDataCellPath } from './tools/get-data-path';
|
|
18
18
|
export * from './render/jsx';
|
|
19
|
-
export declare const version = "0.24.2-alpha.
|
|
19
|
+
export declare const version = "0.24.2-alpha.3";
|
|
20
20
|
export { TYPES, core, ListTable, ListTableConstructorOptions, PivotTable, PivotTableConstructorOptions, PivotChartConstructorOptions, PivotChart, IHeaderTreeDefine, IDimension, IIndicator, ITitleDefine, ICornerDefine, ColumnsDefine, ColumnDefine, LinkColumnDefine, ChartColumnDefine, ImageColumnDefine, SparklineColumnDefine, ProgressbarColumnDefine, TextColumnDefine, GroupColumnDefine, TextAlignType, TextBaselineType, themes, data, MousePointerCellEvent, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil, setCustomAlphabetCharSet, restoreMeasureText };
|
|
21
21
|
declare function getIcons(): {
|
|
22
22
|
[key: string]: TYPES.ColumnIconOption;
|
package/cjs/index.js
CHANGED
|
@@ -142,6 +142,6 @@ Object.defineProperty(exports, "getDataCellPath", {
|
|
|
142
142
|
get: function() {
|
|
143
143
|
return get_data_path_1.getDataCellPath;
|
|
144
144
|
}
|
|
145
|
-
}), __exportStar(require("./render/jsx"), exports), exports.version = "0.24.2-alpha.
|
|
145
|
+
}), __exportStar(require("./render/jsx"), exports), exports.version = "0.24.2-alpha.3",
|
|
146
146
|
exports.getIcons = getIcons, exports.clearGlobal = clearGlobal, TYPES.AggregationType;
|
|
147
147
|
//# sourceMappingURL=index.js.map
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA4D;AA8F1D,4FA9FO,qBAAW,OA8FP;AA7Fb,IAAA,4BAAkB,GAAE,CAAC;AAErB,kDAAoC;AAqDlC,sBAAK;AApDP,6CAA+B;AAqD7B,oBAAI;AApDN,6CAA+B;AA4E7B,oBAAI;AA3EN,+CAAiC;AACjC,qDAAuC;AA+ErC,4BAAQ;AA9EV,iDAAmC;AAwEjC,wBAAM;AAvER,yEAA2D;AAiFzD,wCAAc;AA3DhB,2CAAwC;AA2BtC,0FA3BO,qBAAS,OA2BP;AA1BX,6CAA0C;AA4BxC,2FA5BO,uBAAU,OA4BP;AA3BZ,6CAA0C;AA8BxC,2FA9BO,uBAAU,OA8BP;AA5BZ,8DAAgD;AAwD9C,oCAAY;AAtDd,wEAAoE;AAuDlE,2FAvDO,wBAAU,OAuDP;AAtDZ,gGAAqF;AAuDnF,4FAvDO,iCAAW,OAuDP;AAtDb,kEAA+F;AAyD7F,mGAzDO,iCAAkB,OAyDP;AADlB,yGAxD2B,uCAAwB,OAwD3B;AAnD1B,uDAAwD;AAA/C,gHAAA,eAAe,OAAA;AACxB,+CAA6B;AAEhB,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAqDxC,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AArBC,4BAAQ;AAuBV,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AA1BC,kCAAW;AA2Bb,KAAK,CAAC,eAAe,CAAC","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { graphicUtil, registerForVrender } from './vrender';\nregisterForVrender();\n\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n TextAlignType,\n TextBaselineType\n} from './ts-types';\nimport { ListTable } from './ListTable';\nimport { PivotTable } from './PivotTable';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nimport { updateCell } from './scenegraph/group-creater/cell-helper';\nimport { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';\nimport { restoreMeasureText, setCustomAlphabetCharSet } from './scenegraph/utils/text-measure';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\n\nexport const version = \"0.24.2-alpha.
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,uCAA4D;AA8F1D,4FA9FO,qBAAW,OA8FP;AA7Fb,IAAA,4BAAkB,GAAE,CAAC;AAErB,kDAAoC;AAqDlC,sBAAK;AApDP,6CAA+B;AAqD7B,oBAAI;AApDN,6CAA+B;AA4E7B,oBAAI;AA3EN,+CAAiC;AACjC,qDAAuC;AA+ErC,4BAAQ;AA9EV,iDAAmC;AAwEjC,wBAAM;AAvER,yEAA2D;AAiFzD,wCAAc;AA3DhB,2CAAwC;AA2BtC,0FA3BO,qBAAS,OA2BP;AA1BX,6CAA0C;AA4BxC,2FA5BO,uBAAU,OA4BP;AA3BZ,6CAA0C;AA8BxC,2FA9BO,uBAAU,OA8BP;AA5BZ,8DAAgD;AAwD9C,oCAAY;AAtDd,wEAAoE;AAuDlE,2FAvDO,wBAAU,OAuDP;AAtDZ,gGAAqF;AAuDnF,4FAvDO,iCAAW,OAuDP;AAtDb,kEAA+F;AAyD7F,mGAzDO,iCAAkB,OAyDP;AADlB,yGAxD2B,uCAAwB,OAwD3B;AAnD1B,uDAAwD;AAA/C,gHAAA,eAAe,OAAA;AACxB,+CAA6B;AAEhB,QAAA,OAAO,GAAG,gBAAgB,CAAC;AAqDxC,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AArBC,4BAAQ;AAuBV,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AA1BC,kCAAW;AA2Bb,KAAK,CAAC,eAAe,CAAC","file":"index.js","sourcesContent":["/* eslint-disable sort-imports */\nimport { graphicUtil, registerForVrender } from './vrender';\nregisterForVrender();\n\nimport * as TYPES from './ts-types';\nimport * as core from './core';\nimport * as data from './data';\nimport * as icons from './icons';\nimport * as register from './register';\nimport * as themes from './themes';\nimport * as DataStatistics from './dataset/DataStatistics';\nimport type {\n ColumnDefine,\n ColumnsDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n ListTableConstructorOptions,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n TextAlignType,\n TextBaselineType\n} from './ts-types';\nimport { ListTable } from './ListTable';\nimport { PivotTable } from './PivotTable';\nimport { PivotChart } from './PivotChart';\nimport type { MousePointerCellEvent } from './ts-types/events';\nimport * as CustomLayout from './render/layout';\n\nimport { updateCell } from './scenegraph/group-creater/cell-helper';\nimport { renderChart } from './scenegraph/graphic/contributions/chart-render-helper';\nimport { restoreMeasureText, setCustomAlphabetCharSet } from './scenegraph/utils/text-measure';\n\n// import { container, loadCanvasPicker } from '@src/vrender';\n// loadCanvasPicker(container);\n\nexport { getDataCellPath } from './tools/get-data-path';\nexport * from './render/jsx';\n\nexport const version = \"0.24.2-alpha.3\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableConstructorOptions,\n PivotChartConstructorOptions,\n PivotChart,\n IHeaderTreeDefine,\n IDimension,\n IIndicator,\n ITitleDefine,\n ICornerDefine,\n ColumnsDefine,\n ColumnDefine,\n LinkColumnDefine,\n ChartColumnDefine,\n ImageColumnDefine,\n SparklineColumnDefine,\n ProgressbarColumnDefine,\n TextColumnDefine,\n GroupColumnDefine,\n TextAlignType,\n TextBaselineType,\n themes,\n data,\n MousePointerCellEvent,\n getIcons,\n clearGlobal,\n //plugin registers\n register,\n /**\n * 暂不推荐使用\n */\n DataStatistics,\n CustomLayout,\n updateCell,\n renderChart,\n graphicUtil,\n setCustomAlphabetCharSet,\n restoreMeasureText\n};\n\n/** @private */\nfunction getIcons(): {\n [key: string]: TYPES.ColumnIconOption;\n} {\n return icons.get();\n}\n/** 清理内部的全局变量 如注册的icon theme等 以及共享的header column类实例 */\nfunction clearGlobal() {\n register.clearAll();\n // headers.type.clearGlobal();\n // columns.type.clearGlobal();\n}\nTYPES.AggregationType;\n"]}
|
package/cjs/state/state.js
CHANGED
package/cjs/themes/component.js
CHANGED
package/cjs/vrender.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kCAAgC;AAChC,yDAA8F;AAC9F,yDAAqE;AACrE,yDAmBgC;AAIhC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,SAAgB,kBAAkB;IAChC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,QAAQ,GAAG,IAAI,CAAC;IAEhB,IAAA,+BAAgB,GAAE,CAAC;IAEnB,IAAI,IAAA,2BAAY,GAAE,EAAE;QAClB,IAAA,6BAAc,EAAC,wBAAS,CAAC,CAAC;KAC3B;SAAM,IAAI,IAAA,wBAAS,GAAE,EAAE;QACtB,IAAA,0BAAW,EAAC,wBAAS,CAAC,CAAC;KACxB;IACD,IAAA,0BAAW,GAAE,CAAC;IACd,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,8BAAe,GAAE,CAAC;IAClB,IAAA,gCAAiB,GAAE,CAAC;IACpB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,+BAAgB,GAAE,CAAC;IACnB,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,+BAAgB,GAAE,CAAC;AACrB,CAAC;AA/BD,gDA+BC;AAED,yDAAuC;AACvC,yDAAuC","file":"vrender.js","sourcesContent":["import '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule } from '@visactor/vrender-core';\nimport { loadBrowserEnv, loadNodeEnv } from '@visactor/vrender-kits';\nimport {\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\n// export const version = \"0.24.2-alpha.
|
|
1
|
+
{"version":3,"sources":["../src/vrender.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,kCAAgC;AAChC,yDAA8F;AAC9F,yDAAqE;AACrE,yDAmBgC;AAIhC,IAAI,QAAQ,GAAG,KAAK,CAAC;AACrB,SAAgB,kBAAkB;IAChC,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IACD,QAAQ,GAAG,IAAI,CAAC;IAEhB,IAAA,+BAAgB,GAAE,CAAC;IAEnB,IAAI,IAAA,2BAAY,GAAE,EAAE;QAClB,IAAA,6BAAc,EAAC,wBAAS,CAAC,CAAC;KAC3B;SAAM,IAAI,IAAA,wBAAS,GAAE,EAAE;QACtB,IAAA,0BAAW,EAAC,wBAAS,CAAC,CAAC;KACxB;IACD,IAAA,0BAAW,GAAE,CAAC;IACd,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,4BAAa,GAAE,CAAC;IAChB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,8BAAe,GAAE,CAAC;IAClB,IAAA,gCAAiB,GAAE,CAAC;IACpB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,+BAAgB,GAAE,CAAC;IACnB,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,+BAAgB,GAAE,CAAC;AACrB,CAAC;AA/BD,gDA+BC;AAED,yDAAuC;AACvC,yDAAuC","file":"vrender.js","sourcesContent":["import '@visactor/vrender-core';\nimport { container, isBrowserEnv, isNodeEnv, preLoadAllModule } from '@visactor/vrender-core';\nimport { loadBrowserEnv, loadNodeEnv } from '@visactor/vrender-kits';\nimport {\n registerArc,\n registerArc3d,\n registerArea,\n registerCircle,\n registerGlyph,\n registerGroup,\n registerImage,\n registerLine,\n registerPath,\n registerPolygon,\n registerPyramid3d,\n registerRect,\n registerRect3d,\n registerRichtext,\n registerShadowRoot,\n registerSymbol,\n registerText,\n registerWrapText\n} from '@visactor/vrender-kits';\n// 导出版本号\n// export const version = \"0.24.2-alpha.3\";\n\nlet registed = false;\nexport function registerForVrender() {\n if (registed) {\n return;\n }\n registed = true;\n // 注册内置组件\n preLoadAllModule();\n\n if (isBrowserEnv()) {\n loadBrowserEnv(container);\n } else if (isNodeEnv()) {\n loadNodeEnv(container);\n }\n registerArc();\n registerArc3d();\n registerArea();\n registerCircle();\n registerGlyph();\n registerGroup();\n registerImage();\n registerLine();\n registerPath();\n registerPolygon();\n registerPyramid3d();\n registerRect();\n registerRect3d();\n registerRichtext();\n registerShadowRoot();\n registerSymbol();\n registerText();\n registerWrapText();\n}\n\nexport * from '@visactor/vrender-core';\nexport * from '@visactor/vrender-kits';\n"]}
|
package/dist/vtable.js
CHANGED
|
@@ -57479,7 +57479,7 @@
|
|
|
57479
57479
|
return TABLE_EVENT_TYPE;
|
|
57480
57480
|
}
|
|
57481
57481
|
options;
|
|
57482
|
-
version = "0.24.2-alpha.
|
|
57482
|
+
version = "0.24.2-alpha.3";
|
|
57483
57483
|
pagination;
|
|
57484
57484
|
id = `VTable${Date.now()}`;
|
|
57485
57485
|
headerStyleCache;
|
|
@@ -66479,23 +66479,25 @@
|
|
|
66479
66479
|
}
|
|
66480
66480
|
this.records.push(records);
|
|
66481
66481
|
}
|
|
66482
|
-
changeRecordFieldValue(fieldName, value) {
|
|
66482
|
+
changeRecordFieldValue(fieldName, oldValue, value) {
|
|
66483
66483
|
let isIndicatorName = false;
|
|
66484
66484
|
for (let i = 0; i < this.dataConfig.indicators.length; i++) {
|
|
66485
66485
|
if (this.dataConfig.indicators[i] === fieldName) {
|
|
66486
66486
|
isIndicatorName = true;
|
|
66487
66487
|
}
|
|
66488
66488
|
}
|
|
66489
|
-
|
|
66490
|
-
|
|
66491
|
-
|
|
66492
|
-
record[fieldName]
|
|
66489
|
+
if (!isIndicatorName) {
|
|
66490
|
+
for (let i = 0, len = this.records.length; i < len; i++) {
|
|
66491
|
+
const record = this.records[i];
|
|
66492
|
+
if (record[fieldName] === oldValue) {
|
|
66493
|
+
record[fieldName] = value;
|
|
66494
|
+
}
|
|
66493
66495
|
}
|
|
66494
|
-
|
|
66495
|
-
|
|
66496
|
-
|
|
66497
|
-
|
|
66498
|
-
|
|
66496
|
+
this.rowFlatKeys = {};
|
|
66497
|
+
this.colFlatKeys = {};
|
|
66498
|
+
this.tree = {};
|
|
66499
|
+
this.processRecords();
|
|
66500
|
+
}
|
|
66499
66501
|
}
|
|
66500
66502
|
}
|
|
66501
66503
|
|
|
@@ -67562,6 +67564,38 @@
|
|
|
67562
67564
|
this.changedTree[flatRowKey][flatColKey][indicatorIndex] = newValue;
|
|
67563
67565
|
}
|
|
67564
67566
|
}
|
|
67567
|
+
changeRecordFieldValue(fieldName, oldValue, value) {
|
|
67568
|
+
let isIndicatorName = false;
|
|
67569
|
+
for (let i = 0; i < this.indicatorKeys.length; i++) {
|
|
67570
|
+
if (this.indicatorKeys[i] === fieldName) {
|
|
67571
|
+
isIndicatorName = true;
|
|
67572
|
+
}
|
|
67573
|
+
}
|
|
67574
|
+
if (!isIndicatorName) {
|
|
67575
|
+
if (Array.isArray(this.records)) {
|
|
67576
|
+
for (let i = 0, len = this.records.length; i < len; i++) {
|
|
67577
|
+
const record = this.records[i];
|
|
67578
|
+
if (record[fieldName] === oldValue) {
|
|
67579
|
+
record[fieldName] = value;
|
|
67580
|
+
}
|
|
67581
|
+
}
|
|
67582
|
+
}
|
|
67583
|
+
else {
|
|
67584
|
+
for (const key in this.records) {
|
|
67585
|
+
for (let i = 0, len = this.records[key].length; i < len; i++) {
|
|
67586
|
+
const record = this.records[key][i];
|
|
67587
|
+
if (record[fieldName] === oldValue) {
|
|
67588
|
+
record[fieldName] = value;
|
|
67589
|
+
}
|
|
67590
|
+
}
|
|
67591
|
+
}
|
|
67592
|
+
}
|
|
67593
|
+
this.rowFlatKeys = {};
|
|
67594
|
+
this.colFlatKeys = {};
|
|
67595
|
+
this.tree = {};
|
|
67596
|
+
this.processRecords();
|
|
67597
|
+
}
|
|
67598
|
+
}
|
|
67565
67599
|
}
|
|
67566
67600
|
function arraySortByAnotherArray(array, sortArray) {
|
|
67567
67601
|
return array.sort((a, b) => {
|
|
@@ -68399,11 +68433,12 @@
|
|
|
68399
68433
|
changeCellValue(col, row, value, workOnEditableCell = false) {
|
|
68400
68434
|
if ((workOnEditableCell && this.isHasEditorDefine(col, row)) || workOnEditableCell === false) {
|
|
68401
68435
|
let newValue = value;
|
|
68436
|
+
const oldValue = this.getCellOriginValue(col, row);
|
|
68402
68437
|
const rawValue = this.getCellRawValue(col, row);
|
|
68403
68438
|
if (typeof rawValue === 'number' && isAllDigits(value)) {
|
|
68404
68439
|
newValue = parseFloat(value);
|
|
68405
68440
|
}
|
|
68406
|
-
this._changeCellValueToDataSet(col, row, newValue);
|
|
68441
|
+
this._changeCellValueToDataSet(col, row, oldValue, newValue);
|
|
68407
68442
|
const range = this.getCellRange(col, row);
|
|
68408
68443
|
for (let sCol = range.start.col; sCol <= range.end.col; sCol++) {
|
|
68409
68444
|
for (let sRow = range.start.row; sRow <= range.end.row; sRow++) {
|
|
@@ -68459,11 +68494,12 @@
|
|
|
68459
68494
|
workOnEditableCell === false) {
|
|
68460
68495
|
const value = rowValues[j];
|
|
68461
68496
|
let newValue = value;
|
|
68497
|
+
const oldValue = this.getCellOriginValue(startCol + j, startRow + i);
|
|
68462
68498
|
const rawValue = this.getCellRawValue(startCol + j, startRow + i);
|
|
68463
68499
|
if (typeof rawValue === 'number' && isAllDigits(value)) {
|
|
68464
68500
|
newValue = parseFloat(value);
|
|
68465
68501
|
}
|
|
68466
|
-
this._changeCellValueToDataSet(startCol + j, startRow + i, newValue);
|
|
68502
|
+
this._changeCellValueToDataSet(startCol + j, startRow + i, oldValue, newValue);
|
|
68467
68503
|
this.fireListeners(TABLE_EVENT_TYPE.CHANGE_CELL_VALUE, {
|
|
68468
68504
|
col: startCol + j,
|
|
68469
68505
|
row: startRow + i,
|
|
@@ -68515,26 +68551,38 @@
|
|
|
68515
68551
|
}
|
|
68516
68552
|
this.scenegraph.updateNextFrame();
|
|
68517
68553
|
}
|
|
68518
|
-
_changeCellValueToDataSet(col, row, newValue) {
|
|
68554
|
+
_changeCellValueToDataSet(col, row, oldValue, newValue) {
|
|
68519
68555
|
if (this.dataset) {
|
|
68520
68556
|
const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);
|
|
68521
|
-
|
|
68522
|
-
|
|
68523
|
-
|
|
68524
|
-
|
|
68525
|
-
|
|
68526
|
-
|
|
68527
|
-
|
|
68557
|
+
if (this.isHeader(col, row)) {
|
|
68558
|
+
this.internalProps.layoutMap.changeTreeNodeTitle(col, row, newValue);
|
|
68559
|
+
!this.isCornerHeader(col, row) &&
|
|
68560
|
+
this.dataset.changeRecordFieldValue(cellDimensionPath.colHeaderPaths?.length
|
|
68561
|
+
? cellDimensionPath.colHeaderPaths[cellDimensionPath.colHeaderPaths.length - 1].indicatorKey ??
|
|
68562
|
+
cellDimensionPath.colHeaderPaths[cellDimensionPath.colHeaderPaths.length - 1].dimensionKey
|
|
68563
|
+
: cellDimensionPath.rowHeaderPaths[cellDimensionPath.rowHeaderPaths.length - 1].indicatorKey ??
|
|
68564
|
+
cellDimensionPath.rowHeaderPaths[cellDimensionPath.rowHeaderPaths.length - 1].dimensionKey, oldValue, newValue);
|
|
68565
|
+
}
|
|
68566
|
+
else {
|
|
68567
|
+
const colKeys = cellDimensionPath.colHeaderPaths.map((colPath) => {
|
|
68568
|
+
return colPath.indicatorKey ?? colPath.value;
|
|
68569
|
+
});
|
|
68570
|
+
const rowKeys = cellDimensionPath.rowHeaderPaths.map((rowPath) => {
|
|
68571
|
+
return rowPath.indicatorKey ?? rowPath.value;
|
|
68572
|
+
});
|
|
68573
|
+
this.dataset.changeTreeNodeValue(!this.internalProps.layoutMap.indicatorsAsCol ? rowKeys.slice(0, -1) : rowKeys, this.internalProps.layoutMap.indicatorsAsCol ? colKeys.slice(0, -1) : colKeys, this.internalProps.layoutMap.getIndicatorKey(col, row), newValue);
|
|
68574
|
+
}
|
|
68528
68575
|
}
|
|
68529
68576
|
else if (this.flatDataToObjects) {
|
|
68530
68577
|
const cellDimensionPath = this.internalProps.layoutMap.getCellHeaderPaths(col, row);
|
|
68531
68578
|
if (this.isHeader(col, row)) {
|
|
68532
68579
|
this.internalProps.layoutMap.changeTreeNodeTitle(col, row, newValue);
|
|
68533
|
-
this.
|
|
68534
|
-
|
|
68535
|
-
cellDimensionPath.colHeaderPaths[cellDimensionPath.colHeaderPaths.length - 1].
|
|
68536
|
-
|
|
68537
|
-
cellDimensionPath.rowHeaderPaths[cellDimensionPath.rowHeaderPaths.length - 1].
|
|
68580
|
+
!this.isCornerHeader(col, row) &&
|
|
68581
|
+
this.flatDataToObjects.changeRecordFieldValue(cellDimensionPath.colHeaderPaths?.length
|
|
68582
|
+
? cellDimensionPath.colHeaderPaths[cellDimensionPath.colHeaderPaths.length - 1].indicatorKey ??
|
|
68583
|
+
cellDimensionPath.colHeaderPaths[cellDimensionPath.colHeaderPaths.length - 1].dimensionKey
|
|
68584
|
+
: cellDimensionPath.rowHeaderPaths[cellDimensionPath.rowHeaderPaths.length - 1].indicatorKey ??
|
|
68585
|
+
cellDimensionPath.rowHeaderPaths[cellDimensionPath.rowHeaderPaths.length - 1].dimensionKey, oldValue, newValue);
|
|
68538
68586
|
}
|
|
68539
68587
|
else {
|
|
68540
68588
|
const colKeys = cellDimensionPath.colHeaderPaths.map((colPath) => {
|
|
@@ -69973,7 +70021,7 @@
|
|
|
69973
70021
|
}
|
|
69974
70022
|
|
|
69975
70023
|
registerForVrender();
|
|
69976
|
-
const version = "0.24.2-alpha.
|
|
70024
|
+
const version = "0.24.2-alpha.3";
|
|
69977
70025
|
function getIcons() {
|
|
69978
70026
|
return get$2();
|
|
69979
70027
|
}
|