@visactor/vtable 1.16.0-alpha.1 → 1.16.0
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/body-helper/body-helper.js +1 -1
- package/cjs/body-helper/style.js +1 -2
- package/cjs/core/BaseTable.js +3 -2
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/dataset/dataset-pivot-table.js +1 -2
- package/cjs/dataset/flatDataToObject.js +2 -1
- package/cjs/event/media-click.js +21 -6
- package/cjs/event/media-click.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/layout/index.js +1 -2
- package/cjs/layout/pivot-header-layout.js +35 -38
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/row-height-map.js +1 -1
- package/cjs/layout/simple-header-layout.js +2 -2
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/layout/tree-helper.js +1 -1
- package/cjs/plugins/custom-cell-style.js +1 -1
- package/cjs/plugins/icons.js +1 -1
- package/cjs/plugins/invert-highlight.js +1 -1
- package/cjs/plugins/list-tree-stick-cell.js +2 -1
- package/cjs/plugins/themes.js +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +10 -2
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/scenegraph.js +2 -7
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/utils/text-icon-layout.js +1 -0
- package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/cjs/scenegraph/utils/text-measure.js +6 -2
- package/cjs/scenegraph/utils/text-measure.js.map +1 -1
- package/cjs/state/checkbox/checkbox.js +1 -1
- package/cjs/state/checkbox/checkbox.js.map +1 -1
- package/cjs/ts-types/list-table/define/link-define.d.ts +4 -4
- package/cjs/ts-types/list-table/define/link-define.js.map +1 -1
- package/cjs/ts-types/style-define.d.ts +1 -1
- package/cjs/ts-types/style-define.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +74 -48
- package/dist/vtable.min.js +2 -2
- package/es/body-helper/body-helper.js +1 -1
- package/es/body-helper/style.js +1 -2
- package/es/core/BaseTable.js +3 -2
- package/es/core/BaseTable.js.map +1 -1
- package/es/dataset/dataset-pivot-table.js +1 -2
- package/es/dataset/flatDataToObject.js +2 -1
- package/es/event/media-click.js +22 -5
- package/es/event/media-click.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/layout/index.js +1 -2
- package/es/layout/pivot-header-layout.js +35 -38
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/row-height-map.js +1 -1
- package/es/layout/simple-header-layout.js +2 -2
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/layout/tree-helper.js +1 -1
- package/es/plugins/custom-cell-style.js +1 -1
- package/es/plugins/icons.js +1 -1
- package/es/plugins/invert-highlight.js +1 -1
- package/es/plugins/list-tree-stick-cell.js +2 -1
- package/es/plugins/themes.js +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +10 -3
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/scenegraph.js +1 -8
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/utils/text-icon-layout.js +1 -0
- package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/es/scenegraph/utils/text-measure.js +7 -3
- package/es/scenegraph/utils/text-measure.js.map +1 -1
- package/es/state/checkbox/checkbox.js +2 -2
- package/es/state/checkbox/checkbox.js.map +1 -1
- package/es/ts-types/list-table/define/link-define.d.ts +4 -4
- package/es/ts-types/list-table/define/link-define.js.map +1 -1
- package/es/ts-types/style-define.d.ts +1 -1
- package/es/ts-types/style-define.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +5 -5
package/es/event/media-click.js
CHANGED
|
@@ -6,6 +6,8 @@ import { Env } from "../tools/env";
|
|
|
6
6
|
|
|
7
7
|
import { regUrl } from "../tools/global";
|
|
8
8
|
|
|
9
|
+
import { getOrApply } from "../tools/helper";
|
|
10
|
+
|
|
9
11
|
export function bindMediaClick(table) {
|
|
10
12
|
"browser" === Env.mode && table.on(TABLE_EVENT_TYPE.CLICK_CELL, (e => {
|
|
11
13
|
const {col: col, row: row} = e;
|
|
@@ -14,12 +16,27 @@ export function bindMediaClick(table) {
|
|
|
14
16
|
cellType = table.internalProps.layoutMap.isHeader(col, row) ? table.isPivotTable() ? table._getHeaderLayoutMap(col, row).headerType : table.getHeaderDefine(col, row).headerType : table.getBodyColumnType(col, row);
|
|
15
17
|
const columnDefine = table.isHeader(col, row) ? table.getHeaderDefine(col, row) : table.getBodyColumnDefine(col, row), cellValue = table.getCellValue(col, row), cellOriginValue = table.getCellOriginValue(col, row);
|
|
16
18
|
if ("link" === cellType) {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
let linkJump = getOrApply(columnDefine.linkJump, {
|
|
20
|
+
col: col,
|
|
21
|
+
row: row,
|
|
22
|
+
table: table,
|
|
23
|
+
value: cellValue,
|
|
24
|
+
dataValue: cellOriginValue,
|
|
25
|
+
cellHeaderPaths: void 0
|
|
26
|
+
});
|
|
27
|
+
if (linkJump = !1 !== linkJump, !linkJump) return;
|
|
28
|
+
const templateLink = columnDefine.templateLink;
|
|
29
|
+
let url, linkDetect = getOrApply(columnDefine.linkDetect, {
|
|
30
|
+
col: col,
|
|
31
|
+
row: row,
|
|
32
|
+
table: table,
|
|
33
|
+
value: cellValue,
|
|
34
|
+
dataValue: cellOriginValue,
|
|
35
|
+
cellHeaderPaths: void 0
|
|
36
|
+
});
|
|
37
|
+
if (linkDetect = !1 !== linkDetect, templateLink) {
|
|
21
38
|
const rowData = table.getCellOriginRecord(col, row);
|
|
22
|
-
if (rowData.vtableMerge) return;
|
|
39
|
+
if (rowData && rowData.vtableMerge) return;
|
|
23
40
|
const data = Object.assign({
|
|
24
41
|
__value: cellValue,
|
|
25
42
|
__dataValue: cellOriginValue
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event/media-click.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAKzC,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE;QAG1B,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC,CAAwB,EAAE,EAAE;YAEjE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YAEvB,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,IAAK,CAAC,CAAC,MAAc,CAAC,IAAI,IAAK,CAAC,CAAC,MAAc,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;gBAEpG,OAAO;aACR;YACD,IAAI,QAAQ,CAAC;YACb,IAAI,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE;gBACpD,QAAQ,GAAG,KAAK,CAAC,YAAY,EAAE;oBAC7B,CAAC,CAAE,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAgB,CAAC,UAAU;oBAChE,CAAC,CAAE,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAgB,CAAC,UAAU,CAAC;aAChE;iBAAM;gBACL,QAAQ,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aAC9C;YACD,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;gBAC3C,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC;gBACjC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACxC,MAAM,SAAS,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC/C,MAAM,eAAe,GAAG,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAC3D,IAAI,QAAQ,KAAK,MAAM,EAAE;gBACvB,MAAM,QAAQ,GAAI,YAAiC,CAAC,QAAQ,KAAK,KAAK,CAAC;gBACvE,IAAI,CAAC,QAAQ,EAAE;oBACb,OAAO;iBACR;gBAGD,MAAM,YAAY,GAAI,YAAiC,CAAC,YAAY,CAAC;gBACrE,MAAM,UAAU,GAAI,YAAiC,CAAC,UAAU,KAAK,KAAK,CAAC;gBAC3E,IAAI,GAAG,CAAC;gBACR,IAAI,YAAY,EAAE;oBAEhB,MAAM,OAAO,GAAG,KAAK,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBACpD,IAAI,OAAO,CAAC,WAAW,EAAE;wBAEvB,OAAO;qBACR;oBACD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CACxB;wBACE,OAAO,EAAE,SAAS;wBAClB,WAAW,EAAE,eAAe;qBAC7B,EACD,OAAO,CACR,CAAC;oBACF,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE;wBAC5B,GAAG,GAAG,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;qBAC3C;yBAAM;wBACL,MAAM,EAAE,GAAG,mBAAmB,CAAC;wBAC/B,GAAG,GAAG,YAAY,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,MAAc,EAAE,GAAW,EAAE,EAAE;4BAC7D,MAAM,CAAC;4BACP,OAAQ,IAAY,CAAC,GAAG,CAAC,CAAC;wBAC5B,CAAC,CAAC,CAAC;qBACJ;iBACF;qBAAM,IAAI,CAAC,UAAU,EAAE;oBACtB,GAAG,GAAG,SAAS,CAAC;iBACjB;qBAAM,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;oBAEjC,GAAG,GAAG,SAAS,CAAC;iBACjB;qBAAM;oBACL,OAAO;iBACR;gBAED,IAAI,CAAC,GAAG,EAAE;oBACR,OAAO;iBACR;gBAED,MAAM,UAAU,GAAI,YAAiC,CAAC,UAAU,CAAC;gBACjE,MAAM,kBAAkB,GAAI,YAAiC,CAAC,kBAAkB,CAAC;gBACjF,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,kBAAkB,CAAC,CAAC;aAClD;iBAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;gBAE/B,MAAM,EAAE,cAAc,EAAE,GAAG,YAAsC,CAAC;gBAClE,IAAI,cAAc,KAAK,KAAK,EAAE;oBAC5B,OAAO;iBACR;gBAGD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;gBAC7B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;gBACpC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,uBAAuB,CAAC;gBACxD,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC;gBACxC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;gBACpC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAClC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBAE9B,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;oBACpC,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE;wBACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;qBACpC;gBACH,CAAC,CAAC,CAAC;gBAUH,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;gBAC1B,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC;gBACtB,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC7B,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC9B,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAE3B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aACpC;iBAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;gBAE/B,MAAM,EAAE,cAAc,EAAE,GAAG,YAAsC,CAAC;gBAClE,IAAI,cAAc,KAAK,KAAK,EAAE;oBAC5B,OAAO;iBACR;gBAGD,MAAM,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC;gBAC7B,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC9B,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC;gBACpC,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,eAAe,GAAG,uBAAuB,CAAC;gBACxD,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBAC/B,OAAO,CAAC,KAAK,CAAC,cAAc,GAAG,QAAQ,CAAC;gBACxC,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;gBACpC,OAAO,CAAC,KAAK,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAClC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBAE9B,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE;oBACpC,IAAI,CAAC,CAAC,MAAM,KAAK,OAAO,EAAE;wBACxB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;qBACpC;gBACH,CAAC,CAAC,CAAC;gBAGH,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC9C,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC;gBACtB,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;gBAC7B,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;gBAC9B,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;gBACtC,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACvC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBAE3B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;aACpC;QACH,CAAC,CAAC,CAAC;KACJ;AACH,CAAC","file":"media-click.js","sourcesContent":["import { isFunction } from '@visactor/vutils';\nimport { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport { Env } from '../tools/env';\nimport { regUrl } from '../tools/global';\nimport type { LinkColumnDefine, MousePointerCellEvent } from '../ts-types';\nimport type { BaseTableAPI, HeaderData } from '../ts-types/base-table';\nimport type { IImageColumnBodyDefine } from '../ts-types/list-table/define/image-define';\n\nexport function bindMediaClick(table: BaseTableAPI): void {\n if (Env.mode === 'browser') {\n // table.hasMedia = false;\n\n table.on(TABLE_EVENT_TYPE.CLICK_CELL, (e: MousePointerCellEvent) => {\n //如果目前是在某个icon上,如收起展开按钮 则不进行其他点击逻辑\n const { col, row } = e;\n\n if (e.target.type === 'image' && (e.target as any).role && (e.target as any).role.startsWith('icon')) {\n // click icon\n return;\n }\n let cellType;\n if (table.internalProps.layoutMap.isHeader(col, row)) {\n cellType = table.isPivotTable()\n ? (table._getHeaderLayoutMap(col, row) as HeaderData).headerType\n : (table.getHeaderDefine(col, row) as HeaderData).headerType;\n } else {\n cellType = table.getBodyColumnType(col, row);\n }\n const columnDefine = table.isHeader(col, row)\n ? table.getHeaderDefine(col, row)\n : table.getBodyColumnDefine(col, row);\n const cellValue = table.getCellValue(col, row);\n const cellOriginValue = table.getCellOriginValue(col, row);\n if (cellType === 'link') {\n const linkJump = (columnDefine as LinkColumnDefine).linkJump !== false;\n if (!linkJump) {\n return;\n }\n\n // 点击链接,打开相应页面\n const templateLink = (columnDefine as LinkColumnDefine).templateLink;\n const linkDetect = (columnDefine as LinkColumnDefine).linkDetect !== false;\n let url;\n if (templateLink) {\n // 如果有模板链接,使用模板\n const rowData = table.getCellOriginRecord(col, row);\n if (rowData.vtableMerge) {\n // group title\n return;\n }\n const data = Object.assign(\n {\n __value: cellValue,\n __dataValue: cellOriginValue\n },\n rowData\n );\n if (isFunction(templateLink)) {\n url = templateLink(data, col, row, table);\n } else {\n const re = /\\{\\s*(\\S+?)\\s*\\}/g;\n url = templateLink.replace(re, (matchs: string, key: string) => {\n matchs;\n return (data as any)[key];\n });\n }\n } else if (!linkDetect) {\n url = cellValue;\n } else if (regUrl.test(cellValue)) {\n // 没有模板链接,使用单元格内的字符串\n url = cellValue;\n } else {\n return;\n }\n\n if (!url) {\n return;\n }\n\n const linkTarget = (columnDefine as LinkColumnDefine).linkTarget;\n const linkWindowFeatures = (columnDefine as LinkColumnDefine).linkWindowFeatures;\n window.open(url, linkTarget, linkWindowFeatures);\n } else if (cellType === 'image') {\n // 点击图片,打开放大图片\n const { clickToPreview } = columnDefine as IImageColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'absolute';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n document.body.removeChild(overlay);\n }\n });\n // overlay.addEventListener('pointermove', (e) => {\n // e.stopPropagation();\n // e.preventDefault();\n // });\n // overlay.addEventListener('mousemove', (e) => {\n // e.stopPropagation();\n // e.preventDefault();\n // });\n // 创建图片\n const image = new Image();\n image.src = cellValue;\n image.style.maxWidth = '80%';\n image.style.maxHeight = '80%';\n overlay.appendChild(image);\n\n document.body.appendChild(overlay);\n } else if (cellType === 'video') {\n // 点击视频,弹出播放窗口\n const { clickToPreview } = columnDefine as IImageColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'absolute';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n document.body.removeChild(overlay);\n }\n });\n\n // 创建视频\n const video = document.createElement('video');\n video.src = cellValue;\n video.style.maxWidth = '80%';\n video.style.maxHeight = '80%';\n video.setAttribute('preload', 'auto');\n video.setAttribute('controls', 'true');\n overlay.appendChild(video);\n\n document.body.appendChild(overlay);\n }\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/event/media-click.ts"],"names":[],"mappings":"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","file":"media-click.js","sourcesContent":["import { isFunction } from '@visactor/vutils';\nimport { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport { Env } from '../tools/env';\nimport { regUrl } from '../tools/global';\nimport type { LinkColumnDefine, MousePointerCellEvent } from '../ts-types';\nimport type { BaseTableAPI, HeaderData } from '../ts-types/base-table';\nimport type { IImageColumnBodyDefine } from '../ts-types/list-table/define/image-define';\nimport { getOrApply } from '../tools/helper';\n\nexport function bindMediaClick(table: BaseTableAPI): void {\n if (Env.mode === 'browser') {\n // table.hasMedia = false;\n\n table.on(TABLE_EVENT_TYPE.CLICK_CELL, (e: MousePointerCellEvent) => {\n //如果目前是在某个icon上,如收起展开按钮 则不进行其他点击逻辑\n const { col, row } = e;\n\n if (e.target.type === 'image' && (e.target as any).role && (e.target as any).role.startsWith('icon')) {\n // click icon\n return;\n }\n let cellType;\n if (table.internalProps.layoutMap.isHeader(col, row)) {\n cellType = table.isPivotTable()\n ? (table._getHeaderLayoutMap(col, row) as HeaderData).headerType\n : (table.getHeaderDefine(col, row) as HeaderData).headerType;\n } else {\n cellType = table.getBodyColumnType(col, row);\n }\n const columnDefine = table.isHeader(col, row)\n ? table.getHeaderDefine(col, row)\n : table.getBodyColumnDefine(col, row);\n const cellValue = table.getCellValue(col, row);\n const cellOriginValue = table.getCellOriginValue(col, row);\n if (cellType === 'link') {\n let linkJump: boolean | undefined = getOrApply((columnDefine as LinkColumnDefine).linkJump, {\n col,\n row,\n table,\n value: cellValue,\n dataValue: cellOriginValue,\n cellHeaderPaths: undefined\n });\n linkJump = linkJump !== false;\n if (!linkJump) {\n return;\n }\n\n // 点击链接,打开相应页面\n const templateLink = (columnDefine as LinkColumnDefine).templateLink;\n let linkDetect = getOrApply((columnDefine as LinkColumnDefine).linkDetect, {\n col,\n row,\n table,\n value: cellValue,\n dataValue: cellOriginValue,\n cellHeaderPaths: undefined\n });\n linkDetect = linkDetect !== false;\n let url;\n if (templateLink) {\n // 如果有模板链接,使用模板\n const rowData = table.getCellOriginRecord(col, row);\n if (rowData && rowData.vtableMerge) {\n // group title\n return;\n }\n const data = Object.assign(\n {\n __value: cellValue,\n __dataValue: cellOriginValue\n },\n rowData\n );\n if (isFunction(templateLink)) {\n url = templateLink(data, col, row, table);\n } else {\n const re = /\\{\\s*(\\S+?)\\s*\\}/g;\n url = templateLink.replace(re, (matchs: string, key: string) => {\n matchs;\n return (data as any)[key];\n });\n }\n } else if (!linkDetect) {\n url = cellValue;\n } else if (regUrl.test(cellValue)) {\n // 没有模板链接,使用单元格内的字符串\n url = cellValue;\n } else {\n return;\n }\n\n if (!url) {\n return;\n }\n\n const linkTarget = (columnDefine as LinkColumnDefine).linkTarget;\n const linkWindowFeatures = (columnDefine as LinkColumnDefine).linkWindowFeatures;\n window.open(url, linkTarget, linkWindowFeatures);\n } else if (cellType === 'image') {\n // 点击图片,打开放大图片\n const { clickToPreview } = columnDefine as IImageColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'absolute';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n document.body.removeChild(overlay);\n }\n });\n // overlay.addEventListener('pointermove', (e) => {\n // e.stopPropagation();\n // e.preventDefault();\n // });\n // overlay.addEventListener('mousemove', (e) => {\n // e.stopPropagation();\n // e.preventDefault();\n // });\n // 创建图片\n const image = new Image();\n image.src = cellValue;\n image.style.maxWidth = '80%';\n image.style.maxHeight = '80%';\n overlay.appendChild(image);\n\n document.body.appendChild(overlay);\n } else if (cellType === 'video') {\n // 点击视频,弹出播放窗口\n const { clickToPreview } = columnDefine as IImageColumnBodyDefine;\n if (clickToPreview === false) {\n return;\n }\n\n // 开启蒙版\n const overlay = document.createElement('div');\n overlay.style.width = '100%';\n overlay.style.height = '100%';\n overlay.style.position = 'absolute';\n overlay.style.top = '0';\n overlay.style.left = '0';\n overlay.style.backgroundColor = 'rgba(30, 30, 30, 0.4)';\n overlay.style.display = 'flex';\n overlay.style.justifyContent = 'center';\n overlay.style.alignItems = 'center';\n overlay.style.overflow = 'hidden';\n overlay.style.zIndex = '9999';\n\n overlay.addEventListener('click', e => {\n if (e.target === overlay) {\n document.body.removeChild(overlay);\n }\n });\n\n // 创建视频\n const video = document.createElement('video');\n video.src = cellValue;\n video.style.maxWidth = '80%';\n video.style.maxHeight = '80%';\n video.setAttribute('preload', 'auto');\n video.setAttribute('controls', 'true');\n overlay.appendChild(video);\n\n document.body.appendChild(overlay);\n }\n });\n }\n}\n"]}
|
package/es/index.d.ts
CHANGED
|
@@ -20,7 +20,7 @@ export { getDataCellPath } from './tools/get-data-path';
|
|
|
20
20
|
export * from './render/jsx';
|
|
21
21
|
export { getTargetCell } from './event/util';
|
|
22
22
|
export { Icon } from './scenegraph/graphic/icon';
|
|
23
|
-
export declare const version = "1.16.0
|
|
23
|
+
export declare const version = "1.16.0";
|
|
24
24
|
export { TYPES, core, ListTable, ListTableSimple, ListTableConstructorOptions, PivotTable, PivotTableSimple, 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 };
|
|
25
25
|
declare function getIcons(): {
|
|
26
26
|
[key: string]: TYPES.ColumnIconOption;
|
package/es/index.js
CHANGED
|
@@ -42,7 +42,7 @@ export { getTargetCell } from "./event/util";
|
|
|
42
42
|
|
|
43
43
|
export { Icon } from "./scenegraph/graphic/icon";
|
|
44
44
|
|
|
45
|
-
export const version = "1.16.0
|
|
45
|
+
export const version = "1.16.0";
|
|
46
46
|
|
|
47
47
|
export { TYPES, core, ListTable, ListTableSimple, PivotTable, PivotTableSimple, PivotChart, themes, data, getIcons, clearGlobal, register, DataStatistics, CustomLayout, updateCell, renderChart, graphicUtil, setCustomAlphabetCharSet, restoreMeasureText };
|
|
48
48
|
|
package/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5D,kBAAkB,EAAE,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAsB3D,OAAO,EAAE,YAAY,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAK/F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAKjD,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC5D,kBAAkB,EAAE,CAAC;AAErB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,QAAQ,MAAM,YAAY,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,UAAU,CAAC;AACnC,OAAO,KAAK,cAAc,MAAM,0BAA0B,CAAC;AAsB3D,OAAO,EAAE,YAAY,IAAI,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,aAAa,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,YAAY,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAK/F,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAKjD,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAIhC,OAAO,EAKL,KAAK,EACL,IAAI,EACJ,SAAS,EACT,eAAe,EAEf,UAAU,EACV,gBAAgB,EAGhB,UAAU,EAiBV,MAAM,EACN,IAAI,EAEJ,QAAQ,EACR,WAAW,EAEX,QAAQ,EAIR,cAAc,EACd,YAAY,EACZ,UAAU,EACV,WAAW,EACX,WAAW,EACX,wBAAwB,EACxB,kBAAkB,EAGnB,CAAC;AAGF,SAAS,QAAQ;IAGf,OAAO,KAAK,CAAC,GAAG,EAAE,CAAC;AACrB,CAAC;AAED,SAAS,WAAW;IAClB,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAGtB,CAAC;AACD,KAAK,CAAC,eAAe,CAAC;AAEtB,cAAc,cAAc,CAAC;AAC7B,cAAc,sCAAsC,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAE/G,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,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 { ListTableAll as ListTable } from './ListTable-all';\nimport { ListTableSimple } from './ListTable-simple';\n// import { PivotTable } from './PivotTable';\nimport { PivotTableAll as PivotTable } from './PivotTable-all';\nimport { PivotTableSimple } from './PivotTable-simple';\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';\nexport { getTargetCell } from './event/util';\n\nexport { Icon } from './scenegraph/graphic/icon';\n\n// export * as VRender from './vrender';\n// import * as VRender from './vrender';\n\nexport const version = \"1.16.0\";\n/**\n * @namespace VTable\n */\nexport {\n /**\n * Types\n * @namespace VTable.TYPES\n */\n TYPES,\n core,\n ListTable,\n ListTableSimple,\n ListTableConstructorOptions,\n PivotTable,\n PivotTableSimple,\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 // VRender // should use import {xxx} from '@visactor/vtable/es/vrender'\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\nexport * from './components';\nexport * from './scenegraph/group-creater/cell-type';\n\nexport { TABLE_EVENT_TYPE } from './core/TABLE_EVENT_TYPE';\nexport { PIVOT_CHART_EVENT_TYPE, PIVOT_TABLE_EVENT_TYPE } from './ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\n\nexport { EventTarget } from './event/EventTarget';\n"]}
|
package/es/layout/index.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
export { SimpleHeaderLayoutMap } from "./simple-header-layout";
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
export { SimpleHeaderLayoutMap } from "./simple-header-layout";
|
|
@@ -251,14 +251,12 @@ export class PivotHeaderLayoutMap {
|
|
|
251
251
|
}
|
|
252
252
|
}
|
|
253
253
|
_addCornerHeaders(colDimensionKeys, rowDimensionKeys, dimensions) {
|
|
254
|
-
var _a, _b;
|
|
255
|
-
|
|
254
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
255
|
+
this._cornerHeaderCellFullPathIds = [];
|
|
256
|
+
const results = [], colLevelCount = "grid-tree" === this.columnHierarchyType && this._getColumnHeaderTreeExpandedMaxLevelCount() || this.columnHeaderLevelCount, rowLevelCount = "grid-tree" === this.rowHierarchyType && this._getRowHeaderTreeExpandedMaxLevelCount() || this.rowHeaderLevelCount;
|
|
256
257
|
if ("all" === this.cornerSetting.titleOnDimension) if (this.indicatorsAsCol) {
|
|
257
|
-
let
|
|
258
|
-
|
|
259
|
-
var _a, _b;
|
|
260
|
-
dimensionKey === this.indicatorDimensionKey && (indicatorAtIndex = key);
|
|
261
|
-
const id = ++this.sharedVar.seqId, dimensionInfo = dimensions.find((dimension => "string" != typeof dimension && dimension.dimensionKey === dimensionKey)), cell = {
|
|
258
|
+
if (colDimensionKeys) for (let i = 0; i < colLevelCount; i++) {
|
|
259
|
+
const dimensionKey = colDimensionKeys[i], id = ++this.sharedVar.seqId, dimensionInfo = dimensions.find((dimension => "string" != typeof dimension && dimension.dimensionKey === dimensionKey)), cell = {
|
|
262
260
|
id: id,
|
|
263
261
|
title: dimensionKey === this.indicatorDimensionKey ? this.indicatorTitle : dimensionInfo ? dimensionInfo.title : "axis" === dimensionKey ? "" : dimensionKey,
|
|
264
262
|
field: dimensionKey,
|
|
@@ -285,16 +283,16 @@ export class PivotHeaderLayoutMap {
|
|
|
285
283
|
},
|
|
286
284
|
description: null == dimensionInfo ? void 0 : dimensionInfo.cornerDescription
|
|
287
285
|
};
|
|
288
|
-
results[id] = cell, this._headerObjects[id] = cell, this._cornerHeaderCellFullPathIds[
|
|
289
|
-
for (let r = 0; r <
|
|
290
|
-
}
|
|
291
|
-
|
|
292
|
-
const id = ++this.sharedVar.seqId, dimensionInfo = dimensions.find((dimension => "string" != typeof dimension && dimension.dimensionKey === dimensionKey)), cell = {
|
|
286
|
+
results[id] = cell, this._headerObjects[id] = cell, this._cornerHeaderCellFullPathIds[i] || (this._cornerHeaderCellFullPathIds[i] = []);
|
|
287
|
+
for (let r = 0; r < rowLevelCount; r++) this._cornerHeaderCellFullPathIds[i][r] = id;
|
|
288
|
+
}
|
|
289
|
+
if (rowDimensionKeys) for (let i = 0; i < rowLevelCount; i++) {
|
|
290
|
+
const dimensionKey = rowDimensionKeys[i], id = ++this.sharedVar.seqId, dimensionInfo = dimensions.find((dimension => "string" != typeof dimension && dimension.dimensionKey === dimensionKey)), cell = {
|
|
293
291
|
id: id,
|
|
294
292
|
title: dimensionKey === this.indicatorDimensionKey ? this.indicatorTitle : dimensionInfo ? dimensionInfo.title : "axis" === dimensionKey ? "" : dimensionKey,
|
|
295
293
|
field: dimensionKey,
|
|
296
294
|
style: this.cornerSetting.headerStyle,
|
|
297
|
-
headerType: null !== (
|
|
295
|
+
headerType: null !== (_c = this.cornerSetting.headerType) && void 0 !== _c ? _c : "text",
|
|
298
296
|
showSort: null == dimensionInfo ? void 0 : dimensionInfo.showSortInCorner,
|
|
299
297
|
sort: null == dimensionInfo ? void 0 : dimensionInfo.sort,
|
|
300
298
|
define: {
|
|
@@ -310,26 +308,23 @@ export class PivotHeaderLayoutMap {
|
|
|
310
308
|
dropDownMenu: null == dimensionInfo ? void 0 : dimensionInfo.cornerDropDownMenu,
|
|
311
309
|
headerIcon: null == dimensionInfo ? void 0 : dimensionInfo.cornerHeaderIcon,
|
|
312
310
|
pivotInfo: {
|
|
313
|
-
value: null !== (
|
|
311
|
+
value: null !== (_d = null == dimensionInfo ? void 0 : dimensionInfo.title) && void 0 !== _d ? _d : "",
|
|
314
312
|
dimensionKey: dimensionKey,
|
|
315
313
|
isPivotCorner: !0
|
|
316
314
|
},
|
|
317
315
|
description: null == dimensionInfo ? void 0 : dimensionInfo.cornerDescription
|
|
318
316
|
};
|
|
319
|
-
results[id] = cell, this._headerObjects[id] = cell, this._cornerHeaderCellFullPathIds[
|
|
320
|
-
this._cornerHeaderCellFullPathIds[
|
|
321
|
-
}
|
|
317
|
+
results[id] = cell, this._headerObjects[id] = cell, this._cornerHeaderCellFullPathIds[this._cornerHeaderCellFullPathIds.length - 1] || (this._cornerHeaderCellFullPathIds[this._cornerHeaderCellFullPathIds.length - 1] = []),
|
|
318
|
+
this._cornerHeaderCellFullPathIds[this._cornerHeaderCellFullPathIds.length - 1][i] = id;
|
|
319
|
+
}
|
|
322
320
|
} else {
|
|
323
|
-
let
|
|
324
|
-
|
|
325
|
-
var _a, _b;
|
|
326
|
-
dimensionKey === this.indicatorDimensionKey && (indicatorAtIndex = key);
|
|
327
|
-
const id = ++this.sharedVar.seqId, dimensionInfo = dimensions.find((dimension => "string" != typeof dimension && dimension.dimensionKey === dimensionKey)), cell = {
|
|
321
|
+
if (rowDimensionKeys) for (let i = 0; i < rowLevelCount; i++) {
|
|
322
|
+
const dimensionKey = rowDimensionKeys[i], id = ++this.sharedVar.seqId, dimensionInfo = dimensions.find((dimension => "string" != typeof dimension && dimension.dimensionKey === dimensionKey)), cell = {
|
|
328
323
|
id: id,
|
|
329
324
|
title: dimensionKey === this.indicatorDimensionKey ? this.indicatorTitle : dimensionInfo ? dimensionInfo.title : "axis" === dimensionKey ? "" : dimensionKey,
|
|
330
325
|
field: dimensionKey,
|
|
331
326
|
style: this.cornerSetting.headerStyle,
|
|
332
|
-
headerType: null !== (
|
|
327
|
+
headerType: null !== (_e = this.cornerSetting.headerType) && void 0 !== _e ? _e : "text",
|
|
333
328
|
showSort: null == dimensionInfo ? void 0 : dimensionInfo.showSortInCorner,
|
|
334
329
|
sort: null == dimensionInfo ? void 0 : dimensionInfo.sort,
|
|
335
330
|
define: {
|
|
@@ -345,23 +340,23 @@ export class PivotHeaderLayoutMap {
|
|
|
345
340
|
dropDownMenu: null == dimensionInfo ? void 0 : dimensionInfo.cornerDropDownMenu,
|
|
346
341
|
headerIcon: null == dimensionInfo ? void 0 : dimensionInfo.cornerHeaderIcon,
|
|
347
342
|
pivotInfo: {
|
|
348
|
-
value: null !== (
|
|
343
|
+
value: null !== (_f = null == dimensionInfo ? void 0 : dimensionInfo.title) && void 0 !== _f ? _f : "",
|
|
349
344
|
dimensionKey: dimensionKey,
|
|
350
345
|
isPivotCorner: !0
|
|
351
346
|
},
|
|
352
347
|
description: null == dimensionInfo ? void 0 : dimensionInfo.cornerDescription
|
|
353
348
|
};
|
|
354
349
|
results[id] = cell, this._headerObjects[id] = cell;
|
|
355
|
-
for (let r = 0; r <
|
|
356
|
-
this._cornerHeaderCellFullPathIds[r][
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
const id = ++this.sharedVar.seqId, dimensionInfo = dimensions.find((dimension => "string" != typeof dimension && dimension.dimensionKey === dimensionKey)), cell = {
|
|
350
|
+
for (let r = 0; r < colLevelCount; r++) this._cornerHeaderCellFullPathIds[r] || (this._cornerHeaderCellFullPathIds[r] = []),
|
|
351
|
+
this._cornerHeaderCellFullPathIds[r][i] = id;
|
|
352
|
+
}
|
|
353
|
+
if (colDimensionKeys) for (let c = 0; c < colLevelCount; c++) {
|
|
354
|
+
const dimensionKey = colDimensionKeys[c], id = ++this.sharedVar.seqId, dimensionInfo = dimensions.find((dimension => "string" != typeof dimension && dimension.dimensionKey === dimensionKey)), cell = {
|
|
360
355
|
id: id,
|
|
361
356
|
title: dimensionKey === this.indicatorDimensionKey ? this.indicatorTitle : dimensionInfo ? dimensionInfo.title : "axis" === dimensionKey ? "" : dimensionKey,
|
|
362
357
|
field: dimensionKey,
|
|
363
358
|
style: this.cornerSetting.headerStyle,
|
|
364
|
-
headerType: null !== (
|
|
359
|
+
headerType: null !== (_g = this.cornerSetting.headerType) && void 0 !== _g ? _g : "text",
|
|
365
360
|
showSort: null == dimensionInfo ? void 0 : dimensionInfo.showSortInCorner,
|
|
366
361
|
sort: null == dimensionInfo ? void 0 : dimensionInfo.sort,
|
|
367
362
|
define: {
|
|
@@ -377,16 +372,16 @@ export class PivotHeaderLayoutMap {
|
|
|
377
372
|
dropDownMenu: null == dimensionInfo ? void 0 : dimensionInfo.cornerDropDownMenu,
|
|
378
373
|
headerIcon: null == dimensionInfo ? void 0 : dimensionInfo.cornerHeaderIcon,
|
|
379
374
|
pivotInfo: {
|
|
380
|
-
value: null !== (
|
|
375
|
+
value: null !== (_h = null == dimensionInfo ? void 0 : dimensionInfo.title) && void 0 !== _h ? _h : "",
|
|
381
376
|
dimensionKey: dimensionKey,
|
|
382
377
|
isPivotCorner: !0
|
|
383
378
|
},
|
|
384
379
|
description: null == dimensionInfo ? void 0 : dimensionInfo.cornerDescription
|
|
385
380
|
};
|
|
386
|
-
results[id] = cell, this._headerObjects[id] = cell, this._cornerHeaderCellFullPathIds[
|
|
387
|
-
}
|
|
381
|
+
results[id] = cell, this._headerObjects[id] = cell, this._cornerHeaderCellFullPathIds[c][this._cornerHeaderCellFullPathIds[c].length - 1] = id;
|
|
382
|
+
}
|
|
388
383
|
} else if ("row" === this.cornerSetting.titleOnDimension || "column" === this.cornerSetting.titleOnDimension) {
|
|
389
|
-
const dimensionKeys = "row" === (null === (
|
|
384
|
+
const dimensionKeys = "row" === (null === (_j = this.cornerSetting) || void 0 === _j ? void 0 : _j.titleOnDimension) ? rowDimensionKeys : colDimensionKeys;
|
|
390
385
|
dimensionKeys && dimensionKeys.forEach(((dimensionKey, key) => {
|
|
391
386
|
var _a, _b;
|
|
392
387
|
const id = ++this.sharedVar.seqId, dimensionInfo = dimensions.find((dimension => "string" != typeof dimension && dimension.dimensionKey === dimensionKey)), cell = {
|
|
@@ -430,7 +425,7 @@ export class PivotHeaderLayoutMap {
|
|
|
430
425
|
title: "",
|
|
431
426
|
field: "维度名称",
|
|
432
427
|
style: this.cornerSetting.headerStyle,
|
|
433
|
-
headerType: null !== (
|
|
428
|
+
headerType: null !== (_k = this.cornerSetting.headerType) && void 0 !== _k ? _k : "text",
|
|
434
429
|
define: {
|
|
435
430
|
dimensionKey: "维度名称",
|
|
436
431
|
id: id,
|
|
@@ -1044,7 +1039,8 @@ export class PivotHeaderLayoutMap {
|
|
|
1044
1039
|
this.fullRowDimensionKeys = [], this.fullRowDimensionKeys = this.fullRowDimensionKeys.concat(this.rowDimensionKeys),
|
|
1045
1040
|
"tree" === this.rowHierarchyType) this._addHeadersForTreeMode(this._rowHeaderCellFullPathIds_FULL, 0, this.rowDimensionTree.tree.children, [], this.rowDimensionTree.totalLevel, !0, this.rowsDefine, this.rowHeaderObjs); else if ("grid-tree" === this.rowHierarchyType) {
|
|
1046
1041
|
const startRow = 0;
|
|
1047
|
-
this._addHeadersForGridTreeMode(this._rowHeaderCellFullPathIds_FULL, startRow, this.rowDimensionTree.tree.children, [], this.rowDimensionTree.totalLevel, this._getRowHeaderTreeExpandedMaxLevelCount(), !0, this.rowsDefine, this.rowHeaderObjs, !0)
|
|
1042
|
+
this._addHeadersForGridTreeMode(this._rowHeaderCellFullPathIds_FULL, startRow, this.rowDimensionTree.tree.children, [], this.rowDimensionTree.totalLevel, this._getRowHeaderTreeExpandedMaxLevelCount(), !0, this.rowsDefine, this.rowHeaderObjs, !0),
|
|
1043
|
+
this.cornerHeaderObjs = this._addCornerHeaders(this.colDimensionKeys, this.rowDimensionKeys, this.columnsDefine.concat(...this.rowsDefine));
|
|
1048
1044
|
}
|
|
1049
1045
|
if (this.rowHeaderTitle) {
|
|
1050
1046
|
const id = ++this.sharedVar.seqId, firstColIds = Array(this.rowCount - this.columnHeaderLevelCount).fill(id);
|
|
@@ -1089,7 +1085,8 @@ export class PivotHeaderLayoutMap {
|
|
|
1089
1085
|
this._columnHeaderCellFullPathIds = [], this.colDimensionKeys = this.columnDimensionTree.dimensionKeysIncludeVirtual.valueArr(),
|
|
1090
1086
|
"grid-tree" === this.columnHierarchyType) {
|
|
1091
1087
|
const startRow = 0;
|
|
1092
|
-
this._addHeadersForGridTreeMode(this._columnHeaderCellFullPathIds, startRow, this.columnDimensionTree.tree.children, [], this.columnDimensionTree.totalLevel, this._getColumnHeaderTreeExpandedMaxLevelCount(), !0, this.columnsDefine, this.columnHeaderObjs, !1)
|
|
1088
|
+
this._addHeadersForGridTreeMode(this._columnHeaderCellFullPathIds, startRow, this.columnDimensionTree.tree.children, [], this.columnDimensionTree.totalLevel, this._getColumnHeaderTreeExpandedMaxLevelCount(), !0, this.columnsDefine, this.columnHeaderObjs, !1),
|
|
1089
|
+
this.cornerHeaderObjs = this._addCornerHeaders(this.colDimensionKeys, this.rowDimensionKeys, this.columnsDefine.concat(...this.rowsDefine));
|
|
1093
1090
|
}
|
|
1094
1091
|
if (this.columnHeaderTitle) {
|
|
1095
1092
|
const id = ++this.sharedVar.seqId, firstRowIds = Array(this.colCount - this.rowHeaderLevelCount - this.rightFrozenColCount).fill(id);
|
|
@@ -1713,7 +1710,7 @@ export class PivotHeaderLayoutMap {
|
|
|
1713
1710
|
}
|
|
1714
1711
|
getSeriesNumberHeader(col, row) {
|
|
1715
1712
|
return this.leftRowSeriesNumberColumnCount > 0 && col >= 0 && col < this.leftRowSeriesNumberColumnCount && row < this.headerLevelCount ? Object.assign({}, this.leftRowSeriesNumberColumn[col], {
|
|
1716
|
-
style: this._table.internalProps.rowSeriesNumber.headerStyle
|
|
1713
|
+
style: Object.assign({}, this._table.internalProps.theme.cornerHeaderStyle, this._table.internalProps.rowSeriesNumber.headerStyle)
|
|
1717
1714
|
}) : this.rightRowSeriesNumberColumnCount > 0 && col >= this.colCount - this.rightRowSeriesNumberColumnCount && row < this.headerLevelCount && row < this.headerLevelCount ? this.rightRowSeriesNumberColumn[col - (this.colCount - this.rightRowSeriesNumberColumnCount)] : void 0;
|
|
1718
1715
|
}
|
|
1719
1716
|
getSeriesNumberBody(col, row) {
|