@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,29 @@
|
|
|
1
|
+
export function getIconAndPositionFromTarget(target) {
|
|
2
|
+
var _a;
|
|
3
|
+
if (!target) return;
|
|
4
|
+
const icon = (null === (_a = target.role) || void 0 === _a ? void 0 : _a.startsWith("icon")) ? target : "richtext" === target.type ? target._currentHoverIcon : void 0;
|
|
5
|
+
return icon ? "richtext" === target.type ? {
|
|
6
|
+
icon: icon,
|
|
7
|
+
position: {
|
|
8
|
+
left: target.globalAABBBounds.x1 + icon.globalAABBBounds.x1,
|
|
9
|
+
right: target.globalAABBBounds.x1 + icon.globalAABBBounds.x2,
|
|
10
|
+
top: target.globalAABBBounds.y1 + icon.globalAABBBounds.y1,
|
|
11
|
+
bottom: target.globalAABBBounds.y1 + icon.globalAABBBounds.y2,
|
|
12
|
+
width: icon.globalAABBBounds.x2 - icon.globalAABBBounds.x1,
|
|
13
|
+
height: icon.globalAABBBounds.y2 - icon.globalAABBBounds.y1
|
|
14
|
+
},
|
|
15
|
+
type: "richtext-icon"
|
|
16
|
+
} : {
|
|
17
|
+
icon: icon,
|
|
18
|
+
position: {
|
|
19
|
+
left: icon.globalAABBBounds.x1,
|
|
20
|
+
right: icon.globalAABBBounds.x2,
|
|
21
|
+
top: icon.globalAABBBounds.y1,
|
|
22
|
+
bottom: icon.globalAABBBounds.y2,
|
|
23
|
+
width: icon.globalAABBBounds.x2 - icon.globalAABBBounds.x1,
|
|
24
|
+
height: icon.globalAABBBounds.y2 - icon.globalAABBBounds.y1
|
|
25
|
+
},
|
|
26
|
+
type: "icon"
|
|
27
|
+
} : void 0;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["scenegraph/utils/icon.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,4BAA4B,CAAC,MAAW;;IActD,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,IAAI,GAAG,CAAA,MAAA,MAAM,CAAC,IAAI,0CAAE,UAAU,CAAC,MAAM,CAAC;QAC1C,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,UAAU;YAC5B,CAAC,CAAC,MAAM,CAAC,iBAAiB;YAC1B,CAAC,CAAC,SAAS,CAAC;IACd,IAAI,CAAC,IAAI,EAAE;QACT,OAAO,SAAS,CAAC;KAClB;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE;QAC9B,OAAO;YACL,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE;gBACR,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE;gBAC3D,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE;gBAC5D,GAAG,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE;gBAC1D,MAAM,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE;gBAC7D,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE;gBAC1D,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE;aAC5D;YACD,IAAI,EAAE,eAAe;SACtB,CAAC;KACH;IACD,OAAO;QACL,IAAI,EAAE,IAAI;QACV,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAC9B,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAC/B,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAC7B,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAChC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAC1D,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE;SAC5D;QACD,IAAI,EAAE,MAAM;KACb,CAAC;AACJ,CAAC","file":"icon.js","sourcesContent":["/**\n * @description: 从事件对象中获取图标和位置信息\n * @param {any} target\n * @return {*}\n */\nexport function getIconAndPositionFromTarget(target: any):\n | {\n icon: any;\n position: {\n left: number;\n right: number;\n top: number;\n bottom: number;\n width: number;\n height: number;\n };\n type: string;\n }\n | undefined {\n if (!target) {\n return undefined;\n }\n const icon = target.role?.startsWith('icon')\n ? target\n : target.type === 'richtext'\n ? target._currentHoverIcon\n : undefined;\n if (!icon) {\n return undefined;\n }\n if (target.type === 'richtext') {\n return {\n icon: icon,\n position: {\n left: target.globalAABBBounds.x1 + icon.globalAABBBounds.x1,\n right: target.globalAABBBounds.x1 + icon.globalAABBBounds.x2,\n top: target.globalAABBBounds.y1 + icon.globalAABBBounds.y1,\n bottom: target.globalAABBBounds.y1 + icon.globalAABBBounds.y2,\n width: icon.globalAABBBounds.x2 - icon.globalAABBBounds.x1,\n height: icon.globalAABBBounds.y2 - icon.globalAABBBounds.y1\n },\n type: 'richtext-icon'\n };\n }\n return {\n icon: icon,\n position: {\n left: icon.globalAABBBounds.x1,\n right: icon.globalAABBBounds.x2,\n top: icon.globalAABBBounds.y1,\n bottom: icon.globalAABBBounds.y2,\n width: icon.globalAABBBounds.x2 - icon.globalAABBBounds.x1,\n height: icon.globalAABBBounds.y2 - icon.globalAABBBounds.y1\n },\n type: 'icon'\n };\n}\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export function calcKeepAspectRatioSize(width, height, maxWidth, maxHeight) {
|
|
2
|
+
let newWidth = width, newHeight = height;
|
|
3
|
+
return newWidth > maxWidth && (newWidth = maxWidth, newHeight = newWidth * height / width),
|
|
4
|
+
newHeight > maxHeight && (newHeight = maxHeight, newWidth = newHeight * width / height),
|
|
5
|
+
{
|
|
6
|
+
width: newWidth,
|
|
7
|
+
height: newHeight
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=keep-aspect-ratio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["scenegraph/utils/keep-aspect-ratio.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,uBAAuB,CACrC,KAAa,EACb,MAAc,EACd,QAAgB,EAChB,SAAiB;IAKjB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,SAAS,GAAG,MAAM,CAAC;IACvB,IAAI,QAAQ,GAAG,QAAQ,EAAE;QACvB,QAAQ,GAAG,QAAQ,CAAC;QACpB,SAAS,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,KAAK,CAAC;KACzC;IACD,IAAI,SAAS,GAAG,SAAS,EAAE;QACzB,SAAS,GAAG,SAAS,CAAC;QACtB,QAAQ,GAAG,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC;KACzC;IACD,OAAO;QACL,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,SAAS;KAClB,CAAC;AACJ,CAAC","file":"keep-aspect-ratio.js","sourcesContent":["export function calcKeepAspectRatioSize(\n width: number,\n height: number,\n maxWidth: number,\n maxHeight: number\n): {\n width: number;\n height: number;\n} {\n let newWidth = width;\n let newHeight = height;\n if (newWidth > maxWidth) {\n newWidth = maxWidth;\n newHeight = (newWidth * height) / width;\n }\n if (newHeight > maxHeight) {\n newHeight = maxHeight;\n newWidth = (newHeight * width) / height;\n }\n return {\n width: newWidth,\n height: newHeight\n };\n}\n"]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ITextMeasureOption, ITextSize } from '@visactor/vutils';
|
|
2
|
+
import { TextMeasure } from '@visactor/vutils';
|
|
3
|
+
import type { ITextGraphicAttribute } from '@visactor/vrender';
|
|
4
|
+
export declare const DEFAULT_TEXT_FONT_FAMILY = "PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol";
|
|
5
|
+
export declare const DEFAULT_TEXT_FONT_SIZE = 11;
|
|
6
|
+
export declare const initTextMeasure: (textSpec?: ITextGraphicAttribute, option?: Partial<ITextMeasureOption>, useNaiveCanvas?: boolean) => TextMeasure<ITextGraphicAttribute>;
|
|
7
|
+
export declare class TextMeasureTool {
|
|
8
|
+
measureText(text: string, options: ITextGraphicAttribute): ITextSize;
|
|
9
|
+
measureTextWidth(text: string, options: ITextGraphicAttribute): number;
|
|
10
|
+
clipText(text: string, options: ITextGraphicAttribute, width: number): {
|
|
11
|
+
str: string;
|
|
12
|
+
width: number;
|
|
13
|
+
};
|
|
14
|
+
private _clipText;
|
|
15
|
+
clipTextWithSuffix(text: string, options: ITextGraphicAttribute, width: number, suffix: string): {
|
|
16
|
+
str: string;
|
|
17
|
+
width: number;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export declare const textMeasure: TextMeasureTool;
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { TextMeasure } from "@visactor/vutils";
|
|
2
|
+
|
|
3
|
+
import { getTextBounds } from "@visactor/vrender";
|
|
4
|
+
|
|
5
|
+
export const DEFAULT_TEXT_FONT_FAMILY = "PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol";
|
|
6
|
+
|
|
7
|
+
export const DEFAULT_TEXT_FONT_SIZE = 11;
|
|
8
|
+
|
|
9
|
+
export const initTextMeasure = (textSpec, option, useNaiveCanvas) => new TextMeasure(Object.assign({
|
|
10
|
+
defaultFontParams: {
|
|
11
|
+
fontFamily: DEFAULT_TEXT_FONT_FAMILY,
|
|
12
|
+
fontSize: 11
|
|
13
|
+
},
|
|
14
|
+
getTextBounds: useNaiveCanvas ? void 0 : getTextBounds,
|
|
15
|
+
specialCharSet: `-/: .,@%'"~${TextMeasure.ALPHABET_CHAR_SET}${TextMeasure.ALPHABET_CHAR_SET.toUpperCase()}`
|
|
16
|
+
}, null != option ? option : {}), textSpec);
|
|
17
|
+
|
|
18
|
+
const fastTextMeasureCache = new Map;
|
|
19
|
+
|
|
20
|
+
function getFastTextMeasure(fontSize, fontFamily) {
|
|
21
|
+
const key = `${fontSize}-${fontFamily}`, cache = fastTextMeasureCache.get(key);
|
|
22
|
+
if (cache) return cache;
|
|
23
|
+
const fastTextMeasure = (textSpec = {
|
|
24
|
+
fontSize: fontSize,
|
|
25
|
+
fontFamily: fontFamily
|
|
26
|
+
}, new TextMeasure(Object.assign({
|
|
27
|
+
defaultFontParams: {
|
|
28
|
+
fontFamily: DEFAULT_TEXT_FONT_FAMILY,
|
|
29
|
+
fontSize: 11
|
|
30
|
+
},
|
|
31
|
+
getTextBounds: useNaiveCanvas ? void 0 : getTextBounds,
|
|
32
|
+
specialCharSet: `-/: .,@%'"~${TextMeasure.ALPHABET_CHAR_SET}${TextMeasure.ALPHABET_CHAR_SET.toUpperCase()}`
|
|
33
|
+
}, null != option ? option : {}), textSpec));
|
|
34
|
+
var textSpec, option, useNaiveCanvas;
|
|
35
|
+
return fastTextMeasureCache.set(key, fastTextMeasure), fastTextMeasure;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export class TextMeasureTool {
|
|
39
|
+
measureText(text, options) {
|
|
40
|
+
const {fontSize: fontSize, fontFamily: fontFamily} = options;
|
|
41
|
+
return getFastTextMeasure(fontSize, fontFamily).measure(text);
|
|
42
|
+
}
|
|
43
|
+
measureTextWidth(text, options) {
|
|
44
|
+
const {fontSize: fontSize, fontFamily: fontFamily = "sans-serif"} = options;
|
|
45
|
+
return getFastTextMeasure(fontSize, fontFamily).measure(text).width;
|
|
46
|
+
}
|
|
47
|
+
clipText(text, options, width) {
|
|
48
|
+
if (0 === text.length) return {
|
|
49
|
+
str: "",
|
|
50
|
+
width: 0
|
|
51
|
+
};
|
|
52
|
+
let length = this.measureTextWidth(text, options);
|
|
53
|
+
return length <= width ? {
|
|
54
|
+
str: text,
|
|
55
|
+
width: length
|
|
56
|
+
} : (length = this.measureTextWidth(text[0], options), length > width ? {
|
|
57
|
+
str: "",
|
|
58
|
+
width: 0
|
|
59
|
+
} : this._clipText(text, options, width, 0, text.length - 1));
|
|
60
|
+
}
|
|
61
|
+
_clipText(text, options, width, leftIdx, rightIdx) {
|
|
62
|
+
const middleIdx = Math.floor((leftIdx + rightIdx) / 2), subText = text.substring(0, middleIdx + 1), strWidth = this.measureTextWidth(subText, options);
|
|
63
|
+
let length;
|
|
64
|
+
if (strWidth > width) {
|
|
65
|
+
if (subText.length <= 1) return {
|
|
66
|
+
str: "",
|
|
67
|
+
width: 0
|
|
68
|
+
};
|
|
69
|
+
const str = text.substring(0, middleIdx);
|
|
70
|
+
return length = this.measureTextWidth(str, options), length <= width ? {
|
|
71
|
+
str: str,
|
|
72
|
+
width: length
|
|
73
|
+
} : this._clipText(text, options, width, leftIdx, middleIdx);
|
|
74
|
+
}
|
|
75
|
+
if (strWidth < width) {
|
|
76
|
+
if (middleIdx >= text.length - 1) return {
|
|
77
|
+
str: text,
|
|
78
|
+
width: this.measureTextWidth(text, options)
|
|
79
|
+
};
|
|
80
|
+
const str = text.substring(0, middleIdx + 2);
|
|
81
|
+
return length = this.measureTextWidth(str, options), length >= width ? {
|
|
82
|
+
str: subText,
|
|
83
|
+
width: strWidth
|
|
84
|
+
} : this._clipText(text, options, width, middleIdx, rightIdx);
|
|
85
|
+
}
|
|
86
|
+
return {
|
|
87
|
+
str: subText,
|
|
88
|
+
width: strWidth
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
clipTextWithSuffix(text, options, width, suffix) {
|
|
92
|
+
if ("" === suffix) return this.clipText(text, options, width);
|
|
93
|
+
if (0 === text.length) return {
|
|
94
|
+
str: "",
|
|
95
|
+
width: 0
|
|
96
|
+
};
|
|
97
|
+
const length = this.measureTextWidth(text, options);
|
|
98
|
+
if (length <= width) return {
|
|
99
|
+
str: text,
|
|
100
|
+
width: length
|
|
101
|
+
};
|
|
102
|
+
const suffixWidth = this.measureTextWidth(suffix, options);
|
|
103
|
+
if (suffixWidth > width) return {
|
|
104
|
+
str: "",
|
|
105
|
+
width: 0
|
|
106
|
+
};
|
|
107
|
+
width -= suffixWidth;
|
|
108
|
+
const data = this._clipText(text, options, width, 0, text.length - 1);
|
|
109
|
+
return data.str += suffix, data.width += suffixWidth, data;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export const textMeasure = new TextMeasureTool;
|
|
114
|
+
//# sourceMappingURL=measure-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["scenegraph/utils/measure-text.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD,MAAM,CAAC,MAAM,wBAAwB,GAEnC,kJAAkJ,CAAC;AAErJ,MAAM,CAAC,MAAM,sBAAsB,GAAG,EAAE,CAAC;AAEzC,MAAM,CAAC,MAAM,eAAe,GAAG,CAC7B,QAAgC,EAChC,MAAoC,EACpC,cAAwB,EACY,EAAE;IACtC,OAAO,IAAI,WAAW,iBAElB,iBAAiB,EAAE;YACjB,UAAU,EAAE,wBAAwB;YACpC,QAAQ,EAAE,sBAAsB;SACjC,EACD,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EACzD,cAAc,EAAE,cAAc,WAAW,CAAC,iBAAiB,GAAG,WAAW,CAAC,iBAAiB,CAAC,WAAW,EAAE,EAAE,IACxG,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,GAEnB,QAAQ,CACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAoD,IAAI,GAAG,EAAE,CAAC;AAExF,SAAS,kBAAkB,CAAC,QAAgB,EAAE,UAAkB;IAC9D,MAAM,GAAG,GAAG,GAAG,QAAQ,IAAI,UAAU,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,KAAK,EAAE;QACT,OAAO,KAAK,CAAC;KACd;IACD,MAAM,eAAe,GAAG,eAAe,CAAC;QAEtC,QAAQ;QACR,UAAU;KACX,CAAC,CAAC;IACH,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;IAC/C,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,OAAO,eAAe;IAM1B,WAAW,CAAC,IAAY,EAAE,OAA8B;QACtD,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;QACzC,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,WAAW,CAAC;IACrB,CAAC;IAOD,gBAAgB,CAAC,IAAY,EAAE,OAA8B;QAC3D,MAAM,EAAE,QAAQ,EAAE,UAAU,GAAG,YAAY,EAAE,GAAG,OAAO,CAAC;QACxD,MAAM,eAAe,GAAG,kBAAkB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClD,OAAO,WAAW,CAAC,KAAK,CAAC;IAC3B,CAAC;IAQD,QAAQ,CACN,IAAY,EACZ,OAA8B,EAC9B,KAAa;QAKb,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SAC9B;QACD,IAAI,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClD,IAAI,MAAM,IAAI,KAAK,EAAE;YACnB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;SACrC;QACD,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QACjD,IAAI,MAAM,GAAG,KAAK,EAAE;YAClB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SAC9B;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAClE,CAAC;IAGO,SAAS,CACf,IAAY,EACZ,OAA8B,EAC9B,KAAa,EACb,OAAe,EACf,QAAgB;QAEhB,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACzD,IAAI,MAAc,CAAC;QACnB,IAAI,QAAQ,GAAG,KAAK,EAAE;YAEpB,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE;gBACvB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;aAC9B;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;YAEzC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC7C,IAAI,MAAM,IAAI,KAAK,EAAE;gBACnB,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;aAC/B;YAED,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;SACjE;aAAM,IAAI,QAAQ,GAAG,KAAK,EAAE;YAE3B,IAAI,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBAChC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;aACnE;YAED,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC;YAE7C,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;YAC7C,IAAI,MAAM,IAAI,KAAK,EAAE;gBACnB,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;aAC1C;YAED,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;SAClE;QAED,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IAC3C,CAAC;IAED,kBAAkB,CAChB,IAAY,EACZ,OAA8B,EAC9B,KAAa,EACb,MAAc;QAKd,IAAI,MAAM,KAAK,EAAE,EAAE;YACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;SAC5C;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;YACrB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SAC9B;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpD,IAAI,MAAM,IAAI,KAAK,EAAE;YACnB,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;SACrC;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,WAAW,GAAG,KAAK,EAAE;YACvB,OAAO,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;SAC9B;QACD,KAAK,IAAI,WAAW,CAAC;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,GAAG,IAAI,MAAM,CAAC;QACnB,IAAI,CAAC,KAAK,IAAI,WAAW,CAAC;QAC1B,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC","file":"measure-text.js","sourcesContent":["import type { ITextMeasureOption, ITextSize } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { TextMeasure } from '@visactor/vutils';\nimport type { ITextGraphicAttribute } from '@visactor/vrender';\nimport { getTextBounds } from '@visactor/vrender';\n// import type { ITextMarkSpec } from '../typings';\n// import { DEFAULT_TEXT_FONT_FAMILY, DEFAULT_TEXT_FONT_SIZE } from '../theme';\n\nexport const DEFAULT_TEXT_FONT_FAMILY =\n // eslint-disable-next-line max-len\n 'PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol';\n\nexport const DEFAULT_TEXT_FONT_SIZE = 11;\n\nexport const initTextMeasure = (\n textSpec?: ITextGraphicAttribute,\n option?: Partial<ITextMeasureOption>,\n useNaiveCanvas?: boolean\n): TextMeasure<ITextGraphicAttribute> => {\n return new TextMeasure<ITextGraphicAttribute>(\n {\n defaultFontParams: {\n fontFamily: DEFAULT_TEXT_FONT_FAMILY,\n fontSize: DEFAULT_TEXT_FONT_SIZE\n },\n getTextBounds: useNaiveCanvas ? undefined : getTextBounds,\n specialCharSet: `-/: .,@%'\"~${TextMeasure.ALPHABET_CHAR_SET}${TextMeasure.ALPHABET_CHAR_SET.toUpperCase()}`,\n ...(option ?? {})\n },\n textSpec\n );\n};\n\nconst fastTextMeasureCache: Map<string, TextMeasure<ITextGraphicAttribute>> = new Map();\n\nfunction getFastTextMeasure(fontSize: number, fontFamily: string) {\n const key = `${fontSize}-${fontFamily}`;\n const cache = fastTextMeasureCache.get(key);\n if (cache) {\n return cache;\n }\n const fastTextMeasure = initTextMeasure({\n // 16px sans-serif\n fontSize,\n fontFamily\n });\n fastTextMeasureCache.set(key, fastTextMeasure);\n return fastTextMeasure;\n}\n\nexport class TextMeasureTool {\n /**\n * 获取text宽度,measureText.width\n * @param text\n * @param options\n */\n measureText(text: string, options: ITextGraphicAttribute): ITextSize {\n const { fontSize, fontFamily } = options;\n const fastTextMeasure = getFastTextMeasure(fontSize, fontFamily);\n const textMeasure = fastTextMeasure.measure(text);\n return textMeasure;\n }\n\n /**\n * 获取text宽度,measureText.width\n * @param text\n * @param options\n */\n measureTextWidth(text: string, options: ITextGraphicAttribute): number {\n const { fontSize, fontFamily = 'sans-serif' } = options;\n const fastTextMeasure = getFastTextMeasure(fontSize, fontFamily);\n const textMeasure = fastTextMeasure.measure(text);\n return textMeasure.width;\n }\n\n /**\n * 将文本裁剪到width宽\n * @param text\n * @param options\n * @param width\n */\n clipText(\n text: string,\n options: ITextGraphicAttribute,\n width: number\n ): {\n str: string;\n width: number;\n } {\n if (text.length === 0) {\n return { str: '', width: 0 };\n }\n let length = this.measureTextWidth(text, options);\n if (length <= width) {\n return { str: text, width: length };\n }\n length = this.measureTextWidth(text[0], options);\n if (length > width) {\n return { str: '', width: 0 };\n }\n return this._clipText(text, options, width, 0, text.length - 1);\n }\n\n // 二分法找到最佳宽\n private _clipText(\n text: string,\n options: ITextGraphicAttribute,\n width: number,\n leftIdx: number,\n rightIdx: number\n ): { str: string; width: number } {\n const middleIdx = Math.floor((leftIdx + rightIdx) / 2);\n const subText = text.substring(0, middleIdx + 1);\n const strWidth = this.measureTextWidth(subText, options);\n let length: number;\n if (strWidth > width) {\n // 如果字符串的宽度大于限制宽度\n if (subText.length <= 1) {\n return { str: '', width: 0 };\n } // 如果子字符串长度小于1,而且大于给定宽的话,返回空字符串\n // 先判断是不是左侧的那个字符\n const str = text.substring(0, middleIdx);\n // 如果到左侧的字符小于或等于width,那么说明就是左侧的字符\n length = this.measureTextWidth(str, options);\n if (length <= width) {\n return { str, width: length };\n }\n // 返回leftIdx到middleIdx\n return this._clipText(text, options, width, leftIdx, middleIdx);\n } else if (strWidth < width) {\n // 如果字符串的宽度小于限制宽度\n if (middleIdx >= text.length - 1) {\n return { str: text, width: this.measureTextWidth(text, options) };\n } // 如果已经到结尾了,返回text\n // 先判断是不是右侧的那个字符\n const str = text.substring(0, middleIdx + 2);\n // 如果到右侧的字符大于或等于width,那么说明就是这个字符串\n length = this.measureTextWidth(str, options);\n if (length >= width) {\n return { str: subText, width: strWidth };\n }\n // 返回middleIdx到rightIdx\n return this._clipText(text, options, width, middleIdx, rightIdx);\n }\n // 如果相同,那么就找到text\n return { str: subText, width: strWidth };\n }\n\n clipTextWithSuffix(\n text: string,\n options: ITextGraphicAttribute,\n width: number,\n suffix: string\n ): {\n str: string;\n width: number;\n } {\n if (suffix === '') {\n return this.clipText(text, options, width);\n }\n if (text.length === 0) {\n return { str: '', width: 0 };\n }\n const length = this.measureTextWidth(text, options);\n if (length <= width) {\n return { str: text, width: length };\n }\n const suffixWidth = this.measureTextWidth(suffix, options);\n if (suffixWidth > width) {\n return { str: '', width: 0 };\n }\n width -= suffixWidth;\n const data = this._clipText(text, options, width, 0, text.length - 1);\n data.str += suffix;\n data.width += suffixWidth;\n return data;\n }\n}\n\nexport const textMeasure = new TextMeasureTool();\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getPadding(paddingOrigin: number | number[]): [number, number, number, number];
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { parsePadding } from "@visactor/vrender";
|
|
2
|
+
|
|
3
|
+
export function getPadding(paddingOrigin) {
|
|
4
|
+
let padding = parsePadding(paddingOrigin);
|
|
5
|
+
return "number" == typeof padding || "string" == typeof padding ? padding = [ padding, padding, padding, padding ] : Array.isArray(padding) && (padding = padding.slice(0)),
|
|
6
|
+
padding;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=padding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["scenegraph/utils/padding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,MAAM,UAAU,UAAU,CAAC,aAAgC;IACzD,IAAI,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAC1C,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;QAC9D,OAAO,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;KAChD;SAAM,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACjC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAQ,CAAC;KACnC;IACD,OAAO,OAAc,CAAC;AACxB,CAAC","file":"padding.js","sourcesContent":["import { parsePadding } from '@visactor/vrender';\n\nexport function getPadding(paddingOrigin: number | number[]): [number, number, number, number] {\n let padding = parsePadding(paddingOrigin);\n if (typeof padding === 'number' || typeof padding === 'string') {\n padding = [padding, padding, padding, padding];\n } else if (Array.isArray(padding)) {\n padding = padding.slice(0) as any;\n }\n return padding as any;\n}\n"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { IThemeSpec } from '@visactor/vrender';
|
|
2
|
+
import type { ColumnIconOption } from '../../ts-types';
|
|
3
|
+
import type { Group } from '../graphic/group';
|
|
4
|
+
import { Icon } from '../graphic/icon';
|
|
5
|
+
import type { Scenegraph } from '../scenegraph';
|
|
6
|
+
export declare function createCellContent(cellGroup: Group, icons: ColumnIconOption[] | null, textStr: string, padding: [number, number, number, number], autoColWidth: boolean, autoRowHeight: boolean, autoWrapText: boolean, lineClamp: number | undefined, cellWidth: number, cellHeight: number, textAlign: CanvasTextAlign, textBaseline: CanvasTextBaseline, cellTheme?: IThemeSpec): void;
|
|
7
|
+
export declare function dealWithIcon(icon: ColumnIconOption, mark?: Icon): Icon;
|
|
8
|
+
export declare function updateCellContentWidth(cellGroup: Group, distWidth: number, detaX: number, autoRowHeight: boolean, padding: [number, number, number, number], textAlign: CanvasTextAlign, textBaseline: CanvasTextBaseline, scene: Scenegraph): boolean;
|
|
9
|
+
export declare function updateCellContentHeight(cellGroup: Group, distHeight: number, detaY: number, autoRowHeight: boolean, padding: [number, number, number, number], textAlign: CanvasTextAlign, textBaseline: CanvasTextBaseline): void;
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
import { RichText } from "@visactor/vrender";
|
|
2
|
+
|
|
3
|
+
import { convertInternal } from "../../tools/util";
|
|
4
|
+
|
|
5
|
+
import { IconPosition } from "../../ts-types";
|
|
6
|
+
|
|
7
|
+
import { CellContent } from "../component/cell-content";
|
|
8
|
+
|
|
9
|
+
import { Icon } from "../graphic/icon";
|
|
10
|
+
|
|
11
|
+
import { WrapText } from "../graphic/text";
|
|
12
|
+
|
|
13
|
+
import { getCellMergeInfo } from "./get-cell-merge";
|
|
14
|
+
|
|
15
|
+
export function createCellContent(cellGroup, icons, textStr, padding, autoColWidth, autoRowHeight, autoWrapText, lineClamp, cellWidth, cellHeight, textAlign, textBaseline, cellTheme) {
|
|
16
|
+
var _a, _b, _c;
|
|
17
|
+
const leftIcons = [], rightIcons = [], contentLeftIcons = [], contentRightIcons = [], inlineFrontIcons = [], inlineEndIcons = [], absoluteLeftIcons = [], absoluteRightIcons = [];
|
|
18
|
+
let contentWidth, contentHeight, leftIconWidth = 0, leftIconHeight = 0, rightIconWidth = 0, rightIconHeight = 0, absoluteLeftIconWidth = 0, absoluteRightIconWidth = 0;
|
|
19
|
+
if (Array.isArray(icons) && 0 !== icons.length) {
|
|
20
|
+
let textMark;
|
|
21
|
+
if (icons.forEach((icon => {
|
|
22
|
+
switch (icon.positionType) {
|
|
23
|
+
case IconPosition.left:
|
|
24
|
+
leftIcons.push(icon);
|
|
25
|
+
break;
|
|
26
|
+
|
|
27
|
+
case IconPosition.right:
|
|
28
|
+
rightIcons.push(icon);
|
|
29
|
+
break;
|
|
30
|
+
|
|
31
|
+
case IconPosition.contentLeft:
|
|
32
|
+
contentLeftIcons.push(icon);
|
|
33
|
+
break;
|
|
34
|
+
|
|
35
|
+
case IconPosition.contentRight:
|
|
36
|
+
contentRightIcons.push(icon);
|
|
37
|
+
break;
|
|
38
|
+
|
|
39
|
+
case IconPosition.absoluteRight:
|
|
40
|
+
absoluteRightIcons.push(icon);
|
|
41
|
+
break;
|
|
42
|
+
|
|
43
|
+
case IconPosition.inlineFront:
|
|
44
|
+
inlineFrontIcons.push(icon);
|
|
45
|
+
break;
|
|
46
|
+
|
|
47
|
+
case IconPosition.inlineEnd:
|
|
48
|
+
inlineEndIcons.push(icon);
|
|
49
|
+
}
|
|
50
|
+
})), leftIcons.forEach((icon => {
|
|
51
|
+
var _a, _b, _c;
|
|
52
|
+
const iconMark = dealWithIcon(icon);
|
|
53
|
+
iconMark.role = "icon-left", iconMark.name = icon.name, iconMark.setAttribute("x", leftIconWidth + (null !== (_a = iconMark.attribute.marginLeft) && void 0 !== _a ? _a : 0)),
|
|
54
|
+
leftIconWidth += iconMark.AABBBounds.width() + (null !== (_b = iconMark.attribute.marginLeft) && void 0 !== _b ? _b : 0) + (null !== (_c = iconMark.attribute.marginRight) && void 0 !== _c ? _c : 0),
|
|
55
|
+
leftIconHeight = Math.max(leftIconHeight, iconMark.AABBBounds.height()), cellGroup.appendChild(iconMark);
|
|
56
|
+
})), rightIcons.forEach((icon => {
|
|
57
|
+
var _a, _b, _c;
|
|
58
|
+
const iconMark = dealWithIcon(icon);
|
|
59
|
+
iconMark.role = "icon-right", iconMark.name = icon.name, iconMark.setAttribute("x", rightIconWidth + (null !== (_a = iconMark.attribute.marginLeft) && void 0 !== _a ? _a : 0)),
|
|
60
|
+
rightIconWidth += iconMark.AABBBounds.width() + (null !== (_b = iconMark.attribute.marginLeft) && void 0 !== _b ? _b : 0) + (null !== (_c = iconMark.attribute.marginRight) && void 0 !== _c ? _c : 0),
|
|
61
|
+
rightIconHeight = Math.max(rightIconHeight, iconMark.AABBBounds.height()), cellGroup.appendChild(iconMark);
|
|
62
|
+
})), absoluteLeftIcons.forEach((icon => {
|
|
63
|
+
var _a, _b, _c;
|
|
64
|
+
const iconMark = dealWithIcon(icon);
|
|
65
|
+
iconMark.role = "icon-absolute-left", iconMark.name = icon.name, iconMark.setAttribute("x", absoluteLeftIconWidth + (null !== (_a = iconMark.attribute.marginLeft) && void 0 !== _a ? _a : 0)),
|
|
66
|
+
absoluteLeftIconWidth += iconMark.AABBBounds.width() + (null !== (_b = iconMark.attribute.marginLeft) && void 0 !== _b ? _b : 0) + (null !== (_c = iconMark.attribute.marginRight) && void 0 !== _c ? _c : 0),
|
|
67
|
+
cellGroup.appendChild(iconMark);
|
|
68
|
+
})), absoluteRightIcons.forEach((icon => {
|
|
69
|
+
var _a, _b, _c;
|
|
70
|
+
const iconMark = dealWithIcon(icon);
|
|
71
|
+
iconMark.role = "icon-absolute-right", iconMark.name = icon.name, iconMark.setAttribute("x", absoluteRightIconWidth + (null !== (_a = iconMark.attribute.marginLeft) && void 0 !== _a ? _a : 0)),
|
|
72
|
+
absoluteRightIconWidth += iconMark.AABBBounds.width() + (null !== (_b = iconMark.attribute.marginLeft) && void 0 !== _b ? _b : 0) + (null !== (_c = iconMark.attribute.marginRight) && void 0 !== _c ? _c : 0),
|
|
73
|
+
cellGroup.appendChild(iconMark);
|
|
74
|
+
})), 0 === inlineFrontIcons.length && 0 === inlineEndIcons.length) {
|
|
75
|
+
const attribute = {
|
|
76
|
+
text: convertInternal(textStr).replace(/\r?\n/g, "\n").replace(/\r/g, "\n").split("\n"),
|
|
77
|
+
maxLineWidth: autoColWidth ? 1 / 0 : cellWidth - (padding[1] + padding[3]) - leftIconWidth - rightIconWidth,
|
|
78
|
+
fill: !0,
|
|
79
|
+
textBaseline: "top",
|
|
80
|
+
heightLimit: autoRowHeight ? -1 : cellHeight - (padding[0] + padding[2]),
|
|
81
|
+
pickable: !1,
|
|
82
|
+
autoWrapText: autoWrapText,
|
|
83
|
+
lineClamp: lineClamp
|
|
84
|
+
}, wrapText = new WrapText(cellTheme && cellTheme.text ? Object.assign({}, cellTheme.text, attribute) : attribute);
|
|
85
|
+
wrapText.name = "text", textMark = wrapText;
|
|
86
|
+
} else {
|
|
87
|
+
const textOption = Object.assign({
|
|
88
|
+
fill: !0,
|
|
89
|
+
text: null == textStr ? void 0 : textStr.toString()
|
|
90
|
+
}, (null === (_c = null === (_b = null === (_a = cellGroup.parent) || void 0 === _a ? void 0 : _a.theme) || void 0 === _b ? void 0 : _b.userTheme) || void 0 === _c ? void 0 : _c.text) || {});
|
|
91
|
+
cellTheme && cellTheme.text && Object.assign(textOption, cellTheme.text), textOption.textBaseline = "middle";
|
|
92
|
+
const textConfig = [ ...inlineFrontIcons.map((icon => dealWithRichTextIcon(icon))), textOption, ...inlineEndIcons.map((icon => dealWithRichTextIcon(icon))) ];
|
|
93
|
+
textConfig[0].textAlign = textAlign;
|
|
94
|
+
const text = new RichText({
|
|
95
|
+
width: autoColWidth ? 0 : cellWidth - (padding[1] + padding[3]) - leftIconWidth - rightIconWidth,
|
|
96
|
+
height: autoRowHeight ? 0 : cellHeight - (padding[0] + padding[2]),
|
|
97
|
+
textConfig: textConfig,
|
|
98
|
+
verticalDirection: autoRowHeight ? "top" : textBaseline
|
|
99
|
+
});
|
|
100
|
+
text.name = "text", textMark = text, text.bindIconEvent();
|
|
101
|
+
}
|
|
102
|
+
if (0 !== contentLeftIcons.length || 0 !== contentRightIcons.length) {
|
|
103
|
+
const cellContent = new CellContent({
|
|
104
|
+
x: 0,
|
|
105
|
+
y: 0
|
|
106
|
+
});
|
|
107
|
+
cellContent.name = "content", cellContent.setCellContentOption({
|
|
108
|
+
autoWidth: autoColWidth,
|
|
109
|
+
autoHeight: autoRowHeight,
|
|
110
|
+
cellWidth: cellWidth - (padding[1] + padding[3]) - leftIconWidth - rightIconWidth,
|
|
111
|
+
cellHeight: cellHeight - (padding[0] + padding[2]),
|
|
112
|
+
align: textAlign,
|
|
113
|
+
baseline: textBaseline
|
|
114
|
+
}), contentLeftIcons.forEach((icon => {
|
|
115
|
+
const iconMark = dealWithIcon(icon);
|
|
116
|
+
iconMark.role = "icon-content-left", iconMark.name = icon.name, cellContent.addLeftOccupyingIcon(iconMark);
|
|
117
|
+
})), contentRightIcons.forEach((icon => {
|
|
118
|
+
const iconMark = dealWithIcon(icon);
|
|
119
|
+
iconMark.role = "icon-content-right", iconMark.name = icon.name, cellContent.addRightOccupyingIcon(iconMark);
|
|
120
|
+
})), cellContent.addContent(textMark), cellGroup.appendChild(cellContent), cellContent.layout(),
|
|
121
|
+
contentWidth = cellContent.AABBBounds.width(), contentHeight = cellContent.AABBBounds.height();
|
|
122
|
+
} else cellGroup.firstChild ? cellGroup.insertBefore(textMark, cellGroup.firstChild) : cellGroup.appendChild(textMark),
|
|
123
|
+
contentWidth = textMark.AABBBounds.width(), contentHeight = textMark.AABBBounds.height();
|
|
124
|
+
} else {
|
|
125
|
+
const attribute = {
|
|
126
|
+
text: convertInternal(textStr).replace(/\r?\n/g, "\n").replace(/\r/g, "\n").split("\n"),
|
|
127
|
+
maxLineWidth: autoColWidth ? 1 / 0 : cellWidth - (padding[1] + padding[3]),
|
|
128
|
+
fill: !0,
|
|
129
|
+
textBaseline: "top",
|
|
130
|
+
autoWrapText: autoWrapText,
|
|
131
|
+
lineClamp: lineClamp,
|
|
132
|
+
heightLimit: autoRowHeight ? -1 : cellHeight - (padding[0] + padding[2]),
|
|
133
|
+
pickable: !1
|
|
134
|
+
}, wrapText = new WrapText(cellTheme && cellTheme.text ? Object.assign({}, cellTheme.text, attribute) : attribute);
|
|
135
|
+
wrapText.name = "text", cellGroup.appendChild(wrapText), contentWidth = wrapText.AABBBounds.width(),
|
|
136
|
+
contentHeight = wrapText.AABBBounds.height();
|
|
137
|
+
}
|
|
138
|
+
const width = autoColWidth ? leftIconWidth + contentWidth + rightIconWidth : cellWidth - (padding[1] + padding[3]), height = autoRowHeight ? Math.max(leftIconHeight, contentHeight, rightIconHeight) : cellHeight - (padding[0] + padding[2]);
|
|
139
|
+
cellGroup.forEachChildren((child => {
|
|
140
|
+
"icon-left" === child.role ? child.setAttribute("x", child.attribute.x + padding[3]) : "icon-right" === child.role ? child.setAttribute("x", child.attribute.x + width - rightIconWidth + padding[3]) : "icon-absolute-right" === child.role ? child.setAttribute("x", child.attribute.x + width - absoluteRightIconWidth + padding[3] + padding[1]) : "content" !== child.name && "text" !== child.name || ("center" === textAlign && "richtext" !== child.type ? child.setAttribute("x", padding[3] + leftIconWidth + (width - leftIconWidth - rightIconWidth) / 2) : "right" === textAlign && "richtext" !== child.type ? child.setAttribute("x", padding[3] + width - rightIconWidth) : child.setAttribute("x", padding[3] + leftIconWidth));
|
|
141
|
+
})), cellGroup.forEachChildren((child => {
|
|
142
|
+
"middle" === textBaseline ? child.setAttribute("y", padding[0] + (height - child.AABBBounds.height()) / 2) : "bottom" === textBaseline ? child.setAttribute("y", padding[0] + height - child.AABBBounds.height()) : child.setAttribute("y", padding[0]);
|
|
143
|
+
})), cellGroup.setAttributes({
|
|
144
|
+
width: width + padding[1] + padding[3],
|
|
145
|
+
height: height + padding[0] + padding[2]
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
export function dealWithIcon(icon, mark) {
|
|
150
|
+
var _a, _b, _c, _d, _e, _f;
|
|
151
|
+
const iconAttribute = {};
|
|
152
|
+
if ("image" === icon.type ? iconAttribute.image = icon.src : ("svg" === icon.type || "svg" in icon) && (iconAttribute.image = icon.svg),
|
|
153
|
+
iconAttribute.width = icon.width, iconAttribute.height = icon.height, iconAttribute.visibleTime = null !== (_a = icon.visibleTime) && void 0 !== _a ? _a : "always",
|
|
154
|
+
iconAttribute.funcType = icon.funcType, iconAttribute.marginLeft = null !== (_b = icon.marginLeft) && void 0 !== _b ? _b : 0,
|
|
155
|
+
iconAttribute.marginRight = null !== (_c = icon.marginRight) && void 0 !== _c ? _c : 0,
|
|
156
|
+
icon.interactive && (iconAttribute.pickable = !1), icon.hover && (iconAttribute.backgroundWidth = null !== (_d = icon.hover.width) && void 0 !== _d ? _d : icon.width,
|
|
157
|
+
iconAttribute.backgroundHeight = null !== (_e = icon.hover.width) && void 0 !== _e ? _e : icon.width,
|
|
158
|
+
iconAttribute.backgroundColor = null !== (_f = icon.hover.bgColor) && void 0 !== _f ? _f : "rgba(22,44,66,0.2)",
|
|
159
|
+
iconAttribute.hoverImage = icon.hover.image), icon.cursor && (iconAttribute.cursor = icon.cursor),
|
|
160
|
+
"shape" in icon && "circle" === icon.shape && (iconAttribute.shape = icon.shape),
|
|
161
|
+
mark) return mark.setAttributes(iconAttribute), mark.loadImage(iconAttribute.image),
|
|
162
|
+
mark;
|
|
163
|
+
const iconMark = new Icon(iconAttribute);
|
|
164
|
+
return iconMark.tooltip = icon.tooltip, iconMark;
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
function dealWithRichTextIcon(icon) {
|
|
168
|
+
var _a, _b, _c, _d, _e, _f;
|
|
169
|
+
const config = {};
|
|
170
|
+
return "image" === icon.type ? config.image = icon.src : ("svg" === icon.type || "svg" in icon) && (config.image = icon.svg),
|
|
171
|
+
config.visibleTime = null !== (_a = icon.visibleTime) && void 0 !== _a ? _a : "always",
|
|
172
|
+
config.funcType = icon.funcType, config.id = icon.name, config.width = icon.width,
|
|
173
|
+
config.height = icon.height, (icon.marginRight || icon.marginLeft) && (config.margin = [ 0, null !== (_b = icon.marginRight) && void 0 !== _b ? _b : 0, 0, null !== (_c = icon.marginLeft) && void 0 !== _c ? _c : 0 ]),
|
|
174
|
+
icon.hover && (config.backgroundWidth = null !== (_d = icon.hover.width) && void 0 !== _d ? _d : icon.width,
|
|
175
|
+
config.backgroundHeight = null !== (_e = icon.hover.height) && void 0 !== _e ? _e : icon.height,
|
|
176
|
+
config.backgroundShowMode = "hover", config.hoverImage = icon.hover.image, config.backgroundStroke = !1,
|
|
177
|
+
config.backgroundFill = !0, config.backgroundFillColor = null !== (_f = icon.hover.bgColor) && void 0 !== _f ? _f : "rgba(22,44,66,0.2)"),
|
|
178
|
+
icon.cursor && (config.cursor = icon.cursor), config.tooltip = icon.tooltip, config;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
export function updateCellContentWidth(cellGroup, distWidth, detaX, autoRowHeight, padding, textAlign, textBaseline, scene) {
|
|
182
|
+
let oldTextHeight, leftIconWidth = 0, leftIconHeight = 0, rightIconWidth = 0, rightIconHeight = 0;
|
|
183
|
+
cellGroup.forEachChildren((iconMark => {
|
|
184
|
+
"icon-left" === iconMark.role ? (leftIconWidth += iconMark.AABBBounds.width(), leftIconHeight = Math.max(leftIconHeight, iconMark.AABBBounds.height())) : "icon-right" === iconMark.role && (rightIconWidth += iconMark.AABBBounds.width(),
|
|
185
|
+
rightIconHeight = Math.max(rightIconHeight, iconMark.AABBBounds.height()));
|
|
186
|
+
}));
|
|
187
|
+
const textMark = cellGroup.getChildByName("text"), cellContent = cellGroup.getChildByName("content");
|
|
188
|
+
let contentHeight;
|
|
189
|
+
textMark instanceof WrapText ? (oldTextHeight = textMark.AABBBounds.height(), textMark.setAttribute("maxLineWidth", distWidth - leftIconWidth - rightIconHeight - (padding[1] + padding[3])),
|
|
190
|
+
contentHeight = textMark.AABBBounds.height()) : textMark instanceof RichText ? (oldTextHeight = textMark.AABBBounds.height(),
|
|
191
|
+
textMark.setAttribute("width", distWidth - leftIconWidth - rightIconHeight - (padding[1] + padding[3])),
|
|
192
|
+
contentHeight = textMark.AABBBounds.height()) : cellContent && (oldTextHeight = cellContent.AABBBounds.height(),
|
|
193
|
+
cellContent.updateWidth(distWidth - leftIconWidth - rightIconHeight - (padding[1] + padding[3])),
|
|
194
|
+
contentHeight = cellContent.AABBBounds.height());
|
|
195
|
+
const oldCellHeight = Math.max(leftIconHeight, rightIconHeight, oldTextHeight) + padding[0] + padding[2];
|
|
196
|
+
if (cellGroup.forEachChildren((child => {
|
|
197
|
+
if ("icon-left" === child.role) ; else if ("icon-right" === child.role) child.setAttribute("x", child.attribute.x + detaX); else if ("icon-absolute-right" === child.role) child.setAttribute("x", child.attribute.x + detaX); else if ("content" === child.name || "text" === child.name) {
|
|
198
|
+
child.AABBBounds.width();
|
|
199
|
+
"center" === textAlign ? child.setAttribute("x", padding[3] + leftIconWidth + (distWidth - (padding[1] + padding[3]) - leftIconWidth - rightIconWidth) / 2) : "right" === textAlign && child.setAttribute("x", padding[3] + distWidth - (padding[1] + padding[3]) - rightIconWidth);
|
|
200
|
+
} else "mark" === child.name && child.setAttribute("x", cellGroup.attribute.width);
|
|
201
|
+
})), autoRowHeight) {
|
|
202
|
+
let newHeight = Math.max(leftIconHeight, contentHeight, rightIconHeight);
|
|
203
|
+
if (isCellHeightUpdate(scene, cellGroup, newHeight + padding[0] + padding[2], oldCellHeight)) return !0;
|
|
204
|
+
newHeight = cellGroup.attribute.height - (padding[0] + padding[2]), cellGroup.forEachChildren((child => {
|
|
205
|
+
"rect" !== child.type && ("mark" === child.name ? child.setAttribute("y", 0) : "middle" === textBaseline ? child.setAttribute("y", padding[0] + (newHeight - child.AABBBounds.height()) / 2) : "bottom" === textBaseline ? child.setAttribute("y", padding[0] + newHeight - child.AABBBounds.height()) : child.setAttribute("y", padding[0]));
|
|
206
|
+
}));
|
|
207
|
+
} else "middle" !== textBaseline && "bottom" !== textBaseline || cellGroup.forEachChildren((child => {
|
|
208
|
+
"rect" !== child.type && ("mark" === child.name ? child.setAttribute("y", 0) : "middle" === textBaseline ? child.setAttribute("y", (cellGroup.attribute.height - padding[2] + padding[0] - child.AABBBounds.height()) / 2) : "bottom" === textBaseline ? child.setAttribute("y", cellGroup.attribute.height - child.AABBBounds.height() - padding[2]) : child.setAttribute("y", padding[0]));
|
|
209
|
+
}));
|
|
210
|
+
return !1;
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export function updateCellContentHeight(cellGroup, distHeight, detaY, autoRowHeight, padding, textAlign, textBaseline) {
|
|
214
|
+
const newHeight = distHeight - (padding[0] + padding[2]), textMark = cellGroup.getChildByName("text");
|
|
215
|
+
if (textMark instanceof WrapText && !autoRowHeight) textMark.setAttribute("heightLimit", newHeight); else if (textMark instanceof RichText && !autoRowHeight) textMark.setAttribute("height", newHeight); else if (cellGroup.getChildByName("content")) {
|
|
216
|
+
cellGroup.getChildByName("content").updateHeight(newHeight);
|
|
217
|
+
}
|
|
218
|
+
cellGroup.forEachChildren((child => {
|
|
219
|
+
"rect" === child.type || ("mark" === child.name ? child.setAttribute("y", 0) : "middle" === textBaseline ? child.setAttribute("y", padding[0] + (newHeight - child.AABBBounds.height()) / 2) : "bottom" === textBaseline ? child.setAttribute("y", padding[0] + newHeight - child.AABBBounds.height()) : child.setAttribute("y", padding[0]));
|
|
220
|
+
}));
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
function isCellHeightUpdate(scene, cellGroup, newHeight, oldHeight) {
|
|
224
|
+
const table = scene.table, mergeInfo = getCellMergeInfo(table, cellGroup.col, cellGroup.row);
|
|
225
|
+
if (mergeInfo && mergeInfo.end.row - mergeInfo.start.row) {
|
|
226
|
+
oldHeight /= mergeInfo.end.row - mergeInfo.start.row + 1, newHeight /= mergeInfo.end.row - mergeInfo.start.row + 1;
|
|
227
|
+
for (let rowIndex = mergeInfo.start.row; rowIndex <= mergeInfo.end.row; rowIndex++) {
|
|
228
|
+
const rowHeight = table.getRowHeight(rowIndex);
|
|
229
|
+
if (rowHeight === oldHeight && newHeight !== rowHeight) return !0;
|
|
230
|
+
if (newHeight > rowHeight) return !0;
|
|
231
|
+
}
|
|
232
|
+
} else {
|
|
233
|
+
const rowHeight = table.getRowHeight(cellGroup.row);
|
|
234
|
+
if (rowHeight === oldHeight && newHeight !== rowHeight) return !0;
|
|
235
|
+
if (newHeight > rowHeight) return !0;
|
|
236
|
+
}
|
|
237
|
+
return !1;
|
|
238
|
+
}
|
|
239
|
+
//# sourceMappingURL=text-icon-layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["scenegraph/utils/text-icon-layout.ts"],"names":[],"mappings":"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","file":"text-icon-layout.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { IThemeSpec } from '@visactor/vrender';\nimport { RichText } from '@visactor/vrender';\nimport { convertInternal } from '../../tools/util';\nimport type { ColumnIconOption } from '../../ts-types';\nimport { IconPosition } from '../../ts-types';\nimport { CellContent } from '../component/cell-content';\nimport type { Group } from '../graphic/group';\nimport { Icon } from '../graphic/icon';\nimport { WrapText } from '../graphic/text';\nimport type { Scenegraph } from '../scenegraph';\nimport { getCellMergeInfo } from './get-cell-merge';\n\n/**\n * @description: 创建单元格内容\n * cellGroup\n * |-- content\n * |-- leftContentIcons\n * |-- rightContentIcons\n * |-- wrapText / richtext\n * |-- leftIcons\n * |-- rightIcons\n * |-- absoluteIcons\n * @param {ColumnIconOption} icons\n * @param {string} textStr\n * @param {array} padding\n * @param {boolean} autoColWidth\n * @param {boolean} autoRowHeight\n * @param {boolean} autoWrapText\n * @param {number} cellWidth\n * @param {number} cellHeight\n * @param {CanvasTextAlign} textAlign\n * @param {CanvasTextBaseline} textBaseline\n * @return {*}\n */\nexport function createCellContent(\n cellGroup: Group,\n icons: ColumnIconOption[] | null,\n textStr: string,\n padding: [number, number, number, number],\n autoColWidth: boolean,\n autoRowHeight: boolean,\n autoWrapText: boolean,\n lineClamp: number | undefined,\n cellWidth: number,\n cellHeight: number,\n textAlign: CanvasTextAlign,\n textBaseline: CanvasTextBaseline,\n cellTheme?: IThemeSpec\n) {\n const leftIcons: ColumnIconOption[] = [];\n const rightIcons: ColumnIconOption[] = [];\n const contentLeftIcons: ColumnIconOption[] = [];\n const contentRightIcons: ColumnIconOption[] = [];\n const inlineFrontIcons: ColumnIconOption[] = [];\n const inlineEndIcons: ColumnIconOption[] = [];\n const absoluteLeftIcons: ColumnIconOption[] = [];\n const absoluteRightIcons: ColumnIconOption[] = [];\n\n let contentWidth: number;\n let contentHeight: number;\n let leftIconWidth = 0;\n let leftIconHeight = 0;\n let rightIconWidth = 0;\n let rightIconHeight = 0;\n let absoluteLeftIconWidth = 0;\n let absoluteRightIconWidth = 0;\n\n if (!Array.isArray(icons) || icons.length === 0) {\n // 没有icon,cellGroup只添加WrapText\n const text = convertInternal(textStr).replace(/\\r?\\n/g, '\\n').replace(/\\r/g, '\\n').split('\\n');\n\n const attribute = {\n text, // 单行(no-autoWrapText)为字符串,多行(autoWrapText)为字符串数组\n maxLineWidth: autoColWidth ? Infinity : cellWidth - (padding[1] + padding[3]),\n fill: true,\n // textAlign: 'left',\n textBaseline: 'top',\n autoWrapText,\n lineClamp,\n // widthLimit: autoColWidth ? -1 : colWidth - (padding[1] + padding[3]),\n heightLimit: autoRowHeight ? -1 : cellHeight - (padding[0] + padding[2]),\n pickable: false\n };\n const wrapText = new WrapText(\n cellTheme && cellTheme.text ? (Object.assign({}, cellTheme.text, attribute) as any) : attribute\n );\n wrapText.name = 'text';\n\n cellGroup.appendChild(wrapText);\n\n contentWidth = wrapText.AABBBounds.width();\n contentHeight = wrapText.AABBBounds.height();\n } else {\n // icon分类\n icons.forEach(icon => {\n switch (icon.positionType) {\n case IconPosition.left:\n leftIcons.push(icon);\n break;\n case IconPosition.right:\n rightIcons.push(icon);\n break;\n case IconPosition.contentLeft:\n contentLeftIcons.push(icon);\n break;\n case IconPosition.contentRight:\n contentRightIcons.push(icon);\n break;\n // case IconPosition.absoluteLeft:\n // absoluteLeftIcons.push(icon);\n // break;\n case IconPosition.absoluteRight:\n absoluteRightIcons.push(icon);\n break;\n case IconPosition.inlineFront:\n inlineFrontIcons.push(icon);\n break;\n case IconPosition.inlineEnd:\n inlineEndIcons.push(icon);\n break;\n }\n });\n\n // 添加非cell icon & absolute icon\n leftIcons.forEach(icon => {\n const iconMark = dealWithIcon(icon);\n iconMark.role = 'icon-left';\n iconMark.name = icon.name;\n iconMark.setAttribute('x', leftIconWidth + (iconMark.attribute.marginLeft ?? 0));\n leftIconWidth +=\n iconMark.AABBBounds.width() + (iconMark.attribute.marginLeft ?? 0) + (iconMark.attribute.marginRight ?? 0);\n leftIconHeight = Math.max(leftIconHeight, iconMark.AABBBounds.height());\n cellGroup.appendChild(iconMark);\n });\n\n rightIcons.forEach(icon => {\n const iconMark = dealWithIcon(icon);\n iconMark.role = 'icon-right';\n iconMark.name = icon.name;\n iconMark.setAttribute('x', rightIconWidth + (iconMark.attribute.marginLeft ?? 0));\n rightIconWidth +=\n iconMark.AABBBounds.width() + (iconMark.attribute.marginLeft ?? 0) + (iconMark.attribute.marginRight ?? 0);\n rightIconHeight = Math.max(rightIconHeight, iconMark.AABBBounds.height());\n cellGroup.appendChild(iconMark);\n });\n\n absoluteLeftIcons.forEach(icon => {\n const iconMark = dealWithIcon(icon);\n iconMark.role = 'icon-absolute-left';\n iconMark.name = icon.name;\n iconMark.setAttribute('x', absoluteLeftIconWidth + (iconMark.attribute.marginLeft ?? 0));\n absoluteLeftIconWidth +=\n iconMark.AABBBounds.width() + (iconMark.attribute.marginLeft ?? 0) + (iconMark.attribute.marginRight ?? 0);\n cellGroup.appendChild(iconMark);\n });\n\n absoluteRightIcons.forEach(icon => {\n const iconMark = dealWithIcon(icon);\n iconMark.role = 'icon-absolute-right';\n iconMark.name = icon.name;\n iconMark.setAttribute('x', absoluteRightIconWidth + (iconMark.attribute.marginLeft ?? 0));\n absoluteRightIconWidth +=\n iconMark.AABBBounds.width() + (iconMark.attribute.marginLeft ?? 0) + (iconMark.attribute.marginRight ?? 0);\n cellGroup.appendChild(iconMark);\n });\n\n // 添加text & content icon & inline icon\n let textMark;\n // 直接添加richtext / wrapText\n if (inlineFrontIcons.length === 0 && inlineEndIcons.length === 0) {\n const text = convertInternal(textStr).replace(/\\r?\\n/g, '\\n').replace(/\\r/g, '\\n').split('\\n');\n const attribute = {\n text, // 单行(no-autoWrapText)为字符串,多行(autoWrapText)为字符串数组\n maxLineWidth: autoColWidth ? Infinity : cellWidth - (padding[1] + padding[3]) - leftIconWidth - rightIconWidth,\n fill: true,\n // textAlign: 'left',\n textBaseline: 'top',\n // widthLimit: autoColWidth ? -1 : colWidth - (padding[1] + padding[3]),\n heightLimit: autoRowHeight ? -1 : cellHeight - (padding[0] + padding[2]),\n pickable: false,\n autoWrapText,\n lineClamp\n };\n const wrapText = new WrapText(\n cellTheme && cellTheme.text ? (Object.assign({}, cellTheme.text, attribute) as any) : attribute\n );\n wrapText.name = 'text';\n textMark = wrapText;\n } else {\n const textOption = Object.assign(\n {\n fill: true,\n text: textStr?.toString()\n },\n (cellGroup.parent as Group)?.theme?.userTheme?.text || {}\n );\n if (cellTheme && cellTheme.text) {\n Object.assign(textOption, cellTheme.text);\n }\n textOption.textBaseline = 'middle';\n const textConfig = [\n ...inlineFrontIcons.map(icon => dealWithRichTextIcon(icon)),\n textOption,\n ...inlineEndIcons.map(icon => dealWithRichTextIcon(icon))\n ];\n textConfig[0].textAlign = textAlign;\n const text = new RichText({\n width: autoColWidth ? 0 : cellWidth - (padding[1] + padding[3]) - leftIconWidth - rightIconWidth,\n height: autoRowHeight ? 0 : cellHeight - (padding[0] + padding[2]),\n textConfig,\n verticalDirection: autoRowHeight ? 'top' : (textBaseline as any)\n // textAlign: textAlign as any,\n // textBaseline: textBaseline as any,\n });\n text.name = 'text';\n textMark = text;\n text.bindIconEvent();\n }\n\n if (contentLeftIcons.length !== 0 || contentRightIcons.length !== 0) {\n // 创建CellContent处理conten icon;有content icon,cellGroup: CellIcons + cellContent\n\n const cellContent = new CellContent({\n // x: padding[3] + leftIconWidth,\n // y: padding[0],\n x: 0,\n y: 0\n // pickable: false,\n });\n cellContent.name = 'content';\n\n cellContent.setCellContentOption({\n autoWidth: autoColWidth,\n autoHeight: autoRowHeight,\n cellWidth: cellWidth - (padding[1] + padding[3]) - leftIconWidth - rightIconWidth,\n cellHeight: cellHeight - (padding[0] + padding[2]),\n align: textAlign,\n baseline: textBaseline\n });\n\n contentLeftIcons.forEach(icon => {\n const iconMark = dealWithIcon(icon);\n iconMark.role = 'icon-content-left';\n iconMark.name = icon.name;\n cellContent.addLeftOccupyingIcon(iconMark);\n });\n contentRightIcons.forEach(icon => {\n const iconMark = dealWithIcon(icon);\n iconMark.role = 'icon-content-right';\n iconMark.name = icon.name;\n cellContent.addRightOccupyingIcon(iconMark);\n });\n cellContent.addContent(textMark);\n\n cellGroup.appendChild(cellContent);\n cellContent.layout();\n\n contentWidth = cellContent.AABBBounds.width();\n contentHeight = cellContent.AABBBounds.height();\n } else {\n // 没有content icon,cellGroup: CellIcons + wrapText/richtext\n // cellGroup.appendChild(textMark);\n if (cellGroup.firstChild) {\n cellGroup.insertBefore(textMark, cellGroup.firstChild);\n } else {\n cellGroup.appendChild(textMark);\n }\n contentWidth = textMark.AABBBounds.width();\n contentHeight = textMark.AABBBounds.height();\n }\n }\n\n // 内容添加后单元格的宽高\n const width = autoColWidth\n ? leftIconWidth + contentWidth + rightIconWidth // + padding[1] + padding[3]\n : cellWidth - (padding[1] + padding[3]);\n const height = autoRowHeight\n ? Math.max(leftIconHeight, contentHeight, rightIconHeight) // + padding[0] + padding[2]\n : cellHeight - (padding[0] + padding[2]);\n\n // 更新各个部分横向位置\n cellGroup.forEachChildren((child: any) => {\n if (child.role === 'icon-left') {\n child.setAttribute('x', child.attribute.x + padding[3]);\n } else if (child.role === 'icon-right') {\n child.setAttribute('x', child.attribute.x + width - rightIconWidth + padding[3]);\n } else if (child.role === 'icon-absolute-right') {\n child.setAttribute('x', child.attribute.x + width - absoluteRightIconWidth + padding[3] + padding[1]);\n } else if (child.name === 'content' || child.name === 'text') {\n if (textAlign === 'center' && child.type !== 'richtext') {\n child.setAttribute('x', padding[3] + leftIconWidth + (width - leftIconWidth - rightIconWidth) / 2);\n } else if (textAlign === 'right' && child.type !== 'richtext') {\n child.setAttribute('x', padding[3] + width - rightIconWidth);\n } else {\n child.setAttribute('x', padding[3] + leftIconWidth);\n }\n }\n });\n\n // 更新各个部分纵向位置\n cellGroup.forEachChildren((child: any) => {\n if (textBaseline === 'middle') {\n child.setAttribute('y', padding[0] + (height - child.AABBBounds.height()) / 2);\n } else if (textBaseline === 'bottom') {\n child.setAttribute('y', padding[0] + height - child.AABBBounds.height());\n } else {\n child.setAttribute('y', padding[0]);\n }\n });\n\n // 更新cell Group宽高\n cellGroup.setAttributes({\n width: width + padding[1] + padding[3],\n height: height + padding[0] + padding[2]\n } as any);\n}\n\n/**\n * @description: icon option生成icon mark\n * @param {ColumnIconOption} icon\n * @return {*}\n */\nexport function dealWithIcon(icon: ColumnIconOption, mark?: Icon): Icon {\n // positionType在外部处理\n const iconAttribute = {} as any;\n\n // 图片内容\n if (icon.type === 'image') {\n iconAttribute.image = icon.src;\n } else if (icon.type === 'svg' || 'svg' in icon) {\n iconAttribute.image = icon.svg;\n // } else if (icon.type === 'path') {\n // // to do: 暂不支持\n // } else if (icon.type === 'font') {\n // // to do: 暂不支持\n }\n\n // name\n // iconAttribute.name = icon.name;\n iconAttribute.width = icon.width;\n iconAttribute.height = icon.height;\n iconAttribute.visibleTime = icon.visibleTime ?? 'always';\n iconAttribute.funcType = icon.funcType;\n\n iconAttribute.marginLeft = icon.marginLeft ?? 0;\n iconAttribute.marginRight = icon.marginRight ?? 0;\n\n if (icon.interactive) {\n iconAttribute.pickable = false;\n }\n\n if (icon.hover) {\n iconAttribute.backgroundWidth = icon.hover.width ?? icon.width;\n iconAttribute.backgroundHeight = icon.hover.width ?? icon.width;\n iconAttribute.backgroundColor = icon.hover.bgColor ?? 'rgba(22,44,66,0.2)';\n iconAttribute.hoverImage = icon.hover.image;\n }\n\n if (icon.cursor) {\n iconAttribute.cursor = icon.cursor;\n }\n\n if ('shape' in icon && icon.shape === 'circle') {\n iconAttribute.shape = icon.shape;\n }\n\n if (mark) {\n mark.setAttributes(iconAttribute);\n mark.loadImage(iconAttribute.image);\n return mark;\n }\n // funcType, cursor, tooltip, hover在事件响应阶段处理\n const iconMark = new Icon(iconAttribute);\n iconMark.tooltip = icon.tooltip;\n\n return iconMark;\n}\n\n/**\n * @description: icon option生成richtext icon config\n * @param {ColumnIconOption} icon\n * @return {*}\n */\nfunction dealWithRichTextIcon(icon: ColumnIconOption) {\n // positionType在外部处理\n const config = {} as any;\n\n // 图片内容\n if (icon.type === 'image') {\n config.image = icon.src;\n } else if (icon.type === 'svg' || 'svg' in icon) {\n config.image = icon.svg;\n // } else if (icon.type === 'path') {\n // // to do: 暂不支持\n // } else if (icon.type === 'font') {\n // // to do: 暂不支持\n }\n\n // name\n config.visibleTime = icon.visibleTime ?? 'always';\n config.funcType = icon.funcType;\n config.id = icon.name;\n config.width = icon.width;\n config.height = icon.height;\n\n if (icon.marginRight || icon.marginLeft) {\n config.margin = [0, icon.marginRight ?? 0, 0, icon.marginLeft ?? 0];\n }\n\n if (icon.hover) {\n config.backgroundWidth = icon.hover.width ?? icon.width;\n config.backgroundHeight = icon.hover.height ?? icon.height;\n config.backgroundShowMode = 'hover';\n config.hoverImage = icon.hover.image;\n config.backgroundStroke = false;\n config.backgroundFill = true;\n config.backgroundFillColor = icon.hover.bgColor ?? 'rgba(22,44,66,0.2)';\n }\n\n if (icon.cursor) {\n config.cursor = icon.cursor;\n }\n\n config.tooltip = icon.tooltip;\n\n // funcType, cursor, tooltip在事件响应阶段处理\n return config;\n}\n\n/**\n * @description: 更新单元格内容宽度\n * @param {Group} cellGroup\n * @param {number} distWidth\n * @param {boolean} autoRowHeight\n * @return {*}\n */\nexport function updateCellContentWidth(\n cellGroup: Group,\n distWidth: number,\n detaX: number,\n autoRowHeight: boolean,\n padding: [number, number, number, number],\n textAlign: CanvasTextAlign,\n textBaseline: CanvasTextBaseline,\n scene: Scenegraph\n): boolean {\n let leftIconWidth = 0;\n let leftIconHeight = 0;\n let rightIconWidth = 0;\n let rightIconHeight = 0;\n // let hasIcon = false;\n cellGroup.forEachChildren((iconMark: Icon) => {\n if (iconMark.role === 'icon-left') {\n leftIconWidth += iconMark.AABBBounds.width();\n leftIconHeight = Math.max(leftIconHeight, iconMark.AABBBounds.height());\n } else if (iconMark.role === 'icon-right') {\n rightIconWidth += iconMark.AABBBounds.width();\n rightIconHeight = Math.max(rightIconHeight, iconMark.AABBBounds.height());\n }\n });\n\n // 记录原始内容高度\n let oldTextHeight;\n const textMark = cellGroup.getChildByName('text');\n const cellContent = cellGroup.getChildByName('content') as CellContent;\n let contentHeight: number;\n if (textMark instanceof WrapText) {\n oldTextHeight = textMark.AABBBounds.height();\n textMark.setAttribute('maxLineWidth', distWidth - leftIconWidth - rightIconHeight - (padding[1] + padding[3]));\n // contentWidth = textMark.AABBBounds.width();\n contentHeight = textMark.AABBBounds.height();\n } else if (textMark instanceof RichText) {\n oldTextHeight = textMark.AABBBounds.height();\n textMark.setAttribute('width', distWidth - leftIconWidth - rightIconHeight - (padding[1] + padding[3]));\n // contentWidth = textMark.AABBBounds.width();\n contentHeight = textMark.AABBBounds.height();\n } else if (cellContent) {\n oldTextHeight = cellContent.AABBBounds.height();\n cellContent.updateWidth(distWidth - leftIconWidth - rightIconHeight - (padding[1] + padding[3]));\n // contentWidth = cellContent.AABBBounds.width();\n contentHeight = cellContent.AABBBounds.height();\n }\n\n const oldCellHeight = Math.max(leftIconHeight, rightIconHeight, oldTextHeight) + padding[0] + padding[2];\n\n // 更新x方向位置\n cellGroup.forEachChildren((child: any) => {\n if (child.role === 'icon-left') {\n // do nothing\n } else if (child.role === 'icon-right') {\n child.setAttribute('x', child.attribute.x + detaX);\n } else if (child.role === 'icon-absolute-right') {\n child.setAttribute('x', child.attribute.x + detaX);\n } else if (child.name === 'content' || child.name === 'text') {\n const contentWidth = child.AABBBounds.width();\n if (textAlign === 'center') {\n child.setAttribute(\n 'x',\n padding[3] + leftIconWidth + (distWidth - (padding[1] + padding[3]) - leftIconWidth - rightIconWidth) / 2\n );\n } else if (textAlign === 'right') {\n child.setAttribute('x', padding[3] + distWidth - (padding[1] + padding[3]) - rightIconWidth);\n } else {\n // left: do nothing\n }\n } else if (child.name === 'mark') {\n child.setAttribute('x', cellGroup.attribute.width);\n }\n });\n\n // 如果autoRowHeight && 高度改变 更新y方向位置\n if (autoRowHeight) {\n let newHeight = Math.max(leftIconHeight, contentHeight, rightIconHeight); // + padding[0] + padding[2]\n\n if (isCellHeightUpdate(scene, cellGroup, newHeight + padding[0] + padding[2], oldCellHeight)) {\n // cellGroup.setAttribute('height', newHeight + padding[0] + padding[2]);\n return true;\n }\n\n newHeight = cellGroup.attribute.height - (padding[0] + padding[2]);\n\n cellGroup.forEachChildren((child: any) => {\n if (child.type === 'rect') {\n return;\n }\n if (child.name === 'mark') {\n child.setAttribute('y', 0);\n } else if (textBaseline === 'middle') {\n child.setAttribute('y', padding[0] + (newHeight - child.AABBBounds.height()) / 2);\n } else if (textBaseline === 'bottom') {\n child.setAttribute('y', padding[0] + newHeight - child.AABBBounds.height());\n } else {\n child.setAttribute('y', padding[0]);\n }\n });\n } else if (textBaseline === 'middle' || textBaseline === 'bottom') {\n cellGroup.forEachChildren((child: any) => {\n if (child.type === 'rect') {\n return;\n }\n if (child.name === 'mark') {\n child.setAttribute('y', 0);\n } else if (textBaseline === 'middle') {\n child.setAttribute('y', (cellGroup.attribute.height - padding[2] + padding[0] - child.AABBBounds.height()) / 2);\n } else if (textBaseline === 'bottom') {\n child.setAttribute('y', cellGroup.attribute.height - child.AABBBounds.height() - padding[2]);\n } else {\n child.setAttribute('y', padding[0]);\n }\n });\n }\n return false;\n}\n\n/**\n * @description: 更新单元格内容宽度\n */\nexport function updateCellContentHeight(\n cellGroup: Group,\n distHeight: number,\n detaY: number,\n autoRowHeight: boolean,\n padding: [number, number, number, number],\n textAlign: CanvasTextAlign,\n textBaseline: CanvasTextBaseline\n) {\n const newHeight = distHeight - (padding[0] + padding[2]);\n\n const textMark = cellGroup.getChildByName('text');\n\n if (textMark instanceof WrapText && !autoRowHeight) {\n textMark.setAttribute('heightLimit', newHeight);\n } else if (textMark instanceof RichText && !autoRowHeight) {\n textMark.setAttribute('height', newHeight);\n } else if (cellGroup.getChildByName('content')) {\n const cellContent = cellGroup.getChildByName('content') as CellContent;\n cellContent.updateHeight(newHeight);\n }\n\n // 更新y方向位置\n cellGroup.forEachChildren((child: any) => {\n if (child.type === 'rect') {\n // do nothing\n } else if (child.name === 'mark') {\n child.setAttribute('y', 0);\n } else if (textBaseline === 'middle') {\n child.setAttribute('y', padding[0] + (newHeight - child.AABBBounds.height()) / 2);\n } else if (textBaseline === 'bottom') {\n child.setAttribute('y', padding[0] + newHeight - child.AABBBounds.height());\n } else {\n child.setAttribute('y', padding[0]);\n }\n });\n}\n\n/**\n * @description: 自适应行高模式下,判断当前单元格是否需要更新行高\n * @param {Scenegraph} scene\n * @param {Group} cellGroup\n * @param {number} newHeight\n * @param {number} oldHeight\n * @return {*}\n */\nfunction isCellHeightUpdate(scene: Scenegraph, cellGroup: Group, newHeight: number, oldHeight: number): boolean {\n const table = scene.table;\n const mergeInfo = getCellMergeInfo(table, cellGroup.col, cellGroup.row);\n\n // let rowHeight: number = 0;\n if (mergeInfo && mergeInfo.end.row - mergeInfo.start.row) {\n oldHeight = oldHeight / (mergeInfo.end.row - mergeInfo.start.row + 1);\n newHeight = newHeight / (mergeInfo.end.row - mergeInfo.start.row + 1);\n for (let rowIndex = mergeInfo.start.row; rowIndex <= mergeInfo.end.row; rowIndex++) {\n const rowHeight = table.getRowHeight(rowIndex);\n\n if (rowHeight === oldHeight && newHeight !== rowHeight) {\n // 当前行的自适应行高,是由本单元格撑起;如果当前单元格高度发生变化,则更新行高\n return true;\n } else if (newHeight > rowHeight) {\n // 如果当前单元格高度超过目前所在行的行高,则更新行高\n return true;\n }\n }\n } else {\n const rowHeight = table.getRowHeight(cellGroup.row);\n\n if (rowHeight === oldHeight && newHeight !== rowHeight) {\n // 当前行的自适应行高,是由本单元格撑起;如果当前单元格高度发生变化,则更新行高\n return true;\n } else if (newHeight > rowHeight) {\n // 如果当前单元格高度超过目前所在行的行高,则更新行高\n return true;\n }\n }\n\n return false;\n}\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IFullThemeSpec } from '@visactor/vrender';
|
|
2
|
+
import type { Group } from '../graphic/group';
|
|
3
|
+
import type { BaseTableAPI } from '../../ts-types/base-table';
|
|
4
|
+
export declare function getTextPos(padding: number[], textAlign: CanvasTextAlign, textBaseline: CanvasTextBaseline, width: number, height: number): {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
};
|
|
8
|
+
export declare function updateTextPose(table: BaseTableAPI, cell: Group, col: number, row: number, theme: IFullThemeSpec): void;
|