@visactor/vtable 0.9.0-alpha.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +152 -0
- package/cjs/ListTable.d.ts +38 -0
- package/cjs/ListTable.js +258 -0
- package/cjs/ListTable.js.map +1 -0
- package/cjs/PivotTable.d.ts +50 -0
- package/cjs/PivotTable.js +275 -0
- package/cjs/PivotTable.js.map +1 -0
- package/cjs/body-helper/body-helper.d.ts +14 -0
- package/cjs/body-helper/body-helper.js +99 -0
- package/cjs/body-helper/body-helper.js.map +1 -0
- package/cjs/body-helper/style/ImageStyle.d.ts +7 -0
- package/cjs/body-helper/style/ImageStyle.js +24 -0
- package/cjs/body-helper/style/ImageStyle.js.map +1 -0
- package/cjs/body-helper/style/MultilineTextStyle.d.ts +13 -0
- package/cjs/body-helper/style/MultilineTextStyle.js +38 -0
- package/cjs/body-helper/style/MultilineTextStyle.js.map +1 -0
- package/cjs/body-helper/style/NumberStyle.d.ts +7 -0
- package/cjs/body-helper/style/NumberStyle.js +24 -0
- package/cjs/body-helper/style/NumberStyle.js.map +1 -0
- package/cjs/body-helper/style/ProgressBarStyle.d.ts +52 -0
- package/cjs/body-helper/style/ProgressBarStyle.js +126 -0
- package/cjs/body-helper/style/ProgressBarStyle.js.map +1 -0
- package/cjs/body-helper/style/Style.d.ts +85 -0
- package/cjs/body-helper/style/Style.js +200 -0
- package/cjs/body-helper/style/Style.js.map +1 -0
- package/cjs/body-helper/style.d.ts +10 -0
- package/cjs/body-helper/style.js +52 -0
- package/cjs/body-helper/style.js.map +1 -0
- package/cjs/chartType.d.ts +3 -0
- package/cjs/chartType.js +14 -0
- package/cjs/chartType.js.map +1 -0
- package/cjs/core/BaseTable.d.ts +287 -0
- package/cjs/core/BaseTable.js +1272 -0
- package/cjs/core/BaseTable.js.map +1 -0
- package/cjs/core/FouseInput.d.ts +11 -0
- package/cjs/core/FouseInput.js +38 -0
- package/cjs/core/FouseInput.js.map +1 -0
- package/cjs/core/TABLE_EVENT_TYPE.d.ts +30 -0
- package/cjs/core/TABLE_EVENT_TYPE.js +34 -0
- package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -0
- package/cjs/core/tableHelper.d.ts +28 -0
- package/cjs/core/tableHelper.js +141 -0
- package/cjs/core/tableHelper.js.map +1 -0
- package/cjs/core.d.ts +3 -0
- package/cjs/core.js +24 -0
- package/cjs/core.js.map +1 -0
- package/cjs/data/CachedDataSource.d.ts +16 -0
- package/cjs/data/CachedDataSource.js +54 -0
- package/cjs/data/CachedDataSource.js.map +1 -0
- package/cjs/data/DataSource.d.ts +64 -0
- package/cjs/data/DataSource.js +294 -0
- package/cjs/data/DataSource.js.map +1 -0
- package/cjs/data/FilterDataSource.d.ts +1 -0
- package/cjs/data/FilterDataSource.js +1 -0
- package/cjs/data/FilterDataSource.js.map +1 -0
- package/cjs/data.d.ts +4 -0
- package/cjs/data.js +24 -0
- package/cjs/data.js.map +1 -0
- package/cjs/dataset/DataStatistics.d.ts +10 -0
- package/cjs/dataset/DataStatistics.js +81 -0
- package/cjs/dataset/DataStatistics.js.map +1 -0
- package/cjs/dataset/dataset.d.ts +72 -0
- package/cjs/dataset/dataset.js +490 -0
- package/cjs/dataset/dataset.js.map +1 -0
- package/cjs/dataset/flatDataToObject.d.ts +31 -0
- package/cjs/dataset/flatDataToObject.js +71 -0
- package/cjs/dataset/flatDataToObject.js.map +1 -0
- package/cjs/event/EventHandler.d.ts +45 -0
- package/cjs/event/EventHandler.js +120 -0
- package/cjs/event/EventHandler.js.map +1 -0
- package/cjs/event/EventTarget.d.ts +11 -0
- package/cjs/event/EventTarget.js +59 -0
- package/cjs/event/EventTarget.js.map +1 -0
- package/cjs/event/chart.d.ts +2 -0
- package/cjs/event/chart.js +24 -0
- package/cjs/event/chart.js.map +1 -0
- package/cjs/event/drill.d.ts +3 -0
- package/cjs/event/drill.js +23 -0
- package/cjs/event/drill.js.map +1 -0
- package/cjs/event/event.d.ts +35 -0
- package/cjs/event/event.js +426 -0
- package/cjs/event/event.js.map +1 -0
- package/cjs/event/media-click.d.ts +2 -0
- package/cjs/event/media-click.js +58 -0
- package/cjs/event/media-click.js.map +1 -0
- package/cjs/event/scroll.d.ts +2 -0
- package/cjs/event/scroll.js +23 -0
- package/cjs/event/scroll.js.map +1 -0
- package/cjs/header-helper/header-helper.d.ts +26 -0
- package/cjs/header-helper/header-helper.js +214 -0
- package/cjs/header-helper/header-helper.js.map +1 -0
- package/cjs/header-helper/style/ImageStyle.d.ts +7 -0
- package/cjs/header-helper/style/ImageStyle.js +25 -0
- package/cjs/header-helper/style/ImageStyle.js.map +1 -0
- package/cjs/header-helper/style/MultilineTextHeaderStyle.d.ts +13 -0
- package/cjs/header-helper/style/MultilineTextHeaderStyle.js +38 -0
- package/cjs/header-helper/style/MultilineTextHeaderStyle.js.map +1 -0
- package/cjs/header-helper/style/SortHeaderStyle.d.ts +1 -0
- package/cjs/header-helper/style/SortHeaderStyle.js +3 -0
- package/cjs/header-helper/style/SortHeaderStyle.js.map +1 -0
- package/cjs/header-helper/style/Style.d.ts +88 -0
- package/cjs/header-helper/style/Style.js +208 -0
- package/cjs/header-helper/style/Style.js.map +1 -0
- package/cjs/header-helper/style.d.ts +5 -0
- package/cjs/header-helper/style.js +30 -0
- package/cjs/header-helper/style.js.map +1 -0
- package/cjs/icons.d.ts +4 -0
- package/cjs/icons.js +241 -0
- package/cjs/icons.js.map +1 -0
- package/cjs/index.d.ts +17 -0
- package/cjs/index.js +95 -0
- package/cjs/index.js.map +1 -0
- package/cjs/layout/index.d.ts +1 -0
- package/cjs/layout/index.js +15 -0
- package/cjs/layout/index.js.map +1 -0
- package/cjs/layout/pivot-header-layout.d.ts +155 -0
- package/cjs/layout/pivot-header-layout.js +897 -0
- package/cjs/layout/pivot-header-layout.js.map +1 -0
- package/cjs/layout/pivot-layout.d.ts +86 -0
- package/cjs/layout/pivot-layout.js +422 -0
- package/cjs/layout/pivot-layout.js.map +1 -0
- package/cjs/layout/simple-header-layout.d.ts +67 -0
- package/cjs/layout/simple-header-layout.js +413 -0
- package/cjs/layout/simple-header-layout.js.map +1 -0
- package/cjs/menu/dom/BaseMenu.d.ts +15 -0
- package/cjs/menu/dom/BaseMenu.js +30 -0
- package/cjs/menu/dom/BaseMenu.js.map +1 -0
- package/cjs/menu/dom/Menu.d.ts +9 -0
- package/cjs/menu/dom/Menu.js +24 -0
- package/cjs/menu/dom/Menu.js.map +1 -0
- package/cjs/menu/dom/MenuHandler.d.ts +20 -0
- package/cjs/menu/dom/MenuHandler.js +134 -0
- package/cjs/menu/dom/MenuHandler.js.map +1 -0
- package/cjs/menu/dom/logic/MenuContainer.d.ts +22 -0
- package/cjs/menu/dom/logic/MenuContainer.js +110 -0
- package/cjs/menu/dom/logic/MenuContainer.js.map +1 -0
- package/cjs/menu/dom/logic/MenuElement.css +86 -0
- package/cjs/menu/dom/logic/MenuElement.d.ts +27 -0
- package/cjs/menu/dom/logic/MenuElement.js +278 -0
- package/cjs/menu/dom/logic/MenuElement.js.map +1 -0
- package/cjs/plugins/chartTypes.d.ts +3 -0
- package/cjs/plugins/chartTypes.js +6 -0
- package/cjs/plugins/chartTypes.js.map +1 -0
- package/cjs/plugins/icons.d.ts +12 -0
- package/cjs/plugins/icons.js +26 -0
- package/cjs/plugins/icons.js.map +1 -0
- package/cjs/plugins/themes.d.ts +4 -0
- package/cjs/plugins/themes.js +6 -0
- package/cjs/plugins/themes.js.map +1 -0
- package/cjs/register.d.ts +5 -0
- package/cjs/register.js +35 -0
- package/cjs/register.js.map +1 -0
- package/cjs/render/layout/arc.d.ts +23 -0
- package/cjs/render/layout/arc.js +20 -0
- package/cjs/render/layout/arc.js.map +1 -0
- package/cjs/render/layout/circle.d.ts +19 -0
- package/cjs/render/layout/circle.js +19 -0
- package/cjs/render/layout/circle.js.map +1 -0
- package/cjs/render/layout/container.d.ts +52 -0
- package/cjs/render/layout/container.js +99 -0
- package/cjs/render/layout/container.js.map +1 -0
- package/cjs/render/layout/direction.d.ts +22 -0
- package/cjs/render/layout/direction.js +35 -0
- package/cjs/render/layout/direction.js.map +1 -0
- package/cjs/render/layout/element.d.ts +47 -0
- package/cjs/render/layout/element.js +27 -0
- package/cjs/render/layout/element.js.map +1 -0
- package/cjs/render/layout/group-element.d.ts +25 -0
- package/cjs/render/layout/group-element.js +52 -0
- package/cjs/render/layout/group-element.js.map +1 -0
- package/cjs/render/layout/icon.d.ts +21 -0
- package/cjs/render/layout/icon.js +48 -0
- package/cjs/render/layout/icon.js.map +1 -0
- package/cjs/render/layout/image.d.ts +21 -0
- package/cjs/render/layout/image.js +20 -0
- package/cjs/render/layout/image.js.map +1 -0
- package/cjs/render/layout/index.d.ts +9 -0
- package/cjs/render/layout/index.js +25 -0
- package/cjs/render/layout/index.js.map +1 -0
- package/cjs/render/layout/line.d.ts +32 -0
- package/cjs/render/layout/line.js +88 -0
- package/cjs/render/layout/line.js.map +1 -0
- package/cjs/render/layout/percent-calc.d.ts +8 -0
- package/cjs/render/layout/percent-calc.js +13 -0
- package/cjs/render/layout/percent-calc.js.map +1 -0
- package/cjs/render/layout/rect.d.ts +22 -0
- package/cjs/render/layout/rect.js +19 -0
- package/cjs/render/layout/rect.js.map +1 -0
- package/cjs/render/layout/text.d.ts +22 -0
- package/cjs/render/layout/text.js +26 -0
- package/cjs/render/layout/text.js.map +1 -0
- package/cjs/scenegraph/component/cell-content.d.ts +36 -0
- package/cjs/scenegraph/component/cell-content.js +100 -0
- package/cjs/scenegraph/component/cell-content.js.map +1 -0
- package/cjs/scenegraph/component/cell-mover.d.ts +15 -0
- package/cjs/scenegraph/component/cell-mover.js +107 -0
- package/cjs/scenegraph/component/cell-mover.js.map +1 -0
- package/cjs/scenegraph/component/custom.d.ts +7 -0
- package/cjs/scenegraph/component/custom.js +212 -0
- package/cjs/scenegraph/component/custom.js.map +1 -0
- package/cjs/scenegraph/component/drill-icon.d.ts +9 -0
- package/cjs/scenegraph/component/drill-icon.js +70 -0
- package/cjs/scenegraph/component/drill-icon.js.map +1 -0
- package/cjs/scenegraph/component/menu.d.ts +41 -0
- package/cjs/scenegraph/component/menu.js +214 -0
- package/cjs/scenegraph/component/menu.js.map +1 -0
- package/cjs/scenegraph/component/table-component.d.ts +37 -0
- package/cjs/scenegraph/component/table-component.js +302 -0
- package/cjs/scenegraph/component/table-component.js.map +1 -0
- package/cjs/scenegraph/component/util.d.ts +2 -0
- package/cjs/scenegraph/component/util.js +11 -0
- package/cjs/scenegraph/component/util.js.map +1 -0
- package/cjs/scenegraph/debug-tool/debug-tool.d.ts +36 -0
- package/cjs/scenegraph/debug-tool/debug-tool.js +138 -0
- package/cjs/scenegraph/debug-tool/debug-tool.js.map +1 -0
- package/cjs/scenegraph/debug-tool/index.d.ts +4 -0
- package/cjs/scenegraph/debug-tool/index.js +14 -0
- package/cjs/scenegraph/debug-tool/index.js.map +1 -0
- package/cjs/scenegraph/graphic/chart.d.ts +30 -0
- package/cjs/scenegraph/graphic/chart.js +66 -0
- package/cjs/scenegraph/graphic/chart.js.map +1 -0
- package/cjs/scenegraph/graphic/contributions/chart-render.d.ts +10 -0
- package/cjs/scenegraph/graphic/contributions/chart-render.js +46 -0
- package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -0
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.d.ts +70 -0
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +195 -0
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -0
- package/cjs/scenegraph/graphic/contributions/image-contribution-render.d.ts +20 -0
- package/cjs/scenegraph/graphic/contributions/image-contribution-render.js +46 -0
- package/cjs/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -0
- package/cjs/scenegraph/graphic/contributions/index.d.ts +3 -0
- package/cjs/scenegraph/graphic/contributions/index.js +36 -0
- package/cjs/scenegraph/graphic/contributions/index.js.map +1 -0
- package/cjs/scenegraph/graphic/contributions/rect-contribution-render.d.ts +17 -0
- package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +47 -0
- package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -0
- package/cjs/scenegraph/graphic/group.d.ts +23 -0
- package/cjs/scenegraph/graphic/group.js +94 -0
- package/cjs/scenegraph/graphic/group.js.map +1 -0
- package/cjs/scenegraph/graphic/icon.d.ts +24 -0
- package/cjs/scenegraph/graphic/icon.js +25 -0
- package/cjs/scenegraph/graphic/icon.js.map +1 -0
- package/cjs/scenegraph/graphic/text.d.ts +16 -0
- package/cjs/scenegraph/graphic/text.js +146 -0
- package/cjs/scenegraph/graphic/text.js.map +1 -0
- package/cjs/scenegraph/group-creater/cell-helper.d.ts +7 -0
- package/cjs/scenegraph/group-creater/cell-helper.js +84 -0
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -0
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +3 -0
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +78 -0
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -0
- package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +7 -0
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js +123 -0
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -0
- package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.d.ts +9 -0
- package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +342 -0
- package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -0
- package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +3 -0
- package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +163 -0
- package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -0
- package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +5 -0
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js +64 -0
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -0
- package/cjs/scenegraph/group-creater/cell-type/video-cell.d.ts +4 -0
- package/cjs/scenegraph/group-creater/cell-type/video-cell.js +100 -0
- package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -0
- package/cjs/scenegraph/group-creater/column-helper.d.ts +24 -0
- package/cjs/scenegraph/group-creater/column-helper.js +136 -0
- package/cjs/scenegraph/group-creater/column-helper.js.map +1 -0
- package/cjs/scenegraph/group-creater/column.d.ts +14 -0
- package/cjs/scenegraph/group-creater/column.js +57 -0
- package/cjs/scenegraph/group-creater/column.js.map +1 -0
- package/cjs/scenegraph/group-creater/progress/proxy.d.ts +45 -0
- package/cjs/scenegraph/group-creater/progress/proxy.js +267 -0
- package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -0
- package/cjs/scenegraph/header-icon/layout.d.ts +3 -0
- package/cjs/scenegraph/header-icon/layout.js +75 -0
- package/cjs/scenegraph/header-icon/layout.js.map +1 -0
- package/cjs/scenegraph/hover-state.d.ts +14 -0
- package/cjs/scenegraph/hover-state.js +27 -0
- package/cjs/scenegraph/hover-state.js.map +1 -0
- package/cjs/scenegraph/layout/auto-height.d.ts +2 -0
- package/cjs/scenegraph/layout/auto-height.js +50 -0
- package/cjs/scenegraph/layout/auto-height.js.map +1 -0
- package/cjs/scenegraph/layout/auto-width.d.ts +2 -0
- package/cjs/scenegraph/layout/auto-width.js +85 -0
- package/cjs/scenegraph/layout/auto-width.js.map +1 -0
- package/cjs/scenegraph/layout/compute-col-width.d.ts +3 -0
- package/cjs/scenegraph/layout/compute-col-width.js +194 -0
- package/cjs/scenegraph/layout/compute-col-width.js.map +1 -0
- package/cjs/scenegraph/layout/move-cell.d.ts +2 -0
- package/cjs/scenegraph/layout/move-cell.js +61 -0
- package/cjs/scenegraph/layout/move-cell.js.map +1 -0
- package/cjs/scenegraph/layout/update-cell.d.ts +3 -0
- package/cjs/scenegraph/layout/update-cell.js +55 -0
- package/cjs/scenegraph/layout/update-cell.js.map +1 -0
- package/cjs/scenegraph/layout/update-height.d.ts +6 -0
- package/cjs/scenegraph/layout/update-height.js +90 -0
- package/cjs/scenegraph/layout/update-height.js.map +1 -0
- package/cjs/scenegraph/layout/update-width.d.ts +2 -0
- package/cjs/scenegraph/layout/update-width.js +103 -0
- package/cjs/scenegraph/layout/update-width.js.map +1 -0
- package/cjs/scenegraph/scenegraph.d.ts +109 -0
- package/cjs/scenegraph/scenegraph.js +798 -0
- package/cjs/scenegraph/scenegraph.js.map +1 -0
- package/cjs/scenegraph/style/frame-border.d.ts +3 -0
- package/cjs/scenegraph/style/frame-border.js +43 -0
- package/cjs/scenegraph/style/frame-border.js.map +1 -0
- package/cjs/scenegraph/utils/border-line.d.ts +8 -0
- package/cjs/scenegraph/utils/border-line.js +51 -0
- package/cjs/scenegraph/utils/border-line.js.map +1 -0
- package/cjs/scenegraph/utils/break-string.d.ts +1 -0
- package/cjs/scenegraph/utils/break-string.js +37 -0
- package/cjs/scenegraph/utils/break-string.js.map +1 -0
- package/cjs/scenegraph/utils/cell-pos.d.ts +4 -0
- package/cjs/scenegraph/utils/cell-pos.js +18 -0
- package/cjs/scenegraph/utils/cell-pos.js.map +1 -0
- package/cjs/scenegraph/utils/font.d.ts +1 -0
- package/cjs/scenegraph/utils/font.js +20 -0
- package/cjs/scenegraph/utils/font.js.map +1 -0
- package/cjs/scenegraph/utils/get-cell-merge.d.ts +3 -0
- package/cjs/scenegraph/utils/get-cell-merge.js +11 -0
- package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -0
- package/cjs/scenegraph/utils/get-prop.d.ts +4 -0
- package/cjs/scenegraph/utils/get-prop.js +44 -0
- package/cjs/scenegraph/utils/get-prop.js.map +1 -0
- package/cjs/scenegraph/utils/icon.d.ts +12 -0
- package/cjs/scenegraph/utils/icon.js +35 -0
- package/cjs/scenegraph/utils/icon.js.map +1 -0
- package/cjs/scenegraph/utils/keep-aspect-ratio.d.ts +4 -0
- package/cjs/scenegraph/utils/keep-aspect-ratio.js +16 -0
- package/cjs/scenegraph/utils/keep-aspect-ratio.js.map +1 -0
- package/cjs/scenegraph/utils/measure-text.d.ts +20 -0
- package/cjs/scenegraph/utils/measure-text.js +111 -0
- package/cjs/scenegraph/utils/measure-text.js.map +1 -0
- package/cjs/scenegraph/utils/padding.d.ts +1 -0
- package/cjs/scenegraph/utils/padding.js +16 -0
- package/cjs/scenegraph/utils/padding.js.map +1 -0
- package/cjs/scenegraph/utils/text-icon-layout.d.ts +9 -0
- package/cjs/scenegraph/utils/text-icon-layout.js +237 -0
- package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -0
- package/cjs/scenegraph/utils/text-pos.d.ts +8 -0
- package/cjs/scenegraph/utils/text-pos.js +27 -0
- package/cjs/scenegraph/utils/text-pos.js.map +1 -0
- package/cjs/state/cell-move/adjust-header.d.ts +3 -0
- package/cjs/state/cell-move/adjust-header.js +20 -0
- package/cjs/state/cell-move/adjust-header.js.map +1 -0
- package/cjs/state/cell-move/index.d.ts +4 -0
- package/cjs/state/cell-move/index.js +60 -0
- package/cjs/state/cell-move/index.js.map +1 -0
- package/cjs/state/common/check-in-select.d.ts +8 -0
- package/cjs/state/common/check-in-select.js +63 -0
- package/cjs/state/common/check-in-select.js.map +1 -0
- package/cjs/state/drill/index.d.ts +2 -0
- package/cjs/state/drill/index.js +15 -0
- package/cjs/state/drill/index.js.map +1 -0
- package/cjs/state/hover/col.d.ts +5 -0
- package/cjs/state/hover/col.js +24 -0
- package/cjs/state/hover/col.js.map +1 -0
- package/cjs/state/hover/is-cell-hover.d.ts +5 -0
- package/cjs/state/hover/is-cell-hover.js +36 -0
- package/cjs/state/hover/is-cell-hover.js.map +1 -0
- package/cjs/state/hover/row.d.ts +5 -0
- package/cjs/state/hover/row.js +22 -0
- package/cjs/state/hover/row.js.map +1 -0
- package/cjs/state/hover/single.d.ts +5 -0
- package/cjs/state/hover/single.js +18 -0
- package/cjs/state/hover/single.js.map +1 -0
- package/cjs/state/hover/update-cell.d.ts +2 -0
- package/cjs/state/hover/update-cell.js +13 -0
- package/cjs/state/hover/update-cell.js.map +1 -0
- package/cjs/state/hover/update-position.d.ts +2 -0
- package/cjs/state/hover/update-position.js +44 -0
- package/cjs/state/hover/update-position.js.map +1 -0
- package/cjs/state/pin/index.d.ts +2 -0
- package/cjs/state/pin/index.js +10 -0
- package/cjs/state/pin/index.js.map +1 -0
- package/cjs/state/select/update-position.d.ts +4 -0
- package/cjs/state/select/update-position.js +111 -0
- package/cjs/state/select/update-position.js.map +1 -0
- package/cjs/state/sort/index.d.ts +2 -0
- package/cjs/state/sort/index.js +41 -0
- package/cjs/state/sort/index.js.map +1 -0
- package/cjs/state/spark-line/index.d.ts +3 -0
- package/cjs/state/spark-line/index.js +98 -0
- package/cjs/state/spark-line/index.js.map +1 -0
- package/cjs/state/state.d.ts +155 -0
- package/cjs/state/state.js +431 -0
- package/cjs/state/state.js.map +1 -0
- package/cjs/themes/ARCO.d.ts +3 -0
- package/cjs/themes/ARCO.js +114 -0
- package/cjs/themes/ARCO.js.map +1 -0
- package/cjs/themes/BRIGHT.d.ts +3 -0
- package/cjs/themes/BRIGHT.js +71 -0
- package/cjs/themes/BRIGHT.js.map +1 -0
- package/cjs/themes/DARK.d.ts +3 -0
- package/cjs/themes/DARK.js +90 -0
- package/cjs/themes/DARK.js.map +1 -0
- package/cjs/themes/DEFAULT.d.ts +3 -0
- package/cjs/themes/DEFAULT.js +89 -0
- package/cjs/themes/DEFAULT.js.map +1 -0
- package/cjs/themes/SIMPLIFY.d.ts +3 -0
- package/cjs/themes/SIMPLIFY.js +46 -0
- package/cjs/themes/SIMPLIFY.js.map +1 -0
- package/cjs/themes/theme.d.ts +34 -0
- package/cjs/themes/theme.js +520 -0
- package/cjs/themes/theme.js.map +1 -0
- package/cjs/themes.d.ts +28 -0
- package/cjs/themes.js +52 -0
- package/cjs/themes.js.map +1 -0
- package/cjs/tools/LimitPromiseQueue.d.ts +8 -0
- package/cjs/tools/LimitPromiseQueue.js +29 -0
- package/cjs/tools/LimitPromiseQueue.js.map +1 -0
- package/cjs/tools/NumberMap.d.ts +16 -0
- package/cjs/tools/NumberMap.js +76 -0
- package/cjs/tools/NumberMap.js.map +1 -0
- package/cjs/tools/Rect.d.ts +24 -0
- package/cjs/tools/Rect.js +69 -0
- package/cjs/tools/Rect.js.map +1 -0
- package/cjs/tools/calc.d.ts +5 -0
- package/cjs/tools/calc.js +197 -0
- package/cjs/tools/calc.js.map +1 -0
- package/cjs/tools/debounce.d.ts +1 -0
- package/cjs/tools/debounce.js +51 -0
- package/cjs/tools/debounce.js.map +1 -0
- package/cjs/tools/dom.d.ts +1 -0
- package/cjs/tools/dom.js +11 -0
- package/cjs/tools/dom.js.map +1 -0
- package/cjs/tools/env.d.ts +19 -0
- package/cjs/tools/env.js +48 -0
- package/cjs/tools/env.js.map +1 -0
- package/cjs/tools/global.d.ts +13 -0
- package/cjs/tools/global.js +12 -0
- package/cjs/tools/global.js.map +1 -0
- package/cjs/tools/helper.d.ts +60 -0
- package/cjs/tools/helper.js +216 -0
- package/cjs/tools/helper.js.map +1 -0
- package/cjs/tools/icons.d.ts +4 -0
- package/cjs/tools/icons.js +10 -0
- package/cjs/tools/icons.js.map +1 -0
- package/cjs/tools/isx.d.ts +16 -0
- package/cjs/tools/isx.js +117 -0
- package/cjs/tools/isx.js.map +1 -0
- package/cjs/tools/sort.d.ts +1 -0
- package/cjs/tools/sort.js +18 -0
- package/cjs/tools/sort.js.map +1 -0
- package/cjs/tools/style.css +60 -0
- package/cjs/tools/style.d.ts +2 -0
- package/cjs/tools/style.js +11 -0
- package/cjs/tools/style.js.map +1 -0
- package/cjs/tools/text-width.d.ts +1 -0
- package/cjs/tools/text-width.js +17 -0
- package/cjs/tools/text-width.js.map +1 -0
- package/cjs/tools/util.d.ts +45 -0
- package/cjs/tools/util.js +299 -0
- package/cjs/tools/util.js.map +1 -0
- package/cjs/tooltip/BaseTooltip.d.ts +22 -0
- package/cjs/tooltip/BaseTooltip.js +35 -0
- package/cjs/tooltip/BaseTooltip.js.map +1 -0
- package/cjs/tooltip/Tooltip.d.ts +5 -0
- package/cjs/tooltip/Tooltip.js +16 -0
- package/cjs/tooltip/Tooltip.js.map +1 -0
- package/cjs/tooltip/TooltipHandler.d.ts +27 -0
- package/cjs/tooltip/TooltipHandler.js +129 -0
- package/cjs/tooltip/TooltipHandler.js.map +1 -0
- package/cjs/tooltip/logic/BubbleTooltipElement.css +63 -0
- package/cjs/tooltip/logic/BubbleTooltipElement.d.ts +33 -0
- package/cjs/tooltip/logic/BubbleTooltipElement.js +152 -0
- package/cjs/tooltip/logic/BubbleTooltipElement.js.map +1 -0
- package/cjs/ts-types/base-table.d.ts +313 -0
- package/cjs/ts-types/base-table.js +6 -0
- package/cjs/ts-types/base-table.js.map +1 -0
- package/cjs/ts-types/chartType.d.ts +53 -0
- package/cjs/ts-types/chartType.js +6 -0
- package/cjs/ts-types/chartType.js.map +1 -0
- package/cjs/ts-types/column/index.d.ts +2 -0
- package/cjs/ts-types/column/index.js +21 -0
- package/cjs/ts-types/column/index.js.map +1 -0
- package/cjs/ts-types/column/style.d.ts +78 -0
- package/cjs/ts-types/column/style.js +6 -0
- package/cjs/ts-types/column/style.js.map +1 -0
- package/cjs/ts-types/column/type.d.ts +2 -0
- package/cjs/ts-types/column/type.js +6 -0
- package/cjs/ts-types/column/type.js.map +1 -0
- package/cjs/ts-types/common.d.ts +72 -0
- package/cjs/ts-types/common.js +6 -0
- package/cjs/ts-types/common.js.map +1 -0
- package/cjs/ts-types/customElement.d.ts +111 -0
- package/cjs/ts-types/customElement.js +6 -0
- package/cjs/ts-types/customElement.js.map +1 -0
- package/cjs/ts-types/customLayout.d.ts +8 -0
- package/cjs/ts-types/customLayout.js +6 -0
- package/cjs/ts-types/customLayout.js.map +1 -0
- package/cjs/ts-types/events.d.ts +182 -0
- package/cjs/ts-types/events.js +6 -0
- package/cjs/ts-types/events.js.map +1 -0
- package/cjs/ts-types/icon.d.ts +86 -0
- package/cjs/ts-types/icon.js +26 -0
- package/cjs/ts-types/icon.js.map +1 -0
- package/cjs/ts-types/index.d.ts +15 -0
- package/cjs/ts-types/index.js +28 -0
- package/cjs/ts-types/index.js.map +1 -0
- package/cjs/ts-types/list-table/define/basic-define.d.ts +36 -0
- package/cjs/ts-types/list-table/define/basic-define.js +6 -0
- package/cjs/ts-types/list-table/define/basic-define.js.map +1 -0
- package/cjs/ts-types/list-table/define/chart-define.d.ts +10 -0
- package/cjs/ts-types/list-table/define/chart-define.js +6 -0
- package/cjs/ts-types/list-table/define/chart-define.js.map +1 -0
- package/cjs/ts-types/list-table/define/image-define.d.ts +15 -0
- package/cjs/ts-types/list-table/define/image-define.js +6 -0
- package/cjs/ts-types/list-table/define/image-define.js.map +1 -0
- package/cjs/ts-types/list-table/define/index.d.ts +21 -0
- package/cjs/ts-types/list-table/define/index.js +6 -0
- package/cjs/ts-types/list-table/define/index.js.map +1 -0
- package/cjs/ts-types/list-table/define/link-define.d.ts +17 -0
- package/cjs/ts-types/list-table/define/link-define.js +6 -0
- package/cjs/ts-types/list-table/define/link-define.js.map +1 -0
- package/cjs/ts-types/list-table/define/multilinetext-define.d.ts +12 -0
- package/cjs/ts-types/list-table/define/multilinetext-define.js +6 -0
- package/cjs/ts-types/list-table/define/multilinetext-define.js.map +1 -0
- package/cjs/ts-types/list-table/define/progressbar-define.d.ts +11 -0
- package/cjs/ts-types/list-table/define/progressbar-define.js +6 -0
- package/cjs/ts-types/list-table/define/progressbar-define.js.map +1 -0
- package/cjs/ts-types/list-table/define/sparkline-define.d.ts +10 -0
- package/cjs/ts-types/list-table/define/sparkline-define.js +6 -0
- package/cjs/ts-types/list-table/define/sparkline-define.js.map +1 -0
- package/cjs/ts-types/list-table/index.d.ts +2 -0
- package/cjs/ts-types/list-table/index.js +21 -0
- package/cjs/ts-types/list-table/index.js.map +1 -0
- package/cjs/ts-types/list-table/layout-map/api.d.ts +92 -0
- package/cjs/ts-types/list-table/layout-map/api.js +6 -0
- package/cjs/ts-types/list-table/layout-map/api.js.map +1 -0
- package/cjs/ts-types/list-table/layout-map/index.d.ts +1 -0
- package/cjs/ts-types/list-table/layout-map/index.js +6 -0
- package/cjs/ts-types/list-table/layout-map/index.js.map +1 -0
- package/cjs/ts-types/menu.d.ts +73 -0
- package/cjs/ts-types/menu.js +6 -0
- package/cjs/ts-types/menu.js.map +1 -0
- package/cjs/ts-types/new-data-set.d.ts +95 -0
- package/cjs/ts-types/new-data-set.js +14 -0
- package/cjs/ts-types/new-data-set.js.map +1 -0
- package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.d.ts +6 -0
- package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js +13 -0
- package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js.map +1 -0
- package/cjs/ts-types/pivot-table/corner.d.ts +19 -0
- package/cjs/ts-types/pivot-table/corner.js +6 -0
- package/cjs/ts-types/pivot-table/corner.js.map +1 -0
- package/cjs/ts-types/pivot-table/dimension/basic-dimension.d.ts +25 -0
- package/cjs/ts-types/pivot-table/dimension/basic-dimension.js +6 -0
- package/cjs/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -0
- package/cjs/ts-types/pivot-table/dimension/image-dimension.d.ts +9 -0
- package/cjs/ts-types/pivot-table/dimension/image-dimension.js +6 -0
- package/cjs/ts-types/pivot-table/dimension/image-dimension.js.map +1 -0
- package/cjs/ts-types/pivot-table/dimension/index.d.ts +4 -0
- package/cjs/ts-types/pivot-table/dimension/index.js +6 -0
- package/cjs/ts-types/pivot-table/dimension/index.js.map +1 -0
- package/cjs/ts-types/pivot-table/dimension/link-dimension.d.ts +10 -0
- package/cjs/ts-types/pivot-table/dimension/link-dimension.js +6 -0
- package/cjs/ts-types/pivot-table/dimension/link-dimension.js.map +1 -0
- package/cjs/ts-types/pivot-table/dimension/multilinetext-dimension.d.ts +7 -0
- package/cjs/ts-types/pivot-table/dimension/multilinetext-dimension.js +6 -0
- package/cjs/ts-types/pivot-table/dimension/multilinetext-dimension.js.map +1 -0
- package/cjs/ts-types/pivot-table/index.d.ts +4 -0
- package/cjs/ts-types/pivot-table/index.js +22 -0
- package/cjs/ts-types/pivot-table/index.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/basic-indicator.d.ts +26 -0
- package/cjs/ts-types/pivot-table/indicator/basic-indicator.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/chart-indicator.d.ts +10 -0
- package/cjs/ts-types/pivot-table/indicator/chart-indicator.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/chart-indicator.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/image-indicator.d.ts +15 -0
- package/cjs/ts-types/pivot-table/indicator/image-indicator.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/image-indicator.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/index.d.ts +10 -0
- package/cjs/ts-types/pivot-table/indicator/index.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/index.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/link-indicator.d.ts +17 -0
- package/cjs/ts-types/pivot-table/indicator/link-indicator.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/link-indicator.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/multilinetext-indicator.d.ts +11 -0
- package/cjs/ts-types/pivot-table/indicator/multilinetext-indicator.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/multilinetext-indicator.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/progress-indicator.d.ts +11 -0
- package/cjs/ts-types/pivot-table/indicator/progress-indicator.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/progress-indicator.js.map +1 -0
- package/cjs/ts-types/pivot-table/indicator/sparkline-indicator.d.ts +10 -0
- package/cjs/ts-types/pivot-table/indicator/sparkline-indicator.js +6 -0
- package/cjs/ts-types/pivot-table/indicator/sparkline-indicator.js.map +1 -0
- package/cjs/ts-types/pivot-table/title.d.ts +18 -0
- package/cjs/ts-types/pivot-table/title.js +6 -0
- package/cjs/ts-types/pivot-table/title.js.map +1 -0
- package/cjs/ts-types/style-define.d.ts +60 -0
- package/cjs/ts-types/style-define.js +6 -0
- package/cjs/ts-types/style-define.js.map +1 -0
- package/cjs/ts-types/table-engine.d.ts +169 -0
- package/cjs/ts-types/table-engine.js +12 -0
- package/cjs/ts-types/table-engine.js.map +1 -0
- package/cjs/ts-types/theme.d.ts +88 -0
- package/cjs/ts-types/theme.js +6 -0
- package/cjs/ts-types/theme.js.map +1 -0
- package/cjs/ts-types/tooltip.d.ts +22 -0
- package/cjs/ts-types/tooltip.js +6 -0
- package/cjs/ts-types/tooltip.js.map +1 -0
- package/dist/vtable.js +72964 -0
- package/dist/vtable.min.js +17 -0
- package/es/ListTable.d.ts +38 -0
- package/es/ListTable.js +256 -0
- package/es/ListTable.js.map +1 -0
- package/es/PivotTable.d.ts +50 -0
- package/es/PivotTable.js +282 -0
- package/es/PivotTable.js.map +1 -0
- package/es/body-helper/body-helper.d.ts +14 -0
- package/es/body-helper/body-helper.js +80 -0
- package/es/body-helper/body-helper.js.map +1 -0
- package/es/body-helper/style/ImageStyle.d.ts +7 -0
- package/es/body-helper/style/ImageStyle.js +16 -0
- package/es/body-helper/style/ImageStyle.js.map +1 -0
- package/es/body-helper/style/MultilineTextStyle.d.ts +13 -0
- package/es/body-helper/style/MultilineTextStyle.js +30 -0
- package/es/body-helper/style/MultilineTextStyle.js.map +1 -0
- package/es/body-helper/style/NumberStyle.d.ts +7 -0
- package/es/body-helper/style/NumberStyle.js +16 -0
- package/es/body-helper/style/NumberStyle.js.map +1 -0
- package/es/body-helper/style/ProgressBarStyle.d.ts +52 -0
- package/es/body-helper/style/ProgressBarStyle.js +118 -0
- package/es/body-helper/style/ProgressBarStyle.js.map +1 -0
- package/es/body-helper/style/Style.d.ts +85 -0
- package/es/body-helper/style/Style.js +194 -0
- package/es/body-helper/style/Style.js.map +1 -0
- package/es/body-helper/style.d.ts +10 -0
- package/es/body-helper/style.js +20 -0
- package/es/body-helper/style.js.map +1 -0
- package/es/chartType.d.ts +3 -0
- package/es/chartType.js +10 -0
- package/es/chartType.js.map +1 -0
- package/es/core/BaseTable.d.ts +287 -0
- package/es/core/BaseTable.js +1281 -0
- package/es/core/BaseTable.js.map +1 -0
- package/es/core/FouseInput.d.ts +11 -0
- package/es/core/FouseInput.js +30 -0
- package/es/core/FouseInput.js.map +1 -0
- package/es/core/TABLE_EVENT_TYPE.d.ts +30 -0
- package/es/core/TABLE_EVENT_TYPE.js +30 -0
- package/es/core/TABLE_EVENT_TYPE.js.map +1 -0
- package/es/core/tableHelper.d.ts +28 -0
- package/es/core/tableHelper.js +107 -0
- package/es/core/tableHelper.js.map +1 -0
- package/es/core.d.ts +3 -0
- package/es/core.js +6 -0
- package/es/core.js.map +1 -0
- package/es/data/CachedDataSource.d.ts +16 -0
- package/es/data/CachedDataSource.js +48 -0
- package/es/data/CachedDataSource.js.map +1 -0
- package/es/data/DataSource.d.ts +64 -0
- package/es/data/DataSource.js +267 -0
- package/es/data/DataSource.js.map +1 -0
- package/es/data/FilterDataSource.d.ts +1 -0
- package/es/data/FilterDataSource.js +1 -0
- package/es/data/FilterDataSource.js.map +1 -0
- package/es/data.d.ts +4 -0
- package/es/data.js +6 -0
- package/es/data.js.map +1 -0
- package/es/dataset/DataStatistics.d.ts +10 -0
- package/es/dataset/DataStatistics.js +74 -0
- package/es/dataset/DataStatistics.js.map +1 -0
- package/es/dataset/dataset.d.ts +72 -0
- package/es/dataset/dataset.js +482 -0
- package/es/dataset/dataset.js.map +1 -0
- package/es/dataset/flatDataToObject.d.ts +31 -0
- package/es/dataset/flatDataToObject.js +63 -0
- package/es/dataset/flatDataToObject.js.map +1 -0
- package/es/event/EventHandler.d.ts +45 -0
- package/es/event/EventHandler.js +111 -0
- package/es/event/EventHandler.js.map +1 -0
- package/es/event/EventTarget.d.ts +11 -0
- package/es/event/EventTarget.js +50 -0
- package/es/event/EventTarget.js.map +1 -0
- package/es/event/chart.d.ts +2 -0
- package/es/event/chart.js +16 -0
- package/es/event/chart.js.map +1 -0
- package/es/event/drill.d.ts +3 -0
- package/es/event/drill.js +17 -0
- package/es/event/drill.js.map +1 -0
- package/es/event/event.d.ts +35 -0
- package/es/event/event.js +438 -0
- package/es/event/event.js.map +1 -0
- package/es/event/media-click.d.ts +2 -0
- package/es/event/media-click.js +54 -0
- package/es/event/media-click.js.map +1 -0
- package/es/event/scroll.d.ts +2 -0
- package/es/event/scroll.js +17 -0
- package/es/event/scroll.js.map +1 -0
- package/es/header-helper/header-helper.d.ts +26 -0
- package/es/header-helper/header-helper.js +189 -0
- package/es/header-helper/header-helper.js.map +1 -0
- package/es/header-helper/style/ImageStyle.d.ts +7 -0
- package/es/header-helper/style/ImageStyle.js +17 -0
- package/es/header-helper/style/ImageStyle.js.map +1 -0
- package/es/header-helper/style/MultilineTextHeaderStyle.d.ts +13 -0
- package/es/header-helper/style/MultilineTextHeaderStyle.js +30 -0
- package/es/header-helper/style/MultilineTextHeaderStyle.js.map +1 -0
- package/es/header-helper/style/SortHeaderStyle.d.ts +1 -0
- package/es/header-helper/style/SortHeaderStyle.js +3 -0
- package/es/header-helper/style/SortHeaderStyle.js.map +1 -0
- package/es/header-helper/style/Style.d.ts +88 -0
- package/es/header-helper/style/Style.js +202 -0
- package/es/header-helper/style/Style.js.map +1 -0
- package/es/header-helper/style.d.ts +5 -0
- package/es/header-helper/style.js +14 -0
- package/es/header-helper/style.js.map +1 -0
- package/es/icons.d.ts +4 -0
- package/es/icons.js +241 -0
- package/es/icons.js.map +1 -0
- package/es/index.d.ts +17 -0
- package/es/index.js +34 -0
- package/es/index.js.map +1 -0
- package/es/layout/index.d.ts +1 -0
- package/es/layout/index.js +2 -0
- package/es/layout/index.js.map +1 -0
- package/es/layout/pivot-header-layout.d.ts +155 -0
- package/es/layout/pivot-header-layout.js +888 -0
- package/es/layout/pivot-header-layout.js.map +1 -0
- package/es/layout/pivot-layout.d.ts +86 -0
- package/es/layout/pivot-layout.js +416 -0
- package/es/layout/pivot-layout.js.map +1 -0
- package/es/layout/simple-header-layout.d.ts +67 -0
- package/es/layout/simple-header-layout.js +405 -0
- package/es/layout/simple-header-layout.js.map +1 -0
- package/es/menu/dom/BaseMenu.d.ts +15 -0
- package/es/menu/dom/BaseMenu.js +22 -0
- package/es/menu/dom/BaseMenu.js.map +1 -0
- package/es/menu/dom/Menu.d.ts +9 -0
- package/es/menu/dom/Menu.js +18 -0
- package/es/menu/dom/Menu.js.map +1 -0
- package/es/menu/dom/MenuHandler.d.ts +20 -0
- package/es/menu/dom/MenuHandler.js +132 -0
- package/es/menu/dom/MenuHandler.js.map +1 -0
- package/es/menu/dom/logic/MenuContainer.d.ts +22 -0
- package/es/menu/dom/logic/MenuContainer.js +105 -0
- package/es/menu/dom/logic/MenuContainer.js.map +1 -0
- package/es/menu/dom/logic/MenuElement.css +86 -0
- package/es/menu/dom/logic/MenuElement.d.ts +27 -0
- package/es/menu/dom/logic/MenuElement.js +277 -0
- package/es/menu/dom/logic/MenuElement.js.map +1 -0
- package/es/plugins/chartTypes.d.ts +3 -0
- package/es/plugins/chartTypes.js +2 -0
- package/es/plugins/chartTypes.js.map +1 -0
- package/es/plugins/icons.d.ts +12 -0
- package/es/plugins/icons.js +22 -0
- package/es/plugins/icons.js.map +1 -0
- package/es/plugins/themes.d.ts +4 -0
- package/es/plugins/themes.js +2 -0
- package/es/plugins/themes.js.map +1 -0
- package/es/register.d.ts +5 -0
- package/es/register.js +31 -0
- package/es/register.js.map +1 -0
- package/es/render/layout/arc.d.ts +23 -0
- package/es/render/layout/arc.js +12 -0
- package/es/render/layout/arc.js.map +1 -0
- package/es/render/layout/circle.d.ts +19 -0
- package/es/render/layout/circle.js +11 -0
- package/es/render/layout/circle.js.map +1 -0
- package/es/render/layout/container.d.ts +52 -0
- package/es/render/layout/container.js +99 -0
- package/es/render/layout/container.js.map +1 -0
- package/es/render/layout/direction.d.ts +22 -0
- package/es/render/layout/direction.js +31 -0
- package/es/render/layout/direction.js.map +1 -0
- package/es/render/layout/element.d.ts +47 -0
- package/es/render/layout/element.js +19 -0
- package/es/render/layout/element.js.map +1 -0
- package/es/render/layout/group-element.d.ts +25 -0
- package/es/render/layout/group-element.js +46 -0
- package/es/render/layout/group-element.js.map +1 -0
- package/es/render/layout/icon.d.ts +21 -0
- package/es/render/layout/icon.js +19 -0
- package/es/render/layout/icon.js.map +1 -0
- package/es/render/layout/image.d.ts +21 -0
- package/es/render/layout/image.js +12 -0
- package/es/render/layout/image.js.map +1 -0
- package/es/render/layout/index.d.ts +9 -0
- package/es/render/layout/index.js +18 -0
- package/es/render/layout/index.js.map +1 -0
- package/es/render/layout/line.d.ts +32 -0
- package/es/render/layout/line.js +80 -0
- package/es/render/layout/line.js.map +1 -0
- package/es/render/layout/percent-calc.d.ts +8 -0
- package/es/render/layout/percent-calc.js +7 -0
- package/es/render/layout/percent-calc.js.map +1 -0
- package/es/render/layout/rect.d.ts +22 -0
- package/es/render/layout/rect.js +11 -0
- package/es/render/layout/rect.js.map +1 -0
- package/es/render/layout/text.d.ts +22 -0
- package/es/render/layout/text.js +18 -0
- package/es/render/layout/text.js.map +1 -0
- package/es/scenegraph/component/cell-content.d.ts +36 -0
- package/es/scenegraph/component/cell-content.js +98 -0
- package/es/scenegraph/component/cell-content.js.map +1 -0
- package/es/scenegraph/component/cell-mover.d.ts +15 -0
- package/es/scenegraph/component/cell-mover.js +101 -0
- package/es/scenegraph/component/cell-mover.js.map +1 -0
- package/es/scenegraph/component/custom.d.ts +7 -0
- package/es/scenegraph/component/custom.js +211 -0
- package/es/scenegraph/component/custom.js.map +1 -0
- package/es/scenegraph/component/drill-icon.d.ts +9 -0
- package/es/scenegraph/component/drill-icon.js +41 -0
- package/es/scenegraph/component/drill-icon.js.map +1 -0
- package/es/scenegraph/component/menu.d.ts +41 -0
- package/es/scenegraph/component/menu.js +212 -0
- package/es/scenegraph/component/menu.js.map +1 -0
- package/es/scenegraph/component/table-component.d.ts +37 -0
- package/es/scenegraph/component/table-component.js +304 -0
- package/es/scenegraph/component/table-component.js.map +1 -0
- package/es/scenegraph/component/util.d.ts +2 -0
- package/es/scenegraph/component/util.js +5 -0
- package/es/scenegraph/component/util.js.map +1 -0
- package/es/scenegraph/debug-tool/debug-tool.d.ts +36 -0
- package/es/scenegraph/debug-tool/debug-tool.js +126 -0
- package/es/scenegraph/debug-tool/debug-tool.js.map +1 -0
- package/es/scenegraph/debug-tool/index.d.ts +4 -0
- package/es/scenegraph/debug-tool/index.js +6 -0
- package/es/scenegraph/debug-tool/index.js.map +1 -0
- package/es/scenegraph/graphic/chart.d.ts +30 -0
- package/es/scenegraph/graphic/chart.js +59 -0
- package/es/scenegraph/graphic/chart.js.map +1 -0
- package/es/scenegraph/graphic/contributions/chart-render.d.ts +10 -0
- package/es/scenegraph/graphic/contributions/chart-render.js +47 -0
- package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -0
- package/es/scenegraph/graphic/contributions/group-contribution-render.d.ts +70 -0
- package/es/scenegraph/graphic/contributions/group-contribution-render.js +192 -0
- package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -0
- package/es/scenegraph/graphic/contributions/image-contribution-render.d.ts +20 -0
- package/es/scenegraph/graphic/contributions/image-contribution-render.js +42 -0
- package/es/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -0
- package/es/scenegraph/graphic/contributions/index.d.ts +3 -0
- package/es/scenegraph/graphic/contributions/index.js +29 -0
- package/es/scenegraph/graphic/contributions/index.js.map +1 -0
- package/es/scenegraph/graphic/contributions/rect-contribution-render.d.ts +17 -0
- package/es/scenegraph/graphic/contributions/rect-contribution-render.js +45 -0
- package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -0
- package/es/scenegraph/graphic/group.d.ts +23 -0
- package/es/scenegraph/graphic/group.js +86 -0
- package/es/scenegraph/graphic/group.js.map +1 -0
- package/es/scenegraph/graphic/icon.d.ts +24 -0
- package/es/scenegraph/graphic/icon.js +17 -0
- package/es/scenegraph/graphic/icon.js.map +1 -0
- package/es/scenegraph/graphic/text.d.ts +16 -0
- package/es/scenegraph/graphic/text.js +142 -0
- package/es/scenegraph/graphic/text.js.map +1 -0
- package/es/scenegraph/group-creater/cell-helper.d.ts +7 -0
- package/es/scenegraph/group-creater/cell-helper.js +93 -0
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -0
- package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +3 -0
- package/es/scenegraph/group-creater/cell-type/chart-cell.js +54 -0
- package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -0
- package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +7 -0
- package/es/scenegraph/group-creater/cell-type/image-cell.js +102 -0
- package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -0
- package/es/scenegraph/group-creater/cell-type/progress-bar-cell.d.ts +9 -0
- package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +337 -0
- package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -0
- package/es/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +3 -0
- package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +165 -0
- package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -0
- package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +5 -0
- package/es/scenegraph/group-creater/cell-type/text-cell.js +66 -0
- package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -0
- package/es/scenegraph/group-creater/cell-type/video-cell.d.ts +4 -0
- package/es/scenegraph/group-creater/cell-type/video-cell.js +86 -0
- package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -0
- package/es/scenegraph/group-creater/column-helper.d.ts +24 -0
- package/es/scenegraph/group-creater/column-helper.js +135 -0
- package/es/scenegraph/group-creater/column-helper.js.map +1 -0
- package/es/scenegraph/group-creater/column.d.ts +14 -0
- package/es/scenegraph/group-creater/column.js +49 -0
- package/es/scenegraph/group-creater/column.js.map +1 -0
- package/es/scenegraph/group-creater/progress/proxy.d.ts +45 -0
- package/es/scenegraph/group-creater/progress/proxy.js +268 -0
- package/es/scenegraph/group-creater/progress/proxy.js.map +1 -0
- package/es/scenegraph/header-icon/layout.d.ts +3 -0
- package/es/scenegraph/header-icon/layout.js +69 -0
- package/es/scenegraph/header-icon/layout.js.map +1 -0
- package/es/scenegraph/hover-state.d.ts +14 -0
- package/es/scenegraph/hover-state.js +19 -0
- package/es/scenegraph/hover-state.js.map +1 -0
- package/es/scenegraph/layout/auto-height.d.ts +2 -0
- package/es/scenegraph/layout/auto-height.js +44 -0
- package/es/scenegraph/layout/auto-height.js.map +1 -0
- package/es/scenegraph/layout/auto-width.d.ts +2 -0
- package/es/scenegraph/layout/auto-width.js +82 -0
- package/es/scenegraph/layout/auto-width.js.map +1 -0
- package/es/scenegraph/layout/compute-col-width.d.ts +3 -0
- package/es/scenegraph/layout/compute-col-width.js +167 -0
- package/es/scenegraph/layout/compute-col-width.js.map +1 -0
- package/es/scenegraph/layout/move-cell.d.ts +2 -0
- package/es/scenegraph/layout/move-cell.js +55 -0
- package/es/scenegraph/layout/move-cell.js.map +1 -0
- package/es/scenegraph/layout/update-cell.d.ts +3 -0
- package/es/scenegraph/layout/update-cell.js +55 -0
- package/es/scenegraph/layout/update-cell.js.map +1 -0
- package/es/scenegraph/layout/update-height.d.ts +6 -0
- package/es/scenegraph/layout/update-height.js +91 -0
- package/es/scenegraph/layout/update-height.js.map +1 -0
- package/es/scenegraph/layout/update-width.d.ts +2 -0
- package/es/scenegraph/layout/update-width.js +105 -0
- package/es/scenegraph/layout/update-width.js.map +1 -0
- package/es/scenegraph/scenegraph.d.ts +109 -0
- package/es/scenegraph/scenegraph.js +818 -0
- package/es/scenegraph/scenegraph.js.map +1 -0
- package/es/scenegraph/style/frame-border.d.ts +3 -0
- package/es/scenegraph/style/frame-border.js +35 -0
- package/es/scenegraph/style/frame-border.js.map +1 -0
- package/es/scenegraph/utils/border-line.d.ts +8 -0
- package/es/scenegraph/utils/border-line.js +45 -0
- package/es/scenegraph/utils/border-line.js.map +1 -0
- package/es/scenegraph/utils/break-string.d.ts +1 -0
- package/es/scenegraph/utils/break-string.js +31 -0
- package/es/scenegraph/utils/break-string.js.map +1 -0
- package/es/scenegraph/utils/cell-pos.d.ts +4 -0
- package/es/scenegraph/utils/cell-pos.js +12 -0
- package/es/scenegraph/utils/cell-pos.js.map +1 -0
- package/es/scenegraph/utils/font.d.ts +1 -0
- package/es/scenegraph/utils/font.js +6 -0
- package/es/scenegraph/utils/font.js.map +1 -0
- package/es/scenegraph/utils/get-cell-merge.d.ts +3 -0
- package/es/scenegraph/utils/get-cell-merge.js +5 -0
- package/es/scenegraph/utils/get-cell-merge.js.map +1 -0
- package/es/scenegraph/utils/get-prop.d.ts +4 -0
- package/es/scenegraph/utils/get-prop.js +36 -0
- package/es/scenegraph/utils/get-prop.js.map +1 -0
- package/es/scenegraph/utils/icon.d.ts +12 -0
- package/es/scenegraph/utils/icon.js +29 -0
- package/es/scenegraph/utils/icon.js.map +1 -0
- package/es/scenegraph/utils/keep-aspect-ratio.d.ts +4 -0
- package/es/scenegraph/utils/keep-aspect-ratio.js +10 -0
- package/es/scenegraph/utils/keep-aspect-ratio.js.map +1 -0
- package/es/scenegraph/utils/measure-text.d.ts +20 -0
- package/es/scenegraph/utils/measure-text.js +114 -0
- package/es/scenegraph/utils/measure-text.js.map +1 -0
- package/es/scenegraph/utils/padding.d.ts +1 -0
- package/es/scenegraph/utils/padding.js +8 -0
- package/es/scenegraph/utils/padding.js.map +1 -0
- package/es/scenegraph/utils/text-icon-layout.d.ts +9 -0
- package/es/scenegraph/utils/text-icon-layout.js +239 -0
- package/es/scenegraph/utils/text-icon-layout.js.map +1 -0
- package/es/scenegraph/utils/text-pos.d.ts +8 -0
- package/es/scenegraph/utils/text-pos.js +20 -0
- package/es/scenegraph/utils/text-pos.js.map +1 -0
- package/es/state/cell-move/adjust-header.d.ts +3 -0
- package/es/state/cell-move/adjust-header.js +14 -0
- package/es/state/cell-move/adjust-header.js.map +1 -0
- package/es/state/cell-move/index.d.ts +4 -0
- package/es/state/cell-move/index.js +52 -0
- package/es/state/cell-move/index.js.map +1 -0
- package/es/state/common/check-in-select.d.ts +8 -0
- package/es/state/common/check-in-select.js +53 -0
- package/es/state/common/check-in-select.js.map +1 -0
- package/es/state/drill/index.d.ts +2 -0
- package/es/state/drill/index.js +9 -0
- package/es/state/drill/index.js.map +1 -0
- package/es/state/hover/col.d.ts +5 -0
- package/es/state/hover/col.js +16 -0
- package/es/state/hover/col.js.map +1 -0
- package/es/state/hover/is-cell-hover.d.ts +5 -0
- package/es/state/hover/is-cell-hover.js +30 -0
- package/es/state/hover/is-cell-hover.js.map +1 -0
- package/es/state/hover/row.d.ts +5 -0
- package/es/state/hover/row.js +14 -0
- package/es/state/hover/row.js.map +1 -0
- package/es/state/hover/single.d.ts +5 -0
- package/es/state/hover/single.js +10 -0
- package/es/state/hover/single.js.map +1 -0
- package/es/state/hover/update-cell.d.ts +2 -0
- package/es/state/hover/update-cell.js +7 -0
- package/es/state/hover/update-cell.js.map +1 -0
- package/es/state/hover/update-position.d.ts +2 -0
- package/es/state/hover/update-position.js +36 -0
- package/es/state/hover/update-position.js.map +1 -0
- package/es/state/pin/index.d.ts +2 -0
- package/es/state/pin/index.js +4 -0
- package/es/state/pin/index.js.map +1 -0
- package/es/state/select/update-position.d.ts +4 -0
- package/es/state/select/update-position.js +103 -0
- package/es/state/select/update-position.js.map +1 -0
- package/es/state/sort/index.d.ts +2 -0
- package/es/state/sort/index.js +35 -0
- package/es/state/sort/index.js.map +1 -0
- package/es/state/spark-line/index.d.ts +3 -0
- package/es/state/spark-line/index.js +92 -0
- package/es/state/spark-line/index.js.map +1 -0
- package/es/state/state.d.ts +155 -0
- package/es/state/state.js +458 -0
- package/es/state/state.js.map +1 -0
- package/es/themes/ARCO.d.ts +3 -0
- package/es/themes/ARCO.js +110 -0
- package/es/themes/ARCO.js.map +1 -0
- package/es/themes/BRIGHT.d.ts +3 -0
- package/es/themes/BRIGHT.js +67 -0
- package/es/themes/BRIGHT.js.map +1 -0
- package/es/themes/DARK.d.ts +3 -0
- package/es/themes/DARK.js +86 -0
- package/es/themes/DARK.js.map +1 -0
- package/es/themes/DEFAULT.d.ts +3 -0
- package/es/themes/DEFAULT.js +85 -0
- package/es/themes/DEFAULT.js.map +1 -0
- package/es/themes/SIMPLIFY.d.ts +3 -0
- package/es/themes/SIMPLIFY.js +42 -0
- package/es/themes/SIMPLIFY.js.map +1 -0
- package/es/themes/theme.d.ts +34 -0
- package/es/themes/theme.js +505 -0
- package/es/themes/theme.js.map +1 -0
- package/es/themes.d.ts +28 -0
- package/es/themes.js +62 -0
- package/es/themes.js.map +1 -0
- package/es/tools/LimitPromiseQueue.d.ts +8 -0
- package/es/tools/LimitPromiseQueue.js +21 -0
- package/es/tools/LimitPromiseQueue.js.map +1 -0
- package/es/tools/NumberMap.d.ts +16 -0
- package/es/tools/NumberMap.js +70 -0
- package/es/tools/NumberMap.js.map +1 -0
- package/es/tools/Rect.d.ts +24 -0
- package/es/tools/Rect.js +61 -0
- package/es/tools/Rect.js.map +1 -0
- package/es/tools/calc.d.ts +5 -0
- package/es/tools/calc.js +191 -0
- package/es/tools/calc.js.map +1 -0
- package/es/tools/debounce.d.ts +1 -0
- package/es/tools/debounce.js +43 -0
- package/es/tools/debounce.js.map +1 -0
- package/es/tools/dom.d.ts +1 -0
- package/es/tools/dom.js +5 -0
- package/es/tools/dom.js.map +1 -0
- package/es/tools/env.d.ts +19 -0
- package/es/tools/env.js +42 -0
- package/es/tools/env.js.map +1 -0
- package/es/tools/global.d.ts +13 -0
- package/es/tools/global.js +26 -0
- package/es/tools/global.js.map +1 -0
- package/es/tools/helper.d.ts +60 -0
- package/es/tools/helper.js +216 -0
- package/es/tools/helper.js.map +1 -0
- package/es/tools/icons.d.ts +4 -0
- package/es/tools/icons.js +4 -0
- package/es/tools/icons.js.map +1 -0
- package/es/tools/isx.d.ts +16 -0
- package/es/tools/isx.js +79 -0
- package/es/tools/isx.js.map +1 -0
- package/es/tools/sort.d.ts +1 -0
- package/es/tools/sort.js +12 -0
- package/es/tools/sort.js.map +1 -0
- package/es/tools/style.css +60 -0
- package/es/tools/style.d.ts +2 -0
- package/es/tools/style.js +5 -0
- package/es/tools/style.js.map +1 -0
- package/es/tools/text-width.d.ts +1 -0
- package/es/tools/text-width.js +9 -0
- package/es/tools/text-width.js.map +1 -0
- package/es/tools/util.d.ts +45 -0
- package/es/tools/util.js +250 -0
- package/es/tools/util.js.map +1 -0
- package/es/tooltip/BaseTooltip.d.ts +22 -0
- package/es/tooltip/BaseTooltip.js +27 -0
- package/es/tooltip/BaseTooltip.js.map +1 -0
- package/es/tooltip/Tooltip.d.ts +5 -0
- package/es/tooltip/Tooltip.js +10 -0
- package/es/tooltip/Tooltip.js.map +1 -0
- package/es/tooltip/TooltipHandler.d.ts +27 -0
- package/es/tooltip/TooltipHandler.js +131 -0
- package/es/tooltip/TooltipHandler.js.map +1 -0
- package/es/tooltip/logic/BubbleTooltipElement.css +63 -0
- package/es/tooltip/logic/BubbleTooltipElement.d.ts +33 -0
- package/es/tooltip/logic/BubbleTooltipElement.js +149 -0
- package/es/tooltip/logic/BubbleTooltipElement.js.map +1 -0
- package/es/ts-types/base-table.d.ts +313 -0
- package/es/ts-types/base-table.js +2 -0
- package/es/ts-types/base-table.js.map +1 -0
- package/es/ts-types/chartType.d.ts +53 -0
- package/es/ts-types/chartType.js +2 -0
- package/es/ts-types/chartType.js.map +1 -0
- package/es/ts-types/column/index.d.ts +2 -0
- package/es/ts-types/column/index.js +4 -0
- package/es/ts-types/column/index.js.map +1 -0
- package/es/ts-types/column/style.d.ts +78 -0
- package/es/ts-types/column/style.js +2 -0
- package/es/ts-types/column/style.js.map +1 -0
- package/es/ts-types/column/type.d.ts +2 -0
- package/es/ts-types/column/type.js +2 -0
- package/es/ts-types/column/type.js.map +1 -0
- package/es/ts-types/common.d.ts +72 -0
- package/es/ts-types/common.js +2 -0
- package/es/ts-types/common.js.map +1 -0
- package/es/ts-types/customElement.d.ts +111 -0
- package/es/ts-types/customElement.js +2 -0
- package/es/ts-types/customElement.js.map +1 -0
- package/es/ts-types/customLayout.d.ts +8 -0
- package/es/ts-types/customLayout.js +2 -0
- package/es/ts-types/customLayout.js.map +1 -0
- package/es/ts-types/events.d.ts +182 -0
- package/es/ts-types/events.js +2 -0
- package/es/ts-types/events.js.map +1 -0
- package/es/ts-types/icon.d.ts +86 -0
- package/es/ts-types/icon.js +28 -0
- package/es/ts-types/icon.js.map +1 -0
- package/es/ts-types/index.d.ts +15 -0
- package/es/ts-types/index.js +30 -0
- package/es/ts-types/index.js.map +1 -0
- package/es/ts-types/list-table/define/basic-define.d.ts +36 -0
- package/es/ts-types/list-table/define/basic-define.js +2 -0
- package/es/ts-types/list-table/define/basic-define.js.map +1 -0
- package/es/ts-types/list-table/define/chart-define.d.ts +10 -0
- package/es/ts-types/list-table/define/chart-define.js +2 -0
- package/es/ts-types/list-table/define/chart-define.js.map +1 -0
- package/es/ts-types/list-table/define/image-define.d.ts +15 -0
- package/es/ts-types/list-table/define/image-define.js +2 -0
- package/es/ts-types/list-table/define/image-define.js.map +1 -0
- package/es/ts-types/list-table/define/index.d.ts +21 -0
- package/es/ts-types/list-table/define/index.js +2 -0
- package/es/ts-types/list-table/define/index.js.map +1 -0
- package/es/ts-types/list-table/define/link-define.d.ts +17 -0
- package/es/ts-types/list-table/define/link-define.js +2 -0
- package/es/ts-types/list-table/define/link-define.js.map +1 -0
- package/es/ts-types/list-table/define/multilinetext-define.d.ts +12 -0
- package/es/ts-types/list-table/define/multilinetext-define.js +2 -0
- package/es/ts-types/list-table/define/multilinetext-define.js.map +1 -0
- package/es/ts-types/list-table/define/progressbar-define.d.ts +11 -0
- package/es/ts-types/list-table/define/progressbar-define.js +2 -0
- package/es/ts-types/list-table/define/progressbar-define.js.map +1 -0
- package/es/ts-types/list-table/define/sparkline-define.d.ts +10 -0
- package/es/ts-types/list-table/define/sparkline-define.js +2 -0
- package/es/ts-types/list-table/define/sparkline-define.js.map +1 -0
- package/es/ts-types/list-table/index.d.ts +2 -0
- package/es/ts-types/list-table/index.js +4 -0
- package/es/ts-types/list-table/index.js.map +1 -0
- package/es/ts-types/list-table/layout-map/api.d.ts +92 -0
- package/es/ts-types/list-table/layout-map/api.js +2 -0
- package/es/ts-types/list-table/layout-map/api.js.map +1 -0
- package/es/ts-types/list-table/layout-map/index.d.ts +1 -0
- package/es/ts-types/list-table/layout-map/index.js +2 -0
- package/es/ts-types/list-table/layout-map/index.js.map +1 -0
- package/es/ts-types/menu.d.ts +73 -0
- package/es/ts-types/menu.js +2 -0
- package/es/ts-types/menu.js.map +1 -0
- package/es/ts-types/new-data-set.d.ts +95 -0
- package/es/ts-types/new-data-set.js +13 -0
- package/es/ts-types/new-data-set.js.map +1 -0
- package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.d.ts +6 -0
- package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js +9 -0
- package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js.map +1 -0
- package/es/ts-types/pivot-table/corner.d.ts +19 -0
- package/es/ts-types/pivot-table/corner.js +2 -0
- package/es/ts-types/pivot-table/corner.js.map +1 -0
- package/es/ts-types/pivot-table/dimension/basic-dimension.d.ts +25 -0
- package/es/ts-types/pivot-table/dimension/basic-dimension.js +2 -0
- package/es/ts-types/pivot-table/dimension/basic-dimension.js.map +1 -0
- package/es/ts-types/pivot-table/dimension/image-dimension.d.ts +9 -0
- package/es/ts-types/pivot-table/dimension/image-dimension.js +2 -0
- package/es/ts-types/pivot-table/dimension/image-dimension.js.map +1 -0
- package/es/ts-types/pivot-table/dimension/index.d.ts +4 -0
- package/es/ts-types/pivot-table/dimension/index.js +2 -0
- package/es/ts-types/pivot-table/dimension/index.js.map +1 -0
- package/es/ts-types/pivot-table/dimension/link-dimension.d.ts +10 -0
- package/es/ts-types/pivot-table/dimension/link-dimension.js +2 -0
- package/es/ts-types/pivot-table/dimension/link-dimension.js.map +1 -0
- package/es/ts-types/pivot-table/dimension/multilinetext-dimension.d.ts +7 -0
- package/es/ts-types/pivot-table/dimension/multilinetext-dimension.js +2 -0
- package/es/ts-types/pivot-table/dimension/multilinetext-dimension.js.map +1 -0
- package/es/ts-types/pivot-table/index.d.ts +4 -0
- package/es/ts-types/pivot-table/index.js +8 -0
- package/es/ts-types/pivot-table/index.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/basic-indicator.d.ts +26 -0
- package/es/ts-types/pivot-table/indicator/basic-indicator.js +2 -0
- package/es/ts-types/pivot-table/indicator/basic-indicator.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/chart-indicator.d.ts +10 -0
- package/es/ts-types/pivot-table/indicator/chart-indicator.js +2 -0
- package/es/ts-types/pivot-table/indicator/chart-indicator.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/image-indicator.d.ts +15 -0
- package/es/ts-types/pivot-table/indicator/image-indicator.js +2 -0
- package/es/ts-types/pivot-table/indicator/image-indicator.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/index.d.ts +10 -0
- package/es/ts-types/pivot-table/indicator/index.js +2 -0
- package/es/ts-types/pivot-table/indicator/index.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/link-indicator.d.ts +17 -0
- package/es/ts-types/pivot-table/indicator/link-indicator.js +2 -0
- package/es/ts-types/pivot-table/indicator/link-indicator.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/multilinetext-indicator.d.ts +11 -0
- package/es/ts-types/pivot-table/indicator/multilinetext-indicator.js +2 -0
- package/es/ts-types/pivot-table/indicator/multilinetext-indicator.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/progress-indicator.d.ts +11 -0
- package/es/ts-types/pivot-table/indicator/progress-indicator.js +2 -0
- package/es/ts-types/pivot-table/indicator/progress-indicator.js.map +1 -0
- package/es/ts-types/pivot-table/indicator/sparkline-indicator.d.ts +10 -0
- package/es/ts-types/pivot-table/indicator/sparkline-indicator.js +2 -0
- package/es/ts-types/pivot-table/indicator/sparkline-indicator.js.map +1 -0
- package/es/ts-types/pivot-table/title.d.ts +18 -0
- package/es/ts-types/pivot-table/title.js +2 -0
- package/es/ts-types/pivot-table/title.js.map +1 -0
- package/es/ts-types/style-define.d.ts +60 -0
- package/es/ts-types/style-define.js +2 -0
- package/es/ts-types/style-define.js.map +1 -0
- package/es/ts-types/table-engine.d.ts +169 -0
- package/es/ts-types/table-engine.js +12 -0
- package/es/ts-types/table-engine.js.map +1 -0
- package/es/ts-types/theme.d.ts +88 -0
- package/es/ts-types/theme.js +2 -0
- package/es/ts-types/theme.js.map +1 -0
- package/es/ts-types/tooltip.d.ts +22 -0
- package/es/ts-types/tooltip.js +2 -0
- package/es/ts-types/tooltip.js.map +1 -0
- package/package.json +95 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["dataset/dataset.ts"],"names":[],"mappings":"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","file":"dataset.js","sourcesContent":["import type {\n FilterRules,\n IDataConfig,\n SortRule,\n AggregationRules,\n AggregationRule,\n SortRules,\n DerivedFieldRule,\n DerivedFieldRules,\n SortByIndicatorRule,\n SortByRule,\n SortTypeRule,\n SortFuncRule,\n Totals,\n MappingRules\n} from '../ts-types';\nimport { AggregationType, SortType } from '../ts-types';\n/**\n * 数据处理模块\n */\nexport class Dataset {\n /**\n * 用户配置\n */\n dataConfig: IDataConfig;\n /**\n * 明细数据\n */\n records: any[];\n /**\n * 树形节点,最后的子节点对应到body部分的每个单元格 树结构: 行-列-单元格\n */\n tree: Record<string, Record<string, Aggregator[]>> = {};\n private colFlatKeys = {};\n private rowFlatKeys = {};\n\n //列表头的每列对应的表头键值\n colKeys: string[][] = [];\n //行表头的每行对应的表头键值\n rowKeys: string[][] = [];\n /**\n * 对应dataset中的rowKeys,行表头的每行表头键值,包含小计总计\n */\n rowKeysPath: string[][];\n /**\n * 对应dataset中的colKeys,列表头的每列表头键值,包含小计总计\n */\n colKeysPath: string[][];\n // allTotal: SumAggregator;\n rowOrder = 'key_a_to_z';\n colOrder = 'key_a_to_z';\n //是否已排序\n sorted = false;\n //排序规则\n sortRules: SortRules;\n //过滤规则\n filterRules: FilterRules;\n //聚合规则\n aggregationRules: AggregationRules;\n //派生字段规则\n derivedFieldRules: DerivedFieldRules;\n mappingRules: MappingRules;\n //汇总配置\n totals: Totals;\n //全局统计各指标的极值\n indicatorStatistics: { max: Aggregator; min: Aggregator; total: Aggregator }[] = [];\n\n aggregators: {\n [key: string]: { new (dimension: string, formatFun?: any, isRecord?: boolean): Aggregator };\n } = {};\n\n stringJoinChar = String.fromCharCode(0);\n //缓存rows对应每个值是否为汇总字段\n private rowsIsTotal: boolean[] = [];\n private colsIsTotal: boolean[] = [];\n private colGrandTotalLabel: string;\n private colSubTotalLabel: string;\n private rowGrandTotalLabel: string;\n private rowSubTotalLabel: string;\n rows: string[];\n columns: string[];\n indicators: string[];\n constructor(dataConfig: IDataConfig, rows: string[], columns: string[], indicators: string[], records?: any[]) {\n this.registerAggregators();\n this.dataConfig = dataConfig;\n // this.allTotal = new SumAggregator(this.indicators[0]);\n this.sortRules = this.dataConfig.sortRules;\n this.aggregationRules = this.dataConfig.aggregationRules;\n this.derivedFieldRules = this.dataConfig.derivedFieldRules;\n this.mappingRules = this.dataConfig.mappingRules;\n this.totals = dataConfig.totals;\n this.rows = rows;\n this.columns = columns;\n this.indicators = indicators;\n this.colGrandTotalLabel = this.totals?.column?.grandTotalLabel ?? '总计';\n this.colSubTotalLabel = this.totals?.column?.subTotalLabel ?? '小计';\n this.rowGrandTotalLabel = this.totals?.row?.grandTotalLabel ?? '总计';\n this.rowSubTotalLabel = this.totals?.row?.subTotalLabel ?? '小计';\n // for (let i = 0; i < this.indicators.length; i++) {\n // this.indicatorStatistics.push({\n // max: new this.aggregators[AggregationType.MAX](this.indicators[i]),\n // min: new this.aggregators[AggregationType.MIN](this.indicators[i]),\n // total: new this.aggregators[AggregationType.SUM](this.indicators[i]),\n // });\n // }\n this.rowsIsTotal = new Array(this.rows.length).fill(false);\n this.colsIsTotal = new Array(this.columns.length).fill(false);\n for (let i = 0, len = this.totals?.row?.subTotalsDimensions?.length; i < len; i++) {\n const dimension = this.totals.row.subTotalsDimensions[i];\n const dimensionIndex = this.rows.indexOf(dimension);\n this.rowsIsTotal[dimensionIndex] = true;\n }\n for (let i = 0, len = this.totals?.column?.subTotalsDimensions?.length; i < len; i++) {\n const dimension = this.totals.column.subTotalsDimensions[i];\n const dimensionIndex = this.columns.indexOf(dimension);\n this.colsIsTotal[dimensionIndex] = true;\n }\n if (records) {\n //处理数据\n this.records = records;\n const t0 = typeof window !== 'undefined' ? window.performance.now() : 0;\n this.setRecords(records);\n const t1 = typeof window !== 'undefined' ? window.performance.now() : 0;\n console.log('processRecords:', t1 - t0);\n\n // 处理汇总\n const t4 = typeof window !== 'undefined' ? window.performance.now() : 0;\n this.totalStatistics();\n const t5 = typeof window !== 'undefined' ? window.performance.now() : 0;\n console.log('totalStatistics:', t5 - t4);\n\n //对维度排序\n const t2 = typeof window !== 'undefined' ? window.performance.now() : 0;\n this.sortKeys();\n const t3 = typeof window !== 'undefined' ? window.performance.now() : 0;\n console.log('sortKeys:', t3 - t2);\n //转为树形\n // const t4 = typeof window !== 'undefined' ? window.performance.now() : 0;\n // this.madeTree(this.rowKeys);\n // const t41 = typeof window !== 'undefined' ? window.performance.now() : 0;\n // console.log('madeTree:', t41 - t4);\n\n const t7 = typeof window !== 'undefined' ? window.performance.now() : 0;\n this.rowKeysPath = this.TreeToArr(\n this.ArrToTree(\n this.rowKeys,\n this.rowsIsTotal,\n this?.totals?.row?.showGrandTotals || this.columns.length === 0,\n this.rowGrandTotalLabel,\n this.rowSubTotalLabel\n )\n );\n this.colKeysPath = this.TreeToArr(\n this.ArrToTree(\n this.colKeys,\n this.colsIsTotal,\n this.totals?.column?.showGrandTotals || this.rows.length === 0,\n this.colGrandTotalLabel,\n this.colSubTotalLabel\n )\n );\n const t8 = typeof window !== 'undefined' ? window.performance.now() : 0;\n console.log('TreeToArr:', t8 - t7);\n }\n\n delete this.rowFlatKeys;\n delete this.colFlatKeys;\n }\n //将聚合类型注册 收集到aggregators\n registerAggregator(type: string, aggregator: any) {\n this.aggregators[type] = aggregator;\n }\n //将聚合类型注册\n registerAggregators() {\n this.registerAggregator(AggregationType.SUM, SumAggregator);\n this.registerAggregator(AggregationType.COUNT, CountAggregator);\n this.registerAggregator(AggregationType.MAX, MaxAggregator);\n this.registerAggregator(AggregationType.MIN, MinAggregator);\n this.registerAggregator(AggregationType.AVG, AvgAggregator);\n }\n setRecords(records: any[]) {\n this.processRecords();\n }\n /**\n * 处理数据,遍历所有条目,过滤和派生字段的处理有待优化TODO\n */\n processRecords() {\n for (let i = 0, len = this.records.length; i < len; i++) {\n const record = this.records[i];\n if (this.filterRecord(record)) {\n this.processRecord(record);\n }\n }\n }\n filterRecord(record: any) {\n let isReserved = true;\n for (let i = 0; i < this.dataConfig.filterRules?.length; i++) {\n const filterRule = this.dataConfig.filterRules[i];\n if (!filterRule.filterFunc?.(record)) {\n isReserved = false;\n break;\n }\n }\n return isReserved;\n }\n /**\n * 处理单条数据\n * @param record\n * @returns\n */\n processRecord(record: any) {\n //这个派生字段的计算位置有待确定,是否应该放到filter之前\n this.derivedFieldRules?.forEach((derivedFieldRule: DerivedFieldRule, i: number) => {\n record[derivedFieldRule.fieldName] = derivedFieldRule.derivedFunc(record);\n });\n const colKey = [];\n const rowKey = [];\n\n for (let l = 0, len1 = this.rows.length; l < len1; l++) {\n const rowAttr = this.rows[l];\n rowKey.push(record[rowAttr]);\n }\n for (let n = 0, len2 = this.columns.length; n < len2; n++) {\n const colAttr = this.columns[n];\n colKey.push(record[colAttr]);\n }\n\n // this.allTotal.push(record);\n\n const flatRowKey = rowKey.join(this.stringJoinChar);\n const flatColKey = colKey.join(this.stringJoinChar);\n\n // 此方法判断效率很低\n // if (this.rowKeys.indexOf(rowKey) === -1) this.rowKeys.push(rowKey);\n // if (this.colKeys.indexOf(colKey) === -1) this.colKeys.push(colKey);\n\n // rowTotals colTotals原本汇总的每行每列的总计,当columns或者rows不配置的时候 可以用这个值展示,现在放到了tree上 'total'作为默认键值\n if (rowKey.length !== 0) {\n if (!this.rowFlatKeys[flatRowKey]) {\n this.rowKeys.push(rowKey);\n this.rowFlatKeys[flatRowKey] = 1;\n }\n //如有需要显示总计 或者columns配置空\n // if (this.totals?.row?.showGrandTotals || !(this.dataConfig?.columns?.length > 0))\n // for (let i = 0; i < this.indicators.length; i++) {\n // if (!this.rowTotals[flatRowKey][i]) {\n // const aggRule = this.getAggregatorRule(this.indicators[i]);\n // this.rowTotals[flatRowKey][i] = new this.aggregators[\n // aggRule?.aggregationType ?? AggregationType.SUM\n // ](aggRule?.field ?? this.indicators[i], aggRule?.formatFun);\n // }\n // this.rowTotals[flatRowKey][i].push(record);\n // }\n }\n if (colKey.length !== 0) {\n if (!this.colFlatKeys[flatColKey]) {\n this.colKeys.push(colKey);\n this.colFlatKeys[flatColKey] = 1;\n }\n //如有需要显示总计 或者rows配置空\n // if (this.totals?.column?.showGrandTotals || !(this.dataConfig?.rows?.length > 0))\n // for (let i = 0; i < this.indicators.length; i++) {\n // if (!this.colTotals[flatColKey][i]) {\n // const aggRule = this.getAggregatorRule(this.indicators[i]);\n // this.colTotals[flatColKey][i] = new this.aggregators[\n // aggRule?.aggregationType ?? AggregationType.SUM\n // ](aggRule?.field ?? this.indicators[i], aggRule?.formatFun);\n // }\n // this.colTotals[flatColKey][i].push(record);\n // }\n }\n\n //组织树结构: 行-列-单元格 行key为flatRowKey如’山东青岛‘ 列key为flatColKey如’家具椅子‘\n if (colKey.length !== 0 || rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n //这里改成数组 因为可能是多个指标值 遍历indicators 生成对应类型的聚合对象\n if (!this.tree[flatRowKey]?.[flatColKey]) {\n this.tree[flatRowKey][flatColKey] = [];\n }\n for (let i = 0; i < this.indicators.length; i++) {\n if (!this.tree[flatRowKey]?.[flatColKey]?.[i]) {\n const aggRule = this.getAggregatorRule(this.indicators[i]);\n this.tree[flatRowKey][flatColKey][i] = new this.aggregators[aggRule?.aggregationType ?? AggregationType.SUM](\n aggRule?.field ?? this.indicators[i],\n aggRule?.formatFun\n );\n }\n //push融合了计算过程\n this.tree[flatRowKey]?.[flatColKey]?.[i].push(record);\n }\n }\n //统计整体的最大最小值和总计值 共mapping使用\n if (this.mappingRules) {\n for (let i = 0; i < this.indicators.length; i++) {\n if (!this.indicatorStatistics[i]) {\n const aggRule = this.getAggregatorRule(this.indicators[i]);\n this.indicatorStatistics[i] = {\n max: new this.aggregators[AggregationType.MAX](this.indicators[i]),\n min: new this.aggregators[AggregationType.MIN](this.indicators[i]),\n total: new this.aggregators[aggRule?.aggregationType ?? AggregationType.SUM](\n aggRule?.field ?? this.indicators[i],\n aggRule?.formatFun\n )\n };\n }\n //push融合了计算过程\n this.indicatorStatistics[i].max.push(this.tree[flatRowKey]?.[flatColKey]?.[i].value());\n this.indicatorStatistics[i].min.push(this.tree[flatRowKey]?.[flatColKey]?.[i].value());\n this.indicatorStatistics[i].total.push(record);\n }\n }\n }\n /**\n * 全量更新排序规则 对数据重新排序 生成行列paths\n * @param sortRules\n */\n updateSortRules(sortRules: SortRules) {\n this.sorted = false;\n this.sortRules = sortRules;\n this.sortKeys();\n this.rowKeysPath = this.TreeToArr(\n this.ArrToTree(\n this.rowKeys,\n this.rowsIsTotal,\n this?.totals?.row?.showGrandTotals || this.columns.length === 0,\n this.rowGrandTotalLabel,\n this.rowSubTotalLabel\n )\n );\n this.colKeysPath = this.TreeToArr(\n this.ArrToTree(\n this.colKeys,\n this.colsIsTotal,\n this.totals?.column?.showGrandTotals || this.rows.length === 0,\n this.colGrandTotalLabel,\n this.colSubTotalLabel\n )\n );\n }\n private getAggregatorRule(indicatorKey: string): AggregationRule | undefined {\n return this.aggregationRules?.find((value: AggregationRule, index: number) => {\n return indicatorKey === value.indicatorKey;\n });\n }\n /**\n * 根据行列的维度key 获取聚合对象\n * @param rowKey\n * @param colKey\n * @param indicator\n * @returns\n */\n getAggregator(rowKey: string[] | string = [], colKey: string[] | string = [], indicator: string): Aggregator {\n const indicatorIndex = this.indicators.indexOf(indicator);\n let agg;\n let flatRowKey;\n let flatColKey;\n if (typeof rowKey === 'string') {\n flatRowKey = rowKey;\n } else {\n flatRowKey = rowKey.join(this.stringJoinChar);\n }\n\n if (typeof colKey === 'string') {\n flatColKey = colKey;\n } else {\n flatColKey = colKey.join(this.stringJoinChar);\n }\n\n if (rowKey.length === 0 && colKey.length === 0) {\n // agg = this.allTotal;\n // } else if (rowKey.length === 0) {\n // // agg = this.tree.total[flatColKey]?.[sortByIndicatorIndex];\n // agg = this.colTotals[flatColKey]?.[sortByIndicatorIndex];\n // } else if (colKey.length === 0) {\n // // agg = this.tree[flatRowKey].total?.[sortByIndicatorIndex];\n // agg = this.rowTotals[flatRowKey]?.[sortByIndicatorIndex];\n } else {\n agg = this.tree[flatRowKey]?.[flatColKey]?.[indicatorIndex];\n }\n return agg\n ? agg\n : {\n className: '',\n push() {\n // do nothing\n },\n value(): any {\n return null;\n },\n formatValue() {\n return '';\n }\n };\n }\n /**\n * 根据排序规则 对维度keys排序\n */\n sortKeys() {\n const that = this;\n if (!this.sorted) {\n this.sorted = true;\n const getValue = function (rowKey: any, colKey: any) {\n return that.getAggregator(rowKey, colKey, '').value();\n };\n\n switch (this.rowOrder) {\n case 'value_a_to_z':\n this.rowKeys.sort(function (a, b) {\n return naturalSort(getValue(a, []), getValue(b, []));\n });\n break;\n case 'value_z_to_a':\n this.rowKeys.sort(function (a, b) {\n return -naturalSort(getValue(a, []), getValue(b, []));\n });\n break;\n default:\n this.rowKeys.sort(this.arrSort(this.rows, true));\n }\n switch (this.colOrder) {\n case 'value_a_to_z':\n this.colKeys.sort(function (a, b) {\n return naturalSort(getValue([], a), getValue([], b));\n });\n break;\n case 'value_z_to_a':\n this.colKeys.sort(function (a, b) {\n return -naturalSort(getValue([], a), getValue([], b));\n });\n break;\n default:\n const sortfun = this.arrSort(this.columns, false);\n this.colKeys.sort(sortfun);\n }\n }\n }\n /**\n * 生成排序函数 综合配置的多条排序规则\n * @param fieldArr 排序维度名称 如行rows 列columns\n * @returns\n */\n arrSort(fieldArr: string[], isRow: boolean) {\n let field;\n const that = this;\n const sortersArr: any[] = function (_this: any) {\n const results = [];\n for (let l = 0, len1 = fieldArr.length; l < len1; l++) {\n field = fieldArr[l];\n let isHasSortRule = false;\n if (that.sortRules) {\n for (let m = 0, len2 = that.sortRules.length; m < len2; m++) {\n if (that.sortRules[m].sortField === field) {\n isHasSortRule = true;\n results.push({\n field,\n fieldIndex: l,\n sortRule: that.sortRules[m],\n func: that.getSort(that.sortRules[m], isRow)\n });\n\n // if (that.sortRules[m].sortByIndicator) {\n // isHasSortRule = true;\n // results.push({\n // field,\n // fieldIndex: l,\n // sortRule: that.sortRules[m],\n // func: that.getSort(that.sortRules[m], field),\n // });\n // }\n }\n }\n }\n if (!isHasSortRule) {\n results.push({ field, fieldIndex: l, func: naturalSort });\n }\n }\n return results;\n }.call(this);\n return function (a: string[], b: string[]) {\n let comparison;\n let sorter;\n for (let i = 0; i < sortersArr.length; i++) {\n sorter = sortersArr[i];\n if (sorter.sortRule?.sortByIndicator) {\n let aChanged = a;\n let bChanged = b;\n if (sorter.fieldIndex < fieldArr.length - 1) {\n aChanged = a.slice(0, sorter.fieldIndex + 1);\n aChanged.push(isRow ? that.totals?.row?.subTotalLabel : that.totals?.column?.subTotalLabel);\n bChanged = b.slice(0, sorter.fieldIndex + 1);\n bChanged.push(isRow ? that.totals?.row?.subTotalLabel : that.totals?.column?.subTotalLabel);\n }\n comparison = sorter.func(aChanged, bChanged);\n } else {\n comparison = sorter.func(a[sorter.fieldIndex], b[sorter.fieldIndex]);\n }\n if (comparison !== 0) {\n return comparison * (sorter.sortRule?.sortType === SortType.DESC ? -1 : 1);\n }\n }\n return 0;\n };\n }\n /**\n * 根据具体排序 获取不同的排序函数\n * @param sortRule\n * @returns\n */\n getSort(sortRule: SortRule, isSortRow: boolean) {\n const that = this;\n\n if ((<SortByIndicatorRule>sortRule).sortByIndicator) {\n return (a: string[], b: string[]) => {\n /**\n * 根据rowKey和colKey获取tree上对应的聚合值\n * @param rowKey\n * @param colKey\n * @returns\n */\n const getValue = function (rowKey: any, colKey: any) {\n //如果rowKey提供的不全 如 [地区,省,城市] 只提供了如[华东,山东] 会补全为[华东,山东,小计]\n if (\n rowKey.length < that.rows.length &&\n rowKey[rowKey.length - 1] !== that.rowSubTotalLabel &&\n rowKey[rowKey.length - 1] !== that.rowGrandTotalLabel\n ) {\n rowKey.push(that.rowSubTotalLabel);\n }\n if (\n colKey.length < that.columns.length &&\n colKey[colKey.length - 1] !== that.colSubTotalLabel &&\n colKey[colKey.length - 1] !== that.colGrandTotalLabel\n ) {\n colKey.push(that.colSubTotalLabel);\n }\n return that.getAggregator(rowKey, colKey, (<SortByIndicatorRule>sortRule).sortByIndicator).value();\n };\n if (isSortRow) {\n return naturalSort(\n getValue(a, (<SortByIndicatorRule>sortRule).query),\n getValue(b, (<SortByIndicatorRule>sortRule).query)\n );\n }\n return naturalSort(\n getValue((<SortByIndicatorRule>sortRule).query, a),\n getValue((<SortByIndicatorRule>sortRule).query, b)\n );\n };\n } else if ((<SortByRule>sortRule).sortBy) {\n return sortBy((<SortByRule>sortRule).sortBy);\n }\n if ((<SortTypeRule>sortRule).sortType) {\n return typeSort;\n }\n if ((<SortFuncRule>sortRule).sortFunc) {\n return (<SortFuncRule>sortRule).sortFunc;\n }\n return naturalSort;\n }\n /**\n * 汇总小计\n */\n totalStatistics() {\n const that = this;\n if (\n (that?.totals?.column?.showSubTotals && that?.totals?.column?.subTotalsDimensions?.length >= 1) ||\n (that?.totals?.row?.showSubTotals && that?.totals?.row?.subTotalsDimensions?.length >= 1) ||\n that?.totals?.column?.showGrandTotals ||\n that?.totals?.row?.showGrandTotals ||\n that.rows.length === 0 ||\n that.columns.length === 0\n ) {\n const rowTotalKeys: string[] = [];\n /**\n * 计算每一行的所有列的汇总值\n * @param flatRowKey\n * @param flatColKey\n */\n const colCompute = (flatRowKey: string, flatColKey: string) => {\n const colKey = flatColKey.split(this.stringJoinChar);\n for (let i = 0, len = that.totals?.column?.subTotalsDimensions?.length; i < len; i++) {\n const dimension = that.totals.column.subTotalsDimensions[i];\n const dimensionIndex = that.columns.indexOf(dimension);\n if (dimensionIndex >= 0) {\n const colTotalKey = colKey.slice(0, dimensionIndex + 1);\n colTotalKey.push(that.totals?.column?.subTotalLabel ?? '小计');\n const flatColTotalKey = colTotalKey.join(this.stringJoinChar);\n if (!this.tree[flatRowKey][flatColTotalKey]) {\n this.tree[flatRowKey][flatColTotalKey] = [];\n }\n for (let i = 0; i < this.indicators.length; i++) {\n if (!this.tree[flatRowKey][flatColTotalKey][i]) {\n const aggRule = this.getAggregatorRule(this.indicators[i]);\n this.tree[flatRowKey][flatColTotalKey][i] = new this.aggregators[\n aggRule?.aggregationType ?? AggregationType.SUM\n ](aggRule?.field ?? this.indicators[i], aggRule?.formatFun);\n }\n this.tree[flatRowKey][flatColTotalKey][i].push(that.tree[flatRowKey]?.[flatColKey]?.[i]);\n }\n }\n }\n if (that.totals?.column?.showGrandTotals || this.rows.length === 0) {\n const flatColTotalKey = that.colGrandTotalLabel;\n if (!this.tree[flatRowKey][flatColTotalKey]) {\n this.tree[flatRowKey][flatColTotalKey] = [];\n }\n for (let i = 0; i < this.indicators.length; i++) {\n if (!this.tree[flatRowKey][flatColTotalKey][i]) {\n const aggRule = this.getAggregatorRule(this.indicators[i]);\n this.tree[flatRowKey][flatColTotalKey][i] = new this.aggregators[\n aggRule?.aggregationType ?? AggregationType.SUM\n ](aggRule?.field ?? this.indicators[i], aggRule?.formatFun);\n }\n this.tree[flatRowKey][flatColTotalKey][i].push(that.tree[flatRowKey]?.[flatColKey]?.[i]);\n }\n }\n };\n Object.keys(that.tree).forEach(flatRowKey => {\n const rowKey = flatRowKey.split(this.stringJoinChar);\n Object.keys(that.tree[flatRowKey]).forEach(flatColKey => {\n for (let i = 0, len = that.totals?.row?.subTotalsDimensions?.length; i < len; i++) {\n const dimension = that.totals.row.subTotalsDimensions[i];\n const dimensionIndex = that.rows.indexOf(dimension);\n if (dimensionIndex >= 0) {\n const rowTotalKey = rowKey.slice(0, dimensionIndex + 1);\n rowTotalKey.push(that.totals?.row?.subTotalLabel ?? '小计');\n const flatRowTotalKey = rowTotalKey.join(this.stringJoinChar);\n if (!this.tree[flatRowTotalKey]) {\n this.tree[flatRowTotalKey] = {};\n rowTotalKeys.push(flatRowTotalKey);\n }\n if (!this.tree[flatRowTotalKey][flatColKey]) {\n this.tree[flatRowTotalKey][flatColKey] = [];\n for (let i = 0; i < this.indicators.length; i++) {\n if (!this.tree[flatRowTotalKey][flatColKey][i]) {\n const aggRule = this.getAggregatorRule(this.indicators[i]);\n this.tree[flatRowTotalKey][flatColKey][i] = new this.aggregators[\n aggRule?.aggregationType ?? AggregationType.SUM\n ](aggRule?.field ?? this.indicators[i], aggRule?.formatFun);\n }\n this.tree[flatRowTotalKey][flatColKey][i].push(that.tree[flatRowKey]?.[flatColKey]?.[i]);\n }\n }\n }\n if (that.totals?.row?.showGrandTotals || this.columns.length === 0) {\n const flatRowTotalKey = that.rowGrandTotalLabel;\n if (!this.tree[flatRowTotalKey]) {\n this.tree[flatRowTotalKey] = {};\n rowTotalKeys.push(flatRowTotalKey);\n }\n if (!this.tree[flatRowTotalKey][flatColKey]) {\n this.tree[flatRowTotalKey][flatColKey] = [];\n }\n for (let i = 0; i < this.indicators.length; i++) {\n if (!this.tree[flatRowTotalKey][flatColKey][i]) {\n const aggRule = this.getAggregatorRule(this.indicators[i]);\n this.tree[flatRowTotalKey][flatColKey][i] = new this.aggregators[\n aggRule?.aggregationType ?? AggregationType.SUM\n ](aggRule?.field ?? this.indicators[i], aggRule?.formatFun);\n }\n this.tree[flatRowTotalKey][flatColKey][i].push(that.tree[flatRowKey]?.[flatColKey]?.[i]);\n }\n }\n colCompute(flatRowKey, flatColKey);\n }\n });\n });\n //增加出来的rowTotalKeys 再遍历一次 汇总小计的小计 如 东北小计(row)-办公用品小计(col)所指单元格的值\n rowTotalKeys.forEach(flatRowKey => {\n Object.keys(that.tree[flatRowKey]).forEach(flatColKey => {\n colCompute(flatRowKey, flatColKey);\n });\n });\n }\n }\n /**\n * 将rowKeys和colKeys 转为树形结构\n * @param arr\n * @param subTotalFlags 标志小计的维度\n * @returns\n */\n private ArrToTree(\n arr: string[][],\n subTotalFlags: boolean[],\n isGrandTotal: boolean,\n grandTotalLabel: string,\n subTotalLabel: string\n ) {\n /**\n *\n * @param {string} s 父级id\n * @param {number} n 需转换数字\n */\n // const getId = (pId: any, curId: any) => `${pId}$${curId}`;\n const result: any[] = []; // 结果\n const concatStr = this.stringJoinChar; // 连接符(随便写,保证key唯一性就OK)\n const map = new Map(); // 存储根节点 主要提升性能\n function addList(list: any) {\n const path: any[] = []; // 路径\n let node: any; // 当前节点\n list.forEach((value: any, index: number) => {\n path.push(value);\n const flatKey = path.join(concatStr);\n //id的值可以每次生成一个新的 这里用的path作为id 方便layout对象获取\n let item: { id: string; child: any[] } = map.get(flatKey); // 当前节点\n if (!item) {\n item = {\n // name: value,\n id: flatKey, //getId(node?.id ?? '', (node?.child?.length ?? result.length) + 1),\n child: []\n };\n if (subTotalFlags[index]) {\n let curChild = item.child;\n for (let i = index; i < list.length - 1; i++) {\n const totalChild: { id: string; child: any[] } = {\n id: `${flatKey}${concatStr}${subTotalLabel}`, // getId(item?.id, 1),\n child: []\n };\n curChild.push(totalChild);\n curChild = totalChild.child;\n }\n }\n map.set(flatKey, item); // 存储路径对应的节点\n if (node) {\n //为了确保汇总小计放到最后 使用splice插入到倒数第二个位置。如果小计放前面 直接push就行\n if (subTotalFlags[index - 1]) {\n node.child.splice(node.child.length - 1, 0, item);\n } else {\n node.child.push(item);\n }\n } else {\n result.push(item);\n }\n }\n node = item; // 更新当前节点\n });\n }\n\n arr.forEach(item => addList(item));\n //最后将总计的节点加上\n if (isGrandTotal) {\n const node: { id: string; child: any[] } = {\n id: grandTotalLabel, // getId(item?.id, 1),\n child: []\n };\n let curChild = node.child;\n for (let i = 1; i < subTotalFlags.length; i++) {\n const totalChild: { id: string; child: any[] } = {\n id: grandTotalLabel, // getId(item?.id, 1),\n child: []\n };\n curChild.push(totalChild);\n curChild = totalChild.child;\n }\n result.push(node);\n }\n return result;\n }\n //将树形结构转为二维数组 值为node.id\n private TreeToArr(tree: any) {\n const result: any[] = []; // 结果\n function getPath(node: any, arr: any) {\n arr.push(node.id);\n if (node.child.length > 0) {\n // 存在多个节点就递归\n node.child?.forEach((childItem: any) => getPath(childItem, [...arr]));\n } else {\n result.push(arr);\n }\n }\n tree.forEach((treeNode: any) => getPath(treeNode, []));\n return result;\n }\n}\n\nabstract class Aggregator {\n className = 'Aggregator';\n isRecord?: boolean = true;\n records?: any[] = [];\n type?: string;\n field?: string;\n formatFun?: any;\n _formatedValue?: any;\n constructor(dimension: string, formatFun?: any, isRecord?: boolean) {\n this.field = dimension;\n this.formatFun = formatFun;\n this.isRecord = isRecord ?? this.isRecord;\n }\n // push(record: any) {\n // if (this.isRecord) {\n // if (record.className === 'Aggregator') this.records.push(...record.records);\n // else this.records.push(record);\n // }\n // }\n abstract push(record: any): void;\n abstract value(): any;\n formatValue() {\n if (!this._formatedValue) {\n if (this.formatFun) {\n this._formatedValue = this.formatFun(this.value());\n } else {\n this._formatedValue = this.value();\n }\n }\n return this._formatedValue;\n }\n}\nclass SumAggregator extends Aggregator {\n type: string = AggregationType.SUM;\n sum = 0;\n push(record: any): void {\n if (this.isRecord) {\n if (record.className === 'Aggregator') {\n this.records.push(...record.records);\n } else {\n this.records.push(record);\n }\n }\n if (record.className === 'Aggregator') {\n this.sum += record.value();\n } else if (!isNaN(parseFloat(record[this.field]))) {\n this.sum += parseFloat(record[this.field]);\n }\n }\n value() {\n return this.sum;\n }\n}\n\nclass CountAggregator extends Aggregator {\n type: string = AggregationType.COUNT;\n count = 0;\n push(record: any): void {\n if (this.isRecord) {\n if (record.className === 'Aggregator') {\n this.records.push(...record.records);\n } else {\n this.records.push(record);\n }\n }\n if (record.className === 'Aggregator') {\n this.count += record.value();\n } else {\n this.count++;\n }\n }\n value() {\n return this.count;\n }\n}\nclass AvgAggregator extends Aggregator {\n type: string = AggregationType.AVG;\n sum = 0;\n count = 0;\n push(record: any): void {\n if (this.isRecord) {\n if (record.className === 'Aggregator') {\n this.records.push(...record.records);\n } else {\n this.records.push(record);\n }\n }\n if (record.className === 'Aggregator' && record.type === AggregationType.AVG) {\n this.sum += record.sum;\n this.count += record.count;\n } else if (!isNaN(parseFloat(record[this.field]))) {\n this.sum += parseFloat(record[this.field]);\n this.count++;\n }\n }\n value() {\n return this.sum / this.count;\n }\n}\nclass MaxAggregator extends Aggregator {\n type: string = AggregationType.MAX;\n max: number = Number.MIN_SAFE_INTEGER;\n isRecord?: boolean = false;\n push(record: any): void {\n if (this.isRecord) {\n if (record.className === 'Aggregator') {\n this.records.push(...record.records);\n } else {\n this.records.push(record);\n }\n }\n //TODO push Aggregator类型的对象没有做处理\n if (typeof record === 'number') {\n this.max = record > this.max ? record : this.max;\n } else if (typeof record[this.field] === 'number') {\n this.max = record[this.field] > this.max ? record[this.field] : this.max;\n } else if (!isNaN(record[this.field])) {\n this.max = parseFloat(record[this.field]) > this.max ? parseFloat(record[this.field]) : this.max;\n }\n }\n value() {\n return this.max;\n }\n}\nclass MinAggregator extends Aggregator {\n type: string = AggregationType.MIN;\n min: number = Number.MAX_SAFE_INTEGER;\n isRecord?: boolean = false;\n push(record: any): void {\n if (this.isRecord) {\n if (record.className === 'Aggregator') {\n this.records.push(...record.records);\n } else {\n this.records.push(record);\n }\n }\n //TODO push Aggregator类型的对象没有做处理\n if (typeof record === 'number') {\n this.min = record < this.min ? record : this.min;\n } else if (typeof record[this.field] === 'number') {\n this.min = record[this.field] < this.min ? record[this.field] : this.min;\n }\n }\n value() {\n return this.min;\n }\n}\nfunction indicatorSort(a: any, b: any) {\n if (a && b) {\n // 数据健全兼容,用户数据不全时,能够展示.\n return a.toString().localeCompare(b.toString(), 'zh');\n }\n if (a) {\n return 1;\n }\n return -1;\n}\nfunction typeSort(a: any, b: any) {\n if (a && b) {\n // 数据健全兼容,用户数据不全时,能够展示.\n return a.toString().localeCompare(b.toString(), 'zh');\n }\n if (a) {\n return 1;\n }\n return -1;\n}\nfunction naturalSort(as: any, bs: any) {\n const rx = /(\\d+)|(\\D+)/g;\n const rd = /\\d/;\n const rz = /^0/;\n let a;\n let a1;\n let b;\n let b1;\n let nas = 0;\n let nbs = 0;\n if (bs !== null && as === null) {\n return -1;\n }\n if (as !== null && bs === null) {\n return 1;\n }\n if (typeof as === 'number' && isNaN(as)) {\n return -1;\n }\n if (typeof bs === 'number' && isNaN(bs)) {\n return 1;\n }\n nas = +as;\n nbs = +bs;\n if (nas < nbs) {\n return -1;\n }\n if (nas > nbs) {\n return 1;\n }\n if (typeof as === 'number' && typeof bs !== 'number') {\n return -1;\n }\n if (typeof bs === 'number' && typeof as !== 'number') {\n return 1;\n }\n if (typeof as === 'number' && typeof bs === 'number') {\n return 0;\n }\n if (isNaN(nbs) && !isNaN(nas)) {\n return -1;\n }\n if (isNaN(nas) && !isNaN(nbs)) {\n return 1;\n }\n a = String(as);\n b = String(bs);\n if (a === b) {\n return 0;\n }\n if (!(rd.test(a) && rd.test(b))) {\n return a > b ? 1 : -1;\n }\n a = a.match(rx);\n b = b.match(rx);\n while (a.length && b.length) {\n a1 = a.shift();\n b1 = b.shift();\n if (a1 !== b1) {\n if (rd.test(a1) && rd.test(b1)) {\n return <any>a1.replace(rz, '.0') - <any>b1.replace(rz, '.0');\n }\n return a1 > b1 ? 1 : -1;\n }\n }\n return a.length - b.length;\n}\nfunction sortBy(order: ('asc' | 'desc' | 'normal')[]) {\n let x;\n let i;\n const mapping = {};\n const lowercase_mapping = {};\n // for (i in order) {\n for (let i = 0; i < order.length; i++) {\n x = order[i];\n mapping[x] = i;\n if (typeof x === 'string') {\n lowercase_mapping[x.toLowerCase()] = i;\n }\n }\n return function (a: any, b: any) {\n if (mapping[a] !== null && mapping[a] !== undefined && mapping[b] !== null && mapping[b] !== undefined) {\n return mapping[a] - mapping[b];\n } else if (mapping[a] !== null && mapping[a] !== undefined) {\n return -1;\n } else if (mapping[b] !== null && mapping[b] !== undefined) {\n return 1;\n } else if (\n lowercase_mapping[a] !== null &&\n mapping[a] !== undefined &&\n lowercase_mapping[b] !== null &&\n mapping[b] !== undefined\n ) {\n return lowercase_mapping[a] - lowercase_mapping[b];\n } else if (\n lowercase_mapping[a] === null ||\n mapping[a] === undefined ||\n lowercase_mapping[b] === null ||\n mapping[b] === undefined\n ) {\n return 0;\n } else if (lowercase_mapping[a] !== null && mapping[a] !== undefined) {\n return -1;\n } else if (lowercase_mapping[b] !== null && mapping[b] !== undefined) {\n return 1;\n }\n return naturalSort(a, b);\n };\n}\n"]}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export declare class FlatDataToObjects {
|
|
2
|
+
dataConfig: {
|
|
3
|
+
rows: string[];
|
|
4
|
+
columns: string[];
|
|
5
|
+
indicators: string[];
|
|
6
|
+
indicatorsAsCol: boolean;
|
|
7
|
+
indicatorDimensionKey: string | number;
|
|
8
|
+
};
|
|
9
|
+
records: any[];
|
|
10
|
+
tree: Record<string, Record<string, Record<string, any>>>;
|
|
11
|
+
private colFlatKeys;
|
|
12
|
+
private rowFlatKeys;
|
|
13
|
+
stringJoinChar: string;
|
|
14
|
+
private rowsIsTotal;
|
|
15
|
+
private colsIsTotal;
|
|
16
|
+
private colGrandTotalLabel;
|
|
17
|
+
private colSubTotalLabel;
|
|
18
|
+
private rowGrandTotalLabel;
|
|
19
|
+
private rowSubTotalLabel;
|
|
20
|
+
constructor(dataConfig: {
|
|
21
|
+
rows: string[];
|
|
22
|
+
columns: string[];
|
|
23
|
+
indicators: string[];
|
|
24
|
+
indicatorsAsCol: boolean;
|
|
25
|
+
indicatorDimensionKey: string | number;
|
|
26
|
+
}, records?: any[]);
|
|
27
|
+
setRecords(records: any[]): void;
|
|
28
|
+
processRecords(): void;
|
|
29
|
+
processRecord(record: any): void;
|
|
30
|
+
getTreeNode(rowKey: string[] | string, colKey: string[] | string, indicator: string): Record<string, any>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export class FlatDataToObjects {
|
|
2
|
+
constructor(dataConfig, records) {
|
|
3
|
+
if (this.tree = {}, this.colFlatKeys = {}, this.rowFlatKeys = {}, this.stringJoinChar = String.fromCharCode(0),
|
|
4
|
+
this.rowsIsTotal = [], this.colsIsTotal = [], this.dataConfig = dataConfig, records) {
|
|
5
|
+
this.records = records;
|
|
6
|
+
const t0 = "undefined" != typeof window ? window.performance.now() : 0;
|
|
7
|
+
this.setRecords(records);
|
|
8
|
+
const t1 = "undefined" != typeof window ? window.performance.now() : 0;
|
|
9
|
+
console.log("processRecords:", t1 - t0);
|
|
10
|
+
}
|
|
11
|
+
delete this.rowFlatKeys, delete this.colFlatKeys;
|
|
12
|
+
}
|
|
13
|
+
setRecords(records) {
|
|
14
|
+
this.processRecords();
|
|
15
|
+
}
|
|
16
|
+
processRecords() {
|
|
17
|
+
for (let i = 0, len = this.records.length; i < len; i++) {
|
|
18
|
+
const record = this.records[i];
|
|
19
|
+
this.processRecord(record);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
processRecord(record) {
|
|
23
|
+
const colKey = [], rowKey = [];
|
|
24
|
+
for (let l = 0, len1 = this.dataConfig.rows.length; l < len1; l++) {
|
|
25
|
+
const rowAttr = this.dataConfig.rows[l];
|
|
26
|
+
void 0 !== record[rowAttr] && rowAttr !== this.dataConfig.indicatorDimensionKey && rowKey.push(record[rowAttr]);
|
|
27
|
+
}
|
|
28
|
+
for (let n = 0, len2 = this.dataConfig.columns.length; n < len2; n++) {
|
|
29
|
+
const colAttr = this.dataConfig.columns[n];
|
|
30
|
+
void 0 !== record[colAttr] && colAttr !== this.dataConfig.indicatorDimensionKey && colKey.push(record[colAttr]);
|
|
31
|
+
}
|
|
32
|
+
this.dataConfig.indicators.forEach((indicatorKey => {
|
|
33
|
+
const recordValue = record[indicatorKey];
|
|
34
|
+
void 0 !== recordValue && (this.dataConfig.indicatorsAsCol ? colKey.push(indicatorKey) : rowKey.push(indicatorKey));
|
|
35
|
+
const flatRowKey = rowKey.join(this.stringJoinChar), flatColKey = colKey.join(this.stringJoinChar);
|
|
36
|
+
0 !== rowKey.length && (this.rowFlatKeys[flatRowKey] || (this.rowFlatKeys[flatRowKey] = 1)),
|
|
37
|
+
0 !== colKey.length && (this.colFlatKeys[flatColKey] || (this.colFlatKeys[flatColKey] = 1)),
|
|
38
|
+
0 === colKey.length && 0 === rowKey.length || (this.tree[flatRowKey] || (this.tree[flatRowKey] = {}),
|
|
39
|
+
void 0 !== recordValue && (this.tree[flatRowKey][flatColKey] = {
|
|
40
|
+
value: recordValue,
|
|
41
|
+
record: record
|
|
42
|
+
}, this.dataConfig.indicatorsAsCol ? colKey.pop() : rowKey.pop()));
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
getTreeNode(rowKey = [], colKey = [], indicator) {
|
|
46
|
+
var _a, _b, _c;
|
|
47
|
+
let flatRowKey, flatColKey;
|
|
48
|
+
if ("string" == typeof rowKey) flatRowKey = rowKey; else {
|
|
49
|
+
let isHasIndicator = !1;
|
|
50
|
+
rowKey.map(((key, i) => {
|
|
51
|
+
key === indicator && (rowKey.splice(i, 1), isHasIndicator = !0);
|
|
52
|
+
})), isHasIndicator && rowKey.push(indicator), flatRowKey = rowKey.join(this.stringJoinChar);
|
|
53
|
+
}
|
|
54
|
+
if ("string" == typeof colKey) flatColKey = colKey; else {
|
|
55
|
+
let isHasIndicator = !1;
|
|
56
|
+
colKey.map(((key, i) => {
|
|
57
|
+
key === indicator && (colKey.splice(i, 1), isHasIndicator = !0);
|
|
58
|
+
})), isHasIndicator && colKey.push(indicator), flatColKey = colKey.join(this.stringJoinChar);
|
|
59
|
+
}
|
|
60
|
+
return null !== (_c = null === (_b = null === (_a = this.tree) || void 0 === _a ? void 0 : _a[flatRowKey]) || void 0 === _b ? void 0 : _b[flatColKey]) && void 0 !== _c ? _c : void 0;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=flatDataToObject.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["dataset/flatDataToObject.ts"],"names":[],"mappings":"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","file":"flatDataToObject.js","sourcesContent":["import { Env } from '../tools/env';\n\n// if (Env.mode === 'node') {\n// // eslint-disable-next-line no-global-assign\n// window = {\n// performance: {\n// now: () => -1,\n// },\n// } as any;\n// }\n/**\n * 针对聚合好的flat数据转为便于查询的行列树对象,每一个显示的指标值都能从一条数据记录中获得\n */\nexport class FlatDataToObjects {\n /**\n * 用户配置\n */\n dataConfig: {\n rows: string[]; //行维度字段数组;\n columns: string[]; //列维度字段数组;\n indicators: string[]; //具体展示指标;\n indicatorsAsCol: boolean;\n indicatorDimensionKey: string | number;\n };\n /**\n * 明细数据\n */\n records: any[];\n /**\n * 树形节点,最后的子节点对应到body部分的每个单元格 树结构: 行-列-单元格\n */\n tree: Record<string, Record<string, Record<string, any>>> = {};\n private colFlatKeys = {};\n private rowFlatKeys = {};\n\n // //列表头的每列对应的表头键值\n // colKeys: string[][] = [];\n // //行表头的每行对应的表头键值\n // rowKeys: string[][] = [];\n // /**\n // * 对应dataset中的rowKeys,行表头的每行表头键值,包含小计总计\n // */\n // rowKeysPath: string[][];\n // /**\n // * 对应dataset中的colKeys,列表头的每列表头键值,包含小计总计\n // */\n // colKeysPath: string[][];\n\n stringJoinChar = String.fromCharCode(0);\n //缓存rows对应每个值是否为汇总字段\n private rowsIsTotal: boolean[] = [];\n private colsIsTotal: boolean[] = [];\n private colGrandTotalLabel: string;\n private colSubTotalLabel: string;\n private rowGrandTotalLabel: string;\n private rowSubTotalLabel: string;\n constructor(\n dataConfig: {\n rows: string[]; //行维度字段数组;\n columns: string[]; //列维度字段数组;\n indicators: string[]; //具体展示指标;\n indicatorsAsCol: boolean;\n indicatorDimensionKey: string | number;\n },\n records?: any[]\n ) {\n this.dataConfig = dataConfig;\n // this.allTotal = new SumAggregator(this.dataConfig.indicators[0]);\n\n if (records) {\n //处理数据\n this.records = records;\n const t0 = typeof window !== 'undefined' ? window.performance.now() : 0;\n this.setRecords(records);\n const t1 = typeof window !== 'undefined' ? window.performance.now() : 0;\n console.log('processRecords:', t1 - t0);\n }\n\n delete this.rowFlatKeys;\n delete this.colFlatKeys;\n }\n\n setRecords(records: any[]) {\n this.processRecords();\n }\n /**\n * 处理数据,遍历所有条目,过滤和派生字段的处理有待优化TODO\n */\n processRecords() {\n for (let i = 0, len = this.records.length; i < len; i++) {\n const record = this.records[i];\n this.processRecord(record);\n }\n }\n\n /**\n * 处理单条数据\n * @param record\n * @returns\n */\n processRecord(record: any) {\n const colKey: any[] = [];\n const rowKey: any[] = [];\n\n for (let l = 0, len1 = this.dataConfig.rows.length; l < len1; l++) {\n const rowAttr = this.dataConfig.rows[l];\n if (\n // record[rowAttr] !== null &&\n record[rowAttr] !== undefined &&\n rowAttr !== this.dataConfig.indicatorDimensionKey\n ) {\n rowKey.push(record[rowAttr]);\n }\n }\n for (let n = 0, len2 = this.dataConfig.columns.length; n < len2; n++) {\n const colAttr = this.dataConfig.columns[n];\n if (\n // record[colAttr] !== null &&\n record[colAttr] !== undefined &&\n colAttr !== this.dataConfig.indicatorDimensionKey\n ) {\n colKey.push(record[colAttr]);\n }\n }\n\n this.dataConfig.indicators.forEach((indicatorKey: string | number) => {\n const recordValue: string | number = record[indicatorKey];\n // const indicatorName = this.dataConfig.indicators[indicatorKey];\n if (recordValue !== undefined) {\n if (this.dataConfig.indicatorsAsCol) {\n colKey.push(indicatorKey);\n } else {\n rowKey.push(indicatorKey);\n }\n }\n\n // record[indicatorKey] && (recordValue = record[indicatorKey]);\n\n // this.allTotal.push(record);\n\n const flatRowKey = rowKey.join(this.stringJoinChar);\n const flatColKey = colKey.join(this.stringJoinChar);\n\n if (rowKey.length !== 0) {\n if (!this.rowFlatKeys[flatRowKey]) {\n this.rowFlatKeys[flatRowKey] = 1;\n }\n }\n if (colKey.length !== 0) {\n if (!this.colFlatKeys[flatColKey]) {\n this.colFlatKeys[flatColKey] = 1;\n }\n }\n\n if (colKey.length !== 0 || rowKey.length !== 0) {\n if (!this.tree[flatRowKey]) {\n this.tree[flatRowKey] = {};\n }\n if (recordValue !== undefined) {\n this.tree[flatRowKey][flatColKey] = { value: recordValue, record };\n if (this.dataConfig.indicatorsAsCol) {\n colKey.pop();\n } else {\n rowKey.pop();\n }\n }\n }\n });\n }\n\n getTreeNode(rowKey: string[] | string = [], colKey: string[] | string = [], indicator: string): Record<string, any> {\n let flatRowKey;\n let flatColKey;\n if (typeof rowKey === 'string') {\n flatRowKey = rowKey;\n } else {\n //考虑 指标key有可能在数组中间位置或者前面的可能 将其删除再添加到尾部\n let isHasIndicator = false;\n rowKey.map((key, i) => {\n if (key === indicator) {\n rowKey.splice(i, 1);\n isHasIndicator = true;\n }\n });\n isHasIndicator && rowKey.push(indicator);\n flatRowKey = rowKey.join(this.stringJoinChar);\n }\n\n if (typeof colKey === 'string') {\n flatColKey = colKey;\n } else {\n //考虑 指标key有可能在数组中间位置或者前面的可能 将其删除再添加到尾部\n let isHasIndicator = false;\n colKey.map((key, i) => {\n if (key === indicator) {\n colKey.splice(i, 1);\n isHasIndicator = true;\n }\n });\n isHasIndicator && colKey.push(indicator);\n flatColKey = colKey.join(this.stringJoinChar);\n }\n\n return this.tree?.[flatRowKey]?.[flatColKey] ?? undefined;\n }\n}\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { AnyFunction, EventListenerId } from '../ts-types';
|
|
2
|
+
import type { EventTarget as CustomEventTarget } from './EventTarget';
|
|
3
|
+
type EventHandlerTarget = EventTarget | CustomEventTarget;
|
|
4
|
+
type Listener = AnyFunction;
|
|
5
|
+
export type ResizeObserverCallBack = ({ width, height }: {
|
|
6
|
+
width: number;
|
|
7
|
+
height: number;
|
|
8
|
+
}) => void;
|
|
9
|
+
export declare class ResizeObserver {
|
|
10
|
+
resizeTime: number;
|
|
11
|
+
element: HTMLElement;
|
|
12
|
+
cb: ResizeObserverCallBack;
|
|
13
|
+
observer?: MutationObserver;
|
|
14
|
+
lastSize: {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
};
|
|
18
|
+
callBackDebounce: () => void;
|
|
19
|
+
constructor(element: HTMLElement, cb: ResizeObserverCallBack, resizeTime?: number);
|
|
20
|
+
mutationResize: () => void;
|
|
21
|
+
disConnect(): void;
|
|
22
|
+
callBack: () => void;
|
|
23
|
+
setSize(size: {
|
|
24
|
+
width: number;
|
|
25
|
+
height: number;
|
|
26
|
+
}): void;
|
|
27
|
+
private onResize;
|
|
28
|
+
private checkSize;
|
|
29
|
+
getSize(): {
|
|
30
|
+
width: number;
|
|
31
|
+
height: number;
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export declare class EventHandler {
|
|
35
|
+
private listeners;
|
|
36
|
+
private reseizeListeners;
|
|
37
|
+
on(target: HTMLElement | Window | EventHandlerTarget, type: string, listener: Listener, ...options: any[]): EventListenerId;
|
|
38
|
+
once(target: EventHandlerTarget, type: string, listener: Listener, ...options: (boolean | AddEventListenerOptions)[]): EventListenerId;
|
|
39
|
+
off(id: EventListenerId | null | undefined): void;
|
|
40
|
+
fire(target: EventTarget, type: string, ...args: any[]): void;
|
|
41
|
+
hasListener(target: EventTarget, type: string): boolean;
|
|
42
|
+
clear(): void;
|
|
43
|
+
dispose(): void;
|
|
44
|
+
}
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { debounce } from "../tools/debounce";
|
|
2
|
+
|
|
3
|
+
import { Env } from "../tools/env";
|
|
4
|
+
|
|
5
|
+
let idCount = 1;
|
|
6
|
+
|
|
7
|
+
export class ResizeObserver {
|
|
8
|
+
constructor(element, cb, resizeTime) {
|
|
9
|
+
var _a;
|
|
10
|
+
if (this.resizeTime = 100, this.lastSize = {
|
|
11
|
+
width: 0,
|
|
12
|
+
height: 0
|
|
13
|
+
}, this.mutationResize = () => {
|
|
14
|
+
this.onResize();
|
|
15
|
+
}, this.callBack = () => {
|
|
16
|
+
const newSize = this.getSize();
|
|
17
|
+
newSize.width === this.lastSize.width && newSize.height === this.lastSize.height || (this.lastSize = newSize,
|
|
18
|
+
this.cb && this.cb(Object.assign({}, this.lastSize)));
|
|
19
|
+
}, this.onResize = () => {
|
|
20
|
+
this.checkSize() && this.callBackDebounce();
|
|
21
|
+
}, this.element = element, this.cb = cb, this.lastSize = this.getSize(), resizeTime && (this.resizeTime = Math.max(resizeTime, 16)),
|
|
22
|
+
this.callBackDebounce = debounce(this.callBack, this.resizeTime), null === window || void 0 === window || window.addEventListener("resize", this.onResize),
|
|
23
|
+
"ResizeObserver" in window) {
|
|
24
|
+
const ResizeObserverWindow = window.ResizeObserver;
|
|
25
|
+
this.observer = new ResizeObserverWindow(this.mutationResize), null === (_a = this.observer) || void 0 === _a || _a.observe(this.element);
|
|
26
|
+
} else "MutationObserver" in window && (this.observer = new MutationObserver(this.mutationResize),
|
|
27
|
+
this.observer.observe(this.element, {
|
|
28
|
+
attributes: !0,
|
|
29
|
+
attributeFilter: [ "style" ]
|
|
30
|
+
}));
|
|
31
|
+
}
|
|
32
|
+
disConnect() {
|
|
33
|
+
window.removeEventListener("resize", this.onResize), this.observer && (this.observer.disconnect(),
|
|
34
|
+
this.observer = void 0);
|
|
35
|
+
}
|
|
36
|
+
setSize(size) {
|
|
37
|
+
this.lastSize = size;
|
|
38
|
+
}
|
|
39
|
+
checkSize() {
|
|
40
|
+
const newSize = this.getSize();
|
|
41
|
+
return newSize.width !== this.lastSize.width || newSize.height !== this.lastSize.height;
|
|
42
|
+
}
|
|
43
|
+
getSize() {
|
|
44
|
+
return this.element ? {
|
|
45
|
+
width: Math.floor(this.element.clientWidth),
|
|
46
|
+
height: Math.floor(this.element.clientHeight)
|
|
47
|
+
} : Object.assign({}, this.lastSize);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export class EventHandler {
|
|
52
|
+
constructor() {
|
|
53
|
+
this.listeners = {}, this.reseizeListeners = {};
|
|
54
|
+
}
|
|
55
|
+
on(target, type, listener, ...options) {
|
|
56
|
+
if ("node" === Env.mode) return -1;
|
|
57
|
+
const id = idCount++;
|
|
58
|
+
if (null == target ? void 0 : target.addEventListener) if ("resize" !== type || target === window) null == target || target.addEventListener(type, listener, ...options); else {
|
|
59
|
+
const resizeObserver = new ResizeObserver(target, listener);
|
|
60
|
+
this.reseizeListeners[id] = resizeObserver;
|
|
61
|
+
}
|
|
62
|
+
const obj = {
|
|
63
|
+
target: target,
|
|
64
|
+
type: type,
|
|
65
|
+
listener: listener,
|
|
66
|
+
options: options
|
|
67
|
+
};
|
|
68
|
+
return this.listeners[id] = obj, id;
|
|
69
|
+
}
|
|
70
|
+
once(target, type, listener, ...options) {
|
|
71
|
+
if ("node" === Env.mode) return -1;
|
|
72
|
+
const id = this.on(target, type, ((...args) => {
|
|
73
|
+
this.off(id), listener(...args);
|
|
74
|
+
}), ...options);
|
|
75
|
+
return id;
|
|
76
|
+
}
|
|
77
|
+
off(id) {
|
|
78
|
+
if ("node" === Env.mode) return;
|
|
79
|
+
if (null == id) return;
|
|
80
|
+
const obj = this.listeners[id];
|
|
81
|
+
obj && (delete this.listeners[id], obj.target.removeEventListener && obj.target.removeEventListener(obj.type, obj.listener, ...obj.options));
|
|
82
|
+
}
|
|
83
|
+
fire(target, type, ...args) {
|
|
84
|
+
if ("node" !== Env.mode) for (const key in this.listeners) {
|
|
85
|
+
const listener = this.listeners[key];
|
|
86
|
+
listener.target === target && listener.type === type && listener.listener.call(listener.target, ...args);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
hasListener(target, type) {
|
|
90
|
+
if ("node" === Env.mode) return !1;
|
|
91
|
+
let result = !1;
|
|
92
|
+
for (const key in this.listeners) {
|
|
93
|
+
const listener = this.listeners[key];
|
|
94
|
+
listener.target === target && listener.type === type && (result = !0);
|
|
95
|
+
}
|
|
96
|
+
return result;
|
|
97
|
+
}
|
|
98
|
+
clear() {
|
|
99
|
+
if ("node" !== Env.mode) {
|
|
100
|
+
for (const key in this.listeners) {
|
|
101
|
+
const listener = this.listeners[key];
|
|
102
|
+
listener.target.removeEventListener && listener.target.removeEventListener(listener.type, listener.listener, ...listener.options);
|
|
103
|
+
}
|
|
104
|
+
this.listeners = {};
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
dispose() {
|
|
108
|
+
"node" !== Env.mode && (this.clear(), this.listeners = null);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=EventHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["event/EventHandler.ts"],"names":[],"mappings":"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","file":"EventHandler.js","sourcesContent":["import type { AnyFunction, EventListenerId } from '../ts-types';\nimport type { EventTarget as CustomEventTarget } from './EventTarget';\nimport { debounce } from '../tools/debounce';\nimport { Env } from '../tools/env';\n\nlet idCount = 1;\ntype EventHandlerTarget = EventTarget | CustomEventTarget;\ntype Listener = AnyFunction;\ntype EventListenerObject = {\n target: EventHandlerTarget;\n type: string;\n listener: Listener;\n options: any[];\n};\n\nexport type ResizeObserverCallBack = ({ width, height }: { width: number; height: number }) => void;\n\nexport class ResizeObserver {\n resizeTime = 100;\n element: HTMLElement;\n cb: ResizeObserverCallBack;\n observer?: MutationObserver;\n lastSize: {\n width: number;\n height: number;\n } = {\n width: 0,\n height: 0\n };\n callBackDebounce: () => void;\n\n constructor(element: HTMLElement, cb: ResizeObserverCallBack, resizeTime?: number) {\n this.element = element;\n this.cb = cb;\n this.lastSize = this.getSize();\n if (resizeTime) {\n this.resizeTime = Math.max(resizeTime, 16);\n }\n\n this.callBackDebounce = debounce(this.callBack, this.resizeTime);\n //TODO: 这个地方的 addEventListener resize 应该更改到下面的else逻辑中,兼容ResizeObserver不存在的情况\n window?.addEventListener('resize', this.onResize);\n // 优先使用 ResizeObserver\n if ('ResizeObserver' in window) {\n // @ts-ignore\n const ResizeObserverWindow: any = window.ResizeObserver;\n this.observer = new ResizeObserverWindow(this.mutationResize);\n this.observer?.observe(this.element);\n } else if ('MutationObserver' in window) {\n this.observer = new MutationObserver(this.mutationResize);\n this.observer.observe(this.element, {\n attributes: true,\n attributeFilter: ['style']\n });\n }\n }\n\n mutationResize = () => {\n this.onResize();\n };\n\n disConnect() {\n window.removeEventListener('resize', this.onResize);\n if (this.observer) {\n this.observer.disconnect();\n this.observer = undefined;\n }\n }\n\n callBack = () => {\n const newSize = this.getSize();\n if (newSize.width === this.lastSize.width && newSize.height === this.lastSize.height) {\n return;\n }\n this.lastSize = newSize;\n this.cb && this.cb({ ...this.lastSize });\n };\n\n setSize(size: { width: number; height: number }) {\n this.lastSize = size;\n }\n\n private onResize = () => {\n if (this.checkSize()) {\n this.callBackDebounce();\n }\n };\n\n private checkSize() {\n const newSize = this.getSize();\n if (newSize.width === this.lastSize.width && newSize.height === this.lastSize.height) {\n return false;\n }\n return true;\n }\n\n getSize() {\n if (!this.element) {\n return {\n ...this.lastSize\n };\n }\n return {\n width: Math.floor(this.element.clientWidth),\n height: Math.floor(this.element.clientHeight)\n };\n }\n}\n\nexport class EventHandler {\n private listeners: {\n [key: string]: EventListenerObject;\n } = {};\n\n private reseizeListeners: {\n [key: string]: ResizeObserver;\n } = {};\n\n on(\n target: HTMLElement | Window | EventHandlerTarget,\n type: string,\n listener: Listener,\n ...options: any[]\n ): EventListenerId {\n if (Env.mode === 'node') {\n return -1;\n }\n const id = idCount++;\n if (target?.addEventListener) {\n if (type !== 'resize' || (target as Window) === window) {\n (target as EventHandlerTarget)?.addEventListener(type, listener, ...(options as []));\n } else {\n const resizeObserver = new ResizeObserver(target as HTMLElement, listener);\n this.reseizeListeners[id] = resizeObserver;\n }\n }\n const obj = { target, type, listener, options };\n this.listeners[id] = obj;\n return id;\n }\n once(\n target: EventHandlerTarget,\n type: string,\n listener: Listener,\n ...options: (boolean | AddEventListenerOptions)[]\n ): EventListenerId {\n if (Env.mode === 'node') {\n return -1;\n }\n const id = this.on(\n target,\n type,\n (...args) => {\n this.off(id);\n listener(...args);\n },\n ...options\n );\n return id;\n }\n off(id: EventListenerId | null | undefined): void {\n if (Env.mode === 'node') {\n return;\n }\n if (id == null) {\n return;\n }\n const obj = this.listeners[id];\n if (!obj) {\n return;\n }\n delete this.listeners[id];\n if (obj.target.removeEventListener) {\n obj.target.removeEventListener(obj.type, obj.listener, ...(obj.options as []));\n }\n }\n fire(target: EventTarget, type: string, ...args: any[]): void {\n if (Env.mode === 'node') {\n return;\n }\n for (const key in this.listeners) {\n const listener = this.listeners[key];\n if (listener.target === target && listener.type === type) {\n listener.listener.call(listener.target, ...args);\n }\n }\n }\n hasListener(target: EventTarget, type: string): boolean {\n if (Env.mode === 'node') {\n return false;\n }\n let result = false;\n for (const key in this.listeners) {\n const listener = this.listeners[key];\n if (listener.target === target && listener.type === type) {\n result = true;\n }\n }\n\n return result;\n }\n clear(): void {\n if (Env.mode === 'node') {\n return;\n }\n for (const key in this.listeners) {\n const listener = this.listeners[key];\n if (listener.target.removeEventListener) {\n listener.target.removeEventListener(listener.type, listener.listener, ...(listener.options as []));\n }\n }\n\n this.listeners = {};\n }\n dispose(): void {\n if (Env.mode === 'node') {\n return;\n }\n this.clear();\n (this as any).listeners = null;\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { AnyListener, EventListenerId } from '../ts-types';
|
|
2
|
+
export declare class EventTarget {
|
|
3
|
+
private listenersData;
|
|
4
|
+
listen(type: string, listener: AnyListener): EventListenerId;
|
|
5
|
+
unlisten(id: EventListenerId): void;
|
|
6
|
+
addEventListener(type: string, listener: AnyListener, option?: any): void;
|
|
7
|
+
removeEventListener(type: string, listener: AnyListener): void;
|
|
8
|
+
hasListeners(type: string): boolean;
|
|
9
|
+
fireListeners(type: string, ...args: any[]): any;
|
|
10
|
+
dispose(): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { isValid } from "../tools/util";
|
|
2
|
+
|
|
3
|
+
let idCount = 1;
|
|
4
|
+
|
|
5
|
+
export class EventTarget {
|
|
6
|
+
constructor() {
|
|
7
|
+
this.listenersData = {
|
|
8
|
+
listeners: {},
|
|
9
|
+
listenerData: {}
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
listen(type, listener) {
|
|
13
|
+
const list = this.listenersData.listeners[type] || (this.listenersData.listeners[type] = []);
|
|
14
|
+
list.push(listener);
|
|
15
|
+
const id = idCount++;
|
|
16
|
+
return this.listenersData.listenerData[id] = {
|
|
17
|
+
type: type,
|
|
18
|
+
listener: listener,
|
|
19
|
+
remove: () => {
|
|
20
|
+
delete this.listenersData.listenerData[id];
|
|
21
|
+
const index = list.indexOf(listener);
|
|
22
|
+
list.splice(index, 1), this.listenersData.listeners[type].length || delete this.listenersData.listeners[type];
|
|
23
|
+
}
|
|
24
|
+
}, id;
|
|
25
|
+
}
|
|
26
|
+
unlisten(id) {
|
|
27
|
+
this.listenersData && this.listenersData.listenerData[id].remove();
|
|
28
|
+
}
|
|
29
|
+
addEventListener(type, listener, option) {
|
|
30
|
+
this.listen(type, listener);
|
|
31
|
+
}
|
|
32
|
+
removeEventListener(type, listener) {
|
|
33
|
+
if (this.listenersData) for (const key in this.listenersData.listenerData) {
|
|
34
|
+
const listenerData = this.listenersData.listenerData[key];
|
|
35
|
+
listenerData.type === type && listenerData.listener === listener && this.unlisten(key);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
hasListeners(type) {
|
|
39
|
+
return !!this.listenersData && !!this.listenersData.listeners[type];
|
|
40
|
+
}
|
|
41
|
+
fireListeners(type, ...args) {
|
|
42
|
+
if (!this.listenersData) return [];
|
|
43
|
+
const list = this.listenersData.listeners[type];
|
|
44
|
+
return list ? list.map((listener => listener.call(this, ...args))).filter((r => isValid(r))) : [];
|
|
45
|
+
}
|
|
46
|
+
dispose() {
|
|
47
|
+
delete this.listenersData;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=EventTarget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["event/EventTarget.ts"],"names":[],"mappings":"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","file":"EventTarget.js","sourcesContent":["/* Adapted from cheetah-grid by yosuke ota\n *url:https://github.com/future-architect/cheetah-grid/blob/master/packages/cheetah-grid/src/js/core/EventTarget.ts\n *License: https://github.com/future-architect/cheetah-grid/blob/master/LICENSE\n * @license\n */\nimport type { AnyListener, EventListenerId } from '../ts-types';\nimport { isValid } from '../tools/util';\n\nlet idCount = 1;\n\nexport class EventTarget {\n private listenersData: {\n listeners: { [type: string]: AnyListener[] };\n listenerData: {\n [id: number]: {\n type: string;\n listener: AnyListener;\n remove: () => void;\n };\n };\n } = {\n listeners: {},\n listenerData: {}\n };\n\n /**\n * 监听事件\n * @param type 事件类型\n * @param listener 事件监听器\n * @returns 事件监听器id\n */\n listen(type: string, listener: AnyListener): EventListenerId {\n const list = this.listenersData.listeners[type] || (this.listenersData.listeners[type] = []);\n list.push(listener);\n\n const id = idCount++;\n this.listenersData.listenerData[id] = {\n type,\n listener,\n remove: (): void => {\n delete this.listenersData.listenerData[id];\n const index = list.indexOf(listener);\n list.splice(index, 1);\n if (!this.listenersData.listeners[type].length) {\n delete this.listenersData.listeners[type];\n }\n }\n };\n return id;\n }\n\n unlisten(id: EventListenerId): void {\n if (!this.listenersData) {\n return;\n }\n this.listenersData.listenerData[id].remove();\n }\n\n addEventListener(type: string, listener: AnyListener, option?: any): void {\n this.listen(type, listener);\n }\n\n removeEventListener(type: string, listener: AnyListener): void {\n if (!this.listenersData) {\n return;\n }\n for (const key in this.listenersData.listenerData) {\n const listenerData = this.listenersData.listenerData[key];\n if (listenerData.type === type && listenerData.listener === listener) {\n this.unlisten(key as unknown as number);\n }\n }\n }\n\n hasListeners(type: string): boolean {\n if (!this.listenersData) {\n return false;\n }\n return !!this.listenersData.listeners[type];\n }\n\n fireListeners(type: string, ...args: any[]): any {\n if (!this.listenersData) {\n return [];\n }\n const list = this.listenersData.listeners[type];\n if (!list) {\n return [];\n }\n return list.map(listener => listener.call(this, ...args)).filter(r => isValid(r));\n }\n\n dispose(): void {\n delete this.listenersData;\n }\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { TABLE_EVENT_TYPE } from "../core/TABLE_EVENT_TYPE";
|
|
2
|
+
|
|
3
|
+
export function bindChartHoverEvent(table) {
|
|
4
|
+
let hasSparkLine = !1;
|
|
5
|
+
if (table.isPivotTable()) {
|
|
6
|
+
hasSparkLine = table.internalProps.layoutMap.indicatorsDefine.some((indicator => "string" != typeof indicator && "sparkline" === indicator.columnType));
|
|
7
|
+
} else {
|
|
8
|
+
hasSparkLine = table.internalProps.layoutMap.columnObjects.some((column => "sparkline" === column.columnType));
|
|
9
|
+
}
|
|
10
|
+
hasSparkLine && table.listen(TABLE_EVENT_TYPE.MOUSEMOVE_CELL, (e => {
|
|
11
|
+
const {col: col, row: row, x: x, y: y} = e;
|
|
12
|
+
"sparkline" !== table.getBodyColumnType(col, row) && table.stateManeger.updateChartHoverPose(-1, -1, 0, 0),
|
|
13
|
+
table.stateManeger.updateChartHoverPose(col, row, x, y);
|
|
14
|
+
}));
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=chart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["event/chart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAM5D,MAAM,UAAU,mBAAmB,CAAC,KAAmB;IAErD,IAAI,YAAY,GAAG,KAAK,CAAC;IACzB,IAAI,KAAK,CAAC,YAAY,EAAE,EAAE;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAA0B,CAAC;QACjE,YAAY,GAAG,SAAS,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACzD,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,CAAC,UAAU,KAAK,WAAW,CAAC;QAC/E,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,SAAkC,CAAC;QACzE,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YACnD,OAAO,MAAM,CAAC,UAAU,KAAK,WAAW,CAAC;QAC3C,CAAC,CAAC,CAAC;KACJ;IAED,IAAI,CAAC,YAAY,EAAE;QACjB,OAAO;KACR;IAED,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,CAAC,CAAwB,EAAE,EAAE;QACzE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC/C,IAAI,IAAI,KAAK,WAAW,EAAE;YACxB,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACvD;QACD,KAAK,CAAC,YAAY,CAAC,oBAAoB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;AACL,CAAC","file":"chart.js","sourcesContent":["import { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport type { SimpleHeaderLayoutMap } from '../layout';\nimport type { PivoLayoutMap } from '../layout/pivot-layout';\nimport type { MousePointerCellEvent } from '../ts-types';\nimport type { BaseTableAPI } from '../ts-types/base-table';\n\nexport function bindChartHoverEvent(table: BaseTableAPI) {\n // 判断是否有sparkline 类型\n let hasSparkLine = false;\n if (table.isPivotTable()) {\n const layoutMap = table.internalProps.layoutMap as PivoLayoutMap;\n hasSparkLine = layoutMap.indicatorsDefine.some(indicator => {\n return typeof indicator !== 'string' && indicator.columnType === 'sparkline';\n });\n } else {\n const layoutMap = table.internalProps.layoutMap as SimpleHeaderLayoutMap;\n hasSparkLine = layoutMap.columnObjects.some(column => {\n return column.columnType === 'sparkline';\n });\n }\n\n if (!hasSparkLine) {\n return;\n }\n\n table.listen(TABLE_EVENT_TYPE.MOUSEMOVE_CELL, (e: MousePointerCellEvent) => {\n const { col, row, x, y } = e;\n const type = table.getBodyColumnType(col, row);\n if (type !== 'sparkline') {\n table.stateManeger.updateChartHoverPose(-1, -1, 0, 0);\n }\n table.stateManeger.updateChartHoverPose(col, row, x, y);\n });\n}\n"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { TABLE_EVENT_TYPE } from "../core/TABLE_EVENT_TYPE";
|
|
2
|
+
|
|
3
|
+
import { PIVOT_TABLE_EVENT_TYPE } from "../ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE";
|
|
4
|
+
|
|
5
|
+
export function bindDrillEvent(table) {
|
|
6
|
+
table.listen(TABLE_EVENT_TYPE.MOUSEENTER_CELL, (e => {
|
|
7
|
+
const {col: col, row: row} = e;
|
|
8
|
+
if (-1 === col || -1 === row) return;
|
|
9
|
+
const dimension = table.internalProps.layoutMap.getHeaderDimension(col, row);
|
|
10
|
+
(null == dimension ? void 0 : dimension.drillDown) || (null == dimension ? void 0 : dimension.drillUp) ? table.stateManeger.updateDrillState(dimension.dimensionKey, dimension.dimensionTitle, dimension.drillDown, dimension.drillUp, col, row) : table.stateManeger.updateDrillState(void 0, void 0, !1, !1, -1, -1);
|
|
11
|
+
}));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export function drillClick(table) {
|
|
15
|
+
table.fireListeners(PIVOT_TABLE_EVENT_TYPE.DRILLMENU_CLICK, table.stateManeger.drill);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=drill.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["event/drill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAI5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,gDAAgD,CAAC;AAExF,MAAM,UAAU,cAAc,CAAC,KAAmB;IAChD,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,eAAe,EAAE,CAAC,CAAwB,EAAE,EAAE;QAK1E,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;YAC5B,OAAO;SACR;QACD,MAAM,SAAS,GAAI,KAAK,CAAC,aAAa,CAAC,SAAkC,CAAC,kBAAkB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvG,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,MAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,OAAO,CAAA,EAAE;YAC9C,KAAK,CAAC,YAAY,CAAC,gBAAgB,CACjC,SAAS,CAAC,YAAY,EACtB,SAAS,CAAC,cAAc,EACxB,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,OAAO,EACjB,GAAG,EACH,GAAG,CACJ,CAAC;SACH;aAAM;YACL,KAAK,CAAC,YAAY,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACjF;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAmB;IAC5C,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,eAAe,EAAE,KAAK,CAAC,YAAY,CAAC,KAA2B,CAAC,CAAC;AAC9G,CAAC","file":"drill.js","sourcesContent":["import { TABLE_EVENT_TYPE } from '../core/TABLE_EVENT_TYPE';\nimport type { PivotHeaderLayoutMap } from '../layout/pivot-header-layout';\nimport type { DrillMenuEventInfo, MousePointerCellEvent } from '../ts-types';\nimport type { BaseTableAPI } from '../ts-types/base-table';\nimport { PIVOT_TABLE_EVENT_TYPE } from '../ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE';\n\nexport function bindDrillEvent(table: BaseTableAPI) {\n table.listen(TABLE_EVENT_TYPE.MOUSEENTER_CELL, (e: MousePointerCellEvent) => {\n //是否需要显示出上钻下钻按钮\n // if (!table.isPivotTable()) {\n // return;\n // }\n const { col, row } = e;\n if (col === -1 || row === -1) {\n return;\n }\n const dimension = (table.internalProps.layoutMap as PivotHeaderLayoutMap).getHeaderDimension(col, row);\n if (dimension?.drillDown || dimension?.drillUp) {\n table.stateManeger.updateDrillState(\n dimension.dimensionKey,\n dimension.dimensionTitle,\n dimension.drillDown,\n dimension.drillUp,\n col,\n row\n );\n } else {\n table.stateManeger.updateDrillState(undefined, undefined, false, false, -1, -1);\n }\n });\n}\n\nexport function drillClick(table: BaseTableAPI) {\n table.fireListeners(PIVOT_TABLE_EVENT_TYPE.DRILLMENU_CLICK, table.stateManeger.drill as DrillMenuEventInfo);\n}\n"]}
|