@visactor/vtable 0.18.0-alpha.0 → 0.18.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/ListTable.d.ts +3 -0
- package/cjs/ListTable.js +74 -16
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.d.ts +2 -4
- package/cjs/PivotChart.js +42 -17
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/PivotTable.d.ts +5 -0
- package/cjs/PivotTable.js +109 -14
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/body-helper/body-helper.js +2 -1
- package/cjs/body-helper/body-helper.js.map +1 -1
- package/cjs/components/axis/axis.js +4 -1
- package/cjs/components/axis/axis.js.map +1 -1
- package/cjs/components/axis/get-axis-attributes.d.ts +1 -0
- package/cjs/components/axis/get-axis-attributes.js +2 -1
- package/cjs/components/axis/get-axis-attributes.js.map +1 -1
- package/cjs/components/axis/label-overlap.js.map +1 -1
- package/cjs/components/axis/linear-scale.js +1 -0
- package/cjs/components/axis/linear-scale.js.map +1 -1
- package/cjs/components/tooltip/TooltipHandler.js +2 -5
- package/cjs/components/tooltip/TooltipHandler.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +24 -4
- package/cjs/core/BaseTable.js +83 -52
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/style.js +1 -2
- package/cjs/core/tableHelper.d.ts +3 -2
- package/cjs/core/tableHelper.js +20 -7
- package/cjs/core/tableHelper.js.map +1 -1
- package/cjs/dataset/dataset.js +8 -13
- package/cjs/dataset/dataset.js.map +1 -1
- package/cjs/edit/edit-manager.d.ts +1 -1
- package/cjs/edit/edit-manager.js +9 -12
- package/cjs/edit/edit-manager.js.map +1 -1
- package/cjs/event/EventHandler.d.ts +1 -0
- package/cjs/event/EventHandler.js +1 -1
- package/cjs/event/EventHandler.js.map +1 -1
- package/cjs/event/event.d.ts +12 -1
- package/cjs/event/event.js +8 -3
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/listener/container-dom.js +51 -8
- package/cjs/event/listener/container-dom.js.map +1 -1
- package/cjs/event/listener/scroll-bar.js +24 -8
- package/cjs/event/listener/scroll-bar.js.map +1 -1
- package/cjs/event/listener/table-group.js +50 -42
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/event/listener/touch.js.map +1 -1
- package/cjs/event/media-click.js +5 -2
- package/cjs/event/media-click.js.map +1 -1
- package/cjs/event/pivot-chart/axis-click.js.map +1 -1
- package/cjs/event/scroll.js +1 -0
- package/cjs/event/util.d.ts +1 -1
- package/cjs/event/util.js.map +1 -1
- package/cjs/index.d.ts +5 -2
- package/cjs/index.js +29 -2
- package/cjs/index.js.map +1 -1
- package/cjs/layout/chart-helper/get-chart-spec.d.ts +1 -0
- package/cjs/layout/chart-helper/get-chart-spec.js +13 -2
- package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/cjs/layout/pivot-header-layout.d.ts +5 -4
- package/cjs/layout/pivot-header-layout.js +20 -16
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/pivot-layout-helper.d.ts +1 -0
- package/cjs/layout/pivot-layout-helper.js +16 -6
- package/cjs/layout/pivot-layout-helper.js.map +1 -1
- package/cjs/layout/simple-header-layout.d.ts +6 -4
- package/cjs/layout/simple-header-layout.js +44 -13
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/render/jsx/index.d.ts +2 -3
- package/cjs/render/jsx/index.js +1 -1
- package/cjs/render/jsx/index.js.map +1 -1
- package/cjs/render/layout/arc.d.ts +2 -2
- package/cjs/render/layout/arc.js +1 -1
- package/cjs/render/layout/arc.js.map +1 -1
- package/cjs/render/layout/circle.d.ts +2 -2
- package/cjs/render/layout/circle.js +1 -1
- package/cjs/render/layout/circle.js.map +1 -1
- package/cjs/render/layout/container.d.ts +2 -2
- package/cjs/render/layout/container.js +1 -1
- package/cjs/render/layout/container.js.map +1 -1
- package/cjs/render/layout/group.d.ts +2 -2
- package/cjs/render/layout/group.js +1 -1
- package/cjs/render/layout/group.js.map +1 -1
- package/cjs/render/layout/icon.d.ts +2 -2
- package/cjs/render/layout/icon.js +1 -1
- package/cjs/render/layout/icon.js.map +1 -1
- package/cjs/render/layout/image.d.ts +2 -2
- package/cjs/render/layout/image.js +1 -1
- package/cjs/render/layout/image.js.map +1 -1
- package/cjs/render/layout/rect.d.ts +2 -2
- package/cjs/render/layout/rect.js +1 -1
- package/cjs/render/layout/rect.js.map +1 -1
- package/cjs/render/layout/text.d.ts +3 -3
- package/cjs/render/layout/text.js +2 -2
- package/cjs/render/layout/text.js.map +1 -1
- package/cjs/scenegraph/component/cell-content.d.ts +4 -4
- package/cjs/scenegraph/component/cell-content.js +7 -6
- package/cjs/scenegraph/component/cell-content.js.map +1 -1
- package/cjs/scenegraph/component/cell-mover.d.ts +1 -1
- package/cjs/scenegraph/component/cell-mover.js +1 -1
- package/cjs/scenegraph/component/cell-mover.js.map +1 -1
- package/cjs/scenegraph/component/custom.d.ts +1 -1
- package/cjs/scenegraph/component/custom.js +34 -17
- package/cjs/scenegraph/component/custom.js.map +1 -1
- package/cjs/scenegraph/component/drill-icon.js.map +1 -1
- package/cjs/scenegraph/component/menu.d.ts +1 -1
- package/cjs/scenegraph/component/menu.js +1 -1
- package/cjs/scenegraph/component/menu.js.map +1 -1
- package/cjs/scenegraph/component/table-component.d.ts +1 -1
- package/cjs/scenegraph/component/table-component.js +13 -12
- package/cjs/scenegraph/component/table-component.js.map +1 -1
- package/cjs/scenegraph/debug-tool/debug-tool.d.ts +1 -1
- package/cjs/scenegraph/debug-tool/debug-tool.js +1 -1
- package/cjs/scenegraph/debug-tool/debug-tool.js.map +1 -1
- package/cjs/scenegraph/debug-tool/index.d.ts +1 -1
- package/cjs/scenegraph/debug-tool/index.js.map +1 -1
- package/cjs/scenegraph/graphic/chart.d.ts +2 -2
- package/cjs/scenegraph/graphic/chart.js +12 -5
- package/cjs/scenegraph/graphic/chart.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +5 -5
- package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/chart-render.d.ts +1 -1
- package/cjs/scenegraph/graphic/contributions/chart-render.js +1 -1
- package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.d.ts +18 -3
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js +62 -6
- package/cjs/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/image-contribution-render.d.ts +2 -2
- package/cjs/scenegraph/graphic/contributions/image-contribution-render.js +1 -1
- package/cjs/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/index.d.ts +1 -1
- package/cjs/scenegraph/graphic/contributions/index.js +6 -2
- package/cjs/scenegraph/graphic/contributions/index.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/rect-contribution-render.d.ts +2 -2
- package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js +2 -2
- package/cjs/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
- package/cjs/scenegraph/graphic/group.d.ts +4 -2
- package/cjs/scenegraph/graphic/group.js +4 -2
- package/cjs/scenegraph/graphic/group.js.map +1 -1
- package/cjs/scenegraph/graphic/icon.d.ts +2 -2
- package/cjs/scenegraph/graphic/icon.js +1 -1
- package/cjs/scenegraph/graphic/icon.js.map +1 -1
- package/cjs/scenegraph/graphic/text.d.ts +2 -2
- package/cjs/scenegraph/graphic/text.js +2 -2
- package/cjs/scenegraph/graphic/text.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.d.ts +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +16 -11
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.js +2 -1
- package/cjs/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.d.ts +1 -1
- package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js +5 -3
- package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js +44 -19
- package/cjs/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js +1 -1
- package/cjs/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +1 -1
- package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js +3 -2
- package/cjs/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js +3 -2
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
- package/cjs/scenegraph/group-creater/cell-type/video-cell.js +3 -2
- package/cjs/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/column-helper.d.ts +5 -2
- package/cjs/scenegraph/group-creater/column-helper.js +8 -3
- package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/init-scenegraph.js +11 -11
- package/cjs/scenegraph/group-creater/init-scenegraph.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +4 -3
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/proxy.js +7 -6
- package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -2
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +4 -3
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
- package/cjs/scenegraph/icon/icon-update.d.ts +2 -0
- package/cjs/scenegraph/icon/icon-update.js +19 -4
- package/cjs/scenegraph/icon/icon-update.js.map +1 -1
- package/cjs/scenegraph/layout/compute-col-width.js +12 -9
- package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
- package/cjs/scenegraph/layout/compute-row-height.js +24 -14
- package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
- package/cjs/scenegraph/layout/frozen.js +3 -1
- package/cjs/scenegraph/layout/frozen.js.map +1 -1
- package/cjs/scenegraph/layout/move-cell.js.map +1 -1
- package/cjs/scenegraph/layout/update-col.js +6 -5
- package/cjs/scenegraph/layout/update-col.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.d.ts +1 -1
- package/cjs/scenegraph/layout/update-height.js +7 -5
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-row.js +50 -14
- package/cjs/scenegraph/layout/update-row.js.map +1 -1
- package/cjs/scenegraph/layout/update-width.d.ts +1 -1
- package/cjs/scenegraph/layout/update-width.js +12 -11
- package/cjs/scenegraph/layout/update-width.js.map +1 -1
- package/cjs/scenegraph/refresh-node/update-chart.js +11 -1
- package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +7 -3
- package/cjs/scenegraph/scenegraph.js +54 -60
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/select/create-select-border.js +1 -1
- package/cjs/scenegraph/select/create-select-border.js.map +1 -1
- package/cjs/scenegraph/select/delete-select-border.js.map +1 -1
- package/cjs/scenegraph/select/update-select-border.js +34 -17
- package/cjs/scenegraph/select/update-select-border.js.map +1 -1
- package/cjs/scenegraph/stick-text/index.js +9 -4
- package/cjs/scenegraph/stick-text/index.js.map +1 -1
- package/cjs/scenegraph/style/corner-cell.js.map +1 -1
- package/cjs/scenegraph/style/frame-border.d.ts +3 -1
- package/cjs/scenegraph/style/frame-border.js +21 -3
- package/cjs/scenegraph/style/frame-border.js.map +1 -1
- package/cjs/scenegraph/utils/get-cell-merge.js +1 -1
- package/cjs/scenegraph/utils/get-cell-merge.js.map +1 -1
- package/cjs/scenegraph/utils/padding.js +1 -1
- package/cjs/scenegraph/utils/padding.js.map +1 -1
- package/cjs/scenegraph/utils/render-service.d.ts +1 -1
- package/cjs/scenegraph/utils/render-service.js +1 -1
- package/cjs/scenegraph/utils/render-service.js.map +1 -1
- package/cjs/scenegraph/utils/text-icon-layout.d.ts +1 -1
- package/cjs/scenegraph/utils/text-icon-layout.js +13 -10
- package/cjs/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/cjs/scenegraph/utils/text-measure.d.ts +2 -2
- package/cjs/scenegraph/utils/text-measure.js +1 -1
- package/cjs/scenegraph/utils/text-measure.js.map +1 -1
- package/cjs/scenegraph/utils/text-pos.d.ts +1 -1
- package/cjs/scenegraph/utils/text-pos.js.map +1 -1
- package/cjs/state/cell-move/adjust-header.js.map +1 -1
- package/cjs/state/cell-move/index.js +2 -1
- package/cjs/state/cell-move/index.js.map +1 -1
- package/cjs/state/select/update-position.js +60 -65
- package/cjs/state/select/update-position.js.map +1 -1
- package/cjs/state/spark-line/index.js +10 -6
- package/cjs/state/spark-line/index.js.map +1 -1
- package/cjs/state/state.d.ts +1 -1
- package/cjs/state/state.js +12 -16
- package/cjs/state/state.js.map +1 -1
- package/cjs/themes/ARCO.js +7 -2
- package/cjs/themes/ARCO.js.map +1 -1
- package/cjs/themes/BRIGHT.js +8 -1
- package/cjs/themes/BRIGHT.js.map +1 -1
- package/cjs/themes/DARK.js +7 -1
- package/cjs/themes/DARK.js.map +1 -1
- package/cjs/themes/DEFAULT.js +6 -0
- package/cjs/themes/DEFAULT.js.map +1 -1
- package/cjs/themes/SIMPLIFY.js +6 -0
- package/cjs/themes/SIMPLIFY.js.map +1 -1
- package/cjs/themes/component.d.ts +27 -0
- package/cjs/themes/component.js +29 -2
- package/cjs/themes/component.js.map +1 -1
- package/cjs/themes/theme.d.ts +2 -0
- package/cjs/themes/theme.js +29 -1
- package/cjs/themes/theme.js.map +1 -1
- package/cjs/tools/NumberMap.d.ts +4 -0
- package/cjs/tools/NumberMap.js +17 -1
- package/cjs/tools/NumberMap.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +10 -3
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/common.d.ts +1 -0
- package/cjs/ts-types/common.js.map +1 -1
- package/cjs/ts-types/component/title.d.ts +1 -1
- package/cjs/ts-types/component/title.js.map +1 -1
- package/cjs/ts-types/customElement.d.ts +1 -1
- package/cjs/ts-types/customElement.js.map +1 -1
- package/cjs/ts-types/customLayout.d.ts +1 -1
- package/cjs/ts-types/customLayout.js.map +1 -1
- package/cjs/ts-types/events.d.ts +3 -4
- package/cjs/ts-types/events.js.map +1 -1
- package/cjs/ts-types/list-table/define/basic-define.d.ts +5 -1
- package/cjs/ts-types/list-table/define/basic-define.js.map +1 -1
- package/cjs/ts-types/list-table/define/image-define.d.ts +2 -0
- package/cjs/ts-types/list-table/define/image-define.js.map +1 -1
- package/cjs/ts-types/list-table/define/multilinetext-define.d.ts +0 -1
- package/cjs/ts-types/list-table/define/multilinetext-define.js.map +1 -1
- package/cjs/ts-types/pivot-table/dimension/image-dimension.d.ts +1 -0
- package/cjs/ts-types/pivot-table/dimension/image-dimension.js.map +1 -1
- package/cjs/ts-types/pivot-table/indicator/image-indicator.d.ts +2 -0
- package/cjs/ts-types/pivot-table/indicator/image-indicator.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +17 -0
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/ts-types/theme.d.ts +7 -0
- package/cjs/ts-types/theme.js.map +1 -1
- package/cjs/vrender.d.ts +4 -0
- package/cjs/vrender.js +40 -0
- package/cjs/vrender.js.map +1 -0
- package/dist/vtable.js +28869 -46496
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.d.ts +3 -0
- package/es/ListTable.js +73 -16
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.d.ts +2 -4
- package/es/PivotChart.js +42 -17
- package/es/PivotChart.js.map +1 -1
- package/es/PivotTable.d.ts +5 -0
- package/es/PivotTable.js +109 -14
- package/es/PivotTable.js.map +1 -1
- package/es/body-helper/body-helper.js +2 -1
- package/es/body-helper/body-helper.js.map +1 -1
- package/es/components/axis/axis.js +4 -1
- package/es/components/axis/axis.js.map +1 -1
- package/es/components/axis/get-axis-attributes.d.ts +1 -0
- package/es/components/axis/get-axis-attributes.js +2 -1
- package/es/components/axis/get-axis-attributes.js.map +1 -1
- package/es/components/axis/label-overlap.js.map +1 -1
- package/es/components/axis/linear-scale.js +1 -0
- package/es/components/axis/linear-scale.js.map +1 -1
- package/es/components/tooltip/TooltipHandler.js +2 -5
- package/es/components/tooltip/TooltipHandler.js.map +1 -1
- package/es/core/BaseTable.d.ts +24 -4
- package/es/core/BaseTable.js +87 -55
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/style.js +1 -2
- package/es/core/tableHelper.d.ts +3 -2
- package/es/core/tableHelper.js +19 -6
- package/es/core/tableHelper.js.map +1 -1
- package/es/dataset/dataset.js +8 -13
- package/es/dataset/dataset.js.map +1 -1
- package/es/edit/edit-manager.d.ts +1 -1
- package/es/edit/edit-manager.js +9 -12
- package/es/edit/edit-manager.js.map +1 -1
- package/es/event/EventHandler.d.ts +1 -0
- package/es/event/EventHandler.js +1 -1
- package/es/event/EventHandler.js.map +1 -1
- package/es/event/event.d.ts +12 -1
- package/es/event/event.js +8 -3
- package/es/event/event.js.map +1 -1
- package/es/event/listener/container-dom.js +51 -8
- package/es/event/listener/container-dom.js.map +1 -1
- package/es/event/listener/scroll-bar.js +24 -8
- package/es/event/listener/scroll-bar.js.map +1 -1
- package/es/event/listener/table-group.js +50 -42
- package/es/event/listener/table-group.js.map +1 -1
- package/es/event/listener/touch.js.map +1 -1
- package/es/event/media-click.js +5 -2
- package/es/event/media-click.js.map +1 -1
- package/es/event/pivot-chart/axis-click.js.map +1 -1
- package/es/event/scroll.js +2 -1
- package/es/event/util.d.ts +1 -1
- package/es/event/util.js.map +1 -1
- package/es/index.d.ts +5 -2
- package/es/index.js +10 -2
- package/es/index.js.map +1 -1
- package/es/layout/chart-helper/get-chart-spec.d.ts +1 -0
- package/es/layout/chart-helper/get-chart-spec.js +11 -0
- package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/es/layout/pivot-header-layout.d.ts +5 -4
- package/es/layout/pivot-header-layout.js +20 -16
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/pivot-layout-helper.d.ts +1 -0
- package/es/layout/pivot-layout-helper.js +16 -6
- package/es/layout/pivot-layout-helper.js.map +1 -1
- package/es/layout/simple-header-layout.d.ts +6 -4
- package/es/layout/simple-header-layout.js +45 -14
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/render/jsx/index.d.ts +2 -3
- package/es/render/jsx/index.js +1 -1
- package/es/render/jsx/index.js.map +1 -1
- package/es/render/layout/arc.d.ts +2 -2
- package/es/render/layout/arc.js +1 -1
- package/es/render/layout/arc.js.map +1 -1
- package/es/render/layout/circle.d.ts +2 -2
- package/es/render/layout/circle.js +1 -1
- package/es/render/layout/circle.js.map +1 -1
- package/es/render/layout/container.d.ts +2 -2
- package/es/render/layout/container.js +1 -1
- package/es/render/layout/container.js.map +1 -1
- package/es/render/layout/group.d.ts +2 -2
- package/es/render/layout/group.js +1 -1
- package/es/render/layout/group.js.map +1 -1
- package/es/render/layout/icon.d.ts +2 -2
- package/es/render/layout/icon.js +1 -1
- package/es/render/layout/icon.js.map +1 -1
- package/es/render/layout/image.d.ts +2 -2
- package/es/render/layout/image.js +1 -1
- package/es/render/layout/image.js.map +1 -1
- package/es/render/layout/rect.d.ts +2 -2
- package/es/render/layout/rect.js +1 -1
- package/es/render/layout/rect.js.map +1 -1
- package/es/render/layout/text.d.ts +3 -3
- package/es/render/layout/text.js +2 -2
- package/es/render/layout/text.js.map +1 -1
- package/es/scenegraph/component/cell-content.d.ts +4 -4
- package/es/scenegraph/component/cell-content.js +7 -8
- package/es/scenegraph/component/cell-content.js.map +1 -1
- package/es/scenegraph/component/cell-mover.d.ts +1 -1
- package/es/scenegraph/component/cell-mover.js +1 -1
- package/es/scenegraph/component/cell-mover.js.map +1 -1
- package/es/scenegraph/component/custom.d.ts +1 -1
- package/es/scenegraph/component/custom.js +35 -20
- package/es/scenegraph/component/custom.js.map +1 -1
- package/es/scenegraph/component/drill-icon.js.map +1 -1
- package/es/scenegraph/component/menu.d.ts +1 -1
- package/es/scenegraph/component/menu.js +1 -1
- package/es/scenegraph/component/menu.js.map +1 -1
- package/es/scenegraph/component/table-component.d.ts +1 -1
- package/es/scenegraph/component/table-component.js +13 -12
- package/es/scenegraph/component/table-component.js.map +1 -1
- package/es/scenegraph/debug-tool/debug-tool.d.ts +1 -1
- package/es/scenegraph/debug-tool/debug-tool.js +1 -1
- package/es/scenegraph/debug-tool/debug-tool.js.map +1 -1
- package/es/scenegraph/debug-tool/index.d.ts +1 -1
- package/es/scenegraph/debug-tool/index.js.map +1 -1
- package/es/scenegraph/graphic/chart.d.ts +2 -2
- package/es/scenegraph/graphic/chart.js +12 -5
- package/es/scenegraph/graphic/chart.js.map +1 -1
- package/es/scenegraph/graphic/contributions/chart-render-helper.js +5 -5
- package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
- package/es/scenegraph/graphic/contributions/chart-render.d.ts +1 -1
- package/es/scenegraph/graphic/contributions/chart-render.js +1 -1
- package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
- package/es/scenegraph/graphic/contributions/group-contribution-render.d.ts +18 -3
- package/es/scenegraph/graphic/contributions/group-contribution-render.js +58 -3
- package/es/scenegraph/graphic/contributions/group-contribution-render.js.map +1 -1
- package/es/scenegraph/graphic/contributions/image-contribution-render.d.ts +2 -2
- package/es/scenegraph/graphic/contributions/image-contribution-render.js +1 -1
- package/es/scenegraph/graphic/contributions/image-contribution-render.js.map +1 -1
- package/es/scenegraph/graphic/contributions/index.d.ts +1 -1
- package/es/scenegraph/graphic/contributions/index.js +5 -3
- package/es/scenegraph/graphic/contributions/index.js.map +1 -1
- package/es/scenegraph/graphic/contributions/rect-contribution-render.d.ts +2 -2
- package/es/scenegraph/graphic/contributions/rect-contribution-render.js +2 -2
- package/es/scenegraph/graphic/contributions/rect-contribution-render.js.map +1 -1
- package/es/scenegraph/graphic/group.d.ts +4 -2
- package/es/scenegraph/graphic/group.js +4 -2
- package/es/scenegraph/graphic/group.js.map +1 -1
- package/es/scenegraph/graphic/icon.d.ts +2 -2
- package/es/scenegraph/graphic/icon.js +1 -1
- package/es/scenegraph/graphic/icon.js.map +1 -1
- package/es/scenegraph/graphic/text.d.ts +2 -2
- package/es/scenegraph/graphic/text.js +1 -1
- package/es/scenegraph/graphic/text.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.d.ts +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +13 -10
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/chart-cell.d.ts +1 -1
- package/es/scenegraph/group-creater/cell-type/chart-cell.js +2 -1
- package/es/scenegraph/group-creater/cell-type/chart-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/checkbox-cell.d.ts +1 -1
- package/es/scenegraph/group-creater/cell-type/checkbox-cell.js +5 -3
- package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/image-cell.d.ts +1 -1
- package/es/scenegraph/group-creater/cell-type/image-cell.js +39 -17
- package/es/scenegraph/group-creater/cell-type/image-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js +1 -1
- package/es/scenegraph/group-creater/cell-type/progress-bar-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/spark-line-cell.d.ts +1 -1
- package/es/scenegraph/group-creater/cell-type/spark-line-cell.js +3 -2
- package/es/scenegraph/group-creater/cell-type/spark-line-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/text-cell.d.ts +1 -1
- package/es/scenegraph/group-creater/cell-type/text-cell.js +3 -2
- package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/video-cell.d.ts +1 -1
- package/es/scenegraph/group-creater/cell-type/video-cell.js +3 -2
- package/es/scenegraph/group-creater/cell-type/video-cell.js.map +1 -1
- package/es/scenegraph/group-creater/column-helper.d.ts +5 -2
- package/es/scenegraph/group-creater/column-helper.js +10 -5
- package/es/scenegraph/group-creater/column-helper.js.map +1 -1
- package/es/scenegraph/group-creater/init-scenegraph.js +11 -11
- package/es/scenegraph/group-creater/init-scenegraph.js.map +1 -1
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +3 -2
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
- package/es/scenegraph/group-creater/progress/proxy.js +6 -6
- package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js +2 -2
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-x.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +5 -4
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
- package/es/scenegraph/icon/icon-update.d.ts +2 -0
- package/es/scenegraph/icon/icon-update.js +16 -2
- package/es/scenegraph/icon/icon-update.js.map +1 -1
- package/es/scenegraph/layout/compute-col-width.js +12 -9
- package/es/scenegraph/layout/compute-col-width.js.map +1 -1
- package/es/scenegraph/layout/compute-row-height.js +25 -17
- package/es/scenegraph/layout/compute-row-height.js.map +1 -1
- package/es/scenegraph/layout/frozen.js +3 -1
- package/es/scenegraph/layout/frozen.js.map +1 -1
- package/es/scenegraph/layout/move-cell.js.map +1 -1
- package/es/scenegraph/layout/update-col.js +6 -5
- package/es/scenegraph/layout/update-col.js.map +1 -1
- package/es/scenegraph/layout/update-height.d.ts +1 -1
- package/es/scenegraph/layout/update-height.js +7 -5
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/layout/update-row.js +50 -14
- package/es/scenegraph/layout/update-row.js.map +1 -1
- package/es/scenegraph/layout/update-width.d.ts +1 -1
- package/es/scenegraph/layout/update-width.js +12 -11
- package/es/scenegraph/layout/update-width.js.map +1 -1
- package/es/scenegraph/refresh-node/update-chart.js +11 -1
- package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +7 -3
- package/es/scenegraph/scenegraph.js +54 -58
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/select/create-select-border.js +1 -1
- package/es/scenegraph/select/create-select-border.js.map +1 -1
- package/es/scenegraph/select/delete-select-border.js.map +1 -1
- package/es/scenegraph/select/update-select-border.js +34 -17
- package/es/scenegraph/select/update-select-border.js.map +1 -1
- package/es/scenegraph/stick-text/index.js +9 -4
- package/es/scenegraph/stick-text/index.js.map +1 -1
- package/es/scenegraph/style/corner-cell.js.map +1 -1
- package/es/scenegraph/style/frame-border.d.ts +3 -1
- package/es/scenegraph/style/frame-border.js +18 -1
- package/es/scenegraph/style/frame-border.js.map +1 -1
- package/es/scenegraph/utils/get-cell-merge.js +1 -1
- package/es/scenegraph/utils/get-cell-merge.js.map +1 -1
- package/es/scenegraph/utils/padding.js +1 -1
- package/es/scenegraph/utils/padding.js.map +1 -1
- package/es/scenegraph/utils/render-service.d.ts +1 -1
- package/es/scenegraph/utils/render-service.js +1 -1
- package/es/scenegraph/utils/render-service.js.map +1 -1
- package/es/scenegraph/utils/text-icon-layout.d.ts +1 -1
- package/es/scenegraph/utils/text-icon-layout.js +13 -12
- package/es/scenegraph/utils/text-icon-layout.js.map +1 -1
- package/es/scenegraph/utils/text-measure.d.ts +2 -2
- package/es/scenegraph/utils/text-measure.js +1 -1
- package/es/scenegraph/utils/text-measure.js.map +1 -1
- package/es/scenegraph/utils/text-pos.d.ts +1 -1
- package/es/scenegraph/utils/text-pos.js.map +1 -1
- package/es/state/cell-move/adjust-header.js.map +1 -1
- package/es/state/cell-move/index.js +2 -1
- package/es/state/cell-move/index.js.map +1 -1
- package/es/state/select/update-position.js +60 -65
- package/es/state/select/update-position.js.map +1 -1
- package/es/state/spark-line/index.js +10 -6
- package/es/state/spark-line/index.js.map +1 -1
- package/es/state/state.d.ts +1 -1
- package/es/state/state.js +14 -17
- package/es/state/state.js.map +1 -1
- package/es/themes/ARCO.js +7 -2
- package/es/themes/ARCO.js.map +1 -1
- package/es/themes/BRIGHT.js +8 -1
- package/es/themes/BRIGHT.js.map +1 -1
- package/es/themes/DARK.js +7 -1
- package/es/themes/DARK.js.map +1 -1
- package/es/themes/DEFAULT.js +6 -0
- package/es/themes/DEFAULT.js.map +1 -1
- package/es/themes/SIMPLIFY.js +6 -0
- package/es/themes/SIMPLIFY.js.map +1 -1
- package/es/themes/component.d.ts +27 -0
- package/es/themes/component.js +28 -0
- package/es/themes/component.js.map +1 -1
- package/es/themes/theme.d.ts +2 -0
- package/es/themes/theme.js +29 -2
- package/es/themes/theme.js.map +1 -1
- package/es/tools/NumberMap.d.ts +4 -0
- package/es/tools/NumberMap.js +17 -1
- package/es/tools/NumberMap.js.map +1 -1
- package/es/ts-types/base-table.d.ts +10 -3
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/common.d.ts +1 -0
- package/es/ts-types/common.js.map +1 -1
- package/es/ts-types/component/title.d.ts +1 -1
- package/es/ts-types/component/title.js.map +1 -1
- package/es/ts-types/customElement.d.ts +1 -1
- package/es/ts-types/customElement.js.map +1 -1
- package/es/ts-types/customLayout.d.ts +1 -1
- package/es/ts-types/customLayout.js.map +1 -1
- package/es/ts-types/events.d.ts +3 -4
- package/es/ts-types/events.js.map +1 -1
- package/es/ts-types/list-table/define/basic-define.d.ts +5 -1
- package/es/ts-types/list-table/define/basic-define.js.map +1 -1
- package/es/ts-types/list-table/define/image-define.d.ts +2 -0
- package/es/ts-types/list-table/define/image-define.js.map +1 -1
- package/es/ts-types/list-table/define/multilinetext-define.d.ts +0 -1
- package/es/ts-types/list-table/define/multilinetext-define.js.map +1 -1
- package/es/ts-types/pivot-table/dimension/image-dimension.d.ts +1 -0
- package/es/ts-types/pivot-table/dimension/image-dimension.js.map +1 -1
- package/es/ts-types/pivot-table/indicator/image-indicator.d.ts +2 -0
- package/es/ts-types/pivot-table/indicator/image-indicator.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +17 -0
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/ts-types/theme.d.ts +7 -0
- package/es/ts-types/theme.js.map +1 -1
- package/es/vrender.d.ts +4 -0
- package/es/vrender.js +22 -0
- package/es/vrender.js.map +1 -0
- package/package.json +13 -12
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Text as VText, type ITextGraphicAttribute } from './../../vrender';
|
|
2
2
|
import type { BaseTableAPI } from '../../ts-types/base-table';
|
|
3
3
|
type ITextOption = {
|
|
4
4
|
marginTop?: number;
|
|
5
5
|
marginRight?: number;
|
|
6
6
|
marginBottom?: number;
|
|
7
7
|
marginLeft?: number;
|
|
8
|
-
} &
|
|
9
|
-
export declare class Text extends
|
|
8
|
+
} & ITextGraphicAttribute;
|
|
9
|
+
export declare class Text extends VText {
|
|
10
10
|
constructor(options: ITextOption);
|
|
11
11
|
getSize(table: BaseTableAPI): void;
|
|
12
12
|
}
|
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.Text = void 0;
|
|
6
6
|
|
|
7
|
-
const vrender_1 = require("
|
|
7
|
+
const vrender_1 = require("./../../vrender"), vutils_1 = require("@visactor/vutils");
|
|
8
8
|
|
|
9
|
-
class Text extends vrender_1.
|
|
9
|
+
class Text extends vrender_1.Text {
|
|
10
10
|
constructor(options) {
|
|
11
11
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
12
12
|
options.textBaseline || (options.textBaseline = "top");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/render/layout/text.ts"],"names":[],"mappings":";;;AAAA
|
|
1
|
+
{"version":3,"sources":["../src/render/layout/text.ts"],"names":[],"mappings":";;;AAAA,6CAA4E;AAG5E,6CAA2C;AAS3C,MAAa,IAAK,SAAQ,cAAK;IAC7B,YAAY,OAAoB;;QAC9B,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACzB,OAAO,CAAC,YAAY,GAAG,KAAK,CAAC;SAC9B;QACD,MAAM,eAAe,GAAG,IAAA,gBAAO,EAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,OAAO,GAAG;YACd,MAAA,MAAA,OAAO,CAAC,SAAS,mCAAI,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,mCAAI,CAAC;YAC9F,MAAA,MAAA,OAAO,CAAC,WAAW,mCAAI,CAAC,eAAe,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,mCAAI,CAAC;YAChG,MAAA,MAAA,OAAO,CAAC,YAAY,mCAClB,CAAC,eAAe,CAAC,CAAC,CAAC,MAAA,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,mCAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,mCAChG,CAAC;YACH,MAAA,MAAA,OAAO,CAAC,UAAU,mCAChB,CAAC,eAAe,CAAC,CAAC,CAAC,MAAA,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,mCAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,mCAChG,CAAC;SACJ,CAAC;QACF,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC;QAChC,OAAO,CAAC,IAAI,GAAG,MAAA,OAAO,CAAC,IAAI,mCAAI,MAAM,CAAC;QAEtC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,CAAC,KAAmB;QACzB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AAxBD,oBAwBC","file":"text.js","sourcesContent":["import { Text as VText, type ITextGraphicAttribute } from './../../vrender';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { TagAttributes } from '@visactor/vrender-components';\nimport { isArray } from '@visactor/vutils';\n\ntype ITextOption = {\n marginTop?: number;\n marginRight?: number;\n marginBottom?: number;\n marginLeft?: number;\n} & ITextGraphicAttribute;\n\nexport class Text extends VText {\n constructor(options: ITextOption) {\n if (!options.textBaseline) {\n options.textBaseline = 'top';\n }\n const isPaddingNumber = isArray(options.boundsPadding);\n const padding = [\n options.marginTop ?? (isPaddingNumber ? options.boundsPadding[0] : options.boundsPadding) ?? 0,\n options.marginRight ?? (isPaddingNumber ? options.boundsPadding[1] : options.boundsPadding) ?? 0,\n options.marginBottom ??\n (isPaddingNumber ? options.boundsPadding[2] ?? options.boundsPadding[0] : options.boundsPadding) ??\n 0,\n options.marginLeft ??\n (isPaddingNumber ? options.boundsPadding[3] ?? options.boundsPadding[1] : options.boundsPadding) ??\n 0\n ];\n options.boundsPadding = padding;\n options.fill = options.fill ?? '#000';\n\n super(options);\n }\n getSize(table: BaseTableAPI) {\n this.AABBBounds.width();\n }\n}\n"]}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import type { IGroupGraphicAttribute } from '
|
|
2
|
-
import { RichText } from '
|
|
1
|
+
import type { IGroupGraphicAttribute } from './../../vrender';
|
|
2
|
+
import { RichText, Text } from './../../vrender';
|
|
3
3
|
import { Group } from '../graphic/group';
|
|
4
4
|
import { Icon } from '../graphic/icon';
|
|
5
|
-
import { WrapText } from '../graphic/text';
|
|
6
5
|
interface ICellContentOption {
|
|
7
6
|
autoWidth: boolean;
|
|
8
7
|
autoHeight: boolean;
|
|
@@ -18,6 +17,7 @@ export declare class CellContent extends Group {
|
|
|
18
17
|
_autoWidth: boolean;
|
|
19
18
|
_autoHeight: boolean;
|
|
20
19
|
_cellWidth: number;
|
|
20
|
+
_originCellWidth: number;
|
|
21
21
|
_cellHeight: number;
|
|
22
22
|
_align: CanvasTextAlign;
|
|
23
23
|
_baseline: CanvasTextBaseline;
|
|
@@ -25,7 +25,7 @@ export declare class CellContent extends Group {
|
|
|
25
25
|
setCellContentOption(option: ICellContentOption): void;
|
|
26
26
|
addLeftOccupyingIcon(icon: Icon): void;
|
|
27
27
|
addRightOccupyingIcon(icon: Icon): void;
|
|
28
|
-
addContent(content: Icon |
|
|
28
|
+
addContent(content: Icon | Text | RichText): void;
|
|
29
29
|
layout(): void;
|
|
30
30
|
updateCenterLayout(contentWidth: number): void;
|
|
31
31
|
updateHorizontalPos(): void;
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.CellContent = void 0;
|
|
6
6
|
|
|
7
|
-
const vrender_1 = require("
|
|
7
|
+
const vrender_1 = require("./../../vrender"), group_1 = require("../graphic/group"), icon_1 = require("../graphic/icon");
|
|
8
8
|
|
|
9
9
|
class CellContent extends group_1.Group {
|
|
10
10
|
constructor(params) {
|
|
@@ -25,7 +25,8 @@ class CellContent extends group_1.Group {
|
|
|
25
25
|
}
|
|
26
26
|
setCellContentOption(option) {
|
|
27
27
|
this._autoWidth = option.autoWidth, this._autoHeight = option.autoHeight, this._cellWidth = option.cellWidth,
|
|
28
|
-
this.
|
|
28
|
+
this._originCellWidth = option.cellWidth, this._cellHeight = option.cellHeight,
|
|
29
|
+
this._align = option.align, this._baseline = option.baseline;
|
|
29
30
|
}
|
|
30
31
|
addLeftOccupyingIcon(icon) {
|
|
31
32
|
var _a, _b, _c;
|
|
@@ -41,7 +42,7 @@ class CellContent extends group_1.Group {
|
|
|
41
42
|
const lastChild = this._centerGroup.lastChild;
|
|
42
43
|
lastChild && content.setAttributes({
|
|
43
44
|
x: lastChild.attribute.x + lastChild.AABBBounds.width()
|
|
44
|
-
}), this._centerGroup.appendChild(content), content instanceof
|
|
45
|
+
}), this._centerGroup.appendChild(content), content instanceof vrender_1.Text && (this._centerGroup.setAttribute("pickable", !1),
|
|
45
46
|
content.setAttribute("textAlign", "left"));
|
|
46
47
|
}
|
|
47
48
|
layout() {
|
|
@@ -68,7 +69,7 @@ class CellContent extends group_1.Group {
|
|
|
68
69
|
child instanceof icon_1.Icon && (textWidth -= child.AABBBounds.width());
|
|
69
70
|
}));
|
|
70
71
|
const text = this._centerGroup.getChildByName("text");
|
|
71
|
-
text instanceof vrender_1.RichText ? text.setAttribute("width", textWidth) : text instanceof
|
|
72
|
+
text instanceof vrender_1.RichText ? text.setAttribute("width", textWidth) : text instanceof vrender_1.Text && text.setAttribute("maxLineWidth", textWidth);
|
|
72
73
|
let x = 0;
|
|
73
74
|
this._centerGroup.forEachChildren((child => {
|
|
74
75
|
child.setAttribute("x", x), x += child.AABBBounds.width();
|
|
@@ -95,10 +96,10 @@ class CellContent extends group_1.Group {
|
|
|
95
96
|
this._centerGroup.setAttribute("y", this._cellHeight - this._centerGroup.height));
|
|
96
97
|
}
|
|
97
98
|
updateWidth(width) {
|
|
98
|
-
this._cellWidth = width, this.layout();
|
|
99
|
+
this._cellWidth = width, this._originCellWidth = width, this.layout();
|
|
99
100
|
}
|
|
100
101
|
updateHeight(height) {
|
|
101
|
-
this._cellHeight = height, this.layout();
|
|
102
|
+
this._cellHeight = height, this._cellWidth = this._originCellWidth, this.layout();
|
|
102
103
|
}
|
|
103
104
|
}
|
|
104
105
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/component/cell-content.ts"],"names":[],"mappings":"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","file":"cell-content.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { IGroupGraphicAttribute } from '@visactor/vrender';\nimport { RichText } from '@visactor/vrender';\nimport { Group } from '../graphic/group';\nimport { Icon } from '../graphic/icon';\nimport { WrapText } from '../graphic/text';\n\n/*\n * cell区域规划\n * 左侧占位区 | 中央内容区 | 右侧占位区\n *\n * cell width设置\n * 1. 固定width\n * 2. 自动撑开\n * cell height设置\n * 1. 固定height\n * 2. 无折行,单行自动撑开\n * 2. 折行,多行自动撑开\n *\n * 中央内容区横向对齐方式\n * 纵向对齐方式\n * padding\n */\n\ninterface ICellContentOption {\n autoWidth: boolean;\n autoHeight: boolean;\n cellWidth: number;\n cellHeight: number;\n align: CanvasTextAlign;\n baseline: CanvasTextBaseline;\n}\n\n/**\n * @description: 单元格内容组件,包含content icon & wraptext/richtext\n * @return {*}\n */\nexport class CellContent extends Group {\n _leftGroup: Group;\n _rightGroup: Group;\n _centerGroup: Group;\n\n _autoWidth = false;\n _autoHeight = false;\n _cellWidth: number;\n _cellHeight: number;\n _align: CanvasTextAlign;\n _baseline: CanvasTextBaseline;\n\n constructor(params: IGroupGraphicAttribute) {\n super(params);\n\n this._leftGroup = new Group({\n pickable: false,\n fill: false,\n stroke: false\n });\n this._leftGroup.role = 'content-left';\n this._rightGroup = new Group({\n pickable: false,\n fill: false,\n stroke: false\n });\n this._rightGroup.role = 'content-right';\n this._centerGroup = new Group({\n pickable: false,\n fill: false,\n stroke: false\n });\n this._centerGroup.role = 'content-center';\n\n this.appendChild(this._leftGroup);\n this.appendChild(this._rightGroup);\n this.appendChild(this._centerGroup);\n }\n\n setCellContentOption(option: ICellContentOption) {\n this._autoWidth = option.autoWidth;\n this._autoHeight = option.autoHeight;\n this._cellWidth = option.cellWidth;\n this._cellHeight = option.cellHeight;\n this._align = option.align;\n this._baseline = option.baseline;\n }\n\n addLeftOccupyingIcon(icon: Icon) {\n icon.setAttribute('x', this._leftGroup.width + (icon.attribute.marginLeft ?? 0));\n this._leftGroup.appendChild(icon);\n this._leftGroup.setDeltaWidth(\n (icon.attribute.marginLeft ?? 0) + (icon.attribute.marginRight ?? 0) + icon.attribute.width\n );\n }\n\n addRightOccupyingIcon(icon: Icon) {\n icon.setAttribute('x', this._rightGroup.width + (icon.attribute.marginLeft ?? 0));\n this._rightGroup.appendChild(icon);\n this._rightGroup.setDeltaWidth(\n (icon.attribute.marginLeft ?? 0) + (icon.attribute.marginRight ?? 0) + icon.attribute.width\n );\n }\n\n addContent(content: Icon | WrapText | RichText) {\n const lastChild = this._centerGroup.lastChild as Icon | WrapText | RichText;\n if (lastChild) {\n // 横排content,新加入content更新x坐标\n content.setAttributes({\n x: lastChild.attribute.x + lastChild.AABBBounds.width()\n });\n }\n this._centerGroup.appendChild(content);\n if (content instanceof WrapText) {\n this._centerGroup.setAttribute('pickable', false);\n content.setAttribute('textAlign', 'left');\n }\n }\n\n layout() {\n // 计算左侧占位区域尺寸\n let leftOccupyingWidth = this._leftGroup.width;\n if (leftOccupyingWidth === Infinity) {\n leftOccupyingWidth = 0;\n }\n // 计算右侧占位区域尺寸\n let rightOccupyingWidth = this._rightGroup.width;\n if (rightOccupyingWidth === -Infinity) {\n rightOccupyingWidth = 0;\n }\n\n // 计算中央内容区域尺寸\n if (this._autoWidth) {\n // 计算内容本身宽度\n const centerWidth = this._centerGroup.width;\n // 更新cell宽度\n this._cellWidth = leftOccupyingWidth + rightOccupyingWidth + centerWidth;\n // this.attribute.width = this._cellWidth;\n this.setAttribute('width', this._cellWidth);\n } else {\n // 计算留给内容的宽度\n const contentWidth = this._cellWidth - leftOccupyingWidth - rightOccupyingWidth;\n // 更新内容宽度\n this.updateCenterLayout(contentWidth);\n const centerWidth = this._centerGroup.width;\n this._cellWidth = leftOccupyingWidth + rightOccupyingWidth + centerWidth;\n // this.attribute.width = this._cellWidth;\n this.setAttribute('width', this._cellWidth);\n }\n // 更新水平位置\n this.updateHorizontalPos();\n\n // if (this._autoHeight) {\n const leftOccupyingHeight = this._leftGroup.height;\n const rightOccupyingHeight = this._rightGroup.height;\n const centerHeight = this._centerGroup.height;\n\n this._cellHeight = Math.max(leftOccupyingHeight, rightOccupyingHeight, centerHeight);\n // this.attribute.height = this._cellHeight;\n this.setAttribute('height', this._cellHeight);\n // }\n\n // 更新纵向位置\n this.updateVerticalPos();\n }\n\n updateCenterLayout(contentWidth: number) {\n // 计算留给文字的空间\n let textWidth = contentWidth;\n this._centerGroup.forEachChildren(child => {\n if (child instanceof Icon) {\n textWidth -= child.AABBBounds.width();\n }\n });\n\n // 更新文字宽度\n const text = this._centerGroup.getChildByName('text');\n if (text instanceof RichText) {\n text.setAttribute('width', textWidth);\n } else if (text instanceof WrapText) {\n text.setAttribute('maxLineWidth', textWidth);\n }\n\n // 按顺序更新x\n let x = 0;\n this._centerGroup.forEachChildren((child: Icon | WrapText | RichText) => {\n child.setAttribute('x', x);\n x += child.AABBBounds.width();\n });\n }\n\n updateHorizontalPos() {\n this._leftGroup.setAttribute('x', 0);\n this._rightGroup.setAttribute('x', this._cellWidth - this._rightGroup.width);\n this._centerGroup.setAttribute('x', this._leftGroup.width);\n // 对齐方式由外部处理\n if (this._align === 'left' || this._align === 'start') {\n this.setAttribute('dx', 0);\n } else if (this._align === 'center') {\n this.setAttribute('dx', -this.attribute.width / 2);\n } else if (this._align === 'right' || this._align === 'end') {\n this.setAttribute('dx', -this.attribute.width);\n }\n }\n\n updateVerticalPos() {\n if (this._baseline === 'top') {\n this._leftGroup.setAttribute('y', 0);\n this._rightGroup.setAttribute('y', 0);\n this._centerGroup.setAttribute('y', 0);\n } else if (this._baseline === 'middle') {\n // 处理Group内icon对齐\n this._leftGroup.forEachChildren((icon: Icon) => {\n icon.setAttribute('y', (this._leftGroup.height - icon.AABBBounds.height()) / 2);\n });\n this._rightGroup.forEachChildren((icon: Icon) => {\n icon.setAttribute('y', (this._rightGroup.height - icon.AABBBounds.height()) / 2);\n });\n\n this._leftGroup.setAttribute('y', this._cellHeight / 2 - this._leftGroup.height / 2);\n this._rightGroup.setAttribute('y', this._cellHeight / 2 - this._rightGroup.height / 2);\n this._centerGroup.setAttribute('y', this._cellHeight / 2 - this._centerGroup.height / 2);\n } else if (this._baseline === 'bottom') {\n // 处理Group内icon对齐\n this._leftGroup.forEachChildren((icon: Icon) => {\n icon.setAttribute('y', this._leftGroup.height - icon.AABBBounds.height());\n });\n this._rightGroup.forEachChildren((icon: Icon) => {\n icon.setAttribute('y', this._rightGroup.height - icon.AABBBounds.height());\n });\n\n this._leftGroup.setAttribute('y', this._cellHeight - this._leftGroup.height);\n this._rightGroup.setAttribute('y', this._cellHeight - this._rightGroup.height);\n this._centerGroup.setAttribute('y', this._cellHeight - this._centerGroup.height);\n }\n }\n\n updateWidth(width: number) {\n this._cellWidth = width;\n this.layout();\n }\n\n updateHeight(height: number) {\n this._cellHeight = height;\n this.layout();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/component/cell-content.ts"],"names":[],"mappings":"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","file":"cell-content.js","sourcesContent":["/* eslint-disable no-undef */\nimport type { IGroupGraphicAttribute } from './../../vrender';\nimport { RichText, Text } from './../../vrender';\nimport { Group } from '../graphic/group';\nimport { Icon } from '../graphic/icon';\n\n/*\n * cell区域规划\n * 左侧占位区 | 中央内容区 | 右侧占位区\n *\n * cell width设置\n * 1. 固定width\n * 2. 自动撑开\n * cell height设置\n * 1. 固定height\n * 2. 无折行,单行自动撑开\n * 2. 折行,多行自动撑开\n *\n * 中央内容区横向对齐方式\n * 纵向对齐方式\n * padding\n */\n\ninterface ICellContentOption {\n autoWidth: boolean;\n autoHeight: boolean;\n cellWidth: number;\n cellHeight: number;\n align: CanvasTextAlign;\n baseline: CanvasTextBaseline;\n}\n\n/**\n * @description: 单元格内容组件,包含content icon & wraptext/richtext\n * @return {*}\n */\nexport class CellContent extends Group {\n _leftGroup: Group;\n _rightGroup: Group;\n _centerGroup: Group;\n\n _autoWidth = false;\n _autoHeight = false;\n _cellWidth: number;\n _originCellWidth: number;\n _cellHeight: number;\n _align: CanvasTextAlign;\n _baseline: CanvasTextBaseline;\n\n constructor(params: IGroupGraphicAttribute) {\n super(params);\n\n this._leftGroup = new Group({\n pickable: false,\n fill: false,\n stroke: false\n });\n this._leftGroup.role = 'content-left';\n this._rightGroup = new Group({\n pickable: false,\n fill: false,\n stroke: false\n });\n this._rightGroup.role = 'content-right';\n this._centerGroup = new Group({\n pickable: false,\n fill: false,\n stroke: false\n });\n this._centerGroup.role = 'content-center';\n\n this.appendChild(this._leftGroup);\n this.appendChild(this._rightGroup);\n this.appendChild(this._centerGroup);\n }\n\n setCellContentOption(option: ICellContentOption) {\n this._autoWidth = option.autoWidth;\n this._autoHeight = option.autoHeight;\n this._cellWidth = option.cellWidth;\n this._originCellWidth = option.cellWidth;\n this._cellHeight = option.cellHeight;\n this._align = option.align;\n this._baseline = option.baseline;\n }\n\n addLeftOccupyingIcon(icon: Icon) {\n icon.setAttribute('x', this._leftGroup.width + (icon.attribute.marginLeft ?? 0));\n this._leftGroup.appendChild(icon);\n this._leftGroup.setDeltaWidth(\n (icon.attribute.marginLeft ?? 0) + (icon.attribute.marginRight ?? 0) + icon.attribute.width\n );\n }\n\n addRightOccupyingIcon(icon: Icon) {\n icon.setAttribute('x', this._rightGroup.width + (icon.attribute.marginLeft ?? 0));\n this._rightGroup.appendChild(icon);\n this._rightGroup.setDeltaWidth(\n (icon.attribute.marginLeft ?? 0) + (icon.attribute.marginRight ?? 0) + icon.attribute.width\n );\n }\n\n addContent(content: Icon | Text | RichText) {\n const lastChild = this._centerGroup.lastChild as Icon | Text | RichText;\n if (lastChild) {\n // 横排content,新加入content更新x坐标\n content.setAttributes({\n x: lastChild.attribute.x + lastChild.AABBBounds.width()\n });\n }\n this._centerGroup.appendChild(content);\n if (content instanceof Text) {\n this._centerGroup.setAttribute('pickable', false);\n content.setAttribute('textAlign', 'left');\n }\n }\n\n layout() {\n // 计算左侧占位区域尺寸\n let leftOccupyingWidth = this._leftGroup.width;\n if (leftOccupyingWidth === Infinity) {\n leftOccupyingWidth = 0;\n }\n // 计算右侧占位区域尺寸\n let rightOccupyingWidth = this._rightGroup.width;\n if (rightOccupyingWidth === -Infinity) {\n rightOccupyingWidth = 0;\n }\n\n // 计算中央内容区域尺寸\n if (this._autoWidth) {\n // 计算内容本身宽度\n const centerWidth = this._centerGroup.width;\n // 更新cell宽度\n this._cellWidth = leftOccupyingWidth + rightOccupyingWidth + centerWidth;\n // this.attribute.width = this._cellWidth;\n this.setAttribute('width', this._cellWidth);\n } else {\n // 计算留给内容的宽度\n const contentWidth = this._cellWidth - leftOccupyingWidth - rightOccupyingWidth;\n // 更新内容宽度\n this.updateCenterLayout(contentWidth);\n const centerWidth = this._centerGroup.width;\n this._cellWidth = leftOccupyingWidth + rightOccupyingWidth + centerWidth;\n // this.attribute.width = this._cellWidth;\n this.setAttribute('width', this._cellWidth);\n }\n // 更新水平位置\n this.updateHorizontalPos();\n\n // if (this._autoHeight) {\n const leftOccupyingHeight = this._leftGroup.height;\n const rightOccupyingHeight = this._rightGroup.height;\n const centerHeight = this._centerGroup.height;\n\n this._cellHeight = Math.max(leftOccupyingHeight, rightOccupyingHeight, centerHeight);\n // this.attribute.height = this._cellHeight;\n this.setAttribute('height', this._cellHeight);\n // }\n\n // 更新纵向位置\n this.updateVerticalPos();\n }\n\n updateCenterLayout(contentWidth: number) {\n // 计算留给文字的空间\n let textWidth = contentWidth;\n this._centerGroup.forEachChildren(child => {\n if (child instanceof Icon) {\n textWidth -= child.AABBBounds.width();\n }\n });\n\n // 更新文字宽度\n const text = this._centerGroup.getChildByName('text');\n if (text instanceof RichText) {\n text.setAttribute('width', textWidth);\n } else if (text instanceof Text) {\n text.setAttribute('maxLineWidth', textWidth);\n }\n\n // 按顺序更新x\n let x = 0;\n this._centerGroup.forEachChildren((child: Icon | Text | RichText) => {\n child.setAttribute('x', x);\n x += child.AABBBounds.width();\n });\n }\n\n updateHorizontalPos() {\n this._leftGroup.setAttribute('x', 0);\n this._rightGroup.setAttribute('x', this._cellWidth - this._rightGroup.width);\n this._centerGroup.setAttribute('x', this._leftGroup.width);\n // 对齐方式由外部处理\n if (this._align === 'left' || this._align === 'start') {\n this.setAttribute('dx', 0);\n } else if (this._align === 'center') {\n this.setAttribute('dx', -this.attribute.width / 2);\n } else if (this._align === 'right' || this._align === 'end') {\n this.setAttribute('dx', -this.attribute.width);\n }\n }\n\n updateVerticalPos() {\n if (this._baseline === 'top') {\n this._leftGroup.setAttribute('y', 0);\n this._rightGroup.setAttribute('y', 0);\n this._centerGroup.setAttribute('y', 0);\n } else if (this._baseline === 'middle') {\n // 处理Group内icon对齐\n this._leftGroup.forEachChildren((icon: Icon) => {\n icon.setAttribute('y', (this._leftGroup.height - icon.AABBBounds.height()) / 2);\n });\n this._rightGroup.forEachChildren((icon: Icon) => {\n icon.setAttribute('y', (this._rightGroup.height - icon.AABBBounds.height()) / 2);\n });\n\n this._leftGroup.setAttribute('y', this._cellHeight / 2 - this._leftGroup.height / 2);\n this._rightGroup.setAttribute('y', this._cellHeight / 2 - this._rightGroup.height / 2);\n this._centerGroup.setAttribute('y', this._cellHeight / 2 - this._centerGroup.height / 2);\n } else if (this._baseline === 'bottom') {\n // 处理Group内icon对齐\n this._leftGroup.forEachChildren((icon: Icon) => {\n icon.setAttribute('y', this._leftGroup.height - icon.AABBBounds.height());\n });\n this._rightGroup.forEachChildren((icon: Icon) => {\n icon.setAttribute('y', this._rightGroup.height - icon.AABBBounds.height());\n });\n\n this._leftGroup.setAttribute('y', this._cellHeight - this._leftGroup.height);\n this._rightGroup.setAttribute('y', this._cellHeight - this._rightGroup.height);\n this._centerGroup.setAttribute('y', this._cellHeight - this._centerGroup.height);\n }\n }\n\n updateWidth(width: number) {\n this._cellWidth = width;\n this._originCellWidth = width;\n this.layout();\n }\n\n updateHeight(height: number) {\n this._cellHeight = height;\n this._cellWidth = this._originCellWidth;\n this.layout();\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ILine, IRect, ISymbol } from '
|
|
1
|
+
import type { ILine, IRect, ISymbol } from './../../vrender';
|
|
2
2
|
import type { Group } from '../graphic/group';
|
|
3
3
|
import type { BaseTableAPI } from '../../ts-types/base-table';
|
|
4
4
|
export declare class CellMover {
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.CellMover = void 0;
|
|
6
6
|
|
|
7
|
-
const vrender_1 = require("
|
|
7
|
+
const vrender_1 = require("./../../vrender"), get_cell_merge_1 = require("../utils/get-cell-merge");
|
|
8
8
|
|
|
9
9
|
class CellMover {
|
|
10
10
|
constructor(table) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/component/cell-mover.ts"],"names":[],"mappings":";;;AACA,+CAAyE;AACzE,4DAA2D;AAI3D,MAAa,SAAS;IAOpB,YAAY,KAAmB;QAC7B,MAAM,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC;QACvE,MAAM,oBAAoB,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,SAAS,CAAC;QACvE,MAAM,2BAA2B,GAAG,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC;QAErF,IAAI,CAAC,gBAAgB,GAAG,IAAA,sBAAY,EAAC;YACnC,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,oBAA8B;SACrC,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,GAAG,IAAA,oBAAU,EAAC;YAChC,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,oBAA8B;YACtC,SAAS,EAAE,oBAA8B;YACzC,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,MAAM,EAAE;gBACN,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;gBACd,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;aACf;SACF,CAAC,CAAC;QAGH,IAAI,CAAC,eAAe,GAAG,IAAA,oBAAU,EAAC;YAChC,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,2BAA2B;YACjC,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACV,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,MAAa;QAClB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACzC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,GAAW,EAAE,KAAa;QAC1C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAA,iCAAgB,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACzD,IAAI,SAAS,EAAE;YACb,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;YAC1B,GAAG,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC;SAC3B;QAED,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,UAAU,GAA+B,EAAE,CAAC;QAClD,IAAI,YAAY,KAAK,cAAc,EAAE;YACnC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC;YAC9F,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;YACnE,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC;YAC3C,IAAI,SAAS,EAAE;gBACb,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC7E;iBAAM;gBACL,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;aACzC;YACD,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;YAEvB,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;YAC5B,OAAO,GAAG,CAAC,CAAC;YAEZ,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAChC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,CAAC;SAC7D;aAAM,IAAI,YAAY,KAAK,WAAW,EAAE;YACvC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC;YAC7F,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;YAClE,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;YACzC,IAAI,SAAS,EAAE;gBACb,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aAC/E;iBAAM;gBACL,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;aAC3C;YACD,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;YAEvB,OAAO,GAAG,CAAC,CAAC;YACZ,OAAO,GAAG,KAAK,GAAG,UAAU,CAAC;YAC7B,YAAY,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;YAE3B,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAChC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;SAC5D;QAED,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;YACjC,OAAO,EAAE,IAAI;YACb,CAAC,EAAE,KAAK,GAAG,MAAM;YACjB,CAAC,EAAE,KAAK,GAAG,MAAM;YACjB,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,UAAU;YAClB,EAAE,EAAE,MAAM;YACV,EAAE,EAAE,MAAM;SACX,CAAC,CAAC;QACH,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC;YACjC,CAAC,EAAE,OAAO;YACV,CAAC,EAAE,OAAO;YACV,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC;YAClC,OAAO,EAAE,IAAI;YACb,CAAC,EAAE,OAAO;YACV,CAAC,EAAE,OAAO;YACV,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC;IACL,CAAC;IAED,IAAI;QACF,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,KAAyB,EAAE,KAAyB,EAAE,KAAyB,EAAE,KAAyB;QAC/G,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC1D,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACjG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAChG,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAC/C;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACjE,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC/F,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;YAC9F,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SAC/C;IACH,CAAC;CACF;AAlJD,8BAkJC","file":"cell-mover.js","sourcesContent":["import type { ILine, IRect, ISymbol } from '@visactor/vrender';\nimport { createLine, createRect, createSymbol } from '@visactor/vrender';\nimport { getCellMergeInfo } from '../utils/get-cell-merge';\nimport type { Group } from '../graphic/group';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\n\nexport class CellMover {\n columnMoverLabel: ISymbol;\n columnMoverLine: ILine;\n columnMoverBack: IRect;\n table: BaseTableAPI;\n x?: number;\n\n constructor(table: BaseTableAPI) {\n const columnMoverLineWidth = table.theme.dragHeaderSplitLine.lineWidth;\n const columnMoverLineColor = table.theme.dragHeaderSplitLine.lineColor;\n const columnMoverShadowBlockColor = table.theme.dragHeaderSplitLine.shadowBlockColor;\n\n this.columnMoverLabel = createSymbol({\n visible: false,\n pickable: false,\n x: 0,\n y: 0,\n symbolType: 'triangle',\n fill: columnMoverLineColor as string\n });\n this.columnMoverLine = createLine({\n visible: false,\n pickable: false,\n stroke: columnMoverLineColor as string,\n lineWidth: columnMoverLineWidth as number,\n x: 0,\n y: 0,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: 0 }\n ]\n });\n\n // 列顺序调整阴影块\n this.columnMoverBack = createRect({\n visible: false,\n pickable: false,\n fill: columnMoverShadowBlockColor,\n x: 0,\n y: 0,\n width: 0,\n height: 0\n });\n\n this.table = table;\n }\n\n appand(parent: Group) {\n parent.appendChild(this.columnMoverLabel);\n parent.appendChild(this.columnMoverLine);\n parent.appendChild(this.columnMoverBack);\n }\n\n show(col: number, row: number, delta: number) {\n const cellLocation = this.table.getCellLocation(col, row);\n const mergeInfo = getCellMergeInfo(this.table, col, row);\n if (mergeInfo) {\n col = mergeInfo.start.col;\n row = mergeInfo.start.row;\n }\n\n let rectX = 0;\n let rectY = 0;\n let rectWidth = 0;\n let rectHeight = 0;\n let rectDx = 0;\n let rectDy = 0;\n let symbolX = 0;\n let symbolY = 0;\n let symbolRotate = Math.PI;\n const linePoints: { x: number; y: number }[] = [];\n if (cellLocation === 'columnHeader') {\n rectX = this.table.getColsWidth(0, col - 1) - this.table.stateManager.scroll.horizontalBarPos;\n rectY = this.table.getRowsHeight(0, this.table.frozenRowCount - 1);\n rectHeight = this.table.tableNoFrameHeight;\n if (mergeInfo) {\n rectWidth = this.table.getColsWidth(mergeInfo.start.col, mergeInfo.end.col);\n } else {\n rectWidth = this.table.getColWidth(col);\n }\n rectDx = rectX - delta;\n\n symbolX = rectX + rectWidth;\n symbolY = 2;\n\n linePoints.push({ x: 0, y: 0 });\n linePoints.push({ x: 0, y: this.table.tableNoFrameHeight });\n } else if (cellLocation === 'rowHeader') {\n rectY = this.table.getRowsHeight(0, row - 1) - this.table.stateManager.scroll.verticalBarPos;\n rectX = this.table.getColsWidth(0, this.table.frozenColCount - 1);\n rectWidth = this.table.tableNoFrameWidth;\n if (mergeInfo) {\n rectHeight = this.table.getRowsHeight(mergeInfo.start.row, mergeInfo.end.row);\n } else {\n rectHeight = this.table.getRowHeight(row);\n }\n rectDy = rectY - delta;\n\n symbolX = 2;\n symbolY = rectY + rectHeight;\n symbolRotate = Math.PI / 2;\n\n linePoints.push({ x: 0, y: 0 });\n linePoints.push({ x: this.table.tableNoFrameWidth, y: 0 });\n }\n\n this.columnMoverBack.setAttributes({\n visible: true,\n x: rectX - rectDx,\n y: rectY - rectDy,\n width: rectWidth,\n height: rectHeight,\n dx: rectDx,\n dy: rectDy\n });\n this.columnMoverLine.setAttributes({\n x: symbolX,\n y: symbolY,\n visible: true,\n points: linePoints\n });\n this.columnMoverLabel.setAttributes({\n visible: true,\n x: symbolX,\n y: symbolY,\n angle: symbolRotate\n });\n }\n\n hide() {\n this.columnMoverLabel.setAttribute('visible', false);\n this.columnMoverLine.setAttribute('visible', false);\n this.columnMoverBack.setAttribute('visible', false);\n }\n\n update(backX: number | undefined, lineX: number | undefined, backY: number | undefined, lineY: number | undefined) {\n if (typeof backX === 'number' && typeof lineX === 'number') {\n this.columnMoverLabel.setAttribute('x', lineX - this.table.stateManager.scroll.horizontalBarPos);\n this.columnMoverLine.setAttribute('x', lineX - this.table.stateManager.scroll.horizontalBarPos);\n this.columnMoverBack.setAttribute('x', backX);\n } else if (typeof backY === 'number' && typeof lineY === 'number') {\n this.columnMoverLabel.setAttribute('y', lineY - this.table.stateManager.scroll.verticalBarPos);\n this.columnMoverLine.setAttribute('y', lineY - this.table.stateManager.scroll.verticalBarPos);\n this.columnMoverBack.setAttribute('y', backY);\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/component/cell-mover.ts"],"names":[],"mappings":"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","file":"cell-mover.js","sourcesContent":["import type { ILine, IRect, ISymbol } from './../../vrender';\nimport { createLine, createRect, createSymbol } from './../../vrender';\nimport { getCellMergeInfo } from '../utils/get-cell-merge';\nimport type { Group } from '../graphic/group';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\n\nexport class CellMover {\n columnMoverLabel: ISymbol;\n columnMoverLine: ILine;\n columnMoverBack: IRect;\n table: BaseTableAPI;\n x?: number;\n\n constructor(table: BaseTableAPI) {\n const columnMoverLineWidth = table.theme.dragHeaderSplitLine.lineWidth;\n const columnMoverLineColor = table.theme.dragHeaderSplitLine.lineColor;\n const columnMoverShadowBlockColor = table.theme.dragHeaderSplitLine.shadowBlockColor;\n\n this.columnMoverLabel = createSymbol({\n visible: false,\n pickable: false,\n x: 0,\n y: 0,\n symbolType: 'triangle',\n fill: columnMoverLineColor as string\n });\n this.columnMoverLine = createLine({\n visible: false,\n pickable: false,\n stroke: columnMoverLineColor as string,\n lineWidth: columnMoverLineWidth as number,\n x: 0,\n y: 0,\n points: [\n { x: 0, y: 0 },\n { x: 0, y: 0 }\n ]\n });\n\n // 列顺序调整阴影块\n this.columnMoverBack = createRect({\n visible: false,\n pickable: false,\n fill: columnMoverShadowBlockColor,\n x: 0,\n y: 0,\n width: 0,\n height: 0\n });\n\n this.table = table;\n }\n\n appand(parent: Group) {\n parent.appendChild(this.columnMoverLabel);\n parent.appendChild(this.columnMoverLine);\n parent.appendChild(this.columnMoverBack);\n }\n\n show(col: number, row: number, delta: number) {\n const cellLocation = this.table.getCellLocation(col, row);\n const mergeInfo = getCellMergeInfo(this.table, col, row);\n if (mergeInfo) {\n col = mergeInfo.start.col;\n row = mergeInfo.start.row;\n }\n\n let rectX = 0;\n let rectY = 0;\n let rectWidth = 0;\n let rectHeight = 0;\n let rectDx = 0;\n let rectDy = 0;\n let symbolX = 0;\n let symbolY = 0;\n let symbolRotate = Math.PI;\n const linePoints: { x: number; y: number }[] = [];\n if (cellLocation === 'columnHeader') {\n rectX = this.table.getColsWidth(0, col - 1) - this.table.stateManager.scroll.horizontalBarPos;\n rectY = this.table.getRowsHeight(0, this.table.frozenRowCount - 1);\n rectHeight = this.table.tableNoFrameHeight;\n if (mergeInfo) {\n rectWidth = this.table.getColsWidth(mergeInfo.start.col, mergeInfo.end.col);\n } else {\n rectWidth = this.table.getColWidth(col);\n }\n rectDx = rectX - delta;\n\n symbolX = rectX + rectWidth;\n symbolY = 2;\n\n linePoints.push({ x: 0, y: 0 });\n linePoints.push({ x: 0, y: this.table.tableNoFrameHeight });\n } else if (cellLocation === 'rowHeader') {\n rectY = this.table.getRowsHeight(0, row - 1) - this.table.stateManager.scroll.verticalBarPos;\n rectX = this.table.getColsWidth(0, this.table.frozenColCount - 1);\n rectWidth = this.table.tableNoFrameWidth;\n if (mergeInfo) {\n rectHeight = this.table.getRowsHeight(mergeInfo.start.row, mergeInfo.end.row);\n } else {\n rectHeight = this.table.getRowHeight(row);\n }\n rectDy = rectY - delta;\n\n symbolX = 2;\n symbolY = rectY + rectHeight;\n symbolRotate = Math.PI / 2;\n\n linePoints.push({ x: 0, y: 0 });\n linePoints.push({ x: this.table.tableNoFrameWidth, y: 0 });\n }\n\n this.columnMoverBack.setAttributes({\n visible: true,\n x: rectX - rectDx,\n y: rectY - rectDy,\n width: rectWidth,\n height: rectHeight,\n dx: rectDx,\n dy: rectDy\n });\n this.columnMoverLine.setAttributes({\n x: symbolX,\n y: symbolY,\n visible: true,\n points: linePoints\n });\n this.columnMoverLabel.setAttributes({\n visible: true,\n x: symbolX,\n y: symbolY,\n angle: symbolRotate\n });\n }\n\n hide() {\n this.columnMoverLabel.setAttribute('visible', false);\n this.columnMoverLine.setAttribute('visible', false);\n this.columnMoverBack.setAttribute('visible', false);\n }\n\n update(backX: number | undefined, lineX: number | undefined, backY: number | undefined, lineY: number | undefined) {\n if (typeof backX === 'number' && typeof lineX === 'number') {\n this.columnMoverLabel.setAttribute('x', lineX - this.table.stateManager.scroll.horizontalBarPos);\n this.columnMoverLine.setAttribute('x', lineX - this.table.stateManager.scroll.horizontalBarPos);\n this.columnMoverBack.setAttribute('x', backX);\n } else if (typeof backY === 'number' && typeof lineY === 'number') {\n this.columnMoverLabel.setAttribute('y', lineY - this.table.stateManager.scroll.verticalBarPos);\n this.columnMoverLine.setAttribute('y', lineY - this.table.stateManager.scroll.verticalBarPos);\n this.columnMoverBack.setAttribute('y', backY);\n }\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Group as VGroup } from '
|
|
1
|
+
import { Group as VGroup } from './../../vrender';
|
|
2
2
|
import type { ICustomLayout, ICustomRender } from '../../ts-types';
|
|
3
3
|
import type { BaseTableAPI } from '../../ts-types/base-table';
|
|
4
4
|
export declare function dealWithCustom(customLayout: ICustomLayout, customRender: ICustomRender, col: number, row: number, width: number, height: number, autoWidth: boolean, autoHeight: boolean, padding: [number, number, number, number], table: BaseTableAPI): {
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.decodeReactDom = exports.dealPercentCalc = exports.dealWithCustom = void 0;
|
|
6
6
|
|
|
7
|
-
const vrender_1 = require("
|
|
7
|
+
const vrender_1 = require("./../../vrender"), vutils_1 = require("@visactor/vutils"), icon_1 = require("../graphic/icon");
|
|
8
8
|
|
|
9
9
|
function dealWithCustom(customLayout, customRender, col, row, width, height, autoWidth, autoHeight, padding, table) {
|
|
10
10
|
let expectedWidth, expectedHeight, customElements, elementsGroup, renderDefault = !0, enableCellPadding = !1;
|
|
@@ -75,7 +75,7 @@ function adjustElementToGroup(elements, width, height, value) {
|
|
|
75
75
|
customGroup.name = "custom-container";
|
|
76
76
|
return adjustElementsPos(elements, width, height, value).forEach((element => {
|
|
77
77
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2;
|
|
78
|
-
switch (element.type) {
|
|
78
|
+
switch (element.clickable && (element.pickable = element.clickable), element.type) {
|
|
79
79
|
case "arc":
|
|
80
80
|
const arc = (0, vrender_1.createArc)({
|
|
81
81
|
x: element.x,
|
|
@@ -87,7 +87,7 @@ function adjustElementToGroup(elements, width, height, value) {
|
|
|
87
87
|
outerRadius: element.radius,
|
|
88
88
|
startAngle: element.startAngle,
|
|
89
89
|
endAngle: element.endAngle,
|
|
90
|
-
pickable: !!element.
|
|
90
|
+
pickable: !!element.pickable,
|
|
91
91
|
cursor: element.cursor
|
|
92
92
|
});
|
|
93
93
|
customGroup.appendChild(arc);
|
|
@@ -108,8 +108,8 @@ function adjustElementToGroup(elements, width, height, value) {
|
|
|
108
108
|
});
|
|
109
109
|
customGroup.appendChild(textBackRect);
|
|
110
110
|
}
|
|
111
|
-
const text = new
|
|
112
|
-
pickable: !!element.
|
|
111
|
+
const text = new vrender_1.Text(Object.assign({
|
|
112
|
+
pickable: !!element.pickable,
|
|
113
113
|
fill: null !== (_o = element.color) && void 0 !== _o ? _o : element.fill
|
|
114
114
|
}, element));
|
|
115
115
|
customGroup.appendChild(text);
|
|
@@ -126,7 +126,7 @@ function adjustElementToGroup(elements, width, height, value) {
|
|
|
126
126
|
cornerRadius: element.radius,
|
|
127
127
|
fill: element.fill,
|
|
128
128
|
stroke: element.stroke,
|
|
129
|
-
pickable: !!element.
|
|
129
|
+
pickable: !!element.pickable,
|
|
130
130
|
cursor: element.cursor
|
|
131
131
|
});
|
|
132
132
|
customGroup.appendChild(rect);
|
|
@@ -141,7 +141,7 @@ function adjustElementToGroup(elements, width, height, value) {
|
|
|
141
141
|
radius: element.radius,
|
|
142
142
|
fill: element.fill,
|
|
143
143
|
stroke: element.stroke,
|
|
144
|
-
pickable: !!element.
|
|
144
|
+
pickable: !!element.pickable,
|
|
145
145
|
cursor: element.cursor
|
|
146
146
|
});
|
|
147
147
|
customGroup.appendChild(circle);
|
|
@@ -159,7 +159,7 @@ function adjustElementToGroup(elements, width, height, value) {
|
|
|
159
159
|
backgroundWidth: element.hover ? null !== (_v = element.hover.width) && void 0 !== _v ? _v : element.width : void 0,
|
|
160
160
|
backgroundHeight: element.hover ? null !== (_w = element.hover.width) && void 0 !== _w ? _w : element.width : void 0,
|
|
161
161
|
backgroundColor: element.hover ? null !== (_x = element.hover.bgColor) && void 0 !== _x ? _x : "rgba(22,44,66,0.2)" : void 0,
|
|
162
|
-
pickable: !!element.
|
|
162
|
+
pickable: !!element.pickable,
|
|
163
163
|
cursor: element.cursor
|
|
164
164
|
});
|
|
165
165
|
icon.role = "icon-custom", customGroup.appendChild(icon);
|
|
@@ -177,7 +177,7 @@ function adjustElementToGroup(elements, width, height, value) {
|
|
|
177
177
|
backgroundWidth: element.hover ? null !== (_0 = element.hover.width) && void 0 !== _0 ? _0 : element.width : void 0,
|
|
178
178
|
backgroundHeight: element.hover ? null !== (_1 = element.hover.width) && void 0 !== _1 ? _1 : element.width : void 0,
|
|
179
179
|
backgroundColor: element.hover ? null !== (_2 = element.hover.bgColor) && void 0 !== _2 ? _2 : "rgba(22,44,66,0.2)" : void 0,
|
|
180
|
-
pickable: !!element.
|
|
180
|
+
pickable: !!element.pickable,
|
|
181
181
|
cursor: element.cursor,
|
|
182
182
|
shape: element.shape
|
|
183
183
|
});
|
|
@@ -188,7 +188,7 @@ function adjustElementToGroup(elements, width, height, value) {
|
|
|
188
188
|
const line = (0, vrender_1.createLine)({
|
|
189
189
|
points: element.points,
|
|
190
190
|
stroke: element.stroke,
|
|
191
|
-
pickable: !!element.
|
|
191
|
+
pickable: !!element.pickable,
|
|
192
192
|
cursor: element.cursor
|
|
193
193
|
});
|
|
194
194
|
customGroup.appendChild(line);
|
|
@@ -224,21 +224,38 @@ function transformString(str, size) {
|
|
|
224
224
|
function dealPercentCalc(group, parentWidth, parentHeight) {
|
|
225
225
|
group && group.forEachChildren((child => {
|
|
226
226
|
var _a, _b;
|
|
227
|
-
(0, vutils_1.isObject)(child.attribute.width) && child.attribute.width.percent && child.setAttribute("width", child.attribute.width.percent / 100 * parentWidth + (null !== (_a = child.attribute.width.delta) && void 0 !== _a ? _a : 0)),
|
|
227
|
+
child && ((0, vutils_1.isObject)(child.attribute.width) && child.attribute.width.percent && child.setAttribute("width", child.attribute.width.percent / 100 * parentWidth + (null !== (_a = child.attribute.width.delta) && void 0 !== _a ? _a : 0)),
|
|
228
228
|
(0, vutils_1.isObject)(child.attribute.height) && child.attribute.height.percent && child.setAttribute("height", child.attribute.height.percent / 100 * parentHeight + (null !== (_b = child.attribute.height.delta) && void 0 !== _b ? _b : 0)),
|
|
229
|
-
"group" === child.type && dealPercentCalc(child, child.attribute.width, child.attribute.height);
|
|
229
|
+
"group" === child.type && dealPercentCalc(child, child.attribute.width, child.attribute.height));
|
|
230
230
|
}));
|
|
231
231
|
}
|
|
232
232
|
|
|
233
233
|
function decodeReactDom(dom) {
|
|
234
|
-
if (!dom.$$typeof) return dom;
|
|
235
|
-
const type = dom.type, {attribute: attribute, children: children} = dom.props, g = type({
|
|
234
|
+
if (!dom || !dom.$$typeof) return dom;
|
|
235
|
+
const type = dom.type, {attribute: attribute, children: children, stateProxy: stateProxy} = dom.props, g = type({
|
|
236
236
|
attribute: attribute
|
|
237
237
|
});
|
|
238
|
-
return g
|
|
238
|
+
return parseToGraphic(g, dom.props), stateProxy && (g.stateProxy = stateProxy),
|
|
239
|
+
g.id = attribute.id, g.name = attribute.name, (0, vutils_1.isArray)(children) ? children.forEach((item => {
|
|
239
240
|
const c = decodeReactDom(item);
|
|
240
|
-
g.add(c);
|
|
241
|
-
})), g;
|
|
241
|
+
c && c.type && g.add(c);
|
|
242
|
+
})) : children && g.add(decodeReactDom(children)), g;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
function parseToGraphic(g, props) {
|
|
246
|
+
let isGraphic = !1;
|
|
247
|
+
switch (g.type) {
|
|
248
|
+
case "richtext":
|
|
249
|
+
case "rich/image":
|
|
250
|
+
break;
|
|
251
|
+
|
|
252
|
+
default:
|
|
253
|
+
isGraphic = !0;
|
|
254
|
+
}
|
|
255
|
+
isGraphic && Object.keys(props).forEach((k => {
|
|
256
|
+
const en = vrender_1.REACT_TO_CANOPUS_EVENTS[k];
|
|
257
|
+
en && g.on(en, props[k]);
|
|
258
|
+
}));
|
|
242
259
|
}
|
|
243
260
|
|
|
244
261
|
exports.dealWithCustom = dealWithCustom, exports.dealPercentCalc = dealPercentCalc,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/component/custom.ts"],"names":[],"mappings":"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","file":"custom.js","sourcesContent":["import type { Cursor } from '@visactor/vrender';\nimport { createArc, createCircle, createLine, createRect, Group as VGroup } from '@visactor/vrender';\nimport { isFunction, isObject, isString, isValid } from '@visactor/vutils';\nimport type {\n ICustomLayout,\n ICustomRender,\n ICustomRenderElement,\n ICustomRenderElements,\n RectElement\n} from '../../ts-types';\nimport { Group } from '../graphic/group';\nimport { Icon } from '../graphic/icon';\nimport { WrapText } from '../graphic/text';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { percentCalcObj, Rect } from '../../render/layout';\n\nexport function dealWithCustom(\n customLayout: ICustomLayout,\n customRender: ICustomRender,\n col: number,\n row: number,\n width: number,\n height: number,\n autoWidth: boolean,\n autoHeight: boolean,\n padding: [number, number, number, number],\n table: BaseTableAPI\n) {\n let renderDefault = true;\n let enableCellPadding = false;\n let expectedWidth: number;\n let expectedHeight: number;\n let customElements;\n let elementsGroup: VGroup;\n\n if (typeof customLayout === 'function') {\n const arg = {\n col,\n row,\n dataValue: table.getCellOriginValue(col, row),\n value: table.getCellValue(col, row) || '',\n rect: {\n left: 0,\n top: 0,\n right: width,\n bottom: height,\n width,\n height\n },\n table\n };\n const customRenderObj = customLayout(arg);\n if (customRenderObj.rootContainer) {\n customRenderObj.rootContainer = decodeReactDom(customRenderObj.rootContainer);\n }\n // expectedWidth = customRenderObj.expectedWidth;\n // expectedHeight = customRenderObj.expectedHeight;\n if (customRenderObj.rootContainer instanceof VGroup) {\n elementsGroup = customRenderObj.rootContainer;\n elementsGroup.name = 'custom-container';\n // } else if (customRenderObj.rootContainer) {\n // customElements = customRenderObj.rootContainer.getElements(undefined, false, false);\n }\n renderDefault = customRenderObj.renderDefault;\n enableCellPadding = customRenderObj.enableCellPadding;\n } else if (typeof customRender === 'function') {\n const arg = {\n col,\n row,\n dataValue: table.getCellOriginValue(col, row),\n value: table.getCellValue(col, row) || '',\n rect: {\n left: 0,\n top: 0,\n right: width,\n bottom: height,\n width,\n height\n },\n table\n };\n const customRenderObj = customRender(arg);\n if (customRenderObj) {\n customElements = customRenderObj.elements;\n renderDefault = customRenderObj.renderDefault;\n expectedWidth = customRenderObj.expectedWidth;\n expectedHeight = customRenderObj.expectedHeight;\n }\n } else if (customRender) {\n expectedWidth = customRender.expectedWidth;\n expectedHeight = customRender.expectedHeight;\n customElements = customRender.elements;\n renderDefault = customRender.renderDefault;\n }\n\n if (customElements) {\n const value = table.getCellValue(col, row);\n elementsGroup = adjustElementToGroup(\n customElements,\n autoWidth ? expectedWidth : width,\n autoHeight ? expectedHeight : height,\n value\n );\n }\n\n if (enableCellPadding) {\n elementsGroup.setAttributes({\n x: padding[3],\n y: padding[0],\n width: width - padding[1] - padding[3],\n height: height - padding[0] - padding[2]\n });\n }\n\n // for percent calc\n dealPercentCalc(elementsGroup, width, height);\n\n return {\n elementsGroup,\n renderDefault\n };\n}\n\nfunction adjustElementToGroup(\n elements: ICustomRenderElements,\n width: number,\n height: number,\n value: any\n): VGroup | undefined {\n const customGroup = new VGroup({\n x: 0,\n y: 0,\n width,\n height,\n fill: false,\n stroke: false,\n pickable: false\n });\n customGroup.name = 'custom-container';\n\n const elementsAdjusted = adjustElementsPos(elements, width, height, value);\n elementsAdjusted.forEach(element => {\n switch (element.type) {\n case 'arc':\n const arc = createArc({\n x: element.x as number,\n y: element.y as number,\n dx: (element.dx ?? 0) as number,\n dy: (element.dy ?? 0) as number,\n fill: element.fill as string,\n stroke: element.stroke as string,\n outerRadius: element.radius as number,\n startAngle: element.startAngle as number,\n endAngle: element.endAngle as number,\n pickable: !!element.clickable,\n cursor: element.cursor as Cursor\n });\n customGroup.appendChild(arc);\n break;\n case 'text':\n if (element.background) {\n const expandX = element.background?.expandX ?? 0;\n const expandY = element.background?.expandY ?? 0;\n const textBackRect = createRect({\n x: (element.x as number) - expandX,\n y: (element.y as number) - expandY,\n dx: (element.dx ?? 0) as number,\n dy: (element.dy ?? 0) as number,\n width: element.width + expandX * 2,\n height: element.height + expandY * 2,\n cornerRadius: element.background?.cornerRadius ?? 0,\n // fill: true,\n fill: element.background?.fill ?? '#888'\n });\n customGroup.appendChild(textBackRect);\n }\n const text = new WrapText(\n Object.assign(\n {\n pickable: !!element.clickable,\n fill: element.color ?? element.fill\n },\n element as any\n )\n );\n customGroup.appendChild(text);\n break;\n case 'rect':\n const rect = createRect({\n x: element.x as number,\n y: element.y as number,\n dx: (element.dx ?? 0) as number,\n dy: (element.dy ?? 0) as number,\n width: element.width as number,\n height: element.height as number,\n cornerRadius: element.radius as number,\n fill: element.fill as string,\n stroke: element.stroke as string,\n pickable: !!element.clickable,\n cursor: element.cursor as Cursor\n });\n customGroup.appendChild(rect);\n break;\n case 'circle':\n const circle = createCircle({\n x: element.x as number,\n y: element.y as number,\n dx: (element.dx ?? 0) as number,\n dy: (element.dy ?? 0) as number,\n radius: element.radius as number,\n fill: element.fill as string,\n stroke: element.stroke as string,\n pickable: !!element.clickable,\n cursor: element.cursor as Cursor\n });\n customGroup.appendChild(circle);\n break;\n case 'icon':\n const icon = new Icon({\n x: element.x as number,\n y: element.y as number,\n dx: (element.dx ?? 0) as number,\n dy: (element.dy ?? 0) as number,\n width: element.width as number,\n height: element.height as number,\n image: element.svg as string,\n backgroundWidth: element.hover ? ((element.hover.width ?? element.width) as number) : undefined,\n backgroundHeight: element.hover ? ((element.hover.width ?? element.width) as number) : undefined,\n backgroundColor: element.hover ? element.hover.bgColor ?? 'rgba(22,44,66,0.2)' : undefined,\n pickable: !!element.clickable,\n cursor: element.cursor as Cursor\n });\n icon.role = 'icon-custom';\n customGroup.appendChild(icon);\n break;\n case 'image':\n const image = new Icon({\n x: element.x as number,\n y: element.y as number,\n dx: (element.dx ?? 0) as number,\n dy: (element.dy ?? 0) as number,\n width: element.width as number,\n height: element.height as number,\n image: element.src as string,\n backgroundWidth: element.hover ? ((element.hover.width ?? element.width) as number) : undefined,\n backgroundHeight: element.hover ? ((element.hover.width ?? element.width) as number) : undefined,\n backgroundColor: element.hover ? element.hover.bgColor ?? 'rgba(22,44,66,0.2)' : undefined,\n pickable: !!element.clickable,\n cursor: element.cursor as Cursor,\n shape: element.shape\n });\n image.role = 'image-custom';\n customGroup.appendChild(image);\n break;\n\n case 'line':\n const line = createLine({\n points: element.points,\n stroke: element.stroke as string,\n pickable: !!element.clickable,\n cursor: element.cursor as Cursor\n });\n customGroup.appendChild(line);\n break;\n }\n });\n\n return customGroup;\n}\n\nfunction adjustElementsPos(\n originalElements: ICustomRenderElements,\n // rect: RectProps,\n width: number,\n height: number,\n // borderLineWidths: number[],\n value: any\n): ICustomRenderElements {\n const result: ICustomRenderElements = [];\n // const { left, top, width, height } = rect;\n const left = 0;\n const top = 0;\n const borderLineWidths = [0, 0, 0, 0];\n\n for (let i = 0; i < originalElements.length; i++) {\n const originalElement = originalElements[i];\n const element = Object.assign({}, originalElement);\n // 执行相关函数\n for (const name in element) {\n if (element.hasOwnProperty(name) && isFunction(element[name])) {\n element[name] = (element[name] as Function)(value);\n }\n }\n\n // 转换字符串值(百分比、px)\n const rect = element as RectElement;\n if (isValid(rect.x)) {\n rect.x = isString(rect.x)\n ? transformString((rect as any).x as string, width - borderLineWidths[1])\n : Number(rect.x);\n }\n if (isValid(rect.y)) {\n rect.y = isString(rect.y)\n ? transformString((rect as any).y as string, height - borderLineWidths[2])\n : Number(rect.y);\n }\n if ('width' in element) {\n element.width = isString(element.width)\n ? transformString(element.width as string, width - borderLineWidths[1])\n : Number(element.width);\n }\n if ('height' in element) {\n element.height = isString(element.height)\n ? transformString(element.height as string, height - borderLineWidths[2])\n : Number(element.height);\n }\n if ('radius' in element) {\n element.radius = isString(element.radius)\n ? transformString(element.radius as string, Math.min(width - borderLineWidths[1], height - borderLineWidths[2]))\n : Number(element.radius);\n }\n if ('hover' in element) {\n // 转换字符串值(百分比、px)\n element.hover.x = isString(element.hover.x)\n ? transformString(element.hover.x as string, width - borderLineWidths[1])\n : Number(element.hover.x);\n element.hover.y = isString(element.hover.y)\n ? transformString(element.hover.y as string, height - borderLineWidths[2])\n : Number(element.hover.y);\n element.hover.width = isString(element.hover.width)\n ? transformString(element.hover.width as string, width - borderLineWidths[1])\n : Number(element.hover.width);\n\n element.hover.height = isString(element.hover.height)\n ? transformString(element.hover.height as string, height - borderLineWidths[2])\n : Number(element.hover.height);\n element.hover.x += left;\n element.hover.y += top;\n }\n // 矫正位置\n rect.x = rect.x + left;\n rect.y = rect.y + top;\n\n result.push(element as unknown as ICustomRenderElement);\n }\n\n return result;\n}\n\nfunction transformString(str: string, size?: number): number {\n if (str.endsWith('px')) {\n return parseInt(str, 10);\n } else if (str.endsWith('%') && size) {\n return (parseInt(str, 10) / 100) * size;\n }\n return parseInt(str, 10);\n}\n\nexport function dealPercentCalc(group: VGroup, parentWidth: number, parentHeight: number) {\n if (!group) {\n return;\n }\n group.forEachChildren((child: VGroup) => {\n if (isObject(child.attribute.width) && (child.attribute.width as percentCalcObj).percent) {\n child.setAttribute(\n 'width',\n ((child.attribute.width as percentCalcObj).percent / 100) * parentWidth +\n ((child.attribute.width as percentCalcObj).delta ?? 0)\n );\n }\n\n if (isObject(child.attribute.height) && (child.attribute.height as percentCalcObj).percent) {\n child.setAttribute(\n 'height',\n ((child.attribute.height as percentCalcObj).percent / 100) * parentHeight +\n ((child.attribute.height as percentCalcObj).delta ?? 0)\n );\n }\n\n if (child.type === 'group') {\n dealPercentCalc(child, child.attribute.width, child.attribute.height);\n }\n });\n}\n\n// temp devode for react jsx customLayout\nexport function decodeReactDom(dom: any) {\n if (!dom.$$typeof) {\n // not react\n return dom;\n }\n const type = dom.type;\n const { attribute, children } = dom.props;\n const g = type({ attribute });\n g.id = attribute.id;\n g.name = attribute.name;\n children &&\n children.length &&\n children.forEach((item: any) => {\n const c = decodeReactDom(item);\n g.add(c);\n });\n return g;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/component/custom.ts"],"names":[],"mappings":"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","file":"custom.js","sourcesContent":["import type { Cursor } from './../../vrender';\nimport {\n createArc,\n createCircle,\n createLine,\n createRect,\n REACT_TO_CANOPUS_EVENTS,\n Text,\n Group as VGroup\n} from './../../vrender';\nimport { isArray, isFunction, isObject, isString, isValid } from '@visactor/vutils';\nimport type {\n ICustomLayout,\n ICustomRender,\n ICustomRenderElement,\n ICustomRenderElements,\n RectElement\n} from '../../ts-types';\nimport { Icon } from '../graphic/icon';\nimport type { BaseTableAPI } from '../../ts-types/base-table';\nimport type { percentCalcObj } from '../../render/layout';\n\nexport function dealWithCustom(\n customLayout: ICustomLayout,\n customRender: ICustomRender,\n col: number,\n row: number,\n width: number,\n height: number,\n autoWidth: boolean,\n autoHeight: boolean,\n padding: [number, number, number, number],\n table: BaseTableAPI\n) {\n let renderDefault = true;\n let enableCellPadding = false;\n let expectedWidth: number;\n let expectedHeight: number;\n let customElements;\n let elementsGroup: VGroup;\n\n if (typeof customLayout === 'function') {\n const arg = {\n col,\n row,\n dataValue: table.getCellOriginValue(col, row),\n value: table.getCellValue(col, row) || '',\n rect: {\n left: 0,\n top: 0,\n right: width,\n bottom: height,\n width,\n height\n },\n table\n };\n const customRenderObj = customLayout(arg);\n if (customRenderObj.rootContainer) {\n customRenderObj.rootContainer = decodeReactDom(customRenderObj.rootContainer);\n }\n // expectedWidth = customRenderObj.expectedWidth;\n // expectedHeight = customRenderObj.expectedHeight;\n if (customRenderObj.rootContainer instanceof VGroup) {\n elementsGroup = customRenderObj.rootContainer;\n elementsGroup.name = 'custom-container';\n // } else if (customRenderObj.rootContainer) {\n // customElements = customRenderObj.rootContainer.getElements(undefined, false, false);\n }\n renderDefault = customRenderObj.renderDefault;\n enableCellPadding = customRenderObj.enableCellPadding;\n } else if (typeof customRender === 'function') {\n const arg = {\n col,\n row,\n dataValue: table.getCellOriginValue(col, row),\n value: table.getCellValue(col, row) || '',\n rect: {\n left: 0,\n top: 0,\n right: width,\n bottom: height,\n width,\n height\n },\n table\n };\n const customRenderObj = customRender(arg);\n if (customRenderObj) {\n customElements = customRenderObj.elements;\n renderDefault = customRenderObj.renderDefault;\n expectedWidth = customRenderObj.expectedWidth;\n expectedHeight = customRenderObj.expectedHeight;\n }\n } else if (customRender) {\n expectedWidth = customRender.expectedWidth;\n expectedHeight = customRender.expectedHeight;\n customElements = customRender.elements;\n renderDefault = customRender.renderDefault;\n }\n\n if (customElements) {\n const value = table.getCellValue(col, row);\n elementsGroup = adjustElementToGroup(\n customElements,\n autoWidth ? expectedWidth : width,\n autoHeight ? expectedHeight : height,\n value\n );\n }\n\n if (enableCellPadding) {\n elementsGroup.setAttributes({\n x: padding[3],\n y: padding[0],\n width: width - padding[1] - padding[3],\n height: height - padding[0] - padding[2]\n });\n }\n\n // for percent calc\n dealPercentCalc(elementsGroup, width, height);\n\n return {\n elementsGroup,\n renderDefault\n };\n}\n\nfunction adjustElementToGroup(\n elements: ICustomRenderElements,\n width: number,\n height: number,\n value: any\n): VGroup | undefined {\n const customGroup = new VGroup({\n x: 0,\n y: 0,\n width,\n height,\n fill: false,\n stroke: false,\n pickable: false\n });\n customGroup.name = 'custom-container';\n\n const elementsAdjusted = adjustElementsPos(elements, width, height, value);\n elementsAdjusted.forEach(element => {\n if ((element as any).clickable) {\n element.pickable = (element as any).clickable;\n }\n switch (element.type) {\n case 'arc':\n const arc = createArc({\n x: element.x as number,\n y: element.y as number,\n dx: (element.dx ?? 0) as number,\n dy: (element.dy ?? 0) as number,\n fill: element.fill as string,\n stroke: element.stroke as string,\n outerRadius: element.radius as number,\n startAngle: element.startAngle as number,\n endAngle: element.endAngle as number,\n pickable: !!element.pickable,\n cursor: element.cursor as Cursor\n });\n customGroup.appendChild(arc);\n break;\n case 'text':\n if (element.background) {\n const expandX = element.background?.expandX ?? 0;\n const expandY = element.background?.expandY ?? 0;\n const textBackRect = createRect({\n x: (element.x as number) - expandX,\n y: (element.y as number) - expandY,\n dx: (element.dx ?? 0) as number,\n dy: (element.dy ?? 0) as number,\n width: element.width + expandX * 2,\n height: element.height + expandY * 2,\n cornerRadius: element.background?.cornerRadius ?? 0,\n // fill: true,\n fill: element.background?.fill ?? '#888'\n });\n customGroup.appendChild(textBackRect);\n }\n const text = new Text(\n Object.assign(\n {\n pickable: !!element.pickable,\n fill: element.color ?? element.fill\n },\n element as any\n )\n );\n customGroup.appendChild(text);\n break;\n case 'rect':\n const rect = createRect({\n x: element.x as number,\n y: element.y as number,\n dx: (element.dx ?? 0) as number,\n dy: (element.dy ?? 0) as number,\n width: element.width as number,\n height: element.height as number,\n cornerRadius: element.radius as number,\n fill: element.fill as string,\n stroke: element.stroke as string,\n pickable: !!element.pickable,\n cursor: element.cursor as Cursor\n });\n customGroup.appendChild(rect);\n break;\n case 'circle':\n const circle = createCircle({\n x: element.x as number,\n y: element.y as number,\n dx: (element.dx ?? 0) as number,\n dy: (element.dy ?? 0) as number,\n radius: element.radius as number,\n fill: element.fill as string,\n stroke: element.stroke as string,\n pickable: !!element.pickable,\n cursor: element.cursor as Cursor\n });\n customGroup.appendChild(circle);\n break;\n case 'icon':\n const icon = new Icon({\n x: element.x as number,\n y: element.y as number,\n dx: (element.dx ?? 0) as number,\n dy: (element.dy ?? 0) as number,\n width: element.width as number,\n height: element.height as number,\n image: element.svg as string,\n backgroundWidth: element.hover ? ((element.hover.width ?? element.width) as number) : undefined,\n backgroundHeight: element.hover ? ((element.hover.width ?? element.width) as number) : undefined,\n backgroundColor: element.hover ? element.hover.bgColor ?? 'rgba(22,44,66,0.2)' : undefined,\n pickable: !!element.pickable,\n cursor: element.cursor as Cursor\n });\n icon.role = 'icon-custom';\n customGroup.appendChild(icon);\n break;\n case 'image':\n const image = new Icon({\n x: element.x as number,\n y: element.y as number,\n dx: (element.dx ?? 0) as number,\n dy: (element.dy ?? 0) as number,\n width: element.width as number,\n height: element.height as number,\n image: element.src as string,\n backgroundWidth: element.hover ? ((element.hover.width ?? element.width) as number) : undefined,\n backgroundHeight: element.hover ? ((element.hover.width ?? element.width) as number) : undefined,\n backgroundColor: element.hover ? element.hover.bgColor ?? 'rgba(22,44,66,0.2)' : undefined,\n pickable: !!element.pickable,\n cursor: element.cursor as Cursor,\n shape: element.shape\n });\n image.role = 'image-custom';\n customGroup.appendChild(image);\n break;\n\n case 'line':\n const line = createLine({\n points: element.points,\n stroke: element.stroke as string,\n pickable: !!element.pickable,\n cursor: element.cursor as Cursor\n });\n customGroup.appendChild(line);\n break;\n }\n });\n\n return customGroup;\n}\n\nfunction adjustElementsPos(\n originalElements: ICustomRenderElements,\n // rect: RectProps,\n width: number,\n height: number,\n // borderLineWidths: number[],\n value: any\n): ICustomRenderElements {\n const result: ICustomRenderElements = [];\n // const { left, top, width, height } = rect;\n const left = 0;\n const top = 0;\n const borderLineWidths = [0, 0, 0, 0];\n\n for (let i = 0; i < originalElements.length; i++) {\n const originalElement = originalElements[i];\n const element = Object.assign({}, originalElement);\n // 执行相关函数\n for (const name in element) {\n if (element.hasOwnProperty(name) && isFunction(element[name])) {\n element[name] = (element[name] as Function)(value);\n }\n }\n\n // 转换字符串值(百分比、px)\n const rect = element as RectElement;\n if (isValid(rect.x)) {\n rect.x = isString(rect.x)\n ? transformString((rect as any).x as string, width - borderLineWidths[1])\n : Number(rect.x);\n }\n if (isValid(rect.y)) {\n rect.y = isString(rect.y)\n ? transformString((rect as any).y as string, height - borderLineWidths[2])\n : Number(rect.y);\n }\n if ('width' in element) {\n element.width = isString(element.width)\n ? transformString(element.width as string, width - borderLineWidths[1])\n : Number(element.width);\n }\n if ('height' in element) {\n element.height = isString(element.height)\n ? transformString(element.height as string, height - borderLineWidths[2])\n : Number(element.height);\n }\n if ('radius' in element) {\n element.radius = isString(element.radius)\n ? transformString(element.radius as string, Math.min(width - borderLineWidths[1], height - borderLineWidths[2]))\n : Number(element.radius);\n }\n if ('hover' in element) {\n // 转换字符串值(百分比、px)\n element.hover.x = isString(element.hover.x)\n ? transformString(element.hover.x as string, width - borderLineWidths[1])\n : Number(element.hover.x);\n element.hover.y = isString(element.hover.y)\n ? transformString(element.hover.y as string, height - borderLineWidths[2])\n : Number(element.hover.y);\n element.hover.width = isString(element.hover.width)\n ? transformString(element.hover.width as string, width - borderLineWidths[1])\n : Number(element.hover.width);\n\n element.hover.height = isString(element.hover.height)\n ? transformString(element.hover.height as string, height - borderLineWidths[2])\n : Number(element.hover.height);\n element.hover.x += left;\n element.hover.y += top;\n }\n // 矫正位置\n rect.x = rect.x + left;\n rect.y = rect.y + top;\n\n result.push(element as unknown as ICustomRenderElement);\n }\n\n return result;\n}\n\nfunction transformString(str: string, size?: number): number {\n if (str.endsWith('px')) {\n return parseInt(str, 10);\n } else if (str.endsWith('%') && size) {\n return (parseInt(str, 10) / 100) * size;\n }\n return parseInt(str, 10);\n}\n\nexport function dealPercentCalc(group: VGroup, parentWidth: number, parentHeight: number) {\n if (!group) {\n return;\n }\n group.forEachChildren((child: VGroup) => {\n if (!child) {\n return;\n }\n if (isObject(child.attribute.width) && (child.attribute.width as percentCalcObj).percent) {\n child.setAttribute(\n 'width',\n ((child.attribute.width as percentCalcObj).percent / 100) * parentWidth +\n ((child.attribute.width as percentCalcObj).delta ?? 0)\n );\n }\n\n if (isObject(child.attribute.height) && (child.attribute.height as percentCalcObj).percent) {\n child.setAttribute(\n 'height',\n ((child.attribute.height as percentCalcObj).percent / 100) * parentHeight +\n ((child.attribute.height as percentCalcObj).delta ?? 0)\n );\n }\n\n if (child.type === 'group') {\n dealPercentCalc(child, child.attribute.width, child.attribute.height);\n }\n });\n}\n\n// temp devode for react jsx customLayout\nexport function decodeReactDom(dom: any) {\n if (!dom || !dom.$$typeof) {\n // not react\n return dom;\n }\n const type = dom.type;\n const { attribute, children, stateProxy } = dom.props;\n const g = type({ attribute });\n parseToGraphic(g, dom.props);\n if (stateProxy) {\n g.stateProxy = stateProxy;\n }\n\n g.id = attribute.id;\n g.name = attribute.name;\n if (isArray(children)) {\n children.forEach((item: any) => {\n const c = decodeReactDom(item);\n c && c.type && g.add(c);\n });\n } else if (children) {\n g.add(decodeReactDom(children));\n }\n return g;\n}\n\nfunction parseToGraphic(g: any, props: any) {\n let isGraphic: boolean = false;\n switch (g.type) {\n case 'richtext':\n break;\n // case 'rich/text':\n // out = g.attribute || {};\n // childrenList[0] && (out.text = childrenList[0]);\n // break;\n case 'rich/image':\n break;\n default:\n isGraphic = true;\n }\n\n if (isGraphic) {\n // childrenList.forEach((c: any) => {\n // c && g.add(c);\n // });\n\n Object.keys(props).forEach(k => {\n const en = REACT_TO_CANOPUS_EVENTS[k];\n if (en) {\n g.on(en, props[k]);\n }\n });\n\n // } else {\n // if (g.type === 'richtext') {\n // g.attribute.textConfig = childrenList.map(item => item.attribute).filter(item => item);\n // }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scenegraph/component/drill-icon.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAAuC;AACvC,mDAAqC;AAKrC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;AAE/B,MAAa,SAAS;IAGpB;QACE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAoB,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC;YACnB,CAAC,EAAE,CAAC,IAAI;YACR,CAAC,EAAE,CAAC,IAAI;YACR,KAAK,EAAE,UAAU,CAAC,GAAG;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;YACzB,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAC1B,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAgB;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAAa;QAClB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,OAAgB,EAAE,CAAS,EAAE,CAAS,EAAE,SAAkB,EAAE,OAAgB,EAAE,KAAiB;QACpG,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;gBACtB,CAAC,EAAE,CAAC,IAAI;gBACR,CAAC,EAAE,CAAC,IAAI;gBACR,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,OAAO;SACR;QAED,MAAM,eAAe,GAAG,UAAU,CAAC,SAAoB,CAAC;QACxD,MAAM,aAAa,GAAG,UAAU,CAAC,OAAkB,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YACtB,CAAC;YACD,CAAC;YACD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG;YAC1D,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/C,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC;CACF;AA9CD,8BA8CC","file":"drill-icon.js","sourcesContent":["import type { Cursor } from '
|
|
1
|
+
{"version":3,"sources":["../src/scenegraph/component/drill-icon.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,0CAAuC;AACvC,mDAAqC;AAKrC,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;AAE/B,MAAa,SAAS;IAGpB;QACE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAoB,CAAC;QACnD,IAAI,CAAC,IAAI,GAAG,IAAI,WAAI,CAAC;YACnB,CAAC,EAAE,CAAC,IAAI;YACR,CAAC,EAAE,CAAC,IAAI;YACR,KAAK,EAAE,UAAU,CAAC,GAAG;YACrB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,MAAM,EAAE,UAAU,CAAC,MAAM;YACzB,EAAE,EAAE,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC;YACzB,EAAE,EAAE,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;YAC1B,OAAO,EAAE,KAAK;YACd,QAAQ,EAAE,UAAU,CAAC,QAAQ;YAC7B,MAAM,EAAE,UAAU,CAAC,MAAgB;SACpC,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,MAAa;QAClB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,MAAM,CAAC,OAAgB,EAAE,CAAS,EAAE,CAAS,EAAE,SAAkB,EAAE,OAAgB,EAAE,KAAiB;QACpG,IAAI,CAAC,OAAO,IAAI,CAAC,SAAS,IAAI,OAAO,CAAC,EAAE;YACtC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;gBACtB,CAAC,EAAE,CAAC,IAAI;gBACR,CAAC,EAAE,CAAC,IAAI;gBACR,OAAO,EAAE,KAAK;aACf,CAAC,CAAC;YACH,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,OAAO;SACR;QAED,MAAM,eAAe,GAAG,UAAU,CAAC,SAAoB,CAAC;QACxD,MAAM,aAAa,GAAG,UAAU,CAAC,OAAkB,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;YACtB,CAAC;YACD,CAAC;YACD,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG;YAC1D,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC/C,KAAK,CAAC,eAAe,EAAE,CAAC;IAC1B,CAAC;CACF;AA9CD,8BA8CC","file":"drill-icon.js","sourcesContent":["import type { Cursor } from './../../vrender';\nimport { Icon } from '../graphic/icon';\nimport * as icons from '../../icons';\nimport type { SvgIcon } from '../../ts-types';\nimport type { Group } from '../graphic/group';\nimport type { Scenegraph } from '../scenegraph';\n\nconst regedIcons = icons.get();\n\nexport class DrillIcon {\n icon: Icon;\n\n constructor() {\n const iconOption = regedIcons.drillDown as SvgIcon;\n this.icon = new Icon({\n x: -1000,\n y: -1000,\n image: iconOption.svg,\n width: iconOption.width,\n height: iconOption.height,\n dx: -iconOption.width / 2,\n dy: -iconOption.height / 2,\n visible: false,\n funcType: iconOption.funcType,\n cursor: iconOption.cursor as Cursor\n });\n this.icon.role = 'icon-drill';\n }\n\n appand(parent: Group) {\n parent.appendChild(this.icon);\n }\n\n update(visible: boolean, x: number, y: number, drillDown: boolean, drillUp: boolean, scene: Scenegraph) {\n if (!visible || (drillDown && drillUp)) {\n this.icon.setAttributes({\n x: -1000,\n y: -1000,\n visible: false\n });\n scene.updateNextFrame();\n return;\n }\n\n const drillDownOption = regedIcons.drillDown as SvgIcon;\n const drillUpOption = regedIcons.drillUp as SvgIcon;\n this.icon.setAttributes({\n x,\n y,\n image: drillDown ? drillDownOption.svg : drillUpOption.svg,\n visible: true\n });\n this.icon.loadImage(this.icon.attribute.image);\n scene.updateNextFrame();\n }\n}\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.MenuHandler = exports.MenuType = void 0;
|
|
6
6
|
|
|
7
|
-
const vrender_1 = require("
|
|
7
|
+
const vrender_1 = require("./../../vrender"), TABLE_EVENT_TYPE_1 = require("../../core/TABLE_EVENT_TYPE"), group_1 = require("../graphic/group"), icon_1 = require("../graphic/icon");
|
|
8
8
|
|
|
9
9
|
var MenuType;
|
|
10
10
|
|