@visactor/vtable 0.9.0-alpha.0-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/README.md +152 -0
- package/cjs/ListTable.d.ts +38 -0
- package/cjs/ListTable.js +258 -0
- package/cjs/ListTable.js.map +1 -0
- package/cjs/PivotTable.d.ts +50 -0
- package/cjs/PivotTable.js +275 -0
- package/cjs/PivotTable.js.map +1 -0
- package/cjs/body-helper/body-helper.d.ts +14 -0
- package/cjs/body-helper/body-helper.js +99 -0
- package/cjs/body-helper/body-helper.js.map +1 -0
- package/cjs/body-helper/style/ImageStyle.d.ts +7 -0
- package/cjs/body-helper/style/ImageStyle.js +24 -0
- package/cjs/body-helper/style/ImageStyle.js.map +1 -0
- package/cjs/body-helper/style/MultilineTextStyle.d.ts +13 -0
- package/cjs/body-helper/style/MultilineTextStyle.js +38 -0
- package/cjs/body-helper/style/MultilineTextStyle.js.map +1 -0
- package/cjs/body-helper/style/NumberStyle.d.ts +7 -0
- package/cjs/body-helper/style/NumberStyle.js +24 -0
- package/cjs/body-helper/style/NumberStyle.js.map +1 -0
- package/cjs/body-helper/style/ProgressBarStyle.d.ts +52 -0
- package/cjs/body-helper/style/ProgressBarStyle.js +126 -0
- package/cjs/body-helper/style/ProgressBarStyle.js.map +1 -0
- package/cjs/body-helper/style/Style.d.ts +85 -0
- package/cjs/body-helper/style/Style.js +200 -0
- package/cjs/body-helper/style/Style.js.map +1 -0
- package/cjs/body-helper/style.d.ts +10 -0
- package/cjs/body-helper/style.js +52 -0
- package/cjs/body-helper/style.js.map +1 -0
- package/cjs/chartType.d.ts +3 -0
- package/cjs/chartType.js +14 -0
- package/cjs/chartType.js.map +1 -0
- package/cjs/core/BaseTable.d.ts +287 -0
- package/cjs/core/BaseTable.js +1272 -0
- package/cjs/core/BaseTable.js.map +1 -0
- package/cjs/core/FouseInput.d.ts +11 -0
- package/cjs/core/FouseInput.js +38 -0
- package/cjs/core/FouseInput.js.map +1 -0
- package/cjs/core/TABLE_EVENT_TYPE.d.ts +30 -0
- package/cjs/core/TABLE_EVENT_TYPE.js +34 -0
- package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -0
- package/cjs/core/tableHelper.d.ts +28 -0
- package/cjs/core/tableHelper.js +141 -0
- package/cjs/core/tableHelper.js.map +1 -0
- package/cjs/core.d.ts +3 -0
- package/cjs/core.js +24 -0
- package/cjs/core.js.map +1 -0
- package/cjs/data/CachedDataSource.d.ts +16 -0
- package/cjs/data/CachedDataSource.js +54 -0
- package/cjs/data/CachedDataSource.js.map +1 -0
- package/cjs/data/DataSource.d.ts +64 -0
- package/cjs/data/DataSource.js +294 -0
- package/cjs/data/DataSource.js.map +1 -0
- package/cjs/data/FilterDataSource.d.ts +1 -0
- package/cjs/data/FilterDataSource.js +1 -0
- package/cjs/data/FilterDataSource.js.map +1 -0
- package/cjs/data.d.ts +4 -0
- package/cjs/data.js +24 -0
- package/cjs/data.js.map +1 -0
- package/cjs/dataset/DataStatistics.d.ts +10 -0
- package/cjs/dataset/DataStatistics.js +81 -0
- package/cjs/dataset/DataStatistics.js.map +1 -0
- package/cjs/dataset/dataset.d.ts +72 -0
- package/cjs/dataset/dataset.js +490 -0
- package/cjs/dataset/dataset.js.map +1 -0
- package/cjs/dataset/flatDataToObject.d.ts +31 -0
- package/cjs/dataset/flatDataToObject.js +71 -0
- package/cjs/dataset/flatDataToObject.js.map +1 -0
- package/cjs/event/EventHandler.d.ts +45 -0
- package/cjs/event/EventHandler.js +120 -0
- package/cjs/event/EventHandler.js.map +1 -0
- package/cjs/event/EventTarget.d.ts +11 -0
- package/cjs/event/EventTarget.js +59 -0
- package/cjs/event/EventTarget.js.map +1 -0
- package/cjs/event/chart.d.ts +2 -0
- package/cjs/event/chart.js +24 -0
- package/cjs/event/chart.js.map +1 -0
- package/cjs/event/drill.d.ts +3 -0
- package/cjs/event/drill.js +23 -0
- package/cjs/event/drill.js.map +1 -0
- package/cjs/event/event.d.ts +35 -0
- package/cjs/event/event.js +426 -0
- package/cjs/event/event.js.map +1 -0
- package/cjs/event/media-click.d.ts +2 -0
- package/cjs/event/media-click.js +58 -0
- package/cjs/event/media-click.js.map +1 -0
- package/cjs/event/scroll.d.ts +2 -0
- package/cjs/event/scroll.js +23 -0
- package/cjs/event/scroll.js.map +1 -0
- package/cjs/header-helper/header-helper.d.ts +26 -0
- package/cjs/header-helper/header-helper.js +214 -0
- package/cjs/header-helper/header-helper.js.map +1 -0
- package/cjs/header-helper/style/ImageStyle.d.ts +7 -0
- package/cjs/header-helper/style/ImageStyle.js +25 -0
- package/cjs/header-helper/style/ImageStyle.js.map +1 -0
- package/cjs/header-helper/style/MultilineTextHeaderStyle.d.ts +13 -0
- package/cjs/header-helper/style/MultilineTextHeaderStyle.js +38 -0
- package/cjs/header-helper/style/MultilineTextHeaderStyle.js.map +1 -0
- package/cjs/header-helper/style/SortHeaderStyle.d.ts +1 -0
- package/cjs/header-helper/style/SortHeaderStyle.js +3 -0
- package/cjs/header-helper/style/SortHeaderStyle.js.map +1 -0
- package/cjs/header-helper/style/Style.d.ts +88 -0
- package/cjs/header-helper/style/Style.js +208 -0
- package/cjs/header-helper/style/Style.js.map +1 -0
- package/cjs/header-helper/style.d.ts +5 -0
- package/cjs/header-helper/style.js +30 -0
- package/cjs/header-helper/style.js.map +1 -0
- package/cjs/icons.d.ts +4 -0
- package/cjs/icons.js +241 -0
- package/cjs/icons.js.map +1 -0
- package/cjs/index.d.ts +17 -0
- package/cjs/index.js +95 -0
- package/cjs/index.js.map +1 -0
- package/cjs/layout/index.d.ts +1 -0
- package/cjs/layout/index.js +15 -0
- package/cjs/layout/index.js.map +1 -0
- package/cjs/layout/pivot-header-layout.d.ts +155 -0
- package/cjs/layout/pivot-header-layout.js +897 -0
- package/cjs/layout/pivot-header-layout.js.map +1 -0
- package/cjs/layout/pivot-layout.d.ts +86 -0
- package/cjs/layout/pivot-layout.js +422 -0
- package/cjs/layout/pivot-layout.js.map +1 -0
- package/cjs/layout/simple-header-layout.d.ts +67 -0
- package/cjs/layout/simple-header-layout.js +413 -0
- package/cjs/layout/simple-header-layout.js.map +1 -0
- package/cjs/menu/dom/BaseMenu.d.ts +15 -0
- package/cjs/menu/dom/BaseMenu.js +30 -0
- package/cjs/menu/dom/BaseMenu.js.map +1 -0
- package/cjs/menu/dom/Menu.d.ts +9 -0
- package/cjs/menu/dom/Menu.js +24 -0
- package/cjs/menu/dom/Menu.js.map +1 -0
- package/cjs/menu/dom/MenuHandler.d.ts +20 -0
- package/cjs/menu/dom/MenuHandler.js +134 -0
- package/cjs/menu/dom/MenuHandler.js.map +1 -0
- package/cjs/menu/dom/logic/MenuContainer.d.ts +22 -0
- package/cjs/menu/dom/logic/MenuContainer.js +110 -0
- package/cjs/menu/dom/logic/MenuContainer.js.map +1 -0
- package/cjs/menu/dom/logic/MenuElement.css +86 -0
- package/cjs/menu/dom/logic/MenuElement.d.ts +27 -0
- package/cjs/menu/dom/logic/MenuElement.js +278 -0
- package/cjs/menu/dom/logic/MenuElement.js.map +1 -0
- package/cjs/plugins/chartTypes.d.ts +3 -0
- package/cjs/plugins/chartTypes.js +6 -0
- package/cjs/plugins/chartTypes.js.map +1 -0
- package/cjs/plugins/icons.d.ts +12 -0
- package/cjs/plugins/icons.js +26 -0
- package/cjs/plugins/icons.js.map +1 -0
- package/cjs/plugins/themes.d.ts +4 -0
- package/cjs/plugins/themes.js +6 -0
- package/cjs/plugins/themes.js.map +1 -0
- package/cjs/register.d.ts +5 -0
- package/cjs/register.js +35 -0
- package/cjs/register.js.map +1 -0
- package/cjs/render/layout/arc.d.ts +23 -0
- package/cjs/render/layout/arc.js +20 -0
- package/cjs/render/layout/arc.js.map +1 -0
- package/cjs/render/layout/circle.d.ts +19 -0
- package/cjs/render/layout/circle.js +19 -0
- package/cjs/render/layout/circle.js.map +1 -0
- package/cjs/render/layout/container.d.ts +52 -0
- package/cjs/render/layout/container.js +99 -0
- package/cjs/render/layout/container.js.map +1 -0
- package/cjs/render/layout/direction.d.ts +22 -0
- package/cjs/render/layout/direction.js +35 -0
- package/cjs/render/layout/direction.js.map +1 -0
- package/cjs/render/layout/element.d.ts +47 -0
- package/cjs/render/layout/element.js +27 -0
- package/cjs/render/layout/element.js.map +1 -0
- package/cjs/render/layout/group-element.d.ts +25 -0
- package/cjs/render/layout/group-element.js +52 -0
- package/cjs/render/layout/group-element.js.map +1 -0
- package/cjs/render/layout/icon.d.ts +21 -0
- package/cjs/render/layout/icon.js +48 -0
- package/cjs/render/layout/icon.js.map +1 -0
- package/cjs/render/layout/image.d.ts +21 -0
- package/cjs/render/layout/image.js +20 -0
- package/cjs/render/layout/image.js.map +1 -0
- package/cjs/render/layout/index.d.ts +9 -0
- package/cjs/render/layout/index.js +25 -0
- package/cjs/render/layout/index.js.map +1 -0
- package/cjs/render/layout/line.d.ts +32 -0
- package/cjs/render/layout/line.js +88 -0
- package/cjs/render/layout/line.js.map +1 -0
- package/cjs/render/layout/percent-calc.d.ts +8 -0
- package/cjs/render/layout/percent-calc.js +13 -0
- package/cjs/render/layout/percent-calc.js.map +1 -0
- package/cjs/render/layout/rect.d.ts +22 -0
- package/cjs/render/layout/rect.js +19 -0
- package/cjs/render/layout/rect.js.map +1 -0
- package/cjs/render/layout/text.d.ts +22 -0
- package/cjs/render/layout/text.js +26 -0
- package/cjs/render/layout/text.js.map +1 -0
- package/cjs/scenegraph/component/cell-content.d.ts +36 -0
- package/cjs/scenegraph/component/cell-content.js +100 -0
- package/cjs/scenegraph/component/cell-content.js.map +1 -0
- package/cjs/scenegraph/component/cell-mover.d.ts +15 -0
- package/cjs/scenegraph/component/cell-mover.js +107 -0
- package/cjs/scenegraph/component/cell-mover.js.map +1 -0
- package/cjs/scenegraph/component/custom.d.ts +7 -0
- package/cjs/scenegraph/component/custom.js +212 -0
- package/cjs/scenegraph/component/custom.js.map +1 -0
- package/cjs/scenegraph/component/drill-icon.d.ts +9 -0
- package/cjs/scenegraph/component/drill-icon.js +70 -0
- package/cjs/scenegraph/component/drill-icon.js.map +1 -0
- package/cjs/scenegraph/component/menu.d.ts +41 -0
- package/cjs/scenegraph/component/menu.js +214 -0
- package/cjs/scenegraph/component/menu.js.map +1 -0
- package/cjs/scenegraph/component/table-component.d.ts +37 -0
- package/cjs/scenegraph/component/table-component.js +302 -0
- package/cjs/scenegraph/component/table-component.js.map +1 -0
- package/cjs/scenegraph/component/util.d.ts +2 -0
- package/cjs/scenegraph/component/util.js +11 -0
- package/cjs/scenegraph/component/util.js.map +1 -0
- package/cjs/scenegraph/debug-tool/debug-tool.d.ts +36 -0
- package/cjs/scenegraph/debug-tool/debug-tool.js +138 -0
- package/cjs/scenegraph/debug-tool/debug-tool.js.map +1 -0
- package/cjs/scenegraph/debug-tool/index.d.ts +4 -0
- package/cjs/scenegraph/debug-tool/index.js +14 -0
- package/cjs/scenegraph/debug-tool/index.js.map +1 -0
- package/cjs/scenegraph/graphic/chart.d.ts +30 -0
- package/cjs/scenegraph/graphic/chart.js +66 -0
- package/cjs/scenegraph/graphic/chart.js.map +1 -0
- package/cjs/scenegraph/graphic/contributions/chart-render.d.ts +10 -0
- package/cjs/scenegraph/graphic/contributions/chart-render.js +46 -0
- package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -0
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.d.ts +70 -0
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +195 -0
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -0
- package/cjs/scenegraph/graphic/contributions/image-contribution-render.d.ts +20 -0
- package/cjs/scenegraph/graphic/contributions/image-contribution-render.js +46 -0
- package/cjs/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -0
- package/cjs/scenegraph/graphic/contributions/index.d.ts +3 -0
- package/cjs/scenegraph/graphic/contributions/index.js +36 -0
- package/cjs/scenegraph/graphic/contributions/index.js.map +1 -0
- package/cjs/scenegraph/graphic/contributions/rect-contribution-render.d.ts +17 -0
- package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +47 -0
- package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -0
- package/cjs/scenegraph/graphic/group.d.ts +23 -0
- package/cjs/scenegraph/graphic/group.js +94 -0
- package/cjs/scenegraph/graphic/group.js.map +1 -0
- package/cjs/scenegraph/graphic/icon.d.ts +24 -0
- package/cjs/scenegraph/graphic/icon.js +25 -0
- package/cjs/scenegraph/graphic/icon.js.map +1 -0
- package/cjs/scenegraph/graphic/text.d.ts +16 -0
- package/cjs/scenegraph/graphic/text.js +146 -0
- package/cjs/scenegraph/graphic/text.js.map +1 -0
- package/cjs/scenegraph/group-creater/cell-helper.d.ts +7 -0
- package/cjs/scenegraph/group-creater/cell-helper.js +84 -0
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -0
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +3 -0
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +78 -0
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -0
- package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +7 -0
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js +123 -0
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -0
- package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.d.ts +9 -0
- package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +342 -0
- package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -0
- package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +3 -0
- package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +163 -0
- package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -0
- package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +5 -0
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js +64 -0
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -0
- package/cjs/scenegraph/group-creater/cell-type/video-cell.d.ts +4 -0
- package/cjs/scenegraph/group-creater/cell-type/video-cell.js +100 -0
- package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -0
- package/cjs/scenegraph/group-creater/column-helper.d.ts +24 -0
- package/cjs/scenegraph/group-creater/column-helper.js +136 -0
- package/cjs/scenegraph/group-creater/column-helper.js.map +1 -0
- package/cjs/scenegraph/group-creater/column.d.ts +14 -0
- package/cjs/scenegraph/group-creater/column.js +57 -0
- package/cjs/scenegraph/group-creater/column.js.map +1 -0
- package/cjs/scenegraph/group-creater/progress/proxy.d.ts +45 -0
- package/cjs/scenegraph/group-creater/progress/proxy.js +267 -0
- package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -0
- package/cjs/scenegraph/header-icon/layout.d.ts +3 -0
- package/cjs/scenegraph/header-icon/layout.js +75 -0
- package/cjs/scenegraph/header-icon/layout.js.map +1 -0
- package/cjs/scenegraph/hover-state.d.ts +14 -0
- package/cjs/scenegraph/hover-state.js +27 -0
- package/cjs/scenegraph/hover-state.js.map +1 -0
- package/cjs/scenegraph/layout/auto-height.d.ts +2 -0
- package/cjs/scenegraph/layout/auto-height.js +50 -0
- package/cjs/scenegraph/layout/auto-height.js.map +1 -0
- package/cjs/scenegraph/layout/auto-width.d.ts +2 -0
- package/cjs/scenegraph/layout/auto-width.js +85 -0
- package/cjs/scenegraph/layout/auto-width.js.map +1 -0
- package/cjs/scenegraph/layout/compute-col-width.d.ts +3 -0
- package/cjs/scenegraph/layout/compute-col-width.js +194 -0
- package/cjs/scenegraph/layout/compute-col-width.js.map +1 -0
- package/cjs/scenegraph/layout/move-cell.d.ts +2 -0
- package/cjs/scenegraph/layout/move-cell.js +61 -0
- package/cjs/scenegraph/layout/move-cell.js.map +1 -0
- package/cjs/scenegraph/layout/update-cell.d.ts +3 -0
- package/cjs/scenegraph/layout/update-cell.js +55 -0
- package/cjs/scenegraph/layout/update-cell.js.map +1 -0
- package/cjs/scenegraph/layout/update-height.d.ts +6 -0
- package/cjs/scenegraph/layout/update-height.js +90 -0
- package/cjs/scenegraph/layout/update-height.js.map +1 -0
- package/cjs/scenegraph/layout/update-width.d.ts +2 -0
- package/cjs/scenegraph/layout/update-width.js +103 -0
- package/cjs/scenegraph/layout/update-width.js.map +1 -0
- package/cjs/scenegraph/scenegraph.d.ts +109 -0
- package/cjs/scenegraph/scenegraph.js +798 -0
- package/cjs/scenegraph/scenegraph.js.map +1 -0
- package/cjs/scenegraph/style/frame-border.d.ts +3 -0
- package/cjs/scenegraph/style/frame-border.js +43 -0
- package/cjs/scenegraph/style/frame-border.js.map +1 -0
- package/cjs/scenegraph/utils/border-line.d.ts +8 -0
- package/cjs/scenegraph/utils/border-line.js +51 -0
- package/cjs/scenegraph/utils/border-line.js.map +1 -0
- package/cjs/scenegraph/utils/break-string.d.ts +1 -0
- package/cjs/scenegraph/utils/break-string.js +37 -0
- package/cjs/scenegraph/utils/break-string.js.map +1 -0
- package/cjs/scenegraph/utils/cell-pos.d.ts +4 -0
- package/cjs/scenegraph/utils/cell-pos.js +18 -0
- package/cjs/scenegraph/utils/cell-pos.js.map +1 -0
- package/cjs/scenegraph/utils/font.d.ts +1 -0
- package/cjs/scenegraph/utils/font.js +20 -0
- package/cjs/scenegraph/utils/font.js.map +1 -0
- package/cjs/scenegraph/utils/get-cell-merge.d.ts +3 -0
- package/cjs/scenegraph/utils/get-cell-merge.js +11 -0
- package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -0
- package/cjs/scenegraph/utils/get-prop.d.ts +4 -0
- package/cjs/scenegraph/utils/get-prop.js +44 -0
- package/cjs/scenegraph/utils/get-prop.js.map +1 -0
- package/cjs/scenegraph/utils/icon.d.ts +12 -0
- package/cjs/scenegraph/utils/icon.js +35 -0
- package/cjs/scenegraph/utils/icon.js.map +1 -0
- package/cjs/scenegraph/utils/keep-aspect-ratio.d.ts +4 -0
- package/cjs/scenegraph/utils/keep-aspect-ratio.js +16 -0
- package/cjs/scenegraph/utils/keep-aspect-ratio.js.map +1 -0
- package/cjs/scenegraph/utils/measure-text.d.ts +20 -0
- package/cjs/scenegraph/utils/measure-text.js +111 -0
- package/cjs/scenegraph/utils/measure-text.js.map +1 -0
- package/cjs/scenegraph/utils/padding.d.ts +1 -0
- package/cjs/scenegraph/utils/padding.js +16 -0
- package/cjs/scenegraph/utils/padding.js.map +1 -0
- package/cjs/scenegraph/utils/text-icon-layout.d.ts +9 -0
- package/cjs/scenegraph/utils/text-icon-layout.js +237 -0
- package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -0
- package/cjs/scenegraph/utils/text-pos.d.ts +8 -0
- package/cjs/scenegraph/utils/text-pos.js +27 -0
- package/cjs/scenegraph/utils/text-pos.js.map +1 -0
- package/cjs/state/cell-move/adjust-header.d.ts +3 -0
- package/cjs/state/cell-move/adjust-header.js +20 -0
- package/cjs/state/cell-move/adjust-header.js.map +1 -0
- package/cjs/state/cell-move/index.d.ts +4 -0
- package/cjs/state/cell-move/index.js +60 -0
- package/cjs/state/cell-move/index.js.map +1 -0
- package/cjs/state/common/check-in-select.d.ts +8 -0
- package/cjs/state/common/check-in-select.js +63 -0
- package/cjs/state/common/check-in-select.js.map +1 -0
- package/cjs/state/drill/index.d.ts +2 -0
- package/cjs/state/drill/index.js +15 -0
- package/cjs/state/drill/index.js.map +1 -0
- package/cjs/state/hover/col.d.ts +5 -0
- package/cjs/state/hover/col.js +24 -0
- package/cjs/state/hover/col.js.map +1 -0
- package/cjs/state/hover/is-cell-hover.d.ts +5 -0
- package/cjs/state/hover/is-cell-hover.js +36 -0
- package/cjs/state/hover/is-cell-hover.js.map +1 -0
- package/cjs/state/hover/row.d.ts +5 -0
- package/cjs/state/hover/row.js +22 -0
- package/cjs/state/hover/row.js.map +1 -0
- package/cjs/state/hover/single.d.ts +5 -0
- package/cjs/state/hover/single.js +18 -0
- package/cjs/state/hover/single.js.map +1 -0
- package/cjs/state/hover/update-cell.d.ts +2 -0
- package/cjs/state/hover/update-cell.js +13 -0
- package/cjs/state/hover/update-cell.js.map +1 -0
- package/cjs/state/hover/update-position.d.ts +2 -0
- package/cjs/state/hover/update-position.js +44 -0
- package/cjs/state/hover/update-position.js.map +1 -0
- package/cjs/state/pin/index.d.ts +2 -0
- package/cjs/state/pin/index.js +10 -0
- package/cjs/state/pin/index.js.map +1 -0
- package/cjs/state/select/update-position.d.ts +4 -0
- package/cjs/state/select/update-position.js +111 -0
- package/cjs/state/select/update-position.js.map +1 -0
- package/cjs/state/sort/index.d.ts +2 -0
- package/cjs/state/sort/index.js +41 -0
- package/cjs/state/sort/index.js.map +1 -0
- package/cjs/state/spark-line/index.d.ts +3 -0
- package/cjs/state/spark-line/index.js +98 -0
- package/cjs/state/spark-line/index.js.map +1 -0
- package/cjs/state/state.d.ts +155 -0
- package/cjs/state/state.js +431 -0
- package/cjs/state/state.js.map +1 -0
- package/cjs/themes/ARCO.d.ts +3 -0
- package/cjs/themes/ARCO.js +114 -0
- package/cjs/themes/ARCO.js.map +1 -0
- package/cjs/themes/BRIGHT.d.ts +3 -0
- package/cjs/themes/BRIGHT.js +71 -0
- package/cjs/themes/BRIGHT.js.map +1 -0
- package/cjs/themes/DARK.d.ts +3 -0
- package/cjs/themes/DARK.js +90 -0
- package/cjs/themes/DARK.js.map +1 -0
- package/cjs/themes/DEFAULT.d.ts +3 -0
- package/cjs/themes/DEFAULT.js +89 -0
- package/cjs/themes/DEFAULT.js.map +1 -0
- package/cjs/themes/SIMPLIFY.d.ts +3 -0
- package/cjs/themes/SIMPLIFY.js +46 -0
- package/cjs/themes/SIMPLIFY.js.map +1 -0
- package/cjs/themes/theme.d.ts +34 -0
- package/cjs/themes/theme.js +520 -0
- package/cjs/themes/theme.js.map +1 -0
- package/cjs/themes.d.ts +28 -0
- package/cjs/themes.js +52 -0
- package/cjs/themes.js.map +1 -0
- package/cjs/tools/LimitPromiseQueue.d.ts +8 -0
- package/cjs/tools/LimitPromiseQueue.js +29 -0
- package/cjs/tools/LimitPromiseQueue.js.map +1 -0
- package/cjs/tools/NumberMap.d.ts +16 -0
- package/cjs/tools/NumberMap.js +76 -0
- package/cjs/tools/NumberMap.js.map +1 -0
- package/cjs/tools/Rect.d.ts +24 -0
- package/cjs/tools/Rect.js +69 -0
- package/cjs/tools/Rect.js.map +1 -0
- package/cjs/tools/calc.d.ts +5 -0
- package/cjs/tools/calc.js +197 -0
- package/cjs/tools/calc.js.map +1 -0
- package/cjs/tools/debounce.d.ts +1 -0
- package/cjs/tools/debounce.js +51 -0
- package/cjs/tools/debounce.js.map +1 -0
- package/cjs/tools/dom.d.ts +1 -0
- package/cjs/tools/dom.js +11 -0
- package/cjs/tools/dom.js.map +1 -0
- package/cjs/tools/env.d.ts +19 -0
- package/cjs/tools/env.js +48 -0
- package/cjs/tools/env.js.map +1 -0
- package/cjs/tools/global.d.ts +13 -0
- package/cjs/tools/global.js +12 -0
- package/cjs/tools/global.js.map +1 -0
- package/cjs/tools/helper.d.ts +60 -0
- package/cjs/tools/helper.js +216 -0
- package/cjs/tools/helper.js.map +1 -0
- package/cjs/tools/icons.d.ts +4 -0
- package/cjs/tools/icons.js +10 -0
- package/cjs/tools/icons.js.map +1 -0
- package/cjs/tools/isx.d.ts +16 -0
- package/cjs/tools/isx.js +117 -0
- package/cjs/tools/isx.js.map +1 -0
- package/cjs/tools/sort.d.ts +1 -0
- package/cjs/tools/sort.js +18 -0
- package/cjs/tools/sort.js.map +1 -0
- package/cjs/tools/style.css +60 -0
- package/cjs/tools/style.d.ts +2 -0
- package/cjs/tools/style.js +11 -0
- package/cjs/tools/style.js.map +1 -0
- package/cjs/tools/text-width.d.ts +1 -0
- package/cjs/tools/text-width.js +17 -0
- package/cjs/tools/text-width.js.map +1 -0
- package/cjs/tools/util.d.ts +45 -0
- package/cjs/tools/util.js +299 -0
- package/cjs/tools/util.js.map +1 -0
- package/cjs/tooltip/BaseTooltip.d.ts +22 -0
- package/cjs/tooltip/BaseTooltip.js +35 -0
- package/cjs/tooltip/BaseTooltip.js.map +1 -0
- package/cjs/tooltip/Tooltip.d.ts +5 -0
- package/cjs/tooltip/Tooltip.js +16 -0
- package/cjs/tooltip/Tooltip.js.map +1 -0
- package/cjs/tooltip/TooltipHandler.d.ts +27 -0
- package/cjs/tooltip/TooltipHandler.js +129 -0
- package/cjs/tooltip/TooltipHandler.js.map +1 -0
- package/cjs/tooltip/logic/BubbleTooltipElement.css +63 -0
- package/cjs/tooltip/logic/BubbleTooltipElement.d.ts +33 -0
- package/cjs/tooltip/logic/BubbleTooltipElement.js +152 -0
- package/cjs/tooltip/logic/BubbleTooltipElement.js.map +1 -0
- package/cjs/ts-types/base-table.d.ts +313 -0
- package/cjs/ts-types/base-table.js +6 -0
- package/cjs/ts-types/base-table.js.map +1 -0
- package/cjs/ts-types/chartType.d.ts +53 -0
- package/cjs/ts-types/chartType.js +6 -0
- package/cjs/ts-types/chartType.js.map +1 -0
- package/cjs/ts-types/column/index.d.ts +2 -0
- package/cjs/ts-types/column/index.js +21 -0
- package/cjs/ts-types/column/index.js.map +1 -0
- package/cjs/ts-types/column/style.d.ts +78 -0
- package/cjs/ts-types/column/style.js +6 -0
- package/cjs/ts-types/column/style.js.map +1 -0
- package/cjs/ts-types/column/type.d.ts +2 -0
- package/cjs/ts-types/column/type.js +6 -0
- package/cjs/ts-types/column/type.js.map +1 -0
- package/cjs/ts-types/common.d.ts +72 -0
- package/cjs/ts-types/common.js +6 -0
- package/cjs/ts-types/common.js.map +1 -0
- package/cjs/ts-types/customElement.d.ts +111 -0
- package/cjs/ts-types/customElement.js +6 -0
- package/cjs/ts-types/customElement.js.map +1 -0
- package/cjs/ts-types/customLayout.d.ts +8 -0
- package/cjs/ts-types/customLayout.js +6 -0
- package/cjs/ts-types/customLayout.js.map +1 -0
- package/cjs/ts-types/events.d.ts +182 -0
- package/cjs/ts-types/events.js +6 -0
- package/cjs/ts-types/events.js.map +1 -0
- package/cjs/ts-types/icon.d.ts +86 -0
- package/cjs/ts-types/icon.js +26 -0
- package/cjs/ts-types/icon.js.map +1 -0
- package/cjs/ts-types/index.d.ts +15 -0
- package/cjs/ts-types/index.js +28 -0
- package/cjs/ts-types/index.js.map +1 -0
- package/cjs/ts-types/list-table/define/basic-define.d.ts +36 -0
- package/cjs/ts-types/list-table/define/basic-define.js +6 -0
- package/cjs/ts-types/list-table/define/basic-define.js.map +1 -0
- package/cjs/ts-types/list-table/define/chart-define.d.ts +10 -0
- package/cjs/ts-types/list-table/define/chart-define.js +6 -0
- package/cjs/ts-types/list-table/define/chart-define.js.map +1 -0
- package/cjs/ts-types/list-table/define/image-define.d.ts +15 -0
- package/cjs/ts-types/list-table/define/image-define.js +6 -0
- package/cjs/ts-types/list-table/define/image-define.js.map +1 -0
- package/cjs/ts-types/list-table/define/index.d.ts +21 -0
- package/cjs/ts-types/list-table/define/index.js +6 -0
- package/cjs/ts-types/list-table/define/index.js.map +1 -0
- package/cjs/ts-types/list-table/define/link-define.d.ts +17 -0
- package/cjs/ts-types/list-table/define/link-define.js +6 -0
- package/cjs/ts-types/list-table/define/link-define.js.map +1 -0
- package/cjs/ts-types/list-table/define/multilinetext-define.d.ts +12 -0
- package/cjs/ts-types/list-table/define/multilinetext-define.js +6 -0
- package/cjs/ts-types/list-table/define/multilinetext-define.js.map +1 -0
- package/cjs/ts-types/list-table/define/progressbar-define.d.ts +11 -0
- package/cjs/ts-types/list-table/define/progressbar-define.js +6 -0
- package/cjs/ts-types/list-table/define/progressbar-define.js.map +1 -0
- package/cjs/ts-types/list-table/define/sparkline-define.d.ts +10 -0
- package/cjs/ts-types/list-table/define/sparkline-define.js +6 -0
- package/cjs/ts-types/list-table/define/sparkline-define.js.map +1 -0
- package/cjs/ts-types/list-table/index.d.ts +2 -0
- package/cjs/ts-types/list-table/index.js +21 -0
- package/cjs/ts-types/list-table/index.js.map +1 -0
- package/cjs/ts-types/list-table/layout-map/api.d.ts +92 -0
- package/cjs/ts-types/list-table/layout-map/api.js +6 -0
- package/cjs/ts-types/list-table/layout-map/api.js.map +1 -0
- package/cjs/ts-types/list-table/layout-map/index.d.ts +1 -0
- package/cjs/ts-types/list-table/layout-map/index.js +6 -0
- package/cjs/ts-types/list-table/layout-map/index.js.map +1 -0
- package/cjs/ts-types/menu.d.ts +73 -0
- package/cjs/ts-types/menu.js +6 -0
- package/cjs/ts-types/menu.js.map +1 -0
- package/cjs/ts-types/new-data-set.d.ts +95 -0
- package/cjs/ts-types/new-data-set.js +14 -0
- package/cjs/ts-types/new-data-set.js.map +1 -0
- package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.d.ts +6 -0
- package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js +13 -0
- package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js.map +1 -0
- package/cjs/ts-types/pivot-table/corner.d.ts +19 -0
- package/cjs/ts-types/pivot-table/corner.js +6 -0
- package/cjs/ts-types/pivot-table/corner.js.map +1 -0
- package/cjs/ts-types/pivot-table/dimension/basic-dimension.d.ts +25 -0
- package/cjs/ts-types/pivot-table/dimension/basic-dimension.js +6 -0
- package/cjs/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -0
- package/cjs/ts-types/pivot-table/dimension/image-dimension.d.ts +9 -0
- package/cjs/ts-types/pivot-table/dimension/image-dimension.js +6 -0
- package/cjs/ts-types/pivot-table/dimension/image-dimension.js.map +1 -0
- package/cjs/ts-types/pivot-table/dimension/index.d.ts +4 -0
- package/cjs/ts-types/pivot-table/dimension/index.js +6 -0
- package/cjs/ts-types/pivot-table/dimension/index.js.map +1 -0
- package/cjs/ts-types/pivot-table/dimension/link-dimension.d.ts +10 -0
- package/cjs/ts-types/pivot-table/dimension/link-dimension.js +6 -0
- package/cjs/ts-types/pivot-table/dimension/link-dimension.js.map +1 -0
- package/cjs/ts-types/pivot-table/dimension/multilinetext-dimension.d.ts +7 -0
- package/cjs/ts-types/pivot-table/dimension/multilinetext-dimension.js +6 -0
- package/cjs/ts-types/pivot-table/dimension/multilinetext-dimension.js.map +1 -0
- package/cjs/ts-types/pivot-table/index.d.ts +4 -0
- package/cjs/ts-types/pivot-table/index.js +22 -0
- package/cjs/ts-types/pivot-table/index.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/basic-indicator.d.ts +26 -0
- package/cjs/ts-types/pivot-table/indicator/basic-indicator.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/chart-indicator.d.ts +10 -0
- package/cjs/ts-types/pivot-table/indicator/chart-indicator.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/chart-indicator.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/image-indicator.d.ts +15 -0
- package/cjs/ts-types/pivot-table/indicator/image-indicator.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/image-indicator.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/index.d.ts +10 -0
- package/cjs/ts-types/pivot-table/indicator/index.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/index.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/link-indicator.d.ts +17 -0
- package/cjs/ts-types/pivot-table/indicator/link-indicator.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/link-indicator.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/multilinetext-indicator.d.ts +11 -0
- package/cjs/ts-types/pivot-table/indicator/multilinetext-indicator.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/multilinetext-indicator.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/progress-indicator.d.ts +11 -0
- package/cjs/ts-types/pivot-table/indicator/progress-indicator.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/progress-indicator.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/sparkline-indicator.d.ts +10 -0
- package/cjs/ts-types/pivot-table/indicator/sparkline-indicator.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/sparkline-indicator.js.map +1 -0
- package/cjs/ts-types/pivot-table/title.d.ts +18 -0
- package/cjs/ts-types/pivot-table/title.js +6 -0
- package/cjs/ts-types/pivot-table/title.js.map +1 -0
- package/cjs/ts-types/style-define.d.ts +60 -0
- package/cjs/ts-types/style-define.js +6 -0
- package/cjs/ts-types/style-define.js.map +1 -0
- package/cjs/ts-types/table-engine.d.ts +169 -0
- package/cjs/ts-types/table-engine.js +12 -0
- package/cjs/ts-types/table-engine.js.map +1 -0
- package/cjs/ts-types/theme.d.ts +88 -0
- package/cjs/ts-types/theme.js +6 -0
- package/cjs/ts-types/theme.js.map +1 -0
- package/cjs/ts-types/tooltip.d.ts +22 -0
- package/cjs/ts-types/tooltip.js +6 -0
- package/cjs/ts-types/tooltip.js.map +1 -0
- package/dist/vtable.js +72964 -0
- package/dist/vtable.min.js +17 -0
- package/es/ListTable.d.ts +38 -0
- package/es/ListTable.js +256 -0
- package/es/ListTable.js.map +1 -0
- package/es/PivotTable.d.ts +50 -0
- package/es/PivotTable.js +282 -0
- package/es/PivotTable.js.map +1 -0
- package/es/body-helper/body-helper.d.ts +14 -0
- package/es/body-helper/body-helper.js +80 -0
- package/es/body-helper/body-helper.js.map +1 -0
- package/es/body-helper/style/ImageStyle.d.ts +7 -0
- package/es/body-helper/style/ImageStyle.js +16 -0
- package/es/body-helper/style/ImageStyle.js.map +1 -0
- package/es/body-helper/style/MultilineTextStyle.d.ts +13 -0
- package/es/body-helper/style/MultilineTextStyle.js +30 -0
- package/es/body-helper/style/MultilineTextStyle.js.map +1 -0
- package/es/body-helper/style/NumberStyle.d.ts +7 -0
- package/es/body-helper/style/NumberStyle.js +16 -0
- package/es/body-helper/style/NumberStyle.js.map +1 -0
- package/es/body-helper/style/ProgressBarStyle.d.ts +52 -0
- package/es/body-helper/style/ProgressBarStyle.js +118 -0
- package/es/body-helper/style/ProgressBarStyle.js.map +1 -0
- package/es/body-helper/style/Style.d.ts +85 -0
- package/es/body-helper/style/Style.js +194 -0
- package/es/body-helper/style/Style.js.map +1 -0
- package/es/body-helper/style.d.ts +10 -0
- package/es/body-helper/style.js +20 -0
- package/es/body-helper/style.js.map +1 -0
- package/es/chartType.d.ts +3 -0
- package/es/chartType.js +10 -0
- package/es/chartType.js.map +1 -0
- package/es/core/BaseTable.d.ts +287 -0
- package/es/core/BaseTable.js +1281 -0
- package/es/core/BaseTable.js.map +1 -0
- package/es/core/FouseInput.d.ts +11 -0
- package/es/core/FouseInput.js +30 -0
- package/es/core/FouseInput.js.map +1 -0
- package/es/core/TABLE_EVENT_TYPE.d.ts +30 -0
- package/es/core/TABLE_EVENT_TYPE.js +30 -0
- package/es/core/TABLE_EVENT_TYPE.js.map +1 -0
- package/es/core/tableHelper.d.ts +28 -0
- package/es/core/tableHelper.js +107 -0
- package/es/core/tableHelper.js.map +1 -0
- package/es/core.d.ts +3 -0
- package/es/core.js +6 -0
- package/es/core.js.map +1 -0
- package/es/data/CachedDataSource.d.ts +16 -0
- package/es/data/CachedDataSource.js +48 -0
- package/es/data/CachedDataSource.js.map +1 -0
- package/es/data/DataSource.d.ts +64 -0
- package/es/data/DataSource.js +267 -0
- package/es/data/DataSource.js.map +1 -0
- package/es/data/FilterDataSource.d.ts +1 -0
- package/es/data/FilterDataSource.js +1 -0
- package/es/data/FilterDataSource.js.map +1 -0
- package/es/data.d.ts +4 -0
- package/es/data.js +6 -0
- package/es/data.js.map +1 -0
- package/es/dataset/DataStatistics.d.ts +10 -0
- package/es/dataset/DataStatistics.js +74 -0
- package/es/dataset/DataStatistics.js.map +1 -0
- package/es/dataset/dataset.d.ts +72 -0
- package/es/dataset/dataset.js +482 -0
- package/es/dataset/dataset.js.map +1 -0
- package/es/dataset/flatDataToObject.d.ts +31 -0
- package/es/dataset/flatDataToObject.js +63 -0
- package/es/dataset/flatDataToObject.js.map +1 -0
- package/es/event/EventHandler.d.ts +45 -0
- package/es/event/EventHandler.js +111 -0
- package/es/event/EventHandler.js.map +1 -0
- package/es/event/EventTarget.d.ts +11 -0
- package/es/event/EventTarget.js +50 -0
- package/es/event/EventTarget.js.map +1 -0
- package/es/event/chart.d.ts +2 -0
- package/es/event/chart.js +16 -0
- package/es/event/chart.js.map +1 -0
- package/es/event/drill.d.ts +3 -0
- package/es/event/drill.js +17 -0
- package/es/event/drill.js.map +1 -0
- package/es/event/event.d.ts +35 -0
- package/es/event/event.js +438 -0
- package/es/event/event.js.map +1 -0
- package/es/event/media-click.d.ts +2 -0
- package/es/event/media-click.js +54 -0
- package/es/event/media-click.js.map +1 -0
- package/es/event/scroll.d.ts +2 -0
- package/es/event/scroll.js +17 -0
- package/es/event/scroll.js.map +1 -0
- package/es/header-helper/header-helper.d.ts +26 -0
- package/es/header-helper/header-helper.js +189 -0
- package/es/header-helper/header-helper.js.map +1 -0
- package/es/header-helper/style/ImageStyle.d.ts +7 -0
- package/es/header-helper/style/ImageStyle.js +17 -0
- package/es/header-helper/style/ImageStyle.js.map +1 -0
- package/es/header-helper/style/MultilineTextHeaderStyle.d.ts +13 -0
- package/es/header-helper/style/MultilineTextHeaderStyle.js +30 -0
- package/es/header-helper/style/MultilineTextHeaderStyle.js.map +1 -0
- package/es/header-helper/style/SortHeaderStyle.d.ts +1 -0
- package/es/header-helper/style/SortHeaderStyle.js +3 -0
- package/es/header-helper/style/SortHeaderStyle.js.map +1 -0
- package/es/header-helper/style/Style.d.ts +88 -0
- package/es/header-helper/style/Style.js +202 -0
- package/es/header-helper/style/Style.js.map +1 -0
- package/es/header-helper/style.d.ts +5 -0
- package/es/header-helper/style.js +14 -0
- package/es/header-helper/style.js.map +1 -0
- package/es/icons.d.ts +4 -0
- package/es/icons.js +241 -0
- package/es/icons.js.map +1 -0
- package/es/index.d.ts +17 -0
- package/es/index.js +34 -0
- package/es/index.js.map +1 -0
- package/es/layout/index.d.ts +1 -0
- package/es/layout/index.js +2 -0
- package/es/layout/index.js.map +1 -0
- package/es/layout/pivot-header-layout.d.ts +155 -0
- package/es/layout/pivot-header-layout.js +888 -0
- package/es/layout/pivot-header-layout.js.map +1 -0
- package/es/layout/pivot-layout.d.ts +86 -0
- package/es/layout/pivot-layout.js +416 -0
- package/es/layout/pivot-layout.js.map +1 -0
- package/es/layout/simple-header-layout.d.ts +67 -0
- package/es/layout/simple-header-layout.js +405 -0
- package/es/layout/simple-header-layout.js.map +1 -0
- package/es/menu/dom/BaseMenu.d.ts +15 -0
- package/es/menu/dom/BaseMenu.js +22 -0
- package/es/menu/dom/BaseMenu.js.map +1 -0
- package/es/menu/dom/Menu.d.ts +9 -0
- package/es/menu/dom/Menu.js +18 -0
- package/es/menu/dom/Menu.js.map +1 -0
- package/es/menu/dom/MenuHandler.d.ts +20 -0
- package/es/menu/dom/MenuHandler.js +132 -0
- package/es/menu/dom/MenuHandler.js.map +1 -0
- package/es/menu/dom/logic/MenuContainer.d.ts +22 -0
- package/es/menu/dom/logic/MenuContainer.js +105 -0
- package/es/menu/dom/logic/MenuContainer.js.map +1 -0
- package/es/menu/dom/logic/MenuElement.css +86 -0
- package/es/menu/dom/logic/MenuElement.d.ts +27 -0
- package/es/menu/dom/logic/MenuElement.js +277 -0
- package/es/menu/dom/logic/MenuElement.js.map +1 -0
- package/es/plugins/chartTypes.d.ts +3 -0
- package/es/plugins/chartTypes.js +2 -0
- package/es/plugins/chartTypes.js.map +1 -0
- package/es/plugins/icons.d.ts +12 -0
- package/es/plugins/icons.js +22 -0
- package/es/plugins/icons.js.map +1 -0
- package/es/plugins/themes.d.ts +4 -0
- package/es/plugins/themes.js +2 -0
- package/es/plugins/themes.js.map +1 -0
- package/es/register.d.ts +5 -0
- package/es/register.js +31 -0
- package/es/register.js.map +1 -0
- package/es/render/layout/arc.d.ts +23 -0
- package/es/render/layout/arc.js +12 -0
- package/es/render/layout/arc.js.map +1 -0
- package/es/render/layout/circle.d.ts +19 -0
- package/es/render/layout/circle.js +11 -0
- package/es/render/layout/circle.js.map +1 -0
- package/es/render/layout/container.d.ts +52 -0
- package/es/render/layout/container.js +99 -0
- package/es/render/layout/container.js.map +1 -0
- package/es/render/layout/direction.d.ts +22 -0
- package/es/render/layout/direction.js +31 -0
- package/es/render/layout/direction.js.map +1 -0
- package/es/render/layout/element.d.ts +47 -0
- package/es/render/layout/element.js +19 -0
- package/es/render/layout/element.js.map +1 -0
- package/es/render/layout/group-element.d.ts +25 -0
- package/es/render/layout/group-element.js +46 -0
- package/es/render/layout/group-element.js.map +1 -0
- package/es/render/layout/icon.d.ts +21 -0
- package/es/render/layout/icon.js +19 -0
- package/es/render/layout/icon.js.map +1 -0
- package/es/render/layout/image.d.ts +21 -0
- package/es/render/layout/image.js +12 -0
- package/es/render/layout/image.js.map +1 -0
- package/es/render/layout/index.d.ts +9 -0
- package/es/render/layout/index.js +18 -0
- package/es/render/layout/index.js.map +1 -0
- package/es/render/layout/line.d.ts +32 -0
- package/es/render/layout/line.js +80 -0
- package/es/render/layout/line.js.map +1 -0
- package/es/render/layout/percent-calc.d.ts +8 -0
- package/es/render/layout/percent-calc.js +7 -0
- package/es/render/layout/percent-calc.js.map +1 -0
- package/es/render/layout/rect.d.ts +22 -0
- package/es/render/layout/rect.js +11 -0
- package/es/render/layout/rect.js.map +1 -0
- package/es/render/layout/text.d.ts +22 -0
- package/es/render/layout/text.js +18 -0
- package/es/render/layout/text.js.map +1 -0
- package/es/scenegraph/component/cell-content.d.ts +36 -0
- package/es/scenegraph/component/cell-content.js +98 -0
- package/es/scenegraph/component/cell-content.js.map +1 -0
- package/es/scenegraph/component/cell-mover.d.ts +15 -0
- package/es/scenegraph/component/cell-mover.js +101 -0
- package/es/scenegraph/component/cell-mover.js.map +1 -0
- package/es/scenegraph/component/custom.d.ts +7 -0
- package/es/scenegraph/component/custom.js +211 -0
- package/es/scenegraph/component/custom.js.map +1 -0
- package/es/scenegraph/component/drill-icon.d.ts +9 -0
- package/es/scenegraph/component/drill-icon.js +41 -0
- package/es/scenegraph/component/drill-icon.js.map +1 -0
- package/es/scenegraph/component/menu.d.ts +41 -0
- package/es/scenegraph/component/menu.js +212 -0
- package/es/scenegraph/component/menu.js.map +1 -0
- package/es/scenegraph/component/table-component.d.ts +37 -0
- package/es/scenegraph/component/table-component.js +304 -0
- package/es/scenegraph/component/table-component.js.map +1 -0
- package/es/scenegraph/component/util.d.ts +2 -0
- package/es/scenegraph/component/util.js +5 -0
- package/es/scenegraph/component/util.js.map +1 -0
- package/es/scenegraph/debug-tool/debug-tool.d.ts +36 -0
- package/es/scenegraph/debug-tool/debug-tool.js +126 -0
- package/es/scenegraph/debug-tool/debug-tool.js.map +1 -0
- package/es/scenegraph/debug-tool/index.d.ts +4 -0
- package/es/scenegraph/debug-tool/index.js +6 -0
- package/es/scenegraph/debug-tool/index.js.map +1 -0
- package/es/scenegraph/graphic/chart.d.ts +30 -0
- package/es/scenegraph/graphic/chart.js +59 -0
- package/es/scenegraph/graphic/chart.js.map +1 -0
- package/es/scenegraph/graphic/contributions/chart-render.d.ts +10 -0
- package/es/scenegraph/graphic/contributions/chart-render.js +47 -0
- package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -0
- package/es/scenegraph/graphic/contributions/group-contribution-render.d.ts +70 -0
- package/es/scenegraph/graphic/contributions/group-contribution-render.js +192 -0
- package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -0
- package/es/scenegraph/graphic/contributions/image-contribution-render.d.ts +20 -0
- package/es/scenegraph/graphic/contributions/image-contribution-render.js +42 -0
- package/es/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -0
- package/es/scenegraph/graphic/contributions/index.d.ts +3 -0
- package/es/scenegraph/graphic/contributions/index.js +29 -0
- package/es/scenegraph/graphic/contributions/index.js.map +1 -0
- package/es/scenegraph/graphic/contributions/rect-contribution-render.d.ts +17 -0
- package/es/scenegraph/graphic/contributions/rect-contribution-render.js +45 -0
- package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -0
- package/es/scenegraph/graphic/group.d.ts +23 -0
- package/es/scenegraph/graphic/group.js +86 -0
- package/es/scenegraph/graphic/group.js.map +1 -0
- package/es/scenegraph/graphic/icon.d.ts +24 -0
- package/es/scenegraph/graphic/icon.js +17 -0
- package/es/scenegraph/graphic/icon.js.map +1 -0
- package/es/scenegraph/graphic/text.d.ts +16 -0
- package/es/scenegraph/graphic/text.js +142 -0
- package/es/scenegraph/graphic/text.js.map +1 -0
- package/es/scenegraph/group-creater/cell-helper.d.ts +7 -0
- package/es/scenegraph/group-creater/cell-helper.js +93 -0
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -0
- package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +3 -0
- package/es/scenegraph/group-creater/cell-type/chart-cell.js +54 -0
- package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -0
- package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +7 -0
- package/es/scenegraph/group-creater/cell-type/image-cell.js +102 -0
- package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -0
- package/es/scenegraph/group-creater/cell-type/progress-bar-cell.d.ts +9 -0
- package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +337 -0
- package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -0
- package/es/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +3 -0
- package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +165 -0
- package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -0
- package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +5 -0
- package/es/scenegraph/group-creater/cell-type/text-cell.js +66 -0
- package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -0
- package/es/scenegraph/group-creater/cell-type/video-cell.d.ts +4 -0
- package/es/scenegraph/group-creater/cell-type/video-cell.js +86 -0
- package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -0
- package/es/scenegraph/group-creater/column-helper.d.ts +24 -0
- package/es/scenegraph/group-creater/column-helper.js +135 -0
- package/es/scenegraph/group-creater/column-helper.js.map +1 -0
- package/es/scenegraph/group-creater/column.d.ts +14 -0
- package/es/scenegraph/group-creater/column.js +49 -0
- package/es/scenegraph/group-creater/column.js.map +1 -0
- package/es/scenegraph/group-creater/progress/proxy.d.ts +45 -0
- package/es/scenegraph/group-creater/progress/proxy.js +268 -0
- package/es/scenegraph/group-creater/progress/proxy.js.map +1 -0
- package/es/scenegraph/header-icon/layout.d.ts +3 -0
- package/es/scenegraph/header-icon/layout.js +69 -0
- package/es/scenegraph/header-icon/layout.js.map +1 -0
- package/es/scenegraph/hover-state.d.ts +14 -0
- package/es/scenegraph/hover-state.js +19 -0
- package/es/scenegraph/hover-state.js.map +1 -0
- package/es/scenegraph/layout/auto-height.d.ts +2 -0
- package/es/scenegraph/layout/auto-height.js +44 -0
- package/es/scenegraph/layout/auto-height.js.map +1 -0
- package/es/scenegraph/layout/auto-width.d.ts +2 -0
- package/es/scenegraph/layout/auto-width.js +82 -0
- package/es/scenegraph/layout/auto-width.js.map +1 -0
- package/es/scenegraph/layout/compute-col-width.d.ts +3 -0
- package/es/scenegraph/layout/compute-col-width.js +167 -0
- package/es/scenegraph/layout/compute-col-width.js.map +1 -0
- package/es/scenegraph/layout/move-cell.d.ts +2 -0
- package/es/scenegraph/layout/move-cell.js +55 -0
- package/es/scenegraph/layout/move-cell.js.map +1 -0
- package/es/scenegraph/layout/update-cell.d.ts +3 -0
- package/es/scenegraph/layout/update-cell.js +55 -0
- package/es/scenegraph/layout/update-cell.js.map +1 -0
- package/es/scenegraph/layout/update-height.d.ts +6 -0
- package/es/scenegraph/layout/update-height.js +91 -0
- package/es/scenegraph/layout/update-height.js.map +1 -0
- package/es/scenegraph/layout/update-width.d.ts +2 -0
- package/es/scenegraph/layout/update-width.js +105 -0
- package/es/scenegraph/layout/update-width.js.map +1 -0
- package/es/scenegraph/scenegraph.d.ts +109 -0
- package/es/scenegraph/scenegraph.js +818 -0
- package/es/scenegraph/scenegraph.js.map +1 -0
- package/es/scenegraph/style/frame-border.d.ts +3 -0
- package/es/scenegraph/style/frame-border.js +35 -0
- package/es/scenegraph/style/frame-border.js.map +1 -0
- package/es/scenegraph/utils/border-line.d.ts +8 -0
- package/es/scenegraph/utils/border-line.js +45 -0
- package/es/scenegraph/utils/border-line.js.map +1 -0
- package/es/scenegraph/utils/break-string.d.ts +1 -0
- package/es/scenegraph/utils/break-string.js +31 -0
- package/es/scenegraph/utils/break-string.js.map +1 -0
- package/es/scenegraph/utils/cell-pos.d.ts +4 -0
- package/es/scenegraph/utils/cell-pos.js +12 -0
- package/es/scenegraph/utils/cell-pos.js.map +1 -0
- package/es/scenegraph/utils/font.d.ts +1 -0
- package/es/scenegraph/utils/font.js +6 -0
- package/es/scenegraph/utils/font.js.map +1 -0
- package/es/scenegraph/utils/get-cell-merge.d.ts +3 -0
- package/es/scenegraph/utils/get-cell-merge.js +5 -0
- package/es/scenegraph/utils/get-cell-merge.js.map +1 -0
- package/es/scenegraph/utils/get-prop.d.ts +4 -0
- package/es/scenegraph/utils/get-prop.js +36 -0
- package/es/scenegraph/utils/get-prop.js.map +1 -0
- package/es/scenegraph/utils/icon.d.ts +12 -0
- package/es/scenegraph/utils/icon.js +29 -0
- package/es/scenegraph/utils/icon.js.map +1 -0
- package/es/scenegraph/utils/keep-aspect-ratio.d.ts +4 -0
- package/es/scenegraph/utils/keep-aspect-ratio.js +10 -0
- package/es/scenegraph/utils/keep-aspect-ratio.js.map +1 -0
- package/es/scenegraph/utils/measure-text.d.ts +20 -0
- package/es/scenegraph/utils/measure-text.js +114 -0
- package/es/scenegraph/utils/measure-text.js.map +1 -0
- package/es/scenegraph/utils/padding.d.ts +1 -0
- package/es/scenegraph/utils/padding.js +8 -0
- package/es/scenegraph/utils/padding.js.map +1 -0
- package/es/scenegraph/utils/text-icon-layout.d.ts +9 -0
- package/es/scenegraph/utils/text-icon-layout.js +239 -0
- package/es/scenegraph/utils/text-icon-layout.js.map +1 -0
- package/es/scenegraph/utils/text-pos.d.ts +8 -0
- package/es/scenegraph/utils/text-pos.js +20 -0
- package/es/scenegraph/utils/text-pos.js.map +1 -0
- package/es/state/cell-move/adjust-header.d.ts +3 -0
- package/es/state/cell-move/adjust-header.js +14 -0
- package/es/state/cell-move/adjust-header.js.map +1 -0
- package/es/state/cell-move/index.d.ts +4 -0
- package/es/state/cell-move/index.js +52 -0
- package/es/state/cell-move/index.js.map +1 -0
- package/es/state/common/check-in-select.d.ts +8 -0
- package/es/state/common/check-in-select.js +53 -0
- package/es/state/common/check-in-select.js.map +1 -0
- package/es/state/drill/index.d.ts +2 -0
- package/es/state/drill/index.js +9 -0
- package/es/state/drill/index.js.map +1 -0
- package/es/state/hover/col.d.ts +5 -0
- package/es/state/hover/col.js +16 -0
- package/es/state/hover/col.js.map +1 -0
- package/es/state/hover/is-cell-hover.d.ts +5 -0
- package/es/state/hover/is-cell-hover.js +30 -0
- package/es/state/hover/is-cell-hover.js.map +1 -0
- package/es/state/hover/row.d.ts +5 -0
- package/es/state/hover/row.js +14 -0
- package/es/state/hover/row.js.map +1 -0
- package/es/state/hover/single.d.ts +5 -0
- package/es/state/hover/single.js +10 -0
- package/es/state/hover/single.js.map +1 -0
- package/es/state/hover/update-cell.d.ts +2 -0
- package/es/state/hover/update-cell.js +7 -0
- package/es/state/hover/update-cell.js.map +1 -0
- package/es/state/hover/update-position.d.ts +2 -0
- package/es/state/hover/update-position.js +36 -0
- package/es/state/hover/update-position.js.map +1 -0
- package/es/state/pin/index.d.ts +2 -0
- package/es/state/pin/index.js +4 -0
- package/es/state/pin/index.js.map +1 -0
- package/es/state/select/update-position.d.ts +4 -0
- package/es/state/select/update-position.js +103 -0
- package/es/state/select/update-position.js.map +1 -0
- package/es/state/sort/index.d.ts +2 -0
- package/es/state/sort/index.js +35 -0
- package/es/state/sort/index.js.map +1 -0
- package/es/state/spark-line/index.d.ts +3 -0
- package/es/state/spark-line/index.js +92 -0
- package/es/state/spark-line/index.js.map +1 -0
- package/es/state/state.d.ts +155 -0
- package/es/state/state.js +458 -0
- package/es/state/state.js.map +1 -0
- package/es/themes/ARCO.d.ts +3 -0
- package/es/themes/ARCO.js +110 -0
- package/es/themes/ARCO.js.map +1 -0
- package/es/themes/BRIGHT.d.ts +3 -0
- package/es/themes/BRIGHT.js +67 -0
- package/es/themes/BRIGHT.js.map +1 -0
- package/es/themes/DARK.d.ts +3 -0
- package/es/themes/DARK.js +86 -0
- package/es/themes/DARK.js.map +1 -0
- package/es/themes/DEFAULT.d.ts +3 -0
- package/es/themes/DEFAULT.js +85 -0
- package/es/themes/DEFAULT.js.map +1 -0
- package/es/themes/SIMPLIFY.d.ts +3 -0
- package/es/themes/SIMPLIFY.js +42 -0
- package/es/themes/SIMPLIFY.js.map +1 -0
- package/es/themes/theme.d.ts +34 -0
- package/es/themes/theme.js +505 -0
- package/es/themes/theme.js.map +1 -0
- package/es/themes.d.ts +28 -0
- package/es/themes.js +62 -0
- package/es/themes.js.map +1 -0
- package/es/tools/LimitPromiseQueue.d.ts +8 -0
- package/es/tools/LimitPromiseQueue.js +21 -0
- package/es/tools/LimitPromiseQueue.js.map +1 -0
- package/es/tools/NumberMap.d.ts +16 -0
- package/es/tools/NumberMap.js +70 -0
- package/es/tools/NumberMap.js.map +1 -0
- package/es/tools/Rect.d.ts +24 -0
- package/es/tools/Rect.js +61 -0
- package/es/tools/Rect.js.map +1 -0
- package/es/tools/calc.d.ts +5 -0
- package/es/tools/calc.js +191 -0
- package/es/tools/calc.js.map +1 -0
- package/es/tools/debounce.d.ts +1 -0
- package/es/tools/debounce.js +43 -0
- package/es/tools/debounce.js.map +1 -0
- package/es/tools/dom.d.ts +1 -0
- package/es/tools/dom.js +5 -0
- package/es/tools/dom.js.map +1 -0
- package/es/tools/env.d.ts +19 -0
- package/es/tools/env.js +42 -0
- package/es/tools/env.js.map +1 -0
- package/es/tools/global.d.ts +13 -0
- package/es/tools/global.js +26 -0
- package/es/tools/global.js.map +1 -0
- package/es/tools/helper.d.ts +60 -0
- package/es/tools/helper.js +216 -0
- package/es/tools/helper.js.map +1 -0
- package/es/tools/icons.d.ts +4 -0
- package/es/tools/icons.js +4 -0
- package/es/tools/icons.js.map +1 -0
- package/es/tools/isx.d.ts +16 -0
- package/es/tools/isx.js +79 -0
- package/es/tools/isx.js.map +1 -0
- package/es/tools/sort.d.ts +1 -0
- package/es/tools/sort.js +12 -0
- package/es/tools/sort.js.map +1 -0
- package/es/tools/style.css +60 -0
- package/es/tools/style.d.ts +2 -0
- package/es/tools/style.js +5 -0
- package/es/tools/style.js.map +1 -0
- package/es/tools/text-width.d.ts +1 -0
- package/es/tools/text-width.js +9 -0
- package/es/tools/text-width.js.map +1 -0
- package/es/tools/util.d.ts +45 -0
- package/es/tools/util.js +250 -0
- package/es/tools/util.js.map +1 -0
- package/es/tooltip/BaseTooltip.d.ts +22 -0
- package/es/tooltip/BaseTooltip.js +27 -0
- package/es/tooltip/BaseTooltip.js.map +1 -0
- package/es/tooltip/Tooltip.d.ts +5 -0
- package/es/tooltip/Tooltip.js +10 -0
- package/es/tooltip/Tooltip.js.map +1 -0
- package/es/tooltip/TooltipHandler.d.ts +27 -0
- package/es/tooltip/TooltipHandler.js +131 -0
- package/es/tooltip/TooltipHandler.js.map +1 -0
- package/es/tooltip/logic/BubbleTooltipElement.css +63 -0
- package/es/tooltip/logic/BubbleTooltipElement.d.ts +33 -0
- package/es/tooltip/logic/BubbleTooltipElement.js +149 -0
- package/es/tooltip/logic/BubbleTooltipElement.js.map +1 -0
- package/es/ts-types/base-table.d.ts +313 -0
- package/es/ts-types/base-table.js +2 -0
- package/es/ts-types/base-table.js.map +1 -0
- package/es/ts-types/chartType.d.ts +53 -0
- package/es/ts-types/chartType.js +2 -0
- package/es/ts-types/chartType.js.map +1 -0
- package/es/ts-types/column/index.d.ts +2 -0
- package/es/ts-types/column/index.js +4 -0
- package/es/ts-types/column/index.js.map +1 -0
- package/es/ts-types/column/style.d.ts +78 -0
- package/es/ts-types/column/style.js +2 -0
- package/es/ts-types/column/style.js.map +1 -0
- package/es/ts-types/column/type.d.ts +2 -0
- package/es/ts-types/column/type.js +2 -0
- package/es/ts-types/column/type.js.map +1 -0
- package/es/ts-types/common.d.ts +72 -0
- package/es/ts-types/common.js +2 -0
- package/es/ts-types/common.js.map +1 -0
- package/es/ts-types/customElement.d.ts +111 -0
- package/es/ts-types/customElement.js +2 -0
- package/es/ts-types/customElement.js.map +1 -0
- package/es/ts-types/customLayout.d.ts +8 -0
- package/es/ts-types/customLayout.js +2 -0
- package/es/ts-types/customLayout.js.map +1 -0
- package/es/ts-types/events.d.ts +182 -0
- package/es/ts-types/events.js +2 -0
- package/es/ts-types/events.js.map +1 -0
- package/es/ts-types/icon.d.ts +86 -0
- package/es/ts-types/icon.js +28 -0
- package/es/ts-types/icon.js.map +1 -0
- package/es/ts-types/index.d.ts +15 -0
- package/es/ts-types/index.js +30 -0
- package/es/ts-types/index.js.map +1 -0
- package/es/ts-types/list-table/define/basic-define.d.ts +36 -0
- package/es/ts-types/list-table/define/basic-define.js +2 -0
- package/es/ts-types/list-table/define/basic-define.js.map +1 -0
- package/es/ts-types/list-table/define/chart-define.d.ts +10 -0
- package/es/ts-types/list-table/define/chart-define.js +2 -0
- package/es/ts-types/list-table/define/chart-define.js.map +1 -0
- package/es/ts-types/list-table/define/image-define.d.ts +15 -0
- package/es/ts-types/list-table/define/image-define.js +2 -0
- package/es/ts-types/list-table/define/image-define.js.map +1 -0
- package/es/ts-types/list-table/define/index.d.ts +21 -0
- package/es/ts-types/list-table/define/index.js +2 -0
- package/es/ts-types/list-table/define/index.js.map +1 -0
- package/es/ts-types/list-table/define/link-define.d.ts +17 -0
- package/es/ts-types/list-table/define/link-define.js +2 -0
- package/es/ts-types/list-table/define/link-define.js.map +1 -0
- package/es/ts-types/list-table/define/multilinetext-define.d.ts +12 -0
- package/es/ts-types/list-table/define/multilinetext-define.js +2 -0
- package/es/ts-types/list-table/define/multilinetext-define.js.map +1 -0
- package/es/ts-types/list-table/define/progressbar-define.d.ts +11 -0
- package/es/ts-types/list-table/define/progressbar-define.js +2 -0
- package/es/ts-types/list-table/define/progressbar-define.js.map +1 -0
- package/es/ts-types/list-table/define/sparkline-define.d.ts +10 -0
- package/es/ts-types/list-table/define/sparkline-define.js +2 -0
- package/es/ts-types/list-table/define/sparkline-define.js.map +1 -0
- package/es/ts-types/list-table/index.d.ts +2 -0
- package/es/ts-types/list-table/index.js +4 -0
- package/es/ts-types/list-table/index.js.map +1 -0
- package/es/ts-types/list-table/layout-map/api.d.ts +92 -0
- package/es/ts-types/list-table/layout-map/api.js +2 -0
- package/es/ts-types/list-table/layout-map/api.js.map +1 -0
- package/es/ts-types/list-table/layout-map/index.d.ts +1 -0
- package/es/ts-types/list-table/layout-map/index.js +2 -0
- package/es/ts-types/list-table/layout-map/index.js.map +1 -0
- package/es/ts-types/menu.d.ts +73 -0
- package/es/ts-types/menu.js +2 -0
- package/es/ts-types/menu.js.map +1 -0
- package/es/ts-types/new-data-set.d.ts +95 -0
- package/es/ts-types/new-data-set.js +13 -0
- package/es/ts-types/new-data-set.js.map +1 -0
- package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.d.ts +6 -0
- package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js +9 -0
- package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js.map +1 -0
- package/es/ts-types/pivot-table/corner.d.ts +19 -0
- package/es/ts-types/pivot-table/corner.js +2 -0
- package/es/ts-types/pivot-table/corner.js.map +1 -0
- package/es/ts-types/pivot-table/dimension/basic-dimension.d.ts +25 -0
- package/es/ts-types/pivot-table/dimension/basic-dimension.js +2 -0
- package/es/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -0
- package/es/ts-types/pivot-table/dimension/image-dimension.d.ts +9 -0
- package/es/ts-types/pivot-table/dimension/image-dimension.js +2 -0
- package/es/ts-types/pivot-table/dimension/image-dimension.js.map +1 -0
- package/es/ts-types/pivot-table/dimension/index.d.ts +4 -0
- package/es/ts-types/pivot-table/dimension/index.js +2 -0
- package/es/ts-types/pivot-table/dimension/index.js.map +1 -0
- package/es/ts-types/pivot-table/dimension/link-dimension.d.ts +10 -0
- package/es/ts-types/pivot-table/dimension/link-dimension.js +2 -0
- package/es/ts-types/pivot-table/dimension/link-dimension.js.map +1 -0
- package/es/ts-types/pivot-table/dimension/multilinetext-dimension.d.ts +7 -0
- package/es/ts-types/pivot-table/dimension/multilinetext-dimension.js +2 -0
- package/es/ts-types/pivot-table/dimension/multilinetext-dimension.js.map +1 -0
- package/es/ts-types/pivot-table/index.d.ts +4 -0
- package/es/ts-types/pivot-table/index.js +8 -0
- package/es/ts-types/pivot-table/index.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/basic-indicator.d.ts +26 -0
- package/es/ts-types/pivot-table/indicator/basic-indicator.js +2 -0
- package/es/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/chart-indicator.d.ts +10 -0
- package/es/ts-types/pivot-table/indicator/chart-indicator.js +2 -0
- package/es/ts-types/pivot-table/indicator/chart-indicator.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/image-indicator.d.ts +15 -0
- package/es/ts-types/pivot-table/indicator/image-indicator.js +2 -0
- package/es/ts-types/pivot-table/indicator/image-indicator.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/index.d.ts +10 -0
- package/es/ts-types/pivot-table/indicator/index.js +2 -0
- package/es/ts-types/pivot-table/indicator/index.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/link-indicator.d.ts +17 -0
- package/es/ts-types/pivot-table/indicator/link-indicator.js +2 -0
- package/es/ts-types/pivot-table/indicator/link-indicator.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/multilinetext-indicator.d.ts +11 -0
- package/es/ts-types/pivot-table/indicator/multilinetext-indicator.js +2 -0
- package/es/ts-types/pivot-table/indicator/multilinetext-indicator.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/progress-indicator.d.ts +11 -0
- package/es/ts-types/pivot-table/indicator/progress-indicator.js +2 -0
- package/es/ts-types/pivot-table/indicator/progress-indicator.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/sparkline-indicator.d.ts +10 -0
- package/es/ts-types/pivot-table/indicator/sparkline-indicator.js +2 -0
- package/es/ts-types/pivot-table/indicator/sparkline-indicator.js.map +1 -0
- package/es/ts-types/pivot-table/title.d.ts +18 -0
- package/es/ts-types/pivot-table/title.js +2 -0
- package/es/ts-types/pivot-table/title.js.map +1 -0
- package/es/ts-types/style-define.d.ts +60 -0
- package/es/ts-types/style-define.js +2 -0
- package/es/ts-types/style-define.js.map +1 -0
- package/es/ts-types/table-engine.d.ts +169 -0
- package/es/ts-types/table-engine.js +12 -0
- package/es/ts-types/table-engine.js.map +1 -0
- package/es/ts-types/theme.d.ts +88 -0
- package/es/ts-types/theme.js +2 -0
- package/es/ts-types/theme.js.map +1 -0
- package/es/ts-types/tooltip.d.ts +22 -0
- package/es/ts-types/tooltip.js +2 -0
- package/es/ts-types/tooltip.js.map +1 -0
- package/package.json +95 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["scenegraph/scenegraph.ts"],"names":[],"mappings":"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","file":"scenegraph.js","sourcesContent":["import type { IStage, IRect, ITextCache } from '@visactor/vrender';\nimport { createStage, createRect, IContainPointMode, container } from '@visactor/vrender';\nimport type { CellType, ColumnIconOption } from '../ts-types';\nimport { Group } from './graphic/group';\nimport type { Icon } from './graphic/icon';\nimport {\n createBodyColGroup,\n createColHeaderColGroup,\n createCornerHeaderColGroup,\n createRowHeaderColGroup\n} from './group-creater/column';\nimport type { WrapText } from './graphic/text';\nimport { updateAutoColWidth } from './layout/auto-width';\nimport { updateAutoRowHeight } from './layout/auto-height';\nimport { getCellMergeInfo } from './utils/get-cell-merge';\nimport { updateColWidth } from './layout/update-width';\nimport { TableComponent } from './component/table-component';\nimport { updateRowHeight } from './layout/update-height';\nimport { updateImageCellContentWhileResize } from './group-creater/cell-type/image-cell';\nimport { getPadding } from './utils/padding';\nimport { createFrameBorder } from './style/frame-border';\nimport { ResizeColumnHotSpotSize } from '../tools/global';\nimport splitModule from './graphic/contributions';\nimport { getProp } from './utils/get-prop';\nimport { createCellContent, dealWithIcon } from './utils/text-icon-layout';\nimport { SceneProxy } from './group-creater/progress/proxy';\nimport { SortOrder } from '../state/state';\nimport type { ListTable } from '../ListTable';\nimport type { TooltipOptions } from '../ts-types/tooltip';\nimport { computeColWidth, computeColsWidth } from './layout/compute-col-width';\nimport { getStyleTheme } from './group-creater/column-helper';\nimport { moveHeaderPosition } from './layout/move-cell';\nimport { updateCell } from './group-creater/cell-helper';\nimport type { BaseTableAPI } from '../ts-types/base-table';\n\ncontainer.load(splitModule);\n\nconst groupForDebug = new Group({});\ngroupForDebug.role = 'empty';\n/**\n * @description: 表格场景树,存储和管理表格全部的场景图元\n * @return {*}\n */\nexport class Scenegraph {\n proxy: SceneProxy;\n tableGroup: Group; // 表格全局Group\n colHeaderGroup: Group; // 列表头Group\n cornerHeaderGroup: Group; // 列表头冻结列Group\n rowHeaderGroup: Group; // 行表头Group\n bodyGroup: Group; // 内容Group\n componentGroup: Group; // 表格外组件Group\n /** 所有选中区域对应的选框组件 */\n selectedRangeComponents: Map<string, { rect: IRect; role: CellType }>;\n /** 当前正在选择区域对应的选框组件 为什么是map 以为可能一个选中区域会被拆分为多个rect组件 三块表头和body都分别对应不同组件*/\n selectingRangeComponents: Map<string, { rect: IRect; role: CellType }>;\n lastSelectId: string;\n component: TableComponent;\n stage: IStage;\n table: BaseTableAPI;\n isPivot: boolean;\n transpose: boolean;\n hasFrozen: boolean; // 是否已经处理冻结列,用在getCell判断是否从cornerHeaderGroup获取cellGroup\n frozenColCount: number;\n frozenRowCount: number;\n clear: boolean;\n\n constructor(table: BaseTableAPI) {\n this.table = table;\n this.hasFrozen = false;\n this.clear = true;\n\n this.stage = createStage({\n canvas: table.canvas,\n width: table.canvas.width,\n height: table.canvas.height,\n disableDirtyBounds: false,\n background: table.theme.underlayBackgroundColor\n });\n\n this.stage.defaultLayer.setTheme({\n group: {\n boundsPadding: 0,\n strokeBoundsBuffer: 0,\n lineJoin: 'round'\n }\n });\n this.initSceneGraph();\n this.stage.defaultLayer.add(this.tableGroup);\n\n (this.stage as any).table = this.table;\n\n this.createComponent();\n }\n\n get width(): number {\n return this.tableGroup.attribute?.width ?? 0;\n }\n\n get height(): number {\n return this.tableGroup.attribute?.height ?? 0;\n }\n\n get x(): number {\n return this.tableGroup.attribute?.x ?? 0;\n }\n\n get y(): number {\n return this.tableGroup.attribute?.y ?? 0;\n }\n\n get bodyRowStart(): number {\n if (this.transpose || this.isPivot) {\n return this.table.columnHeaderLevelCount;\n }\n return this.proxy.rowStart ?? 0;\n }\n\n get bodyRowEnd(): number {\n if (this.transpose || this.isPivot) {\n return this.table.rowCount - 1;\n }\n return this.proxy.rowEnd ?? 0;\n }\n\n /**\n * @description: 初始化场景树结构\n * @return {*}\n */\n initSceneGraph() {\n this.isPivot = this.table.isPivotTable();\n this.transpose = (this.table.options as any).transpose; // 初始化时this.table.transpose还未赋值\n\n const width = this.table.tableNoFrameWidth;\n const height = this.table.tableNoFrameHeight;\n\n this.tableGroup = new Group({ x: 0, y: 0, width, height, clip: true, pickable: false });\n this.tableGroup.role = 'table';\n\n const colHeaderGroup = new Group({\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n clip: false,\n pickable: false\n });\n colHeaderGroup.role = 'col-header';\n this.colHeaderGroup = colHeaderGroup;\n\n const cornerHeaderGroup = new Group({\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n clip: false,\n pickable: false\n });\n cornerHeaderGroup.role = 'corner-header';\n this.cornerHeaderGroup = cornerHeaderGroup;\n\n const rowHeaderGroup = new Group({\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n clip: false,\n pickable: false\n });\n rowHeaderGroup.role = 'row-header';\n this.rowHeaderGroup = rowHeaderGroup;\n\n const bodyGroup = new Group({\n x: 0,\n y: 0,\n width,\n height: 0,\n clip: false,\n pickable: false\n });\n bodyGroup.role = 'body';\n this.bodyGroup = bodyGroup;\n\n const componentGroup = new Group({\n x: 0,\n y: 0,\n width: 0,\n height: 0,\n clip: false,\n pickable: false,\n childrenPickable: true\n });\n componentGroup.role = 'component';\n this.componentGroup = componentGroup;\n\n this.tableGroup.addChild(bodyGroup);\n this.tableGroup.addChild(rowHeaderGroup);\n this.tableGroup.addChild(colHeaderGroup);\n this.tableGroup.addChild(cornerHeaderGroup);\n this.tableGroup.addChild(componentGroup);\n }\n\n /**\n * @description: 初始化表格外组件\n * @return {*}\n */\n createComponent() {\n this.component = new TableComponent(this.table);\n this.component.addToGroup(this.componentGroup);\n this.selectedRangeComponents = new Map();\n this.selectingRangeComponents = new Map();\n }\n\n /**\n * @description: 依据数据创建表格场景树\n * @return {*}\n */\n createSceneGraph() {\n this.clear = false;\n computeColsWidth(this.table);\n\n this.frozenColCount = this.table.rowHeaderLevelCount;\n this.frozenRowCount = this.table.columnHeaderLevelCount;\n\n this.proxy = new SceneProxy(this.table);\n\n // 首屏表头全量\n this.createHeaderSceneGraph();\n // body生成首屏\n if (this.transpose || this.isPivot) {\n this.createBodySceneGraph();\n } else {\n this.createBodySceneGraphForFirstScreen();\n }\n }\n\n createHeaderSceneGraph() {\n createCornerHeaderColGroup(this.cornerHeaderGroup, 0, 0, this.table);\n this.colHeaderGroup.setAttribute('x', this.cornerHeaderGroup.attribute.width);\n createColHeaderColGroup(this.colHeaderGroup, 0, 0, this.table);\n }\n\n createBodySceneGraph() {\n // 依据列表头高度更新行表头Group y\n this.rowHeaderGroup.setAttribute('y', this.colHeaderGroup.attribute.height);\n createRowHeaderColGroup(this.rowHeaderGroup, 0, 0, this.table);\n\n // 依据列表头高度和行表头宽度,更新内容Group xy\n this.bodyGroup.setAttributes({\n y: this.colHeaderGroup.attribute.height,\n x: this.rowHeaderGroup.attribute.width\n });\n createBodyColGroup(this.bodyGroup, 0, 0, this.table);\n this.afterScenegraphCreated();\n }\n\n createBodySceneGraphForFirstScreen() {\n // 依据列表头高度更新行表头Group y\n this.rowHeaderGroup.setAttribute('y', this.colHeaderGroup.attribute.height);\n // createRowHeaderColGroup(this.rowHeaderGroup, 0, 0, this.table);\n // this.proxy.createBodyColGroupForFirstScreen(this.rowHeaderGroup, 0, 0, this.table, 'rowHeader');\n\n // 依据列表头高度和行表头宽度,更新内容Group xy\n this.bodyGroup.setAttributes({\n y: this.colHeaderGroup.attribute.height,\n x: this.rowHeaderGroup.attribute.width\n });\n console.log('before-createBodyColGroupForFirstScreen');\n this.proxy.createColGroupForFirstScreen(this.rowHeaderGroup, this.bodyGroup, 0, 0, this.table);\n console.log('after-createBodyColGroupForFirstScreen');\n this.afterScenegraphCreated();\n }\n\n /**\n * @description: 绘制场景树\n * @param {any} element\n * @param {CellRange} visibleCoord\n * @return {*}\n */\n renderSceneGraph() {\n this.stage.render();\n }\n\n /**\n * @description: 获取指定行列位置的cell group\n * @param {number} col\n * @param {number} row\n * @return {Group}\n */\n getCellOld(col: number, row: number): Group {\n // hasFrozen处理前,列表头的冻结部分在colHeaderGroup中\n // hasFrozen处理后,列表头的冻结部分在cornerHeaderGroup中\n // 因此在获取cell时需要区别hasFrozen时机\n let element: Group;\n if (this.hasFrozen && col < this.table.frozenColCount && row < this.table.frozenRowCount) {\n element = this.cornerHeaderGroup.getChildAt(col)?.getChildAt(row) as Group;\n } else if (row < this.table.frozenRowCount) {\n // element = (this as any).tableGroup.children[0]?.children[col]?.children[row];\n element = this.colHeaderGroup\n .getChildAt(this.hasFrozen ? col - this.table.frozenColCount : col)\n ?.getChildAt(row) as Group;\n } else if (col < this.table.frozenColCount) {\n // element = (this as any).tableGroup.children[1]?.children[col]?.children[\n // row - this.table.frozenRowCount\n // ];\n element = this.rowHeaderGroup.getChildAt(col)?.getChildAt(row - this.table.frozenRowCount) as Group;\n } else {\n // element = (this as any).tableGroup.children[2]?.children[col - this.table.frozenColCount]\n // ?.children[row - this.table.frozenRowCount];\n element = this.bodyGroup\n .getChildAt(col - this.table.frozenColCount)\n ?.getChildAt(row - this.table.frozenRowCount) as Group;\n }\n\n if (element && element.role === 'shadow-cell') {\n const range = this.table.getCellRange(col, row);\n element = this.getCell(range.start.col, range.start.row);\n }\n\n return element || undefined;\n }\n\n getColGroupOld(col: number, isHeader = false): Group {\n let element: Group;\n if (col < this.frozenColCount && isHeader) {\n element = this.cornerHeaderGroup.getChildAt(col) as Group;\n } else if (col < this.frozenColCount) {\n element = this.rowHeaderGroup.getChildAt(col) as Group;\n } else if (isHeader) {\n element = this.rowHeaderGroup.getChildAt(col - this.frozenColCount) as Group;\n } else {\n element = this.bodyGroup.getChildAt(col - this.frozenColCount) as Group;\n }\n return element || undefined;\n }\n\n /**\n * @description: 获取指定行列位置的cell group\n * @param {number} col\n * @param {number} row\n * @return {Group}\n */\n getCell(col: number, row: number, getShadow?: boolean): Group {\n // hasFrozen处理前,列表头的冻结部分在colHeaderGroup中\n // hasFrozen处理后,列表头的冻结部分在cornerHeaderGroup中\n // 因此在获取cell时需要区别hasFrozen时机\n let cell = this.getColGroup(col, row < this.frozenRowCount)?.getRowGroup(row);\n if (cell && cell.role === 'shadow-cell' && !getShadow) {\n const range = this.table.getCellRange(col, row);\n cell = this.getCell(range.start.col, range.start.row);\n }\n\n return cell || groupForDebug;\n }\n\n getColGroup(col: number, isCornerOrColHeader = false): Group {\n let element: Group;\n if (col < this.frozenColCount && isCornerOrColHeader) {\n element = this.cornerHeaderGroup.getColGroup(col) as Group;\n } else if (col < this.frozenColCount) {\n element = this.rowHeaderGroup.getColGroup(col) as Group;\n } else if (isCornerOrColHeader) {\n element = this.colHeaderGroup.getColGroup(col) as Group;\n } else {\n element = this.bodyGroup.getColGroup(col) as Group;\n }\n return element || undefined;\n }\n\n /**\n * @description: 获取指定行列位置的cell的宽高,主要处理merge情况\n * @param {number} col\n * @param {number} row\n * @return {Group}\n */\n getCellSize(col: number, row: number): { width: number; height: number } {\n const cell = this.getCell(col, row);\n const mergeInfo = getCellMergeInfo(this.table, col, row);\n let width = cell.attribute.width;\n let height = cell.attribute.height;\n if (mergeInfo) {\n width = width / (mergeInfo.end.col - mergeInfo.start.col + 1);\n height = height / (mergeInfo.end.row - mergeInfo.start.row + 1);\n }\n return { width, height };\n }\n\n /**\n * @description: 触发下一帧渲染\n * @return {*}\n */\n updateNextFrame() {\n // to do\n // this.table.invalidate();\n this.resetAllSelectComponent();\n\n this.stage.renderNextFrame();\n }\n resetAllSelectComponent() {\n this.selectingRangeComponents.forEach((selectComp: { rect: IRect; role: CellType }, key: string) => {\n const [startCol, startRow, endCol, endRow] = key.split('-');\n let cellsBounds;\n for (let i = parseInt(startCol, 10); i <= parseInt(endCol, 10); i++) {\n for (let j = parseInt(startRow, 10); j <= parseInt(endRow, 10); j++) {\n const cellGroup = this.getCell(i, j);\n cellGroup.AABBBounds.width(); // hack: globalAABBBounds可能不会自动更新,这里强制更新一下\n const bounds = cellGroup.globalAABBBounds;\n if (!cellsBounds) {\n cellsBounds = bounds;\n } else {\n cellsBounds.union(bounds);\n }\n }\n }\n selectComp.rect.setAttributes({\n x: cellsBounds.x1 - this.tableGroup.attribute.x,\n y: cellsBounds.y1 - this.tableGroup.attribute.y,\n width: cellsBounds.width(),\n height: cellsBounds.height(),\n visible: true\n });\n\n //#region 判断是不是按着表头部分的选中框 因为绘制层级的原因 线宽会被遮住一半,因此需要动态调整层级\n const isNearRowHeader =\n // this.table.scrollLeft === 0 &&\n parseInt(startCol, 10) === this.table.frozenColCount;\n const isNearColHeader =\n // this.table.scrollTop === 0 &&\n parseInt(startRow, 10) === this.table.frozenRowCount;\n if (\n (isNearRowHeader && selectComp.rect.attribute.stroke[3]) ||\n (isNearColHeader && selectComp.rect.attribute.stroke[0])\n ) {\n if (isNearRowHeader) {\n this.tableGroup.insertAfter(\n selectComp.rect,\n selectComp.role === 'columnHeader' ? this.cornerHeaderGroup : this.rowHeaderGroup\n );\n }\n if (isNearColHeader) {\n this.tableGroup.insertAfter(\n selectComp.rect,\n selectComp.role === 'rowHeader' ? this.cornerHeaderGroup : this.colHeaderGroup\n );\n }\n //#region 调整层级后 滚动情况下会出现绘制范围出界 如body的选中框 渲染在了rowheader上面,所有需要调整选中框rect的 边界\n if (\n selectComp.rect.attribute.x < this.rowHeaderGroup.attribute.width &&\n this.table.scrollLeft > 0 &&\n (selectComp.role === 'body' || selectComp.role === 'columnHeader')\n ) {\n selectComp.rect.setAttributes({\n x: selectComp.rect.attribute.x + (this.rowHeaderGroup.attribute.width - selectComp.rect.attribute.x),\n width: selectComp.rect.attribute.width - (this.rowHeaderGroup.attribute.width - selectComp.rect.attribute.x)\n });\n }\n if (\n selectComp.rect.attribute.y < this.colHeaderGroup.attribute.height &&\n this.table.scrollTop > 0 &&\n (selectComp.role === 'body' || selectComp.role === 'rowHeader')\n ) {\n selectComp.rect.setAttributes({\n y: selectComp.rect.attribute.y + (this.colHeaderGroup.attribute.height - selectComp.rect.attribute.y),\n height:\n selectComp.rect.attribute.height - (this.colHeaderGroup.attribute.height - selectComp.rect.attribute.y)\n });\n }\n //#endregion\n } else {\n this.tableGroup.insertAfter(\n selectComp.rect,\n selectComp.role === 'body'\n ? this.bodyGroup\n : selectComp.role === 'columnHeader'\n ? this.colHeaderGroup\n : selectComp.role === 'rowHeader'\n ? this.rowHeaderGroup\n : this.cornerHeaderGroup\n );\n }\n //#endregion\n });\n this.selectedRangeComponents.forEach((selectComp: { rect: IRect; role: CellType }, key: string) => {\n const [startCol, startRow, endCol, endRow] = key.split('-');\n let cellsBounds;\n for (let i = parseInt(startCol, 10); i <= parseInt(endCol, 10); i++) {\n for (let j = parseInt(startRow, 10); j <= parseInt(endRow, 10); j++) {\n const cellGroup = this.getCell(i, j);\n cellGroup.AABBBounds.width(); // hack: globalAABBBounds可能不会自动更新,这里强制更新一下\n const bounds = cellGroup.globalAABBBounds;\n if (!cellsBounds) {\n cellsBounds = bounds;\n } else {\n cellsBounds.union(bounds);\n }\n }\n }\n selectComp.rect.setAttributes({\n x: cellsBounds.x1 - this.tableGroup.attribute.x,\n y: cellsBounds.y1 - this.tableGroup.attribute.y,\n width: cellsBounds.width(),\n height: cellsBounds.height(),\n visible: true\n });\n\n //#region 判断是不是按着表头部分的选中框 因为绘制层级的原因 线宽会被遮住一半,因此需要动态调整层级\n const isNearRowHeader =\n // this.table.scrollLeft === 0 &&\n parseInt(startCol, 10) === this.table.frozenColCount;\n const isNearColHeader =\n // this.table.scrollTop === 0 &&\n parseInt(startRow, 10) === this.table.frozenRowCount;\n if (\n (isNearRowHeader && selectComp.rect.attribute.stroke[3]) ||\n (isNearColHeader && selectComp.rect.attribute.stroke[0])\n ) {\n if (isNearRowHeader) {\n this.tableGroup.insertAfter(\n selectComp.rect,\n selectComp.role === 'columnHeader' ? this.cornerHeaderGroup : this.rowHeaderGroup\n );\n }\n if (isNearColHeader) {\n this.tableGroup.insertAfter(\n selectComp.rect,\n selectComp.role === 'rowHeader' ? this.cornerHeaderGroup : this.colHeaderGroup\n );\n }\n //#region 调整层级后 滚动情况下会出现绘制范围出界 如body的选中框 渲染在了rowheader上面,所有需要调整选中框rect的 边界\n if (\n selectComp.rect.attribute.x < this.rowHeaderGroup.attribute.width &&\n this.table.scrollLeft > 0 &&\n (selectComp.role === 'body' || selectComp.role === 'columnHeader')\n ) {\n selectComp.rect.setAttributes({\n x: selectComp.rect.attribute.x + (this.rowHeaderGroup.attribute.width - selectComp.rect.attribute.x),\n width: selectComp.rect.attribute.width - (this.rowHeaderGroup.attribute.width - selectComp.rect.attribute.x)\n });\n }\n if (\n selectComp.rect.attribute.y < this.colHeaderGroup.attribute.height &&\n this.table.scrollTop > 0 &&\n (selectComp.role === 'body' || selectComp.role === 'rowHeader')\n ) {\n selectComp.rect.setAttributes({\n y: selectComp.rect.attribute.y + (this.colHeaderGroup.attribute.height - selectComp.rect.attribute.y),\n height:\n selectComp.rect.attribute.height - (this.colHeaderGroup.attribute.height - selectComp.rect.attribute.y)\n });\n }\n //#endregion\n } else {\n this.tableGroup.insertAfter(\n selectComp.rect,\n selectComp.role === 'body'\n ? this.bodyGroup\n : selectComp.role === 'columnHeader'\n ? this.colHeaderGroup\n : selectComp.role === 'rowHeader'\n ? this.rowHeaderGroup\n : this.cornerHeaderGroup\n );\n }\n //#endregion\n });\n }\n\n removeInteractionBorder(col: number, row: number) {\n const cellGroup = this.getCell(col, row);\n cellGroup.setAttribute('highlightStroke', undefined);\n cellGroup.setAttribute('highlightStrokeArrayWidth', undefined);\n cellGroup.setAttribute('highlightStrokeArrayColor', undefined);\n }\n\n hideHoverIcon(col: number, row: number) {\n if (col === -1 || row === -1) {\n return;\n }\n const cellGroup = this.getCell(col, row);\n hideIcon(this, cellGroup, 'mouseenter_cell');\n }\n showHoverIcon(col: number, row: number) {\n if (col === -1 || row === -1) {\n return;\n }\n const cellGroup = this.getCell(col, row);\n showIcon(this, cellGroup, 'mouseenter_cell');\n }\n hideClickIcon(col: number, row: number) {\n if (col === -1 || row === -1) {\n return;\n }\n const cellGroup = this.getCell(col, row);\n hideIcon(this, cellGroup, 'click_cell');\n }\n showClickIcon(col: number, row: number) {\n if (col === -1 || row === -1) {\n return;\n }\n const cellGroup = this.getCell(col, row);\n showIcon(this, cellGroup, 'click_cell');\n }\n /**\n * 单元格失焦 失效该单元格对应的图表实例\n * @param col\n * @param row\n * @returns\n */\n deactivateChart(col: number, row: number) {\n if (col === -1 || row === -1) {\n return;\n }\n const cellGroup = this.getCell(col, row);\n (cellGroup?.firstChild as any)?.deactivate?.();\n }\n /**\n * hover 到单元格上 激活该单元格对应的图表实例\n * @param col\n * @param row\n * @returns\n */\n activateChart(col: number, row: number) {\n if (col === -1 || row === -1) {\n return;\n }\n const cellGroup = this.getCell(col, row);\n (cellGroup?.firstChild as any)?.activate?.(this.table);\n }\n\n createCellSelectBorder(\n start_Col: number,\n start_Row: number,\n end_Col: number,\n end_Row: number,\n selectRangeType: CellType,\n selectId: string, //整体区域${endRow}-${startCol}${startRow}${endCol}${endRow}作为其编号\n strokes?: boolean[]\n ) {\n const startCol = Math.min(start_Col, end_Col);\n const startRow = Math.min(start_Row, end_Row);\n const endCol = Math.max(start_Col, end_Col);\n const endRow = Math.max(start_Row, end_Row);\n\n let cellsBounds;\n for (let i = startCol; i <= endCol; i++) {\n for (let j = startRow; j <= endRow; j++) {\n const cellGroup = this.getCell(i, j);\n if (cellGroup.role === 'shadow-cell') {\n continue;\n }\n const bounds = cellGroup.globalAABBBounds;\n if (!cellsBounds) {\n cellsBounds = bounds;\n } else {\n cellsBounds.union(bounds);\n }\n }\n }\n\n const theme = this.table.theme;\n // 框选外边框\n const bodyClickBorderColor = theme.selectionStyle?.cellBorderColor;\n const bodyClickLineWidth = theme.selectionStyle?.cellBorderLineWidth;\n const rect = createRect({\n pickable: false,\n fill: true,\n fillColor: (theme.selectionStyle?.cellBgColor as any) ?? 'rgba(0, 0, 255,0.1)',\n strokeColor: bodyClickBorderColor as string,\n lineWidth: bodyClickLineWidth as number,\n stroke: strokes,\n x: cellsBounds.x1 - this.tableGroup.attribute.x,\n y: cellsBounds.y1 - this.tableGroup.attribute.y,\n width: cellsBounds.width(),\n height: cellsBounds.height(),\n visible: true\n });\n this.lastSelectId = selectId;\n this.selectingRangeComponents.set(`${startCol}-${startRow}-${endCol}-${endRow}-${selectId}`, {\n rect,\n role: selectRangeType\n });\n this.tableGroup.insertAfter(\n rect,\n selectRangeType === 'body'\n ? this.bodyGroup\n : selectRangeType === 'columnHeader'\n ? this.colHeaderGroup\n : selectRangeType === 'rowHeader'\n ? this.rowHeaderGroup\n : this.cornerHeaderGroup\n );\n }\n moveSelectingRangeComponentsToSelectedRangeComponents() {\n this.selectingRangeComponents.forEach((rangeComponent, key) => {\n if (this.selectedRangeComponents.get(key)) {\n this.selectedRangeComponents.get(key).rect.delete();\n }\n this.selectedRangeComponents.set(key, rangeComponent);\n });\n this.selectingRangeComponents = new Map();\n this.updateNextFrame();\n }\n /** 按住shift 则继续上次选中范围 需要将现有的删除掉 */\n deleteLastSelectedRangeComponents() {\n this.selectedRangeComponents.forEach((selectComp: { rect: IRect; role: CellType }, key: string) => {\n const lastSelectId = key.split('-')[4];\n if (lastSelectId === this.lastSelectId) {\n selectComp.rect.delete();\n this.selectedRangeComponents.delete(key);\n }\n });\n }\n deleteAllSelectBorder() {\n this.selectedRangeComponents.forEach((selectComp: { rect: IRect; role: CellType }, key: string) => {\n selectComp.rect.delete();\n });\n this.selectedRangeComponents = new Map();\n }\n\n updateCellSelectBorder(newStartCol: number, newStartRow: number, newEndCol: number, newEndRow: number) {\n let startCol = Math.min(newEndCol, newStartCol);\n let startRow = Math.min(newEndRow, newStartRow);\n let endCol = Math.max(newEndCol, newStartCol);\n let endRow = Math.max(newEndRow, newStartRow);\n //#region region 校验四周的单元格有没有合并的情况,如有则扩大范围\n const extendSelectRange = () => {\n let isExtend = false;\n for (let col = startCol; col <= endCol; col++) {\n if (col === startCol) {\n for (let row = startRow; row <= endRow; row++) {\n const mergeInfo = getCellMergeInfo(this.table, col, row);\n if (mergeInfo && mergeInfo.start.col < startCol) {\n startCol = mergeInfo.start.col;\n isExtend = true;\n break;\n }\n }\n }\n if (!isExtend && col === endCol) {\n for (let row = startRow; row <= endRow; row++) {\n const mergeInfo = getCellMergeInfo(this.table, col, row);\n if (mergeInfo && mergeInfo.end.col > endCol) {\n endCol = mergeInfo.end.col;\n isExtend = true;\n break;\n }\n }\n }\n\n if (isExtend) {\n break;\n }\n }\n if (!isExtend) {\n for (let row = startRow; row <= endRow; row++) {\n if (row === startRow) {\n for (let col = startCol; col <= endCol; col++) {\n const mergeInfo = getCellMergeInfo(this.table, col, row);\n if (mergeInfo && mergeInfo.start.row < startRow) {\n startRow = mergeInfo.start.row;\n isExtend = true;\n break;\n }\n }\n }\n if (!isExtend && row === endRow) {\n for (let col = startCol; col <= endCol; col++) {\n const mergeInfo = getCellMergeInfo(this.table, col, row);\n if (mergeInfo && mergeInfo.end.row > endRow) {\n endRow = mergeInfo.end.row;\n isExtend = true;\n break;\n }\n }\n }\n\n if (isExtend) {\n break;\n }\n }\n }\n if (isExtend) {\n extendSelectRange();\n }\n };\n extendSelectRange();\n //#endregion\n this.selectingRangeComponents.forEach((selectComp: { rect: IRect; role: CellType }, key: string) => {\n selectComp.rect.delete();\n });\n this.selectingRangeComponents = new Map();\n\n let needRowHeader = false;\n let needColumnHeader = false;\n let needBody = false;\n let needCornerHeader = false;\n if (startCol <= this.table.frozenColCount - 1 && startRow <= this.table.frozenRowCount - 1) {\n needCornerHeader = true;\n }\n if (startCol <= this.table.frozenColCount - 1 && endRow >= this.table.frozenRowCount) {\n needRowHeader = true;\n }\n if (startRow <= this.table.frozenRowCount - 1 && endCol >= this.table.frozenColCount) {\n needColumnHeader = true;\n }\n if (endCol >= this.table.frozenColCount && endRow >= this.table.frozenRowCount) {\n needBody = true;\n }\n\n // TODO 可以尝试不拆分三个表头和body【前提是theme中合并配置】 用一个SelectBorder 需要结合clip,并动态设置border的范围【依据区域范围 已经是否跨表头及body】\n if (needCornerHeader) {\n const cornerEndCol = Math.min(endCol, this.table.frozenColCount - 1);\n const cornerEndRow = Math.min(endRow, this.table.frozenRowCount - 1);\n const strokeArray = [true, !needColumnHeader, !needRowHeader, true];\n this.createCellSelectBorder(\n startCol,\n startRow,\n cornerEndCol,\n cornerEndRow,\n 'cornerHeader',\n `${startCol}${startRow}${endCol}${endRow}`,\n strokeArray\n );\n }\n if (needColumnHeader) {\n const columnHeaderStartCol = Math.max(startCol, this.table.frozenColCount);\n const columnHeaderEndRow = Math.min(endRow, this.table.frozenRowCount - 1);\n const strokeArray = [true, true, !needBody, !needCornerHeader];\n this.createCellSelectBorder(\n columnHeaderStartCol,\n startRow,\n endCol,\n columnHeaderEndRow,\n 'columnHeader',\n `${startCol}${startRow}${endCol}${endRow}`,\n strokeArray\n );\n }\n if (needRowHeader) {\n const columnHeaderStartRow = Math.max(startRow, this.table.frozenRowCount);\n const columnHeaderEndCol = Math.min(endCol, this.table.frozenColCount - 1);\n const strokeArray = [!needCornerHeader, !needBody, true, true];\n this.createCellSelectBorder(\n startCol,\n columnHeaderStartRow,\n columnHeaderEndCol,\n endRow,\n 'rowHeader',\n `${startCol}${startRow}${endCol}${endRow}`,\n strokeArray\n );\n }\n if (needBody) {\n const columnHeaderStartCol = Math.max(startCol, this.table.frozenColCount);\n const columnHeaderStartRow = Math.max(startRow, this.table.frozenRowCount);\n const strokeArray = [!needColumnHeader, true, true, !needRowHeader];\n this.createCellSelectBorder(\n columnHeaderStartCol,\n columnHeaderStartRow,\n endCol,\n endRow,\n 'body',\n `${startCol}${startRow}${endCol}${endRow}`,\n strokeArray\n );\n }\n }\n // hideCellsSelectBorder() {\n // this.component.selectBorder.setAttribute('visible', false);\n // }\n\n /**\n * @description: 获取指定单元格指定位置的icon mark\n * @param {number} col\n * @param {number} row\n * @param {number} x\n * @param {number} y\n * @return {*}\n */\n getIcon(col: number, row: number, x: number, y: number): Icon | undefined {\n const cellGroup = this.getCell(col, row);\n let pickMark;\n cellGroup.forEachChildren((mark: Icon) => {\n if (mark.role === 'icon' && mark.containsPoint(x, y, IContainPointMode.GLOBAL)) {\n pickMark = mark;\n }\n });\n return pickMark;\n }\n\n /**\n * @description: 将指定icon mark设置为Hover样式\n * @param {Icon} icon\n * @param {number} col\n * @param {number} row\n * @return {*}\n */\n setIconHoverStyle(icon: Icon, col: number, row: number, cellGroup: Group) {\n // hover展示背景\n if (icon.attribute.backgroundColor) {\n let iconBack = icon.parent.getChildByName('icon-back') as IRect;\n if (iconBack) {\n iconBack.setAttributes({\n x: (icon.attribute.x ?? 0) + (icon.attribute.dx ?? 0) + (icon.AABBBounds.width() - icon.backgroundWidth) / 2,\n y: (icon.attribute.y ?? 0) + (icon.AABBBounds.height() - icon.backgroundHeight) / 2,\n width: icon.backgroundWidth,\n height: icon.backgroundHeight,\n fillColor: icon.attribute.backgroundColor,\n borderRadius: 5,\n visible: true\n });\n } else {\n iconBack = createRect({\n x: (icon.attribute.x ?? 0) + (icon.attribute.dx ?? 0) + (icon.AABBBounds.width() - icon.backgroundWidth) / 2,\n y: (icon.attribute.y ?? 0) + (icon.AABBBounds.height() - icon.backgroundHeight) / 2,\n width: icon.backgroundWidth,\n height: icon.backgroundHeight,\n fillColor: icon.attribute.backgroundColor,\n borderRadius: 5,\n pickable: false,\n visible: true\n }) as IRect;\n iconBack.name = 'icon-back';\n // cellGroup.appendChild(iconBack);\n }\n icon.parent.insertBefore(iconBack, icon);\n }\n\n // hover更换图片\n if (icon.attribute.hoverImage && icon.attribute.image !== icon.attribute.hoverImage) {\n icon.image = icon.attribute.hoverImage;\n }\n\n // hover展示tooltip\n if (icon.tooltip) {\n const { x1: left, x2: right, y1: top, y2: bottom } = icon.globalAABBBounds;\n const tooltipOptions: TooltipOptions = {\n content: icon.tooltip.title,\n referencePosition: {\n rect: {\n left: left - this.table.tableX,\n right: right - this.table.tableX,\n top: top - this.table.tableY,\n bottom: bottom - this.table.tableY,\n width: icon.globalAABBBounds.width(),\n height: icon.globalAABBBounds.height()\n },\n placement: icon.tooltip.placement\n },\n style: Object.assign({}, this.table.internalProps.theme?.tooltipStyle, icon.tooltip?.style)\n };\n if (!this.table.internalProps.tooltipHandler.isBinded(tooltipOptions)) {\n this.table.showTooltip(col, row, tooltipOptions);\n }\n }\n }\n\n /**\n * @description: 将指定icon mark设置为Normal样式\n * @param {Icon} icon\n * @param {number} col\n * @param {number} row\n * @return {*}\n */\n setIconNormalStyle(icon: Icon, col: number, row: number) {\n const iconBack = icon.parent.getChildByName('icon-back') as IRect;\n if (iconBack) {\n iconBack.setAttribute('visible', false);\n }\n\n // hover更换图片\n if (icon.attribute.hoverImage && icon.attribute.image !== icon.attribute.originImage) {\n icon.image = icon.attribute.originImage;\n }\n }\n\n /**\n * @description: 列宽调整结果更新列宽\n * @param {number} col\n * @param {number} detaX 改变的宽度值\n * @return {*}\n */\n updateColWidth(col: number, detaX: number) {\n updateColWidth(this, col, detaX);\n this.updateContainerWidth(col, detaX);\n }\n\n updateAutoColWidth(col: number) {\n const oldWidth = this.table.getColWidth(col);\n const newWidth = computeColWidth(col, 0, this.table.rowCount - 1, this.table, true);\n if (newWidth !== oldWidth) {\n this.updateColWidth(col, newWidth - oldWidth);\n }\n }\n\n updateTableSize() {\n this.tableGroup.setAttributes({\n width: Math.min(\n this.table.tableNoFrameWidth,\n Math.max(this.colHeaderGroup.attribute.width, this.bodyGroup.attribute.width, 0) +\n Math.max(this.cornerHeaderGroup.attribute.width, this.rowHeaderGroup.attribute.width, 0)\n ),\n height: Math.min(\n this.table.tableNoFrameHeight,\n (this.colHeaderGroup.attribute.height ?? 0) + (this.bodyGroup.attribute.height ?? 0)\n )\n } as any);\n\n if (this.tableGroup.border) {\n this.tableGroup.border.setAttributes({\n width: this.tableGroup.attribute.width + this.tableGroup.border.attribute.lineWidth,\n height: this.tableGroup.attribute.height + this.tableGroup.border.attribute.lineWidth\n });\n }\n }\n\n updateRowHeight(row: number, detaY: number) {\n updateRowHeight(this, row, detaY);\n this.updateContainerHeight(row, detaY);\n }\n\n /**\n * @description: 更新table&header&body高度\n * @return {*}\n */\n updateContainerWidth(col: number, detaX: number) {\n // 更新table/header/border宽度\n if (col < this.frozenColCount) {\n this.rowHeaderGroup.setDeltaWidth(detaX);\n this.cornerHeaderGroup.setDeltaWidth(detaX);\n this.colHeaderGroup.setDeltaX(detaX);\n this.bodyGroup.setDeltaX(detaX);\n } else {\n this.colHeaderGroup.setDeltaWidth(detaX);\n this.bodyGroup.setDeltaWidth(detaX);\n }\n\n this.updateTableSize();\n this.component.updateScrollBar();\n\n this.updateNextFrame();\n }\n\n /**\n * @description: 更新table&header&body高度\n * @return {*}\n */\n updateContainerHeight(row: number, detaY: number) {\n // 更新table/header/border高度\n if (row < this.frozenRowCount) {\n this.colHeaderGroup.setDeltaHeight(detaY);\n this.cornerHeaderGroup.setDeltaHeight(detaY);\n this.rowHeaderGroup.setDeltaY(detaY);\n this.bodyGroup.setDeltaY(detaY);\n } else {\n this.rowHeaderGroup.setDeltaHeight(detaY);\n this.bodyGroup.setDeltaHeight(detaY);\n }\n\n this.updateTableSize();\n this.component.updateScrollBar();\n\n this.updateNextFrame();\n }\n setColWidth(col: number, width: number) {\n const oldWidth = this.table.getColWidth(col);\n if (oldWidth === width) {\n return;\n }\n this.updateColWidth(col, width - oldWidth);\n }\n\n setRowHeight(row: number, height: number) {\n const oldHeight = this.table.getRowHeight(row);\n this.updateRowHeight(row, height - oldHeight);\n }\n\n /**\n * @description: 设置表格的x位置,滚动中使用\n * @param {number} x\n * @return {*}\n */\n setX(x: number) {\n if (this.colHeaderGroup.attribute.width + x === this.bodyGroup.attribute.x) {\n return;\n }\n // this.tableGroup.setAttribute('x', x);\n // this.tableGroup.setAttribute('width', this.table.tableNoFrameWidth - x);\n this.bodyGroup.setAttribute('x', this.rowHeaderGroup.attribute.width + x);\n this.colHeaderGroup.setAttribute('x', this.rowHeaderGroup.attribute.width + x);\n\n // (this.tableGroup.lastChild as any).setAttribute('width', this.table.tableNoFrameWidth - x);\n this.updateNextFrame();\n }\n\n /**\n * @description: 更新表格的y位置,滚动中使用\n * @param {number} y\n * @return {*}\n */\n setY(y: number) {\n if (this.transpose || this.isPivot) {\n if (this.colHeaderGroup.attribute.height + y === this.bodyGroup.attribute.y) {\n return;\n }\n this.bodyGroup.setAttribute('y', this.colHeaderGroup.attribute.height + y);\n this.rowHeaderGroup.setAttribute('y', this.colHeaderGroup.attribute.height + y);\n // this.tableGroup.setAttribute('height', this.table.tableNoFrameHeight - y);\n // (this.tableGroup.lastChild as any).setAttribute('width', this.table.tableNoFrameWidth - x);\n this.updateNextFrame();\n } else if (this.table.scenegraph.proxy) {\n this.table.scenegraph.proxy.setY(-y);\n }\n }\n\n /**\n * @description: 更新表格的y位置,滚动中使用\n * @param {number} y\n * @return {*}\n */\n setBodyAndRowHeaderY(y: number) {\n if (this.colHeaderGroup.attribute.height + y === this.bodyGroup.attribute.y) {\n return;\n }\n this.bodyGroup.setAttribute('y', this.colHeaderGroup.attribute.height + y);\n this.rowHeaderGroup.setAttribute('y', this.colHeaderGroup.attribute.height + y);\n // this.tableGroup.setAttribute('height', this.table.tableNoFrameHeight - y);\n // (this.tableGroup.lastChild as any).setAttribute('width', this.table.tableNoFrameWidth - x);\n this.updateNextFrame();\n }\n\n /**\n * @description: 完成创建场景树节点后,处理自动行高列宽\n * @return {*}\n */\n afterScenegraphCreated() {\n // 对齐auto列宽\n // updateAutoColWidth(this);\n // 对齐autoWrapText\n const { autoRowHeight } = this.table.internalProps;\n if (autoRowHeight) {\n updateAutoRowHeight(this);\n }\n\n this.dealWidthMode();\n\n // 处理冻结\n this.dealFrozen();\n\n // 处理frame border\n this.createFrameBorder();\n\n // 更新滚动条状态\n this.component.updateScrollBar();\n }\n\n /**\n * @description: 处理宽度模式\n * @return {*}\n */\n dealWidthMode() {\n const table = this.table;\n if (table.widthMode === 'adaptive') {\n // 处理adaptive宽度\n // table._colRangeWidthsMap = new Map();\n // const canvasWidth = this.internalProps.canvas.width;\n const totalDrawWidth = table.tableNoFrameWidth;\n let actualWidth = 0;\n for (let col = 0; col < table.colCount; col++) {\n actualWidth += table.getColWidth(col);\n }\n const factor = totalDrawWidth / actualWidth;\n for (let col = 0; col < table.colCount; col++) {\n let colWidth;\n if (col === table.colCount - 1) {\n colWidth = totalDrawWidth - table.getColsWidth(0, table.colCount - 2);\n } else {\n colWidth = Math.round(table.getColWidth(col) * factor);\n }\n this.setColWidth(col, colWidth);\n }\n } else if (table.widthMode === 'standard-aeolus' && this.transpose) {\n // 处理风神列宽特殊逻辑\n // table._colRangeWidthsMap = new Map();\n const canvasWidth = table.tableNoFrameWidth;\n let actualWidth = 0;\n let actualHeaderWidth = 0;\n for (let col = 0; col < table.colCount; col++) {\n const colWidth = table.getColWidth(col);\n if (col < table.frozenColCount) {\n actualHeaderWidth += colWidth;\n }\n\n actualWidth += colWidth;\n }\n\n // 如果内容宽度小于canvas宽度,执行adaptive放大\n if (actualWidth < canvasWidth && actualWidth - actualHeaderWidth > 0) {\n const factor = (canvasWidth - actualHeaderWidth) / (actualWidth - actualHeaderWidth);\n for (let col = table.frozenColCount; col < table.colCount; col++) {\n this.setColWidth(col, table.getColWidth(col) * factor);\n }\n }\n }\n\n // 更新容器宽度\n let bodyWidth = 0;\n this.bodyGroup.forEachChildrenSkipChild((column: Group) => {\n bodyWidth += column.attribute.width;\n });\n this.bodyGroup.setAttribute('width', bodyWidth);\n let colHeaderWidth = 0;\n this.colHeaderGroup.forEachChildrenSkipChild((column: Group) => {\n colHeaderWidth += column.attribute.width;\n });\n this.colHeaderGroup.setAttribute('width', colHeaderWidth);\n let rowHeaderWidth = 0;\n this.rowHeaderGroup.forEachChildrenSkipChild((column: Group) => {\n rowHeaderWidth += column.attribute.width;\n });\n this.rowHeaderGroup.setAttribute('width', rowHeaderWidth);\n let cornerHeaderWidth = 0;\n this.cornerHeaderGroup.forEachChildrenSkipChild((column: Group) => {\n cornerHeaderWidth += column.attribute.width;\n });\n this.cornerHeaderGroup.setAttribute('width', cornerHeaderWidth);\n\n this.colHeaderGroup.setAttribute('x', this.cornerHeaderGroup.attribute.width);\n this.rowHeaderGroup.setAttribute('y', this.colHeaderGroup.attribute.height);\n this.bodyGroup.setAttributes({\n x: this.rowHeaderGroup.attribute.width,\n y: this.colHeaderGroup.attribute.height\n });\n }\n\n /**\n * @description: 处理冻结\n * @return {*}\n */\n dealFrozen() {\n if (this.table.frozenColCount > this.table.rowHeaderLevelCount) {\n // 将对应列移入rowHeaderGroup\n this.rowHeaderGroup.setAttribute('height', this.bodyGroup.attribute.height);\n this.rowHeaderGroup.setAttribute('y', this.bodyGroup.attribute.y);\n this.cornerHeaderGroup.setAttribute('height', this.colHeaderGroup.attribute.height);\n for (let i = 0; i < this.table.frozenColCount - this.table.rowHeaderLevelCount; i++) {\n const column = this.bodyGroup.firstChild as Group;\n if (column) {\n this.rowHeaderGroup.appendChild(column);\n // 更新容器宽度\n this.rowHeaderGroup.setAttribute('width', this.rowHeaderGroup.attribute.width + column.attribute.width);\n this.bodyGroup.setAttribute('width', this.bodyGroup.attribute.width - column.attribute.width);\n }\n\n // 处理列表头\n const headerColumn = this.colHeaderGroup.firstChild as Group;\n if (headerColumn) {\n this.cornerHeaderGroup.appendChild(headerColumn);\n this.cornerHeaderGroup.setAttribute(\n 'width',\n this.cornerHeaderGroup.attribute.width + headerColumn.attribute.width\n );\n this.colHeaderGroup.setAttribute('width', this.colHeaderGroup.attribute.width - headerColumn.attribute.width);\n }\n }\n }\n this.bodyGroup.setAttribute('x', this.rowHeaderGroup.attribute.width);\n this.colHeaderGroup.setAttribute('x', this.cornerHeaderGroup.attribute.width);\n\n // 更新bodyGroup&colHeaderGroup剩余列位置\n const bodyDeltaX = (this.bodyGroup.firstChild as Group)?.attribute.x ?? 0;\n this.bodyGroup.forEachChildrenSkipChild((column: Group) => {\n column.setAttribute('x', column.attribute.x - bodyDeltaX);\n });\n const colDeltaX = (this.colHeaderGroup.firstChild as Group)?.attribute.x ?? 0;\n this.colHeaderGroup.forEachChildrenSkipChild((column: Group) => {\n column.setAttribute('x', column.attribute.x - colDeltaX);\n });\n\n this.updateBorderSizeAndPosition();\n\n if (!this.isPivot && !this.transpose) {\n this.component.setFrozenColumnShadow(this.table.frozenColCount - 1);\n }\n this.hasFrozen = true;\n\n // this.frozenColCount = this.rowHeaderGroup.childrenCount;\n this.frozenColCount = this.table.frozenColCount;\n this.frozenRowCount = this.colHeaderGroup.firstChild?.childrenCount ?? 0;\n }\n\n /**\n * @description: 还原冻结\n * @return {*}\n */\n resetFrozen() {\n if (this.frozenColCount > this.table.rowHeaderLevelCount) {\n // 将对应列移入rowHeaderGroup\n // this.rowHeaderGroup.setAttribute('height', this.bodyGroup.attribute.height);\n // this.cornerHeaderGroup.setAttribute('height', this.colHeaderGroup.attribute.height);\n for (let i = 0; i < this.frozenColCount - this.table.rowHeaderLevelCount; i++) {\n const column =\n this.rowHeaderGroup.lastChild instanceof Group\n ? this.rowHeaderGroup.lastChild\n : (this.rowHeaderGroup.lastChild._prev as Group);\n if (column) {\n this.bodyGroup.insertBefore(column, this.bodyGroup.firstChild);\n // 更新容器宽度\n this.bodyGroup.setAttribute('width', this.bodyGroup.attribute.width + column.attribute.width);\n this.rowHeaderGroup.setAttribute('width', this.rowHeaderGroup.attribute.width - column.attribute.width);\n }\n\n // 处理列表头\n const headerColumn =\n this.cornerHeaderGroup.lastChild instanceof Group\n ? this.cornerHeaderGroup.lastChild\n : (this.cornerHeaderGroup.lastChild._prev as Group);\n if (headerColumn) {\n this.colHeaderGroup.insertBefore(headerColumn, this.colHeaderGroup.firstChild);\n this.colHeaderGroup.setAttribute('width', this.colHeaderGroup.attribute.width + headerColumn.attribute.width);\n this.cornerHeaderGroup.setAttribute(\n 'width',\n this.cornerHeaderGroup.attribute.width - headerColumn.attribute.width\n );\n }\n }\n }\n this.bodyGroup.setAttribute('x', this.rowHeaderGroup.attribute.width);\n this.colHeaderGroup.setAttribute('x', this.cornerHeaderGroup.attribute.width);\n\n // 更新bodyGroup&colHeaderGroup剩余列位置\n let bodyX = 0;\n this.bodyGroup.forEachChildrenSkipChild((column: Group) => {\n column.setAttribute('x', bodyX);\n bodyX += column.attribute.width;\n });\n let colX = 0;\n this.colHeaderGroup.forEachChildrenSkipChild((column: Group) => {\n column.setAttribute('x', colX);\n colX += column.attribute.width;\n });\n\n this.updateBorderSizeAndPosition();\n\n if (!this.isPivot && !this.transpose) {\n this.component.setFrozenColumnShadow(this.table.frozenColCount - 1);\n }\n this.hasFrozen = true;\n\n // this.frozenColCount = this.rowHeaderGroup.childrenCount;\n this.frozenColCount = this.table.rowHeaderLevelCount;\n this.frozenRowCount = this.colHeaderGroup.firstChild?.childrenCount ?? 0;\n }\n\n /**\n * @description: 判断指定列更新宽度时,其中单元格是否会更新宽度;如果更新宽度,返回true\n * @param {Group} columnGroup\n * @param {number} detaRow columnGroup内的index与row的差值,列表头为0;行表头和内容为table.frozenRowCount\n * @param {number} col\n * @return {*}\n */\n updateCellLayoutWidthCertainWidth(columnGroup: Group, detaRow: number, col: number) {\n const width = columnGroup.attribute.width;\n let isUpdate = false;\n columnGroup.forEachChildren((cellGroup: Group, row: number) => {\n row += detaRow;\n const mergeInfo = getCellMergeInfo(this.table, col, row);\n if (mergeInfo) {\n cellGroup = this.getCell(mergeInfo.start.col, mergeInfo.start.row);\n // cellGroup.setAttribute('width', width);\n } else {\n cellGroup.setAttribute('width', width);\n }\n const headerStyle = this.table._getCellStyle(col, row);\n const padding = getPadding(getProp('padding', headerStyle, col, row, this.table));\n\n // const text = cellGroup.getChildAt(1) as WrapText;\n const text = cellGroup.getChildByName('text') as WrapText;\n let oldCellHeight = 0;\n let newCellHeight = 0;\n if (text) {\n oldCellHeight = text.AABBBounds.height() + (padding[0] + padding[2]);\n text.setAttribute('maxLineWidth', width - (padding[1] + padding[3]));\n newCellHeight = text.AABBBounds.height() + (padding[0] + padding[2]);\n } else {\n const group = cellGroup.getChildAt(1) as any;\n oldCellHeight = group.AABBBounds.height() + (padding[0] + padding[2]);\n group._cellWidth = width - (padding[1] + padding[3]);\n group.layout();\n newCellHeight = group.AABBBounds.height() + (padding[0] + padding[2]);\n }\n const rowHeight = this.table.getRowHeight(row);\n\n if (cellGroup.attribute.height !== newCellHeight) {\n cellGroup.setAttribute('height', newCellHeight);\n if (rowHeight === oldCellHeight) {\n // 当前行由本单元格高度撑起,更新本行行高\n isUpdate = true;\n } else if (newCellHeight > rowHeight) {\n // 当前行不由本单元格高度撑起,只在本单元格高度高于当前行高度时更新本行行高\n isUpdate = true;\n }\n }\n });\n return isUpdate;\n }\n\n /**\n * @description: 更新某列到其他列位置\n * @param {number} colSource 原始列col\n * @param {number} colTarget 目标列col\n * @return {*}\n */\n updateHeaderPosition(colSource: number, rowSource: number, colTarget: number, rowTarget: number) {\n moveHeaderPosition(colSource, rowSource, colTarget, rowTarget, this.table);\n }\n\n updateContainer() {\n // 更新各列x&col\n let cornerX = 0;\n this.cornerHeaderGroup.forEachChildrenSkipChild((column: Group, index) => {\n column.setAttribute('x', cornerX);\n cornerX += column.attribute.width;\n });\n let rowHeaderX = 0;\n this.rowHeaderGroup.forEachChildrenSkipChild((column: Group, index) => {\n column.setAttribute('x', rowHeaderX);\n rowHeaderX += column.attribute.width;\n });\n let colHeaderX = 0;\n this.colHeaderGroup.forEachChildrenSkipChild((column: Group, index) => {\n column.setAttribute('x', colHeaderX);\n colHeaderX += column.attribute.width;\n });\n let bodyX = 0;\n this.bodyGroup.forEachChildrenSkipChild((column: Group, index) => {\n column.setAttribute('x', bodyX);\n bodyX += column.attribute.width;\n });\n // 更新容器\n this.cornerHeaderGroup.setDeltaWidth(cornerX - this.cornerHeaderGroup.attribute.width);\n this.colHeaderGroup.setDeltaWidth(colHeaderX - this.colHeaderGroup.attribute.width);\n this.rowHeaderGroup.setDeltaWidth(rowHeaderX - this.rowHeaderGroup.attribute.width);\n this.bodyGroup.setDeltaWidth(bodyX - this.bodyGroup.attribute.width);\n\n this.colHeaderGroup.setAttribute('x', this.cornerHeaderGroup.attribute.width);\n this.bodyGroup.setAttribute('x', this.rowHeaderGroup.attribute.width);\n\n // 记录滚动条原位置\n const oldHorizontalBarPos = this.table.stateManeger.scroll.horizontalBarPos;\n const oldVerticalBarPos = this.table.stateManeger.scroll.verticalBarPos;\n this.component.updateScrollBar();\n this.table.stateManeger.setScrollLeft(oldHorizontalBarPos);\n this.table.stateManeger.setScrollTop(oldVerticalBarPos);\n this.updateNextFrame();\n }\n\n /**\n * @description: 清空全部单元格内容,用于setRecord\n * @return {*}\n */\n clearCells() {\n this.clear = true;\n this.hasFrozen = false;\n\n this.colHeaderGroup.clear();\n this.rowHeaderGroup.clear();\n this.cornerHeaderGroup.clear();\n this.bodyGroup.clear();\n\n this.colHeaderGroup.setAttributes({\n x: 0,\n y: 0,\n width: 0,\n height: 0\n });\n this.rowHeaderGroup.setAttributes({\n x: 0,\n y: 0,\n width: 0,\n height: 0\n });\n this.cornerHeaderGroup.setAttributes({\n x: 0,\n y: 0,\n width: 0,\n height: 0\n });\n this.bodyGroup.setAttributes({\n x: 0,\n y: 0,\n width: 0,\n height: 0\n });\n this.tableGroup.setAttributes({\n x: 0,\n y: 0,\n width: 0,\n height: 0\n });\n\n if ((this.tableGroup as any).border) {\n (this.tableGroup.parent as Group).removeChild((this.tableGroup as any).border);\n delete (this.tableGroup as any).border;\n }\n }\n\n updateCellContentWhileResize(col: number, row: number) {\n const type = this.table.getBodyColumnType(col, row);\n const cellGroup = this.getCell(col, row);\n if (type === 'image' || type === 'video') {\n updateImageCellContentWhileResize(cellGroup, col, row, this.table);\n }\n }\n\n /**\n * @description: 创建table&header&body的border\n * @return {*}\n */\n createFrameBorder() {\n // 更新宽高\n this.updateTableSize();\n // this.tableGroup.setAttributes({\n // width: Math.min(\n // this.table.tableNoFrameWidth,\n // (this.colHeaderGroup.attribute.width ?? 0) + (this.cornerHeaderGroup.attribute.width ?? 0)\n // ),\n // height: Math.min(\n // this.table.tableNoFrameHeight,\n // (this.colHeaderGroup.attribute.height ?? 0) + (this.bodyGroup.attribute.height ?? 0)\n // ),\n // } as any);\n\n const isListTableWithFrozen = !this.isPivot && this.rowHeaderGroup.attribute.width;\n\n // 设置border\n createFrameBorder(\n this.bodyGroup,\n this.table.theme.bodyStyle.frameStyle,\n this.bodyGroup.role,\n isListTableWithFrozen ? [true, true, true, false] : undefined\n );\n createFrameBorder(\n this.rowHeaderGroup,\n this.isPivot ? this.table.theme.rowHeaderStyle.frameStyle : this.table.theme.bodyStyle.frameStyle,\n this.rowHeaderGroup.role,\n isListTableWithFrozen ? [true, false, true, true] : undefined\n );\n createFrameBorder(\n this.colHeaderGroup,\n this.table.theme.headerStyle.frameStyle, // 透视表的主题中没有colHeaderStyle,直接使用headerStyle\n this.colHeaderGroup.role,\n isListTableWithFrozen ? [true, true, true, false] : undefined\n );\n createFrameBorder(\n this.cornerHeaderGroup,\n this.isPivot ? this.table.theme.cornerHeaderStyle.frameStyle : this.table.theme.headerStyle.frameStyle,\n this.cornerHeaderGroup.role,\n isListTableWithFrozen ? [true, false, true, true] : undefined\n );\n createFrameBorder(this.tableGroup, this.table.theme.frameStyle, this.tableGroup.role);\n }\n\n /**\n * @description: 获取当前位置的列宽调整信息\n * @param {number} abstractX\n * @param {number} abstractY\n * @param {Group} cellGroup\n * @param {*} offset\n * @return {*}\n */\n getResizeColAt(\n abstractX: number,\n abstractY: number,\n cellGroup?: Group,\n offset = ResizeColumnHotSpotSize / 2\n ): { col: number; row: number; x?: number } {\n if (!cellGroup) {\n // to do: 处理最后一列外调整列宽\n } else {\n if (abstractX < cellGroup.globalAABBBounds.x1 + offset) {\n return { col: cellGroup.col - 1, row: cellGroup.row, x: cellGroup.globalAABBBounds.x1 };\n }\n if (cellGroup.globalAABBBounds.x2 - offset < abstractX) {\n return { col: cellGroup.col, row: cellGroup.row, x: cellGroup.globalAABBBounds.x2 };\n }\n }\n return { col: -1, row: -1 };\n }\n\n updateIcon(icon: Icon, iconConfig: ColumnIconOption) {\n // 直接更新mark attribute\n dealWithIcon(iconConfig, icon);\n icon.name = iconConfig.name;\n this.updateNextFrame();\n }\n\n updateFrozen() {\n if (this.clear) {\n return;\n }\n this.resetFrozen();\n this.dealFrozen();\n this.component.updateScrollBar();\n }\n\n updateBorderSizeAndPosition() {\n if (this.bodyGroup.border) {\n this.bodyGroup.appendChild(this.bodyGroup.border);\n this.bodyGroup.border?.setAttribute(\n 'width',\n this.bodyGroup.attribute.width - (this.bodyGroup.border.attribute.lineWidth ?? 0)\n );\n if (this.rowHeaderGroup.attribute.width === 0) {\n this.bodyGroup.border?.setAttribute('stroke', [true, true, true, true]);\n } else {\n this.bodyGroup.border?.setAttribute('stroke', [true, true, true, false]);\n }\n }\n if (this.colHeaderGroup.border) {\n this.colHeaderGroup.appendChild(this.colHeaderGroup.border);\n this.colHeaderGroup.border?.setAttribute(\n 'width',\n this.colHeaderGroup.attribute.width - (this.colHeaderGroup.border.attribute.lineWidth ?? 0)\n );\n if (this.cornerHeaderGroup.attribute.width === 0) {\n this.colHeaderGroup.border?.setAttribute('stroke', [true, true, true, true]);\n } else {\n this.colHeaderGroup.border?.setAttribute('stroke', [true, true, true, false]);\n }\n }\n if (this.rowHeaderGroup.border) {\n this.rowHeaderGroup.appendChild(this.rowHeaderGroup.border);\n this.rowHeaderGroup.border?.setAttribute(\n 'width',\n this.rowHeaderGroup.attribute.width - (this.rowHeaderGroup.border.attribute.lineWidth ?? 0)\n );\n }\n if (this.cornerHeaderGroup.border) {\n this.cornerHeaderGroup.appendChild(this.cornerHeaderGroup.border);\n this.cornerHeaderGroup.border?.setAttribute(\n 'width',\n this.cornerHeaderGroup.attribute.width - (this.cornerHeaderGroup.border.attribute.lineWidth ?? 0)\n );\n }\n }\n\n updateSortIcon(\n col: number,\n row: number,\n iconMark: Icon,\n order: SortOrder,\n oldSortCol: number,\n oldSortRow: number,\n oldIconMark: Icon | undefined\n ) {\n // 更新icon\n const icon = this.table.internalProps.headerHelper.getSortIcon(order, this.table, col, row);\n if (iconMark) {\n this.updateIcon(iconMark, icon);\n }\n\n // 更新旧frozen icon\n if (oldIconMark !== iconMark) {\n const oldIcon = this.table.internalProps.headerHelper.getSortIcon(\n SortOrder.normal,\n this.table,\n oldSortCol,\n oldSortRow\n );\n if (oldIconMark) {\n this.updateIcon(oldIconMark, oldIcon);\n } else {\n const oldSortCell = this.getCell(oldSortCol, oldSortRow);\n let oldIconMark;\n oldSortCell.forEachChildren((mark: Icon) => {\n if (mark.attribute.funcType === 'sort') {\n oldIconMark = mark;\n return true;\n }\n return false;\n });\n if (oldIconMark) {\n this.updateIcon(oldIconMark, oldIcon);\n }\n }\n }\n }\n\n updateFrozenIcon(col: number, oldFrozenCol: number) {\n // 依据新旧冻结列确定更新范围\n const updateCol = Math.max(col, oldFrozenCol);\n\n // 遍历表头单元格,更新icon\n this.colHeaderGroup.forEachChildrenSkipChild((colGroup: Group) => {\n if (colGroup.col <= updateCol) {\n colGroup.forEachChildren((cellGroup: Group) => {\n cellGroup.forEachChildren((icon: Icon) => {\n if (icon.attribute.funcType === 'pin') {\n const iconConfig = this.table.internalProps.headerHelper.getPinIcon(cellGroup.col, cellGroup.row);\n this.updateIcon(icon, iconConfig);\n return true;\n }\n return false;\n });\n });\n return false;\n }\n return true;\n });\n this.cornerHeaderGroup.forEachChildrenSkipChild((colGroup: Group) => {\n if (colGroup.col <= updateCol) {\n colGroup.forEachChildren((cellGroup: Group) => {\n cellGroup.forEachChildren((icon: Icon) => {\n if (icon.attribute.funcType === 'pin') {\n const iconConfig = this.table.internalProps.headerHelper.getPinIcon(cellGroup.col, cellGroup.row);\n this.updateIcon(icon, iconConfig);\n return true;\n }\n return false;\n });\n });\n return false;\n }\n return true;\n });\n }\n\n sortCell() {\n if (this.isPivot) {\n // 透视表外部处理排序\n } else if (this.transpose) {\n setTimeout(() => {\n // 清空单元格内容\n this.clearCells();\n // 生成单元格场景树\n this.createSceneGraph();\n }, 10);\n } else {\n this.proxy.sortCell();\n }\n }\n\n getCellOverflowText(col: number, row: number): string | null {\n const cellGroup = this.getCell(col, row);\n const text = cellGroup.getChildByName('text', true) as unknown as WrapText;\n // if (text && text.cache?.clipedText !== text.attribute.text) {\n // return text.attribute.text as string;\n // }\n if (text) {\n const textAttributeStr = (text.attribute.text as string[]).join('');\n let cacheStr = '';\n (text.cache as ITextCache).layoutData.lines.forEach((line: any) => {\n cacheStr += line.str;\n });\n if (cacheStr !== textAttributeStr) {\n return textAttributeStr;\n }\n }\n return null;\n }\n\n updateDrill(visible: boolean, x: number, y: number, drillDown: boolean, drillUp: boolean) {\n this.component.drillIcon.update(visible, x, y, drillDown, drillUp, this);\n }\n\n updateCellContent(col: number, row: number) {\n if (this.clear) {\n return;\n }\n updateCell(col, row, this.table);\n }\n}\n\nfunction showIcon(scene: Scenegraph, cellGroup: Group, visibleTime: 'mouseenter_cell' | 'click_cell') {\n cellGroup.forEachChildren((child: any) => {\n if (child.type === 'group') {\n showIcon(scene, child, visibleTime);\n } else if (child.attribute.visibleTime === visibleTime) {\n child.attribute.visible = true;\n scene.updateNextFrame();\n }\n });\n}\n\nfunction hideIcon(scene: Scenegraph, cellGroup: Group, visibleTime: 'mouseenter_cell' | 'click_cell') {\n cellGroup.forEachChildren((child: any) => {\n if (child.type === 'group') {\n hideIcon(scene, child, visibleTime);\n } else if (child.attribute.visibleTime === visibleTime) {\n child.attribute.visible = false;\n scene.updateNextFrame();\n }\n });\n}\n"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: !0
|
|
5
|
+
}), exports.createFrameBorder = void 0;
|
|
6
|
+
|
|
7
|
+
const vrender_1 = require("@visactor/vrender");
|
|
8
|
+
|
|
9
|
+
function createFrameBorder(group, frameTheme, role, strokeArray) {
|
|
10
|
+
var _a, _b, _c, _d;
|
|
11
|
+
if (!frameTheme) return;
|
|
12
|
+
const isTableGroup = "table" === role, {shadowBlur: shadowBlur, shadowOffsetX: shadowOffsetX, shadowOffsetY: shadowOffsetY, shadowColor: shadowColor, roundCornerRadius: roundCornerRadius, borderColor: borderColor, borderLineWidth: borderLineWidth, borderLineDash: borderLineDash} = frameTheme, groupAttributes = {}, rectAttributes = {
|
|
13
|
+
pickable: !1
|
|
14
|
+
};
|
|
15
|
+
if (shadowBlur && isTableGroup && (rectAttributes.shadowBlur = shadowBlur, rectAttributes.shadowOffsetX = shadowOffsetX,
|
|
16
|
+
rectAttributes.shadowOffsetY = shadowOffsetY, rectAttributes.shadowColor = shadowColor,
|
|
17
|
+
rectAttributes.stroke = !0, rectAttributes.strokeColor = shadowColor, rectAttributes.lineWidth = 1,
|
|
18
|
+
rectAttributes.fill = !0, rectAttributes.fillOpacity = .01), borderLineWidth && (rectAttributes.stroke = !0,
|
|
19
|
+
rectAttributes.stroke = strokeArray || !0, rectAttributes.fill = !1, rectAttributes.strokeColor = borderColor,
|
|
20
|
+
rectAttributes.lineWidth = borderLineWidth, borderLineDash && (rectAttributes.lineDash = borderLineDash)),
|
|
21
|
+
Array.isArray(borderColor) && (rectAttributes.strokeArrayColor = borderColor), Array.isArray(borderLineWidth) && (rectAttributes.strokeArrayWidth = borderLineWidth,
|
|
22
|
+
rectAttributes.lineWidth = 1), roundCornerRadius && (rectAttributes.borderRadius = roundCornerRadius,
|
|
23
|
+
groupAttributes.borderRadius = roundCornerRadius), isTableGroup && (rectAttributes.shadowBlur || rectAttributes.lineWidth)) {
|
|
24
|
+
const deltaX = (null !== (_a = rectAttributes.shadowBlur) && void 0 !== _a ? _a : 0) + (null !== (_b = rectAttributes.lineWidth) && void 0 !== _b ? _b : 0), deltaY = (null !== (_c = rectAttributes.shadowBlur) && void 0 !== _c ? _c : 0) + (null !== (_d = rectAttributes.lineWidth) && void 0 !== _d ? _d : 0);
|
|
25
|
+
groupAttributes.x = group.attribute.x + deltaX, groupAttributes.y = group.attribute.y + deltaY;
|
|
26
|
+
}
|
|
27
|
+
if (group.setAttributes(groupAttributes), rectAttributes.stroke) if (rectAttributes.x = rectAttributes.lineWidth / 2,
|
|
28
|
+
rectAttributes.y = rectAttributes.lineWidth / 2, rectAttributes.pickable = !1, isTableGroup) {
|
|
29
|
+
rectAttributes.x = group.attribute.x - rectAttributes.lineWidth / 2, rectAttributes.y = group.attribute.y - rectAttributes.lineWidth / 2,
|
|
30
|
+
rectAttributes.width = group.attribute.width + rectAttributes.lineWidth, rectAttributes.height = group.attribute.height + rectAttributes.lineWidth;
|
|
31
|
+
const borderRect = (0, vrender_1.createRect)(rectAttributes);
|
|
32
|
+
borderRect.name = "table-border-rect", group.parent.insertBefore(borderRect, group),
|
|
33
|
+
group.border = borderRect;
|
|
34
|
+
} else {
|
|
35
|
+
rectAttributes.x = rectAttributes.lineWidth / 2, rectAttributes.y = rectAttributes.lineWidth / 2,
|
|
36
|
+
rectAttributes.width = group.attribute.width - rectAttributes.lineWidth, rectAttributes.height = group.attribute.height - rectAttributes.lineWidth;
|
|
37
|
+
const borderRect = (0, vrender_1.createRect)(rectAttributes);
|
|
38
|
+
borderRect.name = "border-rect", group.addChild(borderRect), group.border = borderRect;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
exports.createFrameBorder = createFrameBorder;
|
|
43
|
+
//# sourceMappingURL=frame-border.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["scenegraph/style/frame-border.ts"],"names":[],"mappings":"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","file":"frame-border.js","sourcesContent":["import type { IGroupGraphicAttribute, IRectGraphicAttribute } from '@visactor/vrender';\nimport { createRect } from '@visactor/vrender';\nimport type { TableFrameStyle } from '../../ts-types';\nimport type { Group } from '../graphic/group';\n\nexport function createFrameBorder(\n group: Group,\n frameTheme: TableFrameStyle | undefined,\n role: string,\n strokeArray?: [boolean, boolean, boolean, boolean] // to do 处理成0b001111形式\n) {\n if (!frameTheme) {\n return;\n }\n\n const isTableGroup = role === 'table';\n\n const {\n shadowBlur,\n shadowOffsetX,\n shadowOffsetY,\n shadowColor,\n roundCornerRadius,\n borderColor,\n borderLineWidth,\n borderLineDash\n } = frameTheme;\n\n const groupAttributes: IGroupGraphicAttribute = {};\n const rectAttributes: IRectGraphicAttribute = {\n pickable: false\n };\n // 处理shadow\n if (shadowBlur && isTableGroup) {\n // 只有table才能配置shadow\n rectAttributes.shadowBlur = shadowBlur;\n rectAttributes.shadowOffsetX = shadowOffsetX;\n rectAttributes.shadowOffsetY = shadowOffsetY;\n rectAttributes.shadowColor = shadowColor;\n rectAttributes.stroke = true;\n rectAttributes.strokeColor = shadowColor;\n rectAttributes.lineWidth = 1;\n\n rectAttributes.fill = true;\n rectAttributes.fillOpacity = 0.01;\n }\n\n // 处理边框\n if (borderLineWidth) {\n rectAttributes.stroke = true;\n (rectAttributes as any).stroke = strokeArray || true;\n // (rectAttributes as any).strokeArrayColor = borderColor as string;\n rectAttributes.fill = false;\n rectAttributes.strokeColor = borderColor as string;\n rectAttributes.lineWidth = borderLineWidth as number;\n borderLineDash && (rectAttributes.lineDash = borderLineDash as number[]);\n }\n\n if (Array.isArray(borderColor)) {\n (rectAttributes as any).strokeArrayColor = borderColor;\n }\n if (Array.isArray(borderLineWidth)) {\n (rectAttributes as any).strokeArrayWidth = borderLineWidth;\n (rectAttributes as any).lineWidth = 1;\n }\n\n if (roundCornerRadius) {\n rectAttributes.borderRadius = roundCornerRadius;\n groupAttributes.borderRadius = roundCornerRadius;\n }\n\n // 处理边框引起的宽度高度变化(只对最外层tableGroup生效)\n if (isTableGroup && (rectAttributes.shadowBlur || rectAttributes.lineWidth)) {\n const deltaX = (rectAttributes.shadowBlur ?? 0) + ((rectAttributes.lineWidth as number) ?? 0);\n const deltaY = (rectAttributes.shadowBlur ?? 0) + ((rectAttributes.lineWidth as number) ?? 0);\n\n groupAttributes.x = group.attribute.x + deltaX;\n groupAttributes.y = group.attribute.y + deltaY;\n // 宽度高度在tableNoFrameWidth&tableNoFrameHeight中处理\n // groupAttributes.width = group.attribute.width - deltaX - deltaX;\n // groupAttributes.height = group.attribute.height - deltaY - deltaY;\n }\n group.setAttributes(groupAttributes);\n\n if (rectAttributes.stroke) {\n rectAttributes.x = rectAttributes.lineWidth / 2;\n rectAttributes.y = rectAttributes.lineWidth / 2;\n rectAttributes.pickable = false;\n if (isTableGroup) {\n rectAttributes.x = group.attribute.x - rectAttributes.lineWidth / 2;\n rectAttributes.y = group.attribute.y - rectAttributes.lineWidth / 2;\n rectAttributes.width = group.attribute.width + rectAttributes.lineWidth;\n rectAttributes.height = group.attribute.height + rectAttributes.lineWidth;\n const borderRect = createRect(rectAttributes);\n borderRect.name = 'table-border-rect';\n group.parent.insertBefore(borderRect, group);\n (group as any).border = borderRect;\n } else {\n rectAttributes.x = rectAttributes.lineWidth / 2;\n rectAttributes.y = rectAttributes.lineWidth / 2;\n rectAttributes.width = group.attribute.width - rectAttributes.lineWidth;\n rectAttributes.height = group.attribute.height - rectAttributes.lineWidth;\n const borderRect = createRect(rectAttributes);\n borderRect.name = 'border-rect';\n group.addChild(borderRect);\n (group as any).border = borderRect;\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function getBorderLine(colWidth, rowHeight, top, right, bottom, left) {
|
|
4
|
+
const x = left ? -.5 : 0, y = top ? -.5 : 0, detaWidth = left && right ? 0 : left ? .5 : right ? -.5 : 0, detaHeight = top && bottom ? 0 : top ? .5 : bottom ? -.5 : 0, options = [];
|
|
5
|
+
return top && options.push({
|
|
6
|
+
x: x,
|
|
7
|
+
y: y,
|
|
8
|
+
points: [ {
|
|
9
|
+
x: 0,
|
|
10
|
+
y: 0
|
|
11
|
+
}, {
|
|
12
|
+
x: colWidth + detaWidth,
|
|
13
|
+
y: 0
|
|
14
|
+
} ]
|
|
15
|
+
}), right && options.push({
|
|
16
|
+
x: x,
|
|
17
|
+
y: y,
|
|
18
|
+
points: [ {
|
|
19
|
+
x: colWidth + detaWidth,
|
|
20
|
+
y: 0
|
|
21
|
+
}, {
|
|
22
|
+
x: colWidth + detaWidth,
|
|
23
|
+
y: rowHeight + detaHeight
|
|
24
|
+
} ]
|
|
25
|
+
}), bottom && options.push({
|
|
26
|
+
x: x,
|
|
27
|
+
y: y,
|
|
28
|
+
points: [ {
|
|
29
|
+
x: colWidth + detaWidth,
|
|
30
|
+
y: rowHeight + detaHeight
|
|
31
|
+
}, {
|
|
32
|
+
x: 0,
|
|
33
|
+
y: rowHeight + detaHeight
|
|
34
|
+
} ]
|
|
35
|
+
}), left && options.push({
|
|
36
|
+
x: x,
|
|
37
|
+
y: y,
|
|
38
|
+
points: [ {
|
|
39
|
+
x: 0,
|
|
40
|
+
y: rowHeight + detaHeight
|
|
41
|
+
}, {
|
|
42
|
+
x: 0,
|
|
43
|
+
y: 0
|
|
44
|
+
} ]
|
|
45
|
+
}), options;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
Object.defineProperty(exports, "__esModule", {
|
|
49
|
+
value: !0
|
|
50
|
+
}), exports.getBorderLine = void 0, exports.getBorderLine = getBorderLine;
|
|
51
|
+
//# sourceMappingURL=border-line.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["scenegraph/utils/border-line.ts"],"names":[],"mappings":";;;AAAA,SAAgB,aAAa,CAC3B,QAAgB,EAChB,SAAiB,EACjB,GAAY,EACZ,KAAc,EACd,MAAe,EACf,IAAa;IAEb,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzB,MAAM,SAAS,GAAG,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpE,MAAM,UAAU,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAErE,MAAM,OAAO,GAAG,EAAE,CAAC;IACnB,IAAI,GAAG,EAAE;QACP,OAAO,CAAC,IAAI,CAAC;YACX,CAAC;YACD,CAAC;YACD,MAAM,EAAE;gBACN,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACd,EAAE,CAAC,EAAE,QAAQ,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE;aAClC;SACF,CAAC,CAAC;KACJ;IACD,IAAI,KAAK,EAAE;QACT,OAAO,CAAC,IAAI,CAAC;YACX,CAAC;YACD,CAAC;YACD,MAAM,EAAE;gBACN,EAAE,CAAC,EAAE,QAAQ,GAAG,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE;gBACjC,EAAE,CAAC,EAAE,QAAQ,GAAG,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,UAAU,EAAE;aACvD;SACF,CAAC,CAAC;KACJ;IACD,IAAI,MAAM,EAAE;QACV,OAAO,CAAC,IAAI,CAAC;YACX,CAAC;YACD,CAAC;YACD,MAAM,EAAE;gBACN,EAAE,CAAC,EAAE,QAAQ,GAAG,SAAS,EAAE,CAAC,EAAE,SAAS,GAAG,UAAU,EAAE;gBACtD,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,GAAG,UAAU,EAAE;aACpC;SACF,CAAC,CAAC;KACJ;IACD,IAAI,IAAI,EAAE;QACR,OAAO,CAAC,IAAI,CAAC;YACX,CAAC;YACD,CAAC;YACD,MAAM,EAAE;gBACN,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,GAAG,UAAU,EAAE;gBACnC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;aACf;SACF,CAAC,CAAC;KACJ;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AA1DD,sCA0DC","file":"border-line.js","sourcesContent":["export function getBorderLine(\n colWidth: number,\n rowHeight: number,\n top: boolean,\n right: boolean,\n bottom: boolean,\n left: boolean\n) {\n const x = left ? -0.5 : 0;\n const y = top ? -0.5 : 0;\n // const detaWidth = left ? 0.5 : right ? -0.5 : 0;\n const detaWidth = left && right ? 0 : left ? 0.5 : right ? -0.5 : 0;\n // const detaHeight = top ? 0.5 : bottom ? -0.5 : 0;\n const detaHeight = top && bottom ? 0 : top ? 0.5 : bottom ? -0.5 : 0;\n\n const options = [];\n if (top) {\n options.push({\n x,\n y,\n points: [\n { x: 0, y: 0 },\n { x: colWidth + detaWidth, y: 0 }\n ]\n });\n }\n if (right) {\n options.push({\n x,\n y,\n points: [\n { x: colWidth + detaWidth, y: 0 },\n { x: colWidth + detaWidth, y: rowHeight + detaHeight }\n ]\n });\n }\n if (bottom) {\n options.push({\n x,\n y,\n points: [\n { x: colWidth + detaWidth, y: rowHeight + detaHeight },\n { x: 0, y: rowHeight + detaHeight }\n ]\n });\n }\n if (left) {\n options.push({\n x,\n y,\n points: [\n { x: 0, y: rowHeight + detaHeight },\n { x: 0, y: 0 }\n ]\n });\n }\n\n return options;\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function breakString(ctx: CanvasRenderingContext2D, str: string, width: number, font: string): string[] | string;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function breakString(ctx, str, width, font) {
|
|
4
|
+
if (!width) return str;
|
|
5
|
+
const multilines = (str = String(str)).replace(/\r?\n/g, "\n").replace(/\r/g, "\n").split("\n");
|
|
6
|
+
ctx.textAlign = "left", ctx.textBaseline = "alphabetic", ctx.font = font;
|
|
7
|
+
const strArr = [];
|
|
8
|
+
for (let i = 0; i < multilines.length; i++) {
|
|
9
|
+
let temp = str, widthOrigin = Math.floor(ctx.measureText(str).width);
|
|
10
|
+
if (widthOrigin <= width) strArr.push(temp); else {
|
|
11
|
+
let i = 0;
|
|
12
|
+
for (;widthOrigin > width; ) {
|
|
13
|
+
const index = getStringIndex(ctx, str, width);
|
|
14
|
+
strArr.push(temp.slice(0, index)), temp = temp.slice(index), widthOrigin = Math.floor(ctx.measureText(temp).width),
|
|
15
|
+
i++ > 1e3 && console.error("breakString over 1000 times");
|
|
16
|
+
}
|
|
17
|
+
strArr.push(temp);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return strArr;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
function getStringIndex(ctx, str, width) {
|
|
24
|
+
const widthOrigin = Math.floor(ctx.measureText(str).width);
|
|
25
|
+
if (widthOrigin <= width) return str.length;
|
|
26
|
+
let index = Math.ceil(width / widthOrigin * str.length) || 0, temp = str.slice(0, index), tempWidth = Math.floor(ctx.measureText(temp).width), tempNext = str.slice(0, index + 1), tempWidthNext = Math.floor(ctx.measureText(tempNext).width), i = 0;
|
|
27
|
+
for (;tempWidth > width || tempWidthNext <= width; ) tempWidth > width ? index-- : index++,
|
|
28
|
+
temp = str.slice(0, index), tempWidth = Math.floor(ctx.measureText(temp).width),
|
|
29
|
+
tempNext = str.slice(0, index + 1), tempWidthNext = Math.floor(ctx.measureText(tempNext).width),
|
|
30
|
+
i++ > 1e3 && console.error("getStringIndex over 1000 times");
|
|
31
|
+
return index;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
Object.defineProperty(exports, "__esModule", {
|
|
35
|
+
value: !0
|
|
36
|
+
}), exports.breakString = void 0, exports.breakString = breakString;
|
|
37
|
+
//# sourceMappingURL=break-string.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["scenegraph/utils/break-string.ts"],"names":[],"mappings":"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","file":"break-string.js","sourcesContent":["export function breakString(\n ctx: CanvasRenderingContext2D,\n str: string,\n width: number,\n font: string\n): string[] | string {\n if (!width) {\n return str;\n }\n str = String(str);\n const multilines = str.replace(/\\r?\\n/g, '\\n').replace(/\\r/g, '\\n').split('\\n');\n\n // 准备ctx\n ctx.textAlign = 'left';\n ctx.textBaseline = 'alphabetic';\n ctx.font = font;\n\n const strArr = [];\n for (let i = 0; i < multilines.length; i++) {\n let temp = str;\n let widthOrigin = Math.floor(ctx.measureText(str).width);\n if (widthOrigin <= width) {\n strArr.push(temp);\n } else {\n let i = 0;\n while (widthOrigin > width) {\n const index = getStringIndex(ctx, str, width);\n strArr.push(temp.slice(0, index));\n temp = temp.slice(index);\n widthOrigin = Math.floor(ctx.measureText(temp).width);\n if (i++ > 1000) {\n // debugger;\n console.error('breakString over 1000 times');\n }\n }\n strArr.push(temp);\n }\n }\n\n return strArr;\n}\n\nfunction getStringIndex(ctx: CanvasRenderingContext2D, str: string, width: number) {\n // 测量从头到当前位置宽度以及从头到下一个字符位置宽度\n const widthOrigin = Math.floor(ctx.measureText(str).width);\n if (widthOrigin <= width) {\n return str.length;\n }\n\n const guessIndex = Math.ceil((width / widthOrigin) * str.length) || 0;\n let index = guessIndex;\n let temp = str.slice(0, index);\n let tempWidth = Math.floor(ctx.measureText(temp).width);\n\n let tempNext = str.slice(0, index + 1);\n let tempWidthNext = Math.floor(ctx.measureText(tempNext).width);\n\n // 到当前位置宽度 < width && 到下一个字符位置宽度 > width时,认为找到准确阶段位置\n let i = 0;\n while (tempWidth > width || tempWidthNext <= width) {\n if (tempWidth > width) {\n index--;\n } else {\n index++;\n }\n\n temp = str.slice(0, index);\n tempWidth = Math.floor(ctx.measureText(temp).width);\n\n tempNext = str.slice(0, index + 1);\n tempWidthNext = Math.floor(ctx.measureText(tempNext).width);\n\n if (i++ > 1000) {\n // debugger;\n console.error('getStringIndex over 1000 times');\n }\n }\n\n return index;\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function calcStartPosition(left: number, top: number, width: number, height: number, contentWidth: number, contentHeight: number, textAlign?: CanvasTextAlign, textBaseline?: CanvasTextBaseline, margin?: number[], paddingLeft?: number, paddingRight?: number, paddingTop?: number, paddingBottom?: number): {
|
|
2
|
+
x: number;
|
|
3
|
+
y: number;
|
|
4
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function calcStartPosition(left, top, width, height, contentWidth, contentHeight, textAlign = "left", textBaseline = "middle", margin = [ 0, 0, 0, 0 ], paddingLeft = 0, paddingRight = 0, paddingTop = 0, paddingBottom = 0) {
|
|
4
|
+
const right = left + width, bottom = top + height;
|
|
5
|
+
let x = left + margin[3] + paddingLeft;
|
|
6
|
+
"right" === textAlign || "end" === textAlign ? x = right - contentWidth - margin[1] - paddingRight : "center" === textAlign && (x = left + (width - contentWidth + paddingLeft - paddingRight) / 2);
|
|
7
|
+
let y = top + margin[0] + paddingTop;
|
|
8
|
+
return "bottom" === textBaseline || "alphabetic" === textBaseline || "ideographic" === textBaseline ? y = bottom - contentHeight - margin[2] - paddingBottom : "middle" === textBaseline && (y = top + (height - contentHeight + paddingTop - paddingBottom) / 2),
|
|
9
|
+
{
|
|
10
|
+
x: x,
|
|
11
|
+
y: y
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
Object.defineProperty(exports, "__esModule", {
|
|
16
|
+
value: !0
|
|
17
|
+
}), exports.calcStartPosition = void 0, exports.calcStartPosition = calcStartPosition;
|
|
18
|
+
//# sourceMappingURL=cell-pos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["scenegraph/utils/cell-pos.ts"],"names":[],"mappings":";;;AACA,SAAgB,iBAAiB,CAC/B,IAAY,EACZ,GAAW,EACX,KAAa,EACb,MAAc,EACd,YAAoB,EACpB,aAAqB,EACrB,YAA6B,MAAM,EACnC,eAAmC,QAAQ,EAC3C,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACrB,WAAW,GAAG,CAAC,EACf,YAAY,GAAG,CAAC,EAChB,UAAU,GAAG,CAAC,EACd,aAAa,GAAG,CAAC;IAEjB,MAAM,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;IAC3B,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;IAC5B,IAAI,CAAC,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IACvC,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,KAAK,EAAE;QAChD,CAAC,GAAG,KAAK,GAAG,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,YAAY,CAAC;KACrD;SAAM,IAAI,SAAS,KAAK,QAAQ,EAAE;QACjC,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;KACpE;IACD,IAAI,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;IACrC,IAAI,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,YAAY,IAAI,YAAY,KAAK,aAAa,EAAE;QAChG,CAAC,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;KACxD;SAAM,IAAI,YAAY,KAAK,QAAQ,EAAE;QACpC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,aAAa,GAAG,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;KACrE;IACD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAClB,CAAC;AA9BD,8CA8BC","file":"cell-pos.js","sourcesContent":["/* eslint-disable no-undef */\nexport function calcStartPosition(\n left: number,\n top: number,\n width: number,\n height: number,\n contentWidth: number,\n contentHeight: number,\n textAlign: CanvasTextAlign = 'left',\n textBaseline: CanvasTextBaseline = 'middle',\n margin = [0, 0, 0, 0],\n paddingLeft = 0,\n paddingRight = 0,\n paddingTop = 0,\n paddingBottom = 0\n): { x: number; y: number } {\n const right = left + width;\n const bottom = top + height;\n let x = left + margin[3] + paddingLeft;\n if (textAlign === 'right' || textAlign === 'end') {\n x = right - contentWidth - margin[1] - paddingRight;\n } else if (textAlign === 'center') {\n x = left + (width - contentWidth + paddingLeft - paddingRight) / 2;\n }\n let y = top + margin[0] + paddingTop;\n if (textBaseline === 'bottom' || textBaseline === 'alphabetic' || textBaseline === 'ideographic') {\n y = bottom - contentHeight - margin[2] - paddingBottom;\n } else if (textBaseline === 'middle') {\n y = top + (height - contentHeight + paddingTop - paddingBottom) / 2;\n }\n return { x, y };\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function parseFont(font: string): any;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var __importDefault = this && this.__importDefault || function(mod) {
|
|
4
|
+
return mod && mod.__esModule ? mod : {
|
|
5
|
+
default: mod
|
|
6
|
+
};
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
Object.defineProperty(exports, "__esModule", {
|
|
10
|
+
value: !0
|
|
11
|
+
}), exports.parseFont = void 0;
|
|
12
|
+
|
|
13
|
+
const cssfontparser_1 = __importDefault(require("cssfontparser"));
|
|
14
|
+
|
|
15
|
+
function parseFont(font) {
|
|
16
|
+
return (0, cssfontparser_1.default)(font);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
exports.parseFont = parseFont;
|
|
20
|
+
//# sourceMappingURL=font.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["scenegraph/utils/font.ts"],"names":[],"mappings":";;;;;;AACA,kEAAkC;AAElC,SAAgB,SAAS,CAAC,IAAY;IACpC,OAAO,IAAA,uBAAK,EAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAFD,8BAEC","file":"font.js","sourcesContent":["// @ts-nocheck\nimport parse from 'cssfontparser';\n\nexport function parseFont(font: string) {\n return parse(font);\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function getCellMergeInfo(table, col, row) {
|
|
4
|
+
const range = table.getCellRange(col, row);
|
|
5
|
+
return !(range.start.col === range.end.col && range.start.row === range.end.row) && range;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, "__esModule", {
|
|
9
|
+
value: !0
|
|
10
|
+
}), exports.getCellMergeInfo = void 0, exports.getCellMergeInfo = getCellMergeInfo;
|
|
11
|
+
//# sourceMappingURL=get-cell-merge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["scenegraph/utils/get-cell-merge.ts"],"names":[],"mappings":";;;AAUA,SAAgB,gBAAgB,CAAC,KAAmB,EAAE,GAAW,EAAE,GAAW;IAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;IACvF,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,KAAK,CAAC;KACd;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAPD,4CAOC","file":"get-cell-merge.js","sourcesContent":["import type { CellRange } from '../../ts-types';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\n\n/**\n * @description: 获取对应坐标单元格的单元格合并信息,没有单元格合并返回false,有合并返回合并信息\n * @param {BaseTableAPI} table\n * @param {number} col\n * @param {number} row\n * @return {false | CellRange}\n */\nexport function getCellMergeInfo(table: BaseTableAPI, col: number, row: number): false | CellRange {\n const range = table.getCellRange(col, row);\n const isMerge = range.start.col !== range.end.col || range.start.row !== range.end.row;\n if (!isMerge) {\n return false;\n }\n return range;\n}\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { BaseTableAPI } from '../../ts-types/base-table';
|
|
2
|
+
export declare function getProp(name: string, cellStyle: any, col: number, row: number, _table: BaseTableAPI): any;
|
|
3
|
+
export declare function getRawProp(name: string, cellStyle: any, col: number, row: number, _table: BaseTableAPI): any;
|
|
4
|
+
export declare function getFunctionalProp(name: string, cellStyle: any, col: number, row: number, _table: BaseTableAPI): any;
|