@visactor/vtable 0.25.8-alpha.0 → 0.25.9-alpha.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/ListTable.js +6 -5
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotTable.js +6 -3
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +2 -1
- package/cjs/core/BaseTable.js +25 -18
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/event/drill.js +1 -2
- package/cjs/event/media-click.js +2 -1
- package/cjs/header-helper/header-helper.js +1 -1
- package/cjs/header-helper/header-helper.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/layout-helper.d.ts +2 -0
- package/cjs/layout/layout-helper.js +34 -9
- package/cjs/layout/layout-helper.js.map +1 -1
- package/cjs/layout/pivot-header-layout.d.ts +5 -1
- package/cjs/layout/pivot-header-layout.js +82 -57
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/scenegraph/component/table-component.js +26 -22
- package/cjs/scenegraph/component/table-component.js.map +1 -1
- package/cjs/scenegraph/layout/frozen.js +1 -1
- package/cjs/scenegraph/layout/frozen.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +4 -2
- package/cjs/scenegraph/scenegraph.js +3 -3
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/select/update-select-border.d.ts +4 -1
- package/cjs/scenegraph/select/update-select-border.js +6 -1
- package/cjs/scenegraph/select/update-select-border.js.map +1 -1
- package/cjs/scenegraph/utils/break-string.js +1 -1
- package/cjs/scenegraph/utils/break-string.js.map +1 -1
- package/cjs/state/select/update-position.js +12 -8
- package/cjs/state/select/update-position.js.map +1 -1
- package/cjs/state/state.d.ts +3 -1
- package/cjs/state/state.js.map +1 -1
- package/cjs/themes/theme.js +3 -0
- package/cjs/themes/theme.js.map +1 -1
- package/cjs/tools/helper.js +2 -2
- package/cjs/tools/helper.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +1 -0
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/ts-types/theme.d.ts +1 -0
- package/cjs/ts-types/theme.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +327 -147
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.js +5 -4
- package/es/ListTable.js.map +1 -1
- package/es/PivotTable.js +6 -3
- package/es/PivotTable.js.map +1 -1
- package/es/core/BaseTable.d.ts +2 -1
- package/es/core/BaseTable.js +26 -17
- package/es/core/BaseTable.js.map +1 -1
- package/es/event/drill.js +1 -2
- package/es/event/media-click.js +2 -1
- package/es/header-helper/header-helper.js +1 -1
- package/es/header-helper/header-helper.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/layout-helper.d.ts +2 -0
- package/es/layout/layout-helper.js +28 -5
- package/es/layout/layout-helper.js.map +1 -1
- package/es/layout/pivot-header-layout.d.ts +5 -1
- package/es/layout/pivot-header-layout.js +83 -56
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/scenegraph/component/table-component.js +27 -21
- package/es/scenegraph/component/table-component.js.map +1 -1
- package/es/scenegraph/layout/frozen.js +1 -1
- package/es/scenegraph/layout/frozen.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +4 -2
- package/es/scenegraph/scenegraph.js +3 -3
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/select/update-select-border.d.ts +4 -1
- package/es/scenegraph/select/update-select-border.js +6 -1
- package/es/scenegraph/select/update-select-border.js.map +1 -1
- package/es/scenegraph/utils/break-string.js +1 -1
- package/es/scenegraph/utils/break-string.js.map +1 -1
- package/es/state/select/update-position.js +12 -8
- package/es/state/select/update-position.js.map +1 -1
- package/es/state/state.d.ts +3 -1
- package/es/state/state.js.map +1 -1
- package/es/themes/theme.js +3 -0
- package/es/themes/theme.js.map +1 -1
- package/es/tools/helper.js +2 -2
- package/es/tools/helper.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +1 -0
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/ts-types/theme.d.ts +1 -0
- package/es/ts-types/theme.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +2 -2
package/cjs/event/drill.js
CHANGED
|
@@ -34,5 +34,4 @@ function checkHaveDrill(table) {
|
|
|
34
34
|
return !1;
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
exports.bindDrillEvent = bindDrillEvent, exports.drillClick = drillClick, exports.checkHaveDrill = checkHaveDrill;
|
|
38
|
-
//# sourceMappingURL=drill.js.map
|
|
37
|
+
exports.bindDrillEvent = bindDrillEvent, exports.drillClick = drillClick, exports.checkHaveDrill = checkHaveDrill;
|
package/cjs/event/media-click.js
CHANGED
|
@@ -213,7 +213,7 @@ class HeaderHelper {
|
|
|
213
213
|
}
|
|
214
214
|
setTableColumnsEditor() {
|
|
215
215
|
const setEditor = (colDefines, setColumns) => {
|
|
216
|
-
colDefines.forEach(((colDefine, index) => {
|
|
216
|
+
null == colDefines || colDefines.forEach(((colDefine, index) => {
|
|
217
217
|
colDefine.editor && (setColumns[index].editor = colDefine.editor), colDefine.columns && setEditor(colDefine.columns, setColumns[index].columns);
|
|
218
218
|
}));
|
|
219
219
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/header-helper/header-helper.ts"],"names":[],"mappings":"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","file":"header-helper.js","sourcesContent":["import type {\n ColumnIconOption,\n ColumnsDefine,\n ListTableAPI,\n PivotTableAPI,\n RectProps,\n SortOrder,\n SvgIcon\n} from '../ts-types';\nimport { HierarchyState, IconFuncTypeEnum, IconPosition, InternalIconName } from '../ts-types';\nimport * as registerIcons from '../icons';\nimport { cellInRange } from '../tools/helper';\nimport { isMenuHighlight } from '../components/menu/dom/logic/MenuElement';\nimport { Style } from './style/Style';\nimport { ImageStyle } from './style/ImageStyle';\nimport { TextHeaderStyle } from './style';\nimport type { ListTable } from '../ListTable';\nimport type { BaseTableAPI, HeaderData } from '../ts-types/base-table';\nimport { CheckboxStyle } from './style/CheckboxStyle';\nimport { isValid } from '@visactor/vutils';\nexport class HeaderHelper {\n normalIcon: SvgIcon;\n upIcon: SvgIcon;\n downIcon: SvgIcon;\n freezeIcon: SvgIcon;\n frozenIcon: SvgIcon;\n frozenCurrentIcon: SvgIcon;\n dropDownAbsoluteIcon: SvgIcon;\n // dropDownHoverIcon: SvgIcon;\n\n expandIcon: SvgIcon;\n collapseIcon: SvgIcon;\n // //存储鼠标hover到的图标类型,后面需要用name判断,应该再拿个inline对象上赋值showFrozenIconIcon,绘制感应区域\n // _showFrozenIconIcon?: SvgIcon;\n // _showSortIcon?: SvgIcon;\n _table: BaseTableAPI;\n constructor(_table: BaseTableAPI) {\n this._table = _table;\n const regedIcons = registerIcons.get();\n //pin默认值\n this.freezeIcon = regedIcons[InternalIconName.freezeIconName] as SvgIcon;\n this.frozenIcon = regedIcons[InternalIconName.frozenIconName] as SvgIcon;\n this.frozenCurrentIcon = regedIcons[InternalIconName.frozenCurrentIconName] as SvgIcon;\n\n //sort默认值\n this.normalIcon = regedIcons[InternalIconName.normalIconName] as SvgIcon;\n this.upIcon = regedIcons[InternalIconName.upwardIconName] as SvgIcon;\n this.downIcon = regedIcons[InternalIconName.downwardIconName] as SvgIcon;\n //下拉按钮\n this.dropDownAbsoluteIcon = regedIcons[InternalIconName.dropdownIconName] as SvgIcon;\n // this.dropDownHoverIcon = regedIcons[InternalIconName.dropdownHoverIconName] as SvgIcon;\n //展开折叠按钮\n this.expandIcon = regedIcons[InternalIconName.expandIconName] as SvgIcon;\n this.collapseIcon = regedIcons[InternalIconName.collapseIconName] as SvgIcon;\n }\n\n getIcons(col: number, row: number): ColumnIconOption[] {\n //加入固定列图标 排序 文本中元素\n const icons: ColumnIconOption[] = [];\n if (this._table.isPivotTable()) {\n // 透视表显示排序按钮\n const { showSort } = this._table.internalProps.layoutMap.getHeader(col, row) as HeaderData;\n if (showSort) {\n const order = (this._table as PivotTableAPI).getPivotSortState(col, row);\n const sortIcon = order === 'asc' ? this.downIcon : order === 'desc' ? this.upIcon : this.normalIcon;\n\n if (sortIcon) {\n icons.push(sortIcon);\n }\n }\n } else {\n const states = (this._table as ListTableAPI).sortState;\n let order: SortOrder | undefined;\n order = undefined;\n const range = this._table.getCellRange(col, row);\n if (states) {\n if (Array.isArray(states)) {\n for (let i = 0; i < states.length; i++) {\n const state = states[i];\n const stateRange = this._table._getHeaderCellBySortState(state);\n if (stateRange && cellInRange(range, stateRange.col, stateRange.row)) {\n ({ order } = state);\n break;\n }\n }\n } else {\n const stateRange = this._table._getHeaderCellBySortState(states);\n if (stateRange && cellInRange(range, stateRange.col, stateRange.row)) {\n ({ order } = states);\n }\n }\n }\n const sortIcon = this.getSortIcon(order, this._table, col, row);\n if (sortIcon) {\n icons.push(sortIcon);\n }\n }\n\n if (this._table.showFrozenIcon && col < this._table.allowFrozenColCount) {\n const pinInline = this.getFrozenIcon(col, row);\n if (pinInline) {\n icons.push(pinInline);\n // context.showIcon = this.showFrozenIconIcon;//todo 暂时去掉 需要想其他方式\n }\n }\n\n if (this.checkDropDownIcon(this._table, col, row)) {\n // const dropDownMenuHoverIcon = this.dropDownHoverIcon;//this.getDropDownHoverIcon(_table, col, row);\n const dropDownMenuIcon = this.dropDownAbsoluteIcon; //this.getDropDownAbsoluteIcon(_table, col, row);\n // dropDownMenuIcon.hover.image = dropDownMenuHoverIcon.svg; // to do 规范化处理\n icons.push(dropDownMenuIcon);\n }\n\n const dropDownStateIcons = this.getDropDownStateIcons(this._table, col, row);\n if (dropDownStateIcons.length) {\n icons.push(...dropDownStateIcons);\n }\n\n const { headerIcon } = this._table._getHeaderLayoutMap(col, row) as HeaderData;\n // captionIcon && icons.push(captionIcon);\n\n const hierarchyIcon = this.getHierarchyIcon(col, row);\n if (hierarchyIcon) {\n icons.push(hierarchyIcon);\n }\n\n if (headerIcon) {\n let headerIconStrs;\n if (typeof headerIcon === 'function') {\n const arg = {\n col,\n row,\n value: this._table.getCellValue(col, row),\n dataValue: this._table.getCellOriginValue(col, row),\n table: this._table\n };\n headerIconStrs = headerIcon(arg);\n } else {\n headerIconStrs = headerIcon;\n }\n const regedIcons = registerIcons.get();\n const addIcon = (headerIcon: string | ColumnIconOption) => {\n let icon;\n if (typeof headerIcon === 'string') {\n icon = regedIcons[headerIcon];\n } else {\n icon = headerIcon;\n }\n if (icon) {\n icons.push(icon);\n }\n };\n if (Array.isArray(headerIconStrs)) {\n headerIconStrs.forEach((columnIcon: string | ColumnIconOption, index: number) => {\n addIcon(columnIcon);\n });\n } else {\n addIcon(headerIconStrs);\n }\n }\n return icons;\n }\n\n getFrozenIcon(col: number, row: number): ColumnIconOption | null {\n // this.showFrozenIconIcon = undefined;\n if (this._table.isPivotTable() || (this._table as ListTable).transpose) {\n // 透视表和转置模式不显示冻结按钮\n return null;\n }\n\n if (this._table.rightFrozenColCount && col >= this._table.colCount - this._table.rightFrozenColCount) {\n return null;\n }\n const headerC = this._table.getHeaderDefine(col, row) as any;\n if (headerC.columns && headerC.columns.length > 0) {\n return null;\n }\n\n let frozen = this.freezeIcon;\n // 使用table.options.frozenColCount原始冻结信息获取按钮\n if (this._table.options.frozenColCount - 1 > col) {\n frozen = this.frozenIcon;\n } else if (this._table.options.frozenColCount - 1 === col) {\n frozen = this.frozenCurrentIcon;\n }\n return frozen;\n }\n\n getSortIcon(order: SortOrder | undefined, _table: BaseTableAPI, col: number, row: number): ColumnIconOption | null {\n // this.showSortIcon = undefined;\n const icon = order === 'asc' ? this.downIcon : order === 'desc' ? this.upIcon : this.normalIcon;\n\n const headerC = _table.getHeaderDefine(col, row) as any;\n if (\n !headerC ||\n headerC.showSort === false ||\n (!isValid(headerC.showSort) && !headerC.sort) ||\n (headerC.columns && headerC.columns.length > 0)\n ) {\n return null;\n }\n return icon;\n }\n\n private getDropDownStateIcons(_table: BaseTableAPI, col: number, row: number): ColumnIconOption[] {\n const headerC = _table.getHeaderDefine(col, row) as any;\n const headerL = _table._getHeaderLayoutMap(col, row);\n const { dropDownMenu } = headerL as HeaderData;\n const results: ColumnIconOption[] = [];\n if (\n (Array.isArray(dropDownMenu) && dropDownMenu.length) || // header中配置dropDownMenu\n (Array.isArray(_table.globalDropDownMenu) && _table.globalDropDownMenu.length && !headerC?.columns?.length) // 全局配置dropDownMenu,只在最下级表头展示\n ) {\n const menus = dropDownMenu || _table.globalDropDownMenu;\n let highlightIndex = -1;\n let subHighlightIndex = -1;\n for (let i = 0; i < menus.length; i++) {\n const menu = menus[i];\n // 优先判断子元素\n if (typeof menu === 'object' && menu.children && menu.children.length) {\n for (let j = 0; j < menu.children.length; j++) {\n const childItem = menu.children[j];\n if (\n _table.stateManager.menu?.dropDownMenuHighlight &&\n isMenuHighlight(\n _table,\n _table.stateManager.menu?.dropDownMenuHighlight,\n typeof childItem === 'object' ? childItem?.menuKey : childItem,\n col,\n row,\n i\n )\n ) {\n highlightIndex = i;\n subHighlightIndex = j;\n break;\n }\n }\n }\n if (_table._dropDownMenuIsHighlight(col, row, i)) {\n highlightIndex = i;\n break;\n }\n }\n // const highlightIndex = _table._dropDownMenuIsHighlight(col, row);\n if (highlightIndex !== -1) {\n let menu;\n if (subHighlightIndex !== -1) {\n menu = ((dropDownMenu || _table.globalDropDownMenu)[highlightIndex] as any).children[\n subHighlightIndex\n ] as any;\n } else {\n menu = (dropDownMenu || _table.globalDropDownMenu)[highlightIndex] as any;\n }\n\n if (menu.stateIcon) {\n if (menu.stateIcon.svg) {\n results.push({\n type: 'svg',\n name: menu.stateIcon.src || menu.stateIcon.svg,\n width: menu.stateIcon.width || 22,\n height: menu.stateIcon.height || 22,\n // dropDownIndex: highlightIndex,\n svg: menu.stateIcon.svg,\n positionType: IconPosition.right,\n marginRight: 0,\n funcType: IconFuncTypeEnum.dropDownState,\n interactive: false\n // hover: {\n // width: menu.stateIcon.width || 22,\n // height: menu.stateIcon.height || 22,\n // bgColor: 'rgba(101, 117, 168, 0.1)',\n // },\n });\n } else if (menu.stateIcon.src) {\n results.push({\n type: 'image',\n name: menu.stateIcon.src || menu.stateIcon.svg,\n width: menu.stateIcon.width || 22,\n height: menu.stateIcon.height || 22,\n // dropDownIndex: highlightIndex,\n src: menu.stateIcon.src,\n positionType: IconPosition.right,\n marginRight: 0,\n funcType: IconFuncTypeEnum.dropDownState,\n interactive: false\n // hover: {\n // width: menu.stateIcon.width || 22,\n // height: menu.stateIcon.height || 22,\n // bgColor: 'rgba(101, 117, 168, 0.1)',\n // },\n });\n }\n }\n }\n }\n return results;\n }\n /**\n * 内置dropDownIcon的位置信息\n * @param cellRect\n * @param marginTop\n * @param baseline\n * @returns\n */\n getDropDownIconRect(cellRect: RectProps, marginTop: number, baseline?: string): RectProps {\n // const left = cellRect.right - (this.downIcon.box?.width || 0) - marginRight;\n // const right = cellRect.right - marginRight;\n const iconW = this.downIcon.hover?.width ?? this.downIcon?.width ?? 0;\n const iconH = this.downIcon.hover?.height ?? this.downIcon?.height ?? 0;\n const left = cellRect.right - 2 - iconW;\n const right = cellRect.right - 2;\n let top;\n if (baseline === 'middle') {\n top = cellRect.top + cellRect.height / 2 - iconW / 2;\n } else if (baseline === 'top') {\n top = cellRect.top + marginTop / 2;\n } else if (baseline === 'bottom') {\n top = cellRect.bottom - marginTop * 2;\n } else {\n top = cellRect.top;\n }\n const bottom = iconH + top;\n\n return {\n left,\n right,\n top,\n bottom,\n width: iconW,\n height: iconH\n };\n }\n\n getHierarchyIcon(col: number, row: number) {\n const { hierarchyState } = this._table._getHeaderLayoutMap(col, row) as HeaderData;\n if (hierarchyState) {\n if (hierarchyState === HierarchyState.expand) {\n //展开状态 应该显示-号\n return this.expandIcon;\n } else if (hierarchyState === HierarchyState.collapse) {\n //折叠状态 应该显示-号\n return this.collapseIcon;\n }\n }\n return undefined;\n }\n getHierarchyIconWidth() {\n return this.expandIcon.width + (this.expandIcon.marginLeft ?? 0) + (this.expandIcon.marginRight ?? 0);\n }\n private checkDropDownIcon(_table: BaseTableAPI, col: number, row: number) {\n /*\n * dropDownMenu有三种状态:\n * 1. header中未配置 =》 使用globalDropDownMenu,icon展示\n * 2. header中配置 =》 使用header中的dropDownMenu,icon展示\n * 3. header中dropDownMenu为空数组 =》 icon不展示\n */\n if (_table.isPivotTable()) {\n const headerC = _table._getHeaderLayoutMap(col, row) as any;\n if (\n Array.isArray(headerC.dropDownMenu) &&\n headerC.dropDownMenu.length // header中配置dropDownMenu\n ) {\n return true;\n }\n } else {\n const headerC = _table.getHeaderDefine(col, row) as any;\n if (\n (Array.isArray(headerC.dropDownMenu) && headerC.dropDownMenu.length) || // header中配置dropDownMenu\n ((!Array.isArray(headerC.dropDownMenu) || headerC.dropDownMenu.length !== 0) && // header中dropDownMenu为空数组,不显示\n Array.isArray(_table.globalDropDownMenu) &&\n _table.globalDropDownMenu.length && // 全局配置dropDownMenu\n !headerC?.columns?.length) // 只在最下级表头展示\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n getStyleClass(headerType: 'text' | 'image' | 'video' | 'link' | 'checkbox') {\n switch (headerType) {\n case 'text':\n return TextHeaderStyle;\n case 'image':\n return ImageStyle;\n case 'video':\n return ImageStyle;\n case 'link':\n return TextHeaderStyle;\n case 'checkbox':\n return CheckboxStyle;\n }\n }\n\n setTableColumnsEditor() {\n const setEditor = (colDefines: ColumnsDefine, setColumns: ColumnsDefine) => {\n colDefines.forEach((colDefine, index) => {\n if (colDefine.editor) {\n setColumns[index].editor = colDefine.editor;\n }\n if (colDefine.columns) {\n setEditor(colDefine.columns, setColumns[index].columns);\n }\n });\n };\n setEditor((this._table as ListTable).options.columns, (this._table as ListTable).internalProps.columns);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/header-helper/header-helper.ts"],"names":[],"mappings":"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","file":"header-helper.js","sourcesContent":["import type {\n ColumnIconOption,\n ColumnsDefine,\n ListTableAPI,\n PivotTableAPI,\n RectProps,\n SortOrder,\n SvgIcon\n} from '../ts-types';\nimport { HierarchyState, IconFuncTypeEnum, IconPosition, InternalIconName } from '../ts-types';\nimport * as registerIcons from '../icons';\nimport { cellInRange } from '../tools/helper';\nimport { isMenuHighlight } from '../components/menu/dom/logic/MenuElement';\nimport { Style } from './style/Style';\nimport { ImageStyle } from './style/ImageStyle';\nimport { TextHeaderStyle } from './style';\nimport type { ListTable } from '../ListTable';\nimport type { BaseTableAPI, HeaderData } from '../ts-types/base-table';\nimport { CheckboxStyle } from './style/CheckboxStyle';\nimport { isValid } from '@visactor/vutils';\nexport class HeaderHelper {\n normalIcon: SvgIcon;\n upIcon: SvgIcon;\n downIcon: SvgIcon;\n freezeIcon: SvgIcon;\n frozenIcon: SvgIcon;\n frozenCurrentIcon: SvgIcon;\n dropDownAbsoluteIcon: SvgIcon;\n // dropDownHoverIcon: SvgIcon;\n\n expandIcon: SvgIcon;\n collapseIcon: SvgIcon;\n // //存储鼠标hover到的图标类型,后面需要用name判断,应该再拿个inline对象上赋值showFrozenIconIcon,绘制感应区域\n // _showFrozenIconIcon?: SvgIcon;\n // _showSortIcon?: SvgIcon;\n _table: BaseTableAPI;\n constructor(_table: BaseTableAPI) {\n this._table = _table;\n const regedIcons = registerIcons.get();\n //pin默认值\n this.freezeIcon = regedIcons[InternalIconName.freezeIconName] as SvgIcon;\n this.frozenIcon = regedIcons[InternalIconName.frozenIconName] as SvgIcon;\n this.frozenCurrentIcon = regedIcons[InternalIconName.frozenCurrentIconName] as SvgIcon;\n\n //sort默认值\n this.normalIcon = regedIcons[InternalIconName.normalIconName] as SvgIcon;\n this.upIcon = regedIcons[InternalIconName.upwardIconName] as SvgIcon;\n this.downIcon = regedIcons[InternalIconName.downwardIconName] as SvgIcon;\n //下拉按钮\n this.dropDownAbsoluteIcon = regedIcons[InternalIconName.dropdownIconName] as SvgIcon;\n // this.dropDownHoverIcon = regedIcons[InternalIconName.dropdownHoverIconName] as SvgIcon;\n //展开折叠按钮\n this.expandIcon = regedIcons[InternalIconName.expandIconName] as SvgIcon;\n this.collapseIcon = regedIcons[InternalIconName.collapseIconName] as SvgIcon;\n }\n\n getIcons(col: number, row: number): ColumnIconOption[] {\n //加入固定列图标 排序 文本中元素\n const icons: ColumnIconOption[] = [];\n if (this._table.isPivotTable()) {\n // 透视表显示排序按钮\n const { showSort } = this._table.internalProps.layoutMap.getHeader(col, row) as HeaderData;\n if (showSort) {\n const order = (this._table as PivotTableAPI).getPivotSortState(col, row);\n const sortIcon = order === 'asc' ? this.downIcon : order === 'desc' ? this.upIcon : this.normalIcon;\n\n if (sortIcon) {\n icons.push(sortIcon);\n }\n }\n } else {\n const states = (this._table as ListTableAPI).sortState;\n let order: SortOrder | undefined;\n order = undefined;\n const range = this._table.getCellRange(col, row);\n if (states) {\n if (Array.isArray(states)) {\n for (let i = 0; i < states.length; i++) {\n const state = states[i];\n const stateRange = this._table._getHeaderCellBySortState(state);\n if (stateRange && cellInRange(range, stateRange.col, stateRange.row)) {\n ({ order } = state);\n break;\n }\n }\n } else {\n const stateRange = this._table._getHeaderCellBySortState(states);\n if (stateRange && cellInRange(range, stateRange.col, stateRange.row)) {\n ({ order } = states);\n }\n }\n }\n const sortIcon = this.getSortIcon(order, this._table, col, row);\n if (sortIcon) {\n icons.push(sortIcon);\n }\n }\n\n if (this._table.showFrozenIcon && col < this._table.allowFrozenColCount) {\n const pinInline = this.getFrozenIcon(col, row);\n if (pinInline) {\n icons.push(pinInline);\n // context.showIcon = this.showFrozenIconIcon;//todo 暂时去掉 需要想其他方式\n }\n }\n\n if (this.checkDropDownIcon(this._table, col, row)) {\n // const dropDownMenuHoverIcon = this.dropDownHoverIcon;//this.getDropDownHoverIcon(_table, col, row);\n const dropDownMenuIcon = this.dropDownAbsoluteIcon; //this.getDropDownAbsoluteIcon(_table, col, row);\n // dropDownMenuIcon.hover.image = dropDownMenuHoverIcon.svg; // to do 规范化处理\n icons.push(dropDownMenuIcon);\n }\n\n const dropDownStateIcons = this.getDropDownStateIcons(this._table, col, row);\n if (dropDownStateIcons.length) {\n icons.push(...dropDownStateIcons);\n }\n\n const { headerIcon } = this._table._getHeaderLayoutMap(col, row) as HeaderData;\n // captionIcon && icons.push(captionIcon);\n\n const hierarchyIcon = this.getHierarchyIcon(col, row);\n if (hierarchyIcon) {\n icons.push(hierarchyIcon);\n }\n\n if (headerIcon) {\n let headerIconStrs;\n if (typeof headerIcon === 'function') {\n const arg = {\n col,\n row,\n value: this._table.getCellValue(col, row),\n dataValue: this._table.getCellOriginValue(col, row),\n table: this._table\n };\n headerIconStrs = headerIcon(arg);\n } else {\n headerIconStrs = headerIcon;\n }\n const regedIcons = registerIcons.get();\n const addIcon = (headerIcon: string | ColumnIconOption) => {\n let icon;\n if (typeof headerIcon === 'string') {\n icon = regedIcons[headerIcon];\n } else {\n icon = headerIcon;\n }\n if (icon) {\n icons.push(icon);\n }\n };\n if (Array.isArray(headerIconStrs)) {\n headerIconStrs.forEach((columnIcon: string | ColumnIconOption, index: number) => {\n addIcon(columnIcon);\n });\n } else {\n addIcon(headerIconStrs);\n }\n }\n return icons;\n }\n\n getFrozenIcon(col: number, row: number): ColumnIconOption | null {\n // this.showFrozenIconIcon = undefined;\n if (this._table.isPivotTable() || (this._table as ListTable).transpose) {\n // 透视表和转置模式不显示冻结按钮\n return null;\n }\n\n if (this._table.rightFrozenColCount && col >= this._table.colCount - this._table.rightFrozenColCount) {\n return null;\n }\n const headerC = this._table.getHeaderDefine(col, row) as any;\n if (headerC.columns && headerC.columns.length > 0) {\n return null;\n }\n\n let frozen = this.freezeIcon;\n // 使用table.options.frozenColCount原始冻结信息获取按钮\n if (this._table.options.frozenColCount - 1 > col) {\n frozen = this.frozenIcon;\n } else if (this._table.options.frozenColCount - 1 === col) {\n frozen = this.frozenCurrentIcon;\n }\n return frozen;\n }\n\n getSortIcon(order: SortOrder | undefined, _table: BaseTableAPI, col: number, row: number): ColumnIconOption | null {\n // this.showSortIcon = undefined;\n const icon = order === 'asc' ? this.downIcon : order === 'desc' ? this.upIcon : this.normalIcon;\n\n const headerC = _table.getHeaderDefine(col, row) as any;\n if (\n !headerC ||\n headerC.showSort === false ||\n (!isValid(headerC.showSort) && !headerC.sort) ||\n (headerC.columns && headerC.columns.length > 0)\n ) {\n return null;\n }\n return icon;\n }\n\n private getDropDownStateIcons(_table: BaseTableAPI, col: number, row: number): ColumnIconOption[] {\n const headerC = _table.getHeaderDefine(col, row) as any;\n const headerL = _table._getHeaderLayoutMap(col, row);\n const { dropDownMenu } = headerL as HeaderData;\n const results: ColumnIconOption[] = [];\n if (\n (Array.isArray(dropDownMenu) && dropDownMenu.length) || // header中配置dropDownMenu\n (Array.isArray(_table.globalDropDownMenu) && _table.globalDropDownMenu.length && !headerC?.columns?.length) // 全局配置dropDownMenu,只在最下级表头展示\n ) {\n const menus = dropDownMenu || _table.globalDropDownMenu;\n let highlightIndex = -1;\n let subHighlightIndex = -1;\n for (let i = 0; i < menus.length; i++) {\n const menu = menus[i];\n // 优先判断子元素\n if (typeof menu === 'object' && menu.children && menu.children.length) {\n for (let j = 0; j < menu.children.length; j++) {\n const childItem = menu.children[j];\n if (\n _table.stateManager.menu?.dropDownMenuHighlight &&\n isMenuHighlight(\n _table,\n _table.stateManager.menu?.dropDownMenuHighlight,\n typeof childItem === 'object' ? childItem?.menuKey : childItem,\n col,\n row,\n i\n )\n ) {\n highlightIndex = i;\n subHighlightIndex = j;\n break;\n }\n }\n }\n if (_table._dropDownMenuIsHighlight(col, row, i)) {\n highlightIndex = i;\n break;\n }\n }\n // const highlightIndex = _table._dropDownMenuIsHighlight(col, row);\n if (highlightIndex !== -1) {\n let menu;\n if (subHighlightIndex !== -1) {\n menu = ((dropDownMenu || _table.globalDropDownMenu)[highlightIndex] as any).children[\n subHighlightIndex\n ] as any;\n } else {\n menu = (dropDownMenu || _table.globalDropDownMenu)[highlightIndex] as any;\n }\n\n if (menu.stateIcon) {\n if (menu.stateIcon.svg) {\n results.push({\n type: 'svg',\n name: menu.stateIcon.src || menu.stateIcon.svg,\n width: menu.stateIcon.width || 22,\n height: menu.stateIcon.height || 22,\n // dropDownIndex: highlightIndex,\n svg: menu.stateIcon.svg,\n positionType: IconPosition.right,\n marginRight: 0,\n funcType: IconFuncTypeEnum.dropDownState,\n interactive: false\n // hover: {\n // width: menu.stateIcon.width || 22,\n // height: menu.stateIcon.height || 22,\n // bgColor: 'rgba(101, 117, 168, 0.1)',\n // },\n });\n } else if (menu.stateIcon.src) {\n results.push({\n type: 'image',\n name: menu.stateIcon.src || menu.stateIcon.svg,\n width: menu.stateIcon.width || 22,\n height: menu.stateIcon.height || 22,\n // dropDownIndex: highlightIndex,\n src: menu.stateIcon.src,\n positionType: IconPosition.right,\n marginRight: 0,\n funcType: IconFuncTypeEnum.dropDownState,\n interactive: false\n // hover: {\n // width: menu.stateIcon.width || 22,\n // height: menu.stateIcon.height || 22,\n // bgColor: 'rgba(101, 117, 168, 0.1)',\n // },\n });\n }\n }\n }\n }\n return results;\n }\n /**\n * 内置dropDownIcon的位置信息\n * @param cellRect\n * @param marginTop\n * @param baseline\n * @returns\n */\n getDropDownIconRect(cellRect: RectProps, marginTop: number, baseline?: string): RectProps {\n // const left = cellRect.right - (this.downIcon.box?.width || 0) - marginRight;\n // const right = cellRect.right - marginRight;\n const iconW = this.downIcon.hover?.width ?? this.downIcon?.width ?? 0;\n const iconH = this.downIcon.hover?.height ?? this.downIcon?.height ?? 0;\n const left = cellRect.right - 2 - iconW;\n const right = cellRect.right - 2;\n let top;\n if (baseline === 'middle') {\n top = cellRect.top + cellRect.height / 2 - iconW / 2;\n } else if (baseline === 'top') {\n top = cellRect.top + marginTop / 2;\n } else if (baseline === 'bottom') {\n top = cellRect.bottom - marginTop * 2;\n } else {\n top = cellRect.top;\n }\n const bottom = iconH + top;\n\n return {\n left,\n right,\n top,\n bottom,\n width: iconW,\n height: iconH\n };\n }\n\n getHierarchyIcon(col: number, row: number) {\n const { hierarchyState } = this._table._getHeaderLayoutMap(col, row) as HeaderData;\n if (hierarchyState) {\n if (hierarchyState === HierarchyState.expand) {\n //展开状态 应该显示-号\n return this.expandIcon;\n } else if (hierarchyState === HierarchyState.collapse) {\n //折叠状态 应该显示-号\n return this.collapseIcon;\n }\n }\n return undefined;\n }\n getHierarchyIconWidth() {\n return this.expandIcon.width + (this.expandIcon.marginLeft ?? 0) + (this.expandIcon.marginRight ?? 0);\n }\n private checkDropDownIcon(_table: BaseTableAPI, col: number, row: number) {\n /*\n * dropDownMenu有三种状态:\n * 1. header中未配置 =》 使用globalDropDownMenu,icon展示\n * 2. header中配置 =》 使用header中的dropDownMenu,icon展示\n * 3. header中dropDownMenu为空数组 =》 icon不展示\n */\n if (_table.isPivotTable()) {\n const headerC = _table._getHeaderLayoutMap(col, row) as any;\n if (\n Array.isArray(headerC.dropDownMenu) &&\n headerC.dropDownMenu.length // header中配置dropDownMenu\n ) {\n return true;\n }\n } else {\n const headerC = _table.getHeaderDefine(col, row) as any;\n if (\n (Array.isArray(headerC.dropDownMenu) && headerC.dropDownMenu.length) || // header中配置dropDownMenu\n ((!Array.isArray(headerC.dropDownMenu) || headerC.dropDownMenu.length !== 0) && // header中dropDownMenu为空数组,不显示\n Array.isArray(_table.globalDropDownMenu) &&\n _table.globalDropDownMenu.length && // 全局配置dropDownMenu\n !headerC?.columns?.length) // 只在最下级表头展示\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n getStyleClass(headerType: 'text' | 'image' | 'video' | 'link' | 'checkbox') {\n switch (headerType) {\n case 'text':\n return TextHeaderStyle;\n case 'image':\n return ImageStyle;\n case 'video':\n return ImageStyle;\n case 'link':\n return TextHeaderStyle;\n case 'checkbox':\n return CheckboxStyle;\n }\n }\n\n setTableColumnsEditor() {\n const setEditor = (colDefines: ColumnsDefine, setColumns: ColumnsDefine) => {\n colDefines?.forEach((colDefine, index) => {\n if (colDefine.editor) {\n setColumns[index].editor = colDefine.editor;\n }\n if (colDefine.columns) {\n setEditor(colDefine.columns, setColumns[index].columns);\n }\n });\n };\n setEditor((this._table as ListTable).options.columns, (this._table as ListTable).internalProps.columns);\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.25.
|
|
19
|
+
export declare const version = "0.25.9-alpha.0";
|
|
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.25.
|
|
145
|
+
}), __exportStar(require("./render/jsx"), exports), exports.version = "0.25.9-alpha.0",
|
|
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.25.
|
|
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.25.9-alpha.0\";\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"]}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { BaseTableAPI } from '../ts-types/base-table';
|
|
1
2
|
import type { SimpleHeaderLayoutMap } from './simple-header-layout';
|
|
2
3
|
export declare function checkHasAggregation(layoutMap: SimpleHeaderLayoutMap): boolean;
|
|
3
4
|
export declare function checkHasAggregationOnTop(layoutMap: SimpleHeaderLayoutMap): number;
|
|
4
5
|
export declare function checkHasAggregationOnBottom(layoutMap: SimpleHeaderLayoutMap): number;
|
|
5
6
|
export declare function checkHasTreeDefine(layoutMap: SimpleHeaderLayoutMap): boolean;
|
|
7
|
+
export declare function hasAutoImageColumn(table: BaseTableAPI): boolean;
|
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.hasAutoImageColumn = exports.checkHasTreeDefine = exports.checkHasAggregationOnBottom = exports.checkHasAggregationOnTop = exports.checkHasAggregation = void 0;
|
|
6
|
+
|
|
7
|
+
const vutils_1 = require("@visactor/vutils");
|
|
8
|
+
|
|
3
9
|
function checkHasAggregation(layoutMap) {
|
|
4
10
|
const columnObjects = layoutMap.columnObjects;
|
|
5
11
|
for (let i = 0; i < columnObjects.length; i++) {
|
|
@@ -30,18 +36,37 @@ function checkHasAggregationOnBottom(layoutMap) {
|
|
|
30
36
|
}
|
|
31
37
|
|
|
32
38
|
function checkHasTreeDefine(layoutMap) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
39
|
+
const {columns: columns} = layoutMap._table.options;
|
|
40
|
+
if ((0, vutils_1.isArray)(columns) && columns.length > 0) for (let i = 0; i < columns.length; i++) {
|
|
41
|
+
const column = columns[i];
|
|
42
|
+
if (!(0, vutils_1.isString)(column) && column.tree) return !0;
|
|
43
|
+
}
|
|
44
|
+
return !1;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function hasAutoImageColumn(table) {
|
|
48
|
+
const {columns: columns, rows: rows, indicators: indicators} = table.options;
|
|
49
|
+
if (table.isPivotTable()) {
|
|
50
|
+
if ((0, vutils_1.isArray)(columns) && columns.length > 0) for (let i = 0; i < columns.length; i++) {
|
|
51
|
+
const column = columns[i];
|
|
52
|
+
if (!(0, vutils_1.isString)(column) && (("image" === column.headerType || "video" === column.headerType || "function" == typeof column.headerType) && column.imageAutoSizing)) return !0;
|
|
53
|
+
}
|
|
54
|
+
if ((0, vutils_1.isArray)(rows) && rows.length > 0) for (let i = 0; i < rows.length; i++) {
|
|
55
|
+
const row = rows[i];
|
|
56
|
+
if (!(0, vutils_1.isString)(row) && (("image" === row.headerType || "video" === row.headerType || "function" == typeof row.headerType) && row.imageAutoSizing)) return !0;
|
|
57
|
+
}
|
|
58
|
+
if ((0, vutils_1.isArray)(indicators) && indicators.length > 0) for (let i = 0; i < indicators.length; i++) {
|
|
59
|
+
const indicator = indicators[i];
|
|
60
|
+
if (!(0, vutils_1.isString)(indicator) && (("image" === indicator.cellType || "video" === indicator.cellType || "function" == typeof indicator.cellType) && indicator.imageAutoSizing || ("image" === indicator.headerType || "video" === indicator.headerType || "function" == typeof indicator.headerType) && indicator.imageAutoSizing)) return !0;
|
|
61
|
+
}
|
|
62
|
+
} else if ((0, vutils_1.isArray)(columns) && columns.length > 0) for (let i = 0; i < columns.length; i++) {
|
|
63
|
+
const column = columns[i];
|
|
64
|
+
if (("image" === column.cellType || "video" === column.cellType || "function" == typeof column.cellType) && column.imageAutoSizing || ("image" === column.headerType || "video" === column.headerType || "function" == typeof column.headerType) && column.imageAutoSizing) return !0;
|
|
38
65
|
}
|
|
39
66
|
return !1;
|
|
40
67
|
}
|
|
41
68
|
|
|
42
|
-
Object.defineProperty(exports, "__esModule", {
|
|
43
|
-
value: !0
|
|
44
|
-
}), exports.checkHasTreeDefine = exports.checkHasAggregationOnBottom = exports.checkHasAggregationOnTop = exports.checkHasAggregation = void 0,
|
|
45
69
|
exports.checkHasAggregation = checkHasAggregation, exports.checkHasAggregationOnTop = checkHasAggregationOnTop,
|
|
46
|
-
exports.checkHasAggregationOnBottom = checkHasAggregationOnBottom, exports.checkHasTreeDefine = checkHasTreeDefine
|
|
70
|
+
exports.checkHasAggregationOnBottom = checkHasAggregationOnBottom, exports.checkHasTreeDefine = checkHasTreeDefine,
|
|
71
|
+
exports.hasAutoImageColumn = hasAutoImageColumn;
|
|
47
72
|
//# sourceMappingURL=layout-helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/layout/layout-helper.ts"],"names":[],"mappings":"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","file":"layout-helper.js","sourcesContent":["import type { Aggregation } from '../ts-types';\nimport type { ColumnData } from '../ts-types/list-table/layout-map/api';\nimport type { SimpleHeaderLayoutMap } from './simple-header-layout';\n\nexport function checkHasAggregation(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n return true;\n }\n }\n return false;\n}\n\nexport function checkHasAggregationOnTop(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === true).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === true) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasAggregationOnBottom(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === false).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === false) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasTreeDefine(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.define?.tree) {\n return true;\n }\n }\n return false;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/layout/layout-helper.ts"],"names":[],"mappings":"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","file":"layout-helper.js","sourcesContent":["import { isArray, isString } from '@visactor/vutils';\nimport type { PivotTable } from '../PivotTable';\nimport { IndicatorDimensionKeyPlaceholder } from '../tools/global';\nimport { AggregationType } from '../ts-types';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport type {\n Aggregation,\n IHeaderTreeDefine,\n IIndicator,\n ListTableConstructorOptions,\n PivotTableConstructorOptions\n} from '../ts-types';\nimport type { ColumnData } from '../ts-types/list-table/layout-map/api';\nimport type { SimpleHeaderLayoutMap } from './simple-header-layout';\nimport type { IImageDimension } from '../ts-types/pivot-table/dimension/image-dimension';\nimport type { IImageColumnIndicator, IImageHeaderIndicator } from '../ts-types/pivot-table/indicator/image-indicator';\nimport type { IImageColumnBodyDefine, IImageHeaderDefine } from '../ts-types/list-table/define/image-define';\n\nexport function checkHasAggregation(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n return true;\n }\n }\n return false;\n}\n\nexport function checkHasAggregationOnTop(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === true).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === true) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasAggregationOnBottom(layoutMap: SimpleHeaderLayoutMap) {\n const columnObjects = layoutMap.columnObjects;\n let count = 0;\n for (let i = 0; i < columnObjects.length; i++) {\n const column = columnObjects[i];\n if ((column as ColumnData)?.aggregation) {\n if (Array.isArray((column as ColumnData)?.aggregation)) {\n count = Math.max(\n count,\n ((column as ColumnData).aggregation as Array<Aggregation>).filter(item => item.showOnTop === false).length\n );\n } else if (((column as ColumnData).aggregation as Aggregation).showOnTop === false) {\n count = Math.max(count, 1);\n }\n }\n }\n return count;\n}\n\nexport function checkHasTreeDefine(layoutMap: SimpleHeaderLayoutMap) {\n const { columns } = layoutMap._table.options as ListTableConstructorOptions;\n if (isArray(columns) && columns.length > 0) {\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i];\n if (isString(column)) {\n continue;\n }\n if (column.tree) {\n return true;\n }\n }\n }\n return false;\n}\n\nexport function hasAutoImageColumn(table: BaseTableAPI) {\n const { columns, rows, indicators } = table.options as PivotTableConstructorOptions;\n if (table.isPivotTable()) {\n // pivot table\n if (isArray(columns) && columns.length > 0) {\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i];\n if (isString(column)) {\n continue;\n }\n if (\n (column.headerType === 'image' || column.headerType === 'video' || typeof column.headerType === 'function') &&\n (column as IImageDimension).imageAutoSizing\n ) {\n return true;\n }\n }\n }\n if (isArray(rows) && rows.length > 0) {\n for (let i = 0; i < rows.length; i++) {\n const row = rows[i];\n if (isString(row)) {\n continue;\n }\n if (\n (row.headerType === 'image' || row.headerType === 'video' || typeof row.headerType === 'function') &&\n (row as IImageDimension).imageAutoSizing\n ) {\n return true;\n }\n }\n }\n if (isArray(indicators) && indicators.length > 0) {\n for (let i = 0; i < indicators.length; i++) {\n const indicator = indicators[i];\n if (isString(indicator)) {\n continue;\n }\n if (\n ((indicator.cellType === 'image' ||\n indicator.cellType === 'video' ||\n typeof indicator.cellType === 'function') &&\n (indicator as IImageColumnIndicator).imageAutoSizing) ||\n ((indicator.headerType === 'image' ||\n indicator.headerType === 'video' ||\n typeof indicator.headerType === 'function') &&\n (indicator as IImageHeaderIndicator).imageAutoSizing)\n ) {\n return true;\n }\n }\n }\n } else {\n // list table\n if (isArray(columns) && columns.length > 0) {\n for (let i = 0; i < columns.length; i++) {\n const column = columns[i] as unknown as ListTableConstructorOptions['columns'][0];\n if (\n ((column.cellType === 'image' || column.cellType === 'video' || typeof column.cellType === 'function') &&\n (column as IImageColumnBodyDefine).imageAutoSizing) ||\n ((column.headerType === 'image' ||\n column.headerType === 'video' ||\n typeof column.headerType === 'function') &&\n (column as IImageHeaderDefine).imageAutoSizing)\n ) {\n return true;\n }\n }\n }\n }\n return false;\n}\n"]}
|
|
@@ -18,6 +18,10 @@ export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
|
|
|
18
18
|
cornerHeaderObjs: HeaderData[];
|
|
19
19
|
columnHeaderObjs: HeaderData[];
|
|
20
20
|
rowHeaderObjs: HeaderData[];
|
|
21
|
+
private _cornerHeaderCellFullPathIds;
|
|
22
|
+
private _columnHeaderCellFullPathIds;
|
|
23
|
+
private _rowHeaderCellFullPathIds;
|
|
24
|
+
private _rowHeaderCellFullPathIds_FULL;
|
|
21
25
|
private _cornerHeaderCellIds;
|
|
22
26
|
private _columnHeaderCellIds;
|
|
23
27
|
private _rowHeaderCellIds;
|
|
@@ -226,5 +230,5 @@ export declare class PivotHeaderLayoutMap implements LayoutMapAPI {
|
|
|
226
230
|
getSeriesNumberHeader(col: number, row: number): SeriesNumberColumnData;
|
|
227
231
|
getSeriesNumberBody(col: number, row: number): SeriesNumberColumnData;
|
|
228
232
|
changeTreeNodeTitle(col: number, row: number, value: string): void;
|
|
229
|
-
|
|
233
|
+
generateCellIdsConsiderHideHeader(): void;
|
|
230
234
|
}
|