@visactor/vtable 0.9.2-alpha.0 → 0.9.2-alpha.2
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 +2 -1
- package/cjs/ListTable.js +17 -13
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.d.ts +68 -0
- package/cjs/PivotChart.js +427 -0
- package/cjs/PivotChart.js.map +1 -0
- package/cjs/PivotTable.d.ts +2 -1
- package/cjs/PivotTable.js +18 -13
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/body-helper/style/MultilineTextStyle.js +2 -2
- package/cjs/body-helper/style/MultilineTextStyle.js.map +1 -1
- package/cjs/body-helper/style/ProgressBarStyle.js +15 -15
- package/cjs/body-helper/style/ProgressBarStyle.js.map +1 -1
- package/cjs/body-helper/style/Style.d.ts +0 -1
- package/cjs/body-helper/style/Style.js +25 -28
- package/cjs/body-helper/style/Style.js.map +1 -1
- package/cjs/components/axis/axis.d.ts +45 -0
- package/cjs/components/axis/axis.js +146 -0
- package/cjs/components/axis/axis.js.map +1 -0
- package/cjs/components/axis/band-scale.d.ts +18 -0
- package/cjs/components/axis/band-scale.js +54 -0
- package/cjs/components/axis/band-scale.js.map +1 -0
- package/cjs/components/axis/get-axis-attributes.d.ts +136 -0
- package/cjs/components/axis/get-axis-attributes.js +169 -0
- package/cjs/components/axis/get-axis-attributes.js.map +1 -0
- package/cjs/components/axis/label-overlap.d.ts +3 -0
- package/cjs/components/axis/label-overlap.js +46 -0
- package/cjs/components/axis/label-overlap.js.map +1 -0
- package/cjs/components/axis/linear-scale.d.ts +45 -0
- package/cjs/components/axis/linear-scale.js +120 -0
- package/cjs/components/axis/linear-scale.js.map +1 -0
- package/cjs/components/legend/get-legend-attributes.d.ts +5 -0
- package/cjs/components/legend/get-legend-attributes.js +90 -0
- package/cjs/components/legend/get-legend-attributes.js.map +1 -0
- package/cjs/components/legend/legend.d.ts +23 -0
- package/cjs/components/legend/legend.js +94 -0
- package/cjs/components/legend/legend.js.map +1 -0
- package/cjs/{menu → components/menu}/dom/BaseMenu.d.ts +2 -2
- package/cjs/components/menu/dom/BaseMenu.js.map +1 -0
- package/cjs/components/menu/dom/Menu.js.map +1 -0
- package/{es → cjs/components}/menu/dom/MenuHandler.d.ts +2 -2
- package/cjs/{menu → components/menu}/dom/MenuHandler.js +1 -1
- package/cjs/components/menu/dom/MenuHandler.js.map +1 -0
- package/cjs/{menu → components/menu}/dom/logic/MenuContainer.d.ts +2 -2
- package/cjs/{menu → components/menu}/dom/logic/MenuContainer.js +2 -2
- package/cjs/components/menu/dom/logic/MenuContainer.js.map +1 -0
- package/cjs/{menu → components/menu}/dom/logic/MenuElement.d.ts +2 -2
- package/cjs/{menu → components/menu}/dom/logic/MenuElement.js +4 -4
- package/cjs/components/menu/dom/logic/MenuElement.js.map +1 -0
- package/cjs/components/menu/dom/logic/MenuElementStyle.js.map +1 -0
- package/cjs/components/title/title.d.ts +12 -0
- package/cjs/components/title/title.js +66 -0
- package/cjs/components/title/title.js.map +1 -0
- package/cjs/{tooltip → components/tooltip}/BaseTooltip.d.ts +3 -3
- package/cjs/components/tooltip/BaseTooltip.js.map +1 -0
- package/cjs/components/tooltip/Tooltip.js.map +1 -0
- package/{es → cjs/components}/tooltip/TooltipHandler.d.ts +4 -4
- package/cjs/{tooltip → components/tooltip}/TooltipHandler.js +1 -1
- package/cjs/components/tooltip/TooltipHandler.js.map +1 -0
- package/cjs/{tooltip → components/tooltip}/logic/BubbleTooltipElement.d.ts +4 -4
- package/cjs/{tooltip → components/tooltip}/logic/BubbleTooltipElement.js +1 -1
- package/cjs/components/tooltip/logic/BubbleTooltipElement.js.map +1 -0
- package/cjs/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -0
- package/cjs/components/util/orient.d.ts +3 -0
- package/cjs/components/util/orient.js +14 -0
- package/cjs/components/util/orient.js.map +1 -0
- package/cjs/components/util/register.d.ts +3 -0
- package/cjs/components/util/register.js +15 -0
- package/cjs/components/util/register.js.map +1 -0
- package/cjs/components/util/tick-data/config.d.ts +1 -0
- package/cjs/components/util/tick-data/config.js +6 -0
- package/cjs/components/util/tick-data/config.js.map +1 -0
- package/cjs/components/util/tick-data/continuous.d.ts +2 -0
- package/cjs/components/util/tick-data/continuous.js +39 -0
- package/cjs/components/util/tick-data/continuous.js.map +1 -0
- package/cjs/components/util/tick-data/discrete/linear.d.ts +2 -0
- package/cjs/components/util/tick-data/discrete/linear.js +66 -0
- package/cjs/components/util/tick-data/discrete/linear.js.map +1 -0
- package/cjs/components/util/tick-data/discrete/polar-angle.d.ts +2 -0
- package/cjs/components/util/tick-data/discrete/polar-angle.js +46 -0
- package/cjs/components/util/tick-data/discrete/polar-angle.js.map +1 -0
- package/cjs/components/util/tick-data/index.d.ts +2 -0
- package/cjs/components/util/tick-data/index.js +17 -0
- package/cjs/components/util/tick-data/index.js.map +1 -0
- package/cjs/components/util/tick-data/util.d.ts +21 -0
- package/cjs/components/util/tick-data/util.js +115 -0
- package/cjs/components/util/tick-data/util.js.map +1 -0
- package/cjs/components/util/transform.d.ts +5 -0
- package/cjs/components/util/transform.js +45 -0
- package/cjs/components/util/transform.js.map +1 -0
- package/cjs/core/BaseTable.d.ts +18 -5
- package/cjs/core/BaseTable.js +99 -39
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/TABLE_EVENT_TYPE.d.ts +3 -0
- package/cjs/core/TABLE_EVENT_TYPE.js +4 -1
- package/cjs/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/cjs/core/style.js +1 -1
- package/cjs/core/style.js.map +1 -1
- package/cjs/core/tableHelper.js +1 -2
- package/cjs/data/CachedDataSource.js +2 -1
- package/cjs/data/DataSource.js +2 -2
- package/cjs/data/DataSource.js.map +1 -1
- package/cjs/dataset/dataset.d.ts +12 -19
- package/cjs/dataset/dataset.js +168 -196
- package/cjs/dataset/dataset.js.map +1 -1
- package/cjs/dataset/statistics-helper.d.ts +68 -0
- package/cjs/dataset/statistics-helper.js +173 -0
- package/cjs/dataset/statistics-helper.js.map +1 -0
- package/cjs/dataset/util/zero-align.d.ts +10 -0
- package/cjs/dataset/util/zero-align.js +119 -0
- package/cjs/dataset/util/zero-align.js.map +1 -0
- package/cjs/event/EventHandler.js.map +1 -1
- package/cjs/event/EventTarget.d.ts +5 -5
- package/cjs/event/EventTarget.js +2 -2
- package/cjs/event/EventTarget.js.map +1 -1
- package/cjs/event/VChartEventProxy.d.ts +1 -0
- package/cjs/event/VChartEventProxy.js +1 -0
- package/cjs/event/VChartEventProxy.js.map +1 -0
- package/cjs/event/event.js +7 -4
- package/cjs/event/event.js.map +1 -1
- package/cjs/event/listener/table-group.js +8 -6
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/event/pivot-chart/axis-click.d.ts +2 -0
- package/cjs/event/pivot-chart/axis-click.js +42 -0
- package/cjs/event/pivot-chart/axis-click.js.map +1 -0
- package/cjs/event/sparkline-event.js.map +1 -1
- package/cjs/event/util.js +0 -1
- package/cjs/header-helper/header-helper.js +1 -1
- package/cjs/header-helper/header-helper.js.map +1 -1
- package/cjs/header-helper/style/MultilineTextHeaderStyle.js +2 -2
- package/cjs/header-helper/style/MultilineTextHeaderStyle.js.map +1 -1
- package/cjs/header-helper/style/Style.d.ts +0 -1
- package/cjs/header-helper/style/Style.js +25 -28
- package/cjs/header-helper/style/Style.js.map +1 -1
- package/cjs/index.d.ts +4 -3
- package/cjs/index.js +11 -2
- package/cjs/index.js.map +1 -1
- package/cjs/layout/index.js +2 -1
- package/cjs/layout/pivot-chart/get-axis-config.d.ts +2 -0
- package/cjs/layout/pivot-chart/get-axis-config.js +118 -0
- package/cjs/layout/pivot-chart/get-axis-config.js.map +1 -0
- package/cjs/layout/pivot-chart/get-chart-spec.d.ts +4 -0
- package/cjs/layout/pivot-chart/get-chart-spec.js +118 -0
- package/cjs/layout/pivot-chart/get-chart-spec.js.map +1 -0
- package/cjs/layout/pivot-header-layout.d.ts +11 -5
- package/cjs/layout/pivot-header-layout.js +42 -12
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/layout/pivot-layout.d.ts +53 -8
- package/cjs/layout/pivot-layout.js +393 -89
- package/cjs/layout/pivot-layout.js.map +1 -1
- package/cjs/layout/simple-header-layout.d.ts +8 -0
- package/cjs/layout/simple-header-layout.js +34 -0
- package/cjs/layout/simple-header-layout.js.map +1 -1
- package/cjs/scenegraph/component/table-component.js +3 -3
- package/cjs/scenegraph/component/table-component.js.map +1 -1
- package/cjs/scenegraph/graphic/chart.d.ts +3 -0
- package/cjs/scenegraph/graphic/chart.js +21 -6
- package/cjs/scenegraph/graphic/chart.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/chart-render.js +15 -3
- package/cjs/scenegraph/graphic/contributions/chart-render.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +8 -3
- package/cjs/scenegraph/group-creater/cell-helper.js.map +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/column.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.d.ts +3 -0
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +71 -0
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -0
- package/cjs/scenegraph/group-creater/progress/proxy.d.ts +1 -1
- package/cjs/scenegraph/group-creater/progress/proxy.js +29 -35
- package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +10 -9
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
- package/cjs/scenegraph/layout/compute-col-width.js +23 -15
- package/cjs/scenegraph/layout/compute-col-width.js.map +1 -1
- package/cjs/scenegraph/layout/compute-row-height.js +20 -9
- package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
- package/cjs/scenegraph/layout/move-cell.js +1 -1
- package/cjs/scenegraph/layout/move-cell.js.map +1 -1
- package/cjs/scenegraph/layout/update-cell.js +3 -2
- package/cjs/scenegraph/layout/update-cell.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.js +1 -1
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-row.js +1 -1
- package/cjs/scenegraph/layout/update-row.js.map +1 -1
- package/cjs/scenegraph/layout/update-width.js +1 -1
- package/cjs/scenegraph/layout/update-width.js.map +1 -1
- package/cjs/scenegraph/refresh-node/update-chart.d.ts +3 -0
- package/cjs/scenegraph/refresh-node/update-chart.js +48 -5
- package/cjs/scenegraph/refresh-node/update-chart.js.map +1 -1
- package/cjs/scenegraph/scenegraph.d.ts +9 -0
- package/cjs/scenegraph/scenegraph.js +144 -18
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/scenegraph/stick-text/index.js +10 -8
- package/cjs/scenegraph/stick-text/index.js.map +1 -1
- package/cjs/scenegraph/style/frame-border.js +1 -5
- package/cjs/scenegraph/style/frame-border.js.map +1 -1
- package/cjs/state/state.js +1 -1
- package/cjs/state/state.js.map +1 -1
- package/cjs/themes/DEFAULT.js +1 -2
- package/cjs/tools/LimitPromiseQueue.js +2 -1
- package/cjs/tools/calc.d.ts +3 -0
- package/cjs/tools/calc.js +11 -3
- package/cjs/tools/calc.js.map +1 -1
- package/cjs/tools/diff-cell.js +2 -2
- package/cjs/tools/dom.js +1 -1
- package/cjs/tools/env.js +1 -1
- package/cjs/ts-types/base-table.d.ts +29 -12
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/column/style.d.ts +0 -1
- package/cjs/ts-types/column/style.js.map +1 -1
- package/cjs/ts-types/component/axis.d.ts +12 -0
- package/cjs/ts-types/component/axis.js +6 -0
- package/cjs/ts-types/component/axis.js.map +1 -0
- package/cjs/ts-types/component/legend.d.ts +5 -0
- package/cjs/ts-types/component/legend.js +6 -0
- package/cjs/ts-types/component/legend.js.map +1 -0
- package/cjs/ts-types/component/title.d.ts +47 -0
- package/cjs/ts-types/component/title.js +6 -0
- package/cjs/ts-types/component/title.js.map +1 -0
- package/cjs/ts-types/component/util.d.ts +1 -0
- package/cjs/ts-types/component/util.js +6 -0
- package/cjs/ts-types/component/util.js.map +1 -0
- package/cjs/ts-types/events.d.ts +100 -83
- package/cjs/ts-types/events.js.map +1 -1
- package/cjs/ts-types/list-table/layout-map/api.d.ts +2 -0
- package/cjs/ts-types/list-table/layout-map/api.js.map +1 -1
- package/cjs/ts-types/new-data-set.d.ts +18 -5
- package/cjs/ts-types/new-data-set.js +2 -2
- package/cjs/ts-types/new-data-set.js.map +1 -1
- package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.d.ts +4 -0
- package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js +3 -1
- package/cjs/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js.map +1 -1
- package/cjs/ts-types/pivot-table/corner.d.ts +3 -3
- package/cjs/ts-types/pivot-table/corner.js.map +1 -1
- package/cjs/ts-types/pivot-table/indicator/index.d.ts +1 -0
- package/cjs/ts-types/pivot-table/indicator/index.js.map +1 -1
- package/cjs/ts-types/pivot-table/title.d.ts +1 -1
- package/cjs/ts-types/pivot-table/title.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +27 -3
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/dist/vtable.js +22782 -11928
- package/dist/vtable.min.js +4 -2
- package/es/ListTable.d.ts +2 -1
- package/es/ListTable.js +17 -13
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.d.ts +68 -0
- package/es/PivotChart.js +437 -0
- package/es/PivotChart.js.map +1 -0
- package/es/PivotTable.d.ts +2 -1
- package/es/PivotTable.js +19 -14
- package/es/PivotTable.js.map +1 -1
- package/es/body-helper/style/MultilineTextStyle.js +2 -2
- package/es/body-helper/style/MultilineTextStyle.js.map +1 -1
- package/es/body-helper/style/ProgressBarStyle.js +15 -15
- package/es/body-helper/style/ProgressBarStyle.js.map +1 -1
- package/es/body-helper/style/Style.d.ts +0 -1
- package/es/body-helper/style/Style.js +25 -28
- package/es/body-helper/style/Style.js.map +1 -1
- package/es/components/axis/axis.d.ts +45 -0
- package/es/components/axis/axis.js +155 -0
- package/es/components/axis/axis.js.map +1 -0
- package/es/components/axis/band-scale.d.ts +18 -0
- package/es/components/axis/band-scale.js +46 -0
- package/es/components/axis/band-scale.js.map +1 -0
- package/es/components/axis/get-axis-attributes.d.ts +136 -0
- package/es/components/axis/get-axis-attributes.js +166 -0
- package/es/components/axis/get-axis-attributes.js.map +1 -0
- package/es/components/axis/label-overlap.d.ts +3 -0
- package/es/components/axis/label-overlap.js +39 -0
- package/es/components/axis/label-overlap.js.map +1 -0
- package/es/components/axis/linear-scale.d.ts +45 -0
- package/es/components/axis/linear-scale.js +104 -0
- package/es/components/axis/linear-scale.js.map +1 -0
- package/es/components/legend/get-legend-attributes.d.ts +5 -0
- package/es/components/legend/get-legend-attributes.js +84 -0
- package/es/components/legend/get-legend-attributes.js.map +1 -0
- package/es/components/legend/legend.d.ts +23 -0
- package/es/components/legend/legend.js +93 -0
- package/es/components/legend/legend.js.map +1 -0
- package/es/{menu → components/menu}/dom/BaseMenu.d.ts +2 -2
- package/es/components/menu/dom/BaseMenu.js.map +1 -0
- package/es/components/menu/dom/Menu.js.map +1 -0
- package/{cjs → es/components}/menu/dom/MenuHandler.d.ts +2 -2
- package/es/{menu → components/menu}/dom/MenuHandler.js +2 -2
- package/es/components/menu/dom/MenuHandler.js.map +1 -0
- package/es/{menu → components/menu}/dom/logic/MenuContainer.d.ts +2 -2
- package/es/{menu → components/menu}/dom/logic/MenuContainer.js +4 -4
- package/es/components/menu/dom/logic/MenuContainer.js.map +1 -0
- package/es/{menu → components/menu}/dom/logic/MenuElement.d.ts +2 -2
- package/es/{menu → components/menu}/dom/logic/MenuElement.js +9 -9
- package/es/components/menu/dom/logic/MenuElement.js.map +1 -0
- package/es/components/menu/dom/logic/MenuElementStyle.js.map +1 -0
- package/es/components/title/title.d.ts +12 -0
- package/es/components/title/title.js +61 -0
- package/es/components/title/title.js.map +1 -0
- package/es/{tooltip → components/tooltip}/BaseTooltip.d.ts +3 -3
- package/es/components/tooltip/BaseTooltip.js.map +1 -0
- package/es/components/tooltip/Tooltip.js.map +1 -0
- package/{cjs → es/components}/tooltip/TooltipHandler.d.ts +4 -4
- package/es/{tooltip → components/tooltip}/TooltipHandler.js +4 -4
- package/es/components/tooltip/TooltipHandler.js.map +1 -0
- package/es/{tooltip → components/tooltip}/logic/BubbleTooltipElement.d.ts +4 -4
- package/es/{tooltip → components/tooltip}/logic/BubbleTooltipElement.js +4 -4
- package/es/components/tooltip/logic/BubbleTooltipElement.js.map +1 -0
- package/es/components/tooltip/logic/BubbleTooltipElementStyle.js.map +1 -0
- package/es/components/util/orient.d.ts +3 -0
- package/es/components/util/orient.js +8 -0
- package/es/components/util/orient.js.map +1 -0
- package/es/components/util/register.d.ts +3 -0
- package/es/components/util/register.js +8 -0
- package/es/components/util/register.js.map +1 -0
- package/es/components/util/tick-data/config.d.ts +1 -0
- package/es/components/util/tick-data/config.js +2 -0
- package/es/components/util/tick-data/config.js.map +1 -0
- package/es/components/util/tick-data/continuous.d.ts +2 -0
- package/es/components/util/tick-data/continuous.js +38 -0
- package/es/components/util/tick-data/continuous.js.map +1 -0
- package/es/components/util/tick-data/discrete/linear.d.ts +2 -0
- package/es/components/util/tick-data/discrete/linear.js +59 -0
- package/es/components/util/tick-data/discrete/linear.js.map +1 -0
- package/es/components/util/tick-data/discrete/polar-angle.d.ts +2 -0
- package/es/components/util/tick-data/discrete/polar-angle.js +39 -0
- package/es/components/util/tick-data/discrete/polar-angle.js.map +1 -0
- package/es/components/util/tick-data/index.d.ts +2 -0
- package/es/components/util/tick-data/index.js +19 -0
- package/es/components/util/tick-data/index.js.map +1 -0
- package/es/components/util/tick-data/util.d.ts +21 -0
- package/es/components/util/tick-data/util.js +104 -0
- package/es/components/util/tick-data/util.js.map +1 -0
- package/es/components/util/transform.d.ts +5 -0
- package/es/components/util/transform.js +34 -0
- package/es/components/util/transform.js.map +1 -0
- package/es/core/BaseTable.d.ts +18 -5
- package/es/core/BaseTable.js +103 -41
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/TABLE_EVENT_TYPE.d.ts +3 -0
- package/es/core/TABLE_EVENT_TYPE.js +4 -1
- package/es/core/TABLE_EVENT_TYPE.js.map +1 -1
- package/es/core/style.js +1 -1
- package/es/core/style.js.map +1 -1
- package/es/core/tableHelper.js +1 -2
- package/es/data/CachedDataSource.js +2 -1
- package/es/data/DataSource.js +2 -2
- package/es/data/DataSource.js.map +1 -1
- package/es/dataset/dataset.d.ts +12 -19
- package/es/dataset/dataset.js +161 -187
- package/es/dataset/dataset.js.map +1 -1
- package/es/dataset/statistics-helper.d.ts +68 -0
- package/es/dataset/statistics-helper.js +152 -0
- package/es/dataset/statistics-helper.js.map +1 -0
- package/es/dataset/util/zero-align.d.ts +10 -0
- package/es/dataset/util/zero-align.js +111 -0
- package/es/dataset/util/zero-align.js.map +1 -0
- package/es/event/EventHandler.js.map +1 -1
- package/es/event/EventTarget.d.ts +5 -5
- package/es/event/EventTarget.js +2 -2
- package/es/event/EventTarget.js.map +1 -1
- package/es/event/VChartEventProxy.d.ts +1 -0
- package/es/event/VChartEventProxy.js +1 -0
- package/es/event/VChartEventProxy.js.map +1 -0
- package/es/event/event.js +8 -3
- package/es/event/event.js.map +1 -1
- package/es/event/listener/table-group.js +8 -6
- package/es/event/listener/table-group.js.map +1 -1
- package/es/event/pivot-chart/axis-click.d.ts +2 -0
- package/es/event/pivot-chart/axis-click.js +36 -0
- package/es/event/pivot-chart/axis-click.js.map +1 -0
- package/es/event/sparkline-event.js.map +1 -1
- package/es/event/util.js +1 -2
- package/es/header-helper/header-helper.js +1 -1
- package/es/header-helper/header-helper.js.map +1 -1
- package/es/header-helper/style/MultilineTextHeaderStyle.js +2 -2
- package/es/header-helper/style/MultilineTextHeaderStyle.js.map +1 -1
- package/es/header-helper/style/Style.d.ts +0 -1
- package/es/header-helper/style/Style.js +25 -28
- package/es/header-helper/style/Style.js.map +1 -1
- package/es/index.d.ts +4 -3
- package/es/index.js +4 -2
- package/es/index.js.map +1 -1
- package/es/layout/index.js +2 -1
- package/es/layout/pivot-chart/get-axis-config.d.ts +2 -0
- package/es/layout/pivot-chart/get-axis-config.js +110 -0
- package/es/layout/pivot-chart/get-axis-config.js.map +1 -0
- package/es/layout/pivot-chart/get-chart-spec.d.ts +4 -0
- package/es/layout/pivot-chart/get-chart-spec.js +109 -0
- package/es/layout/pivot-chart/get-chart-spec.js.map +1 -0
- package/es/layout/pivot-header-layout.d.ts +11 -5
- package/es/layout/pivot-header-layout.js +41 -11
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/layout/pivot-layout.d.ts +53 -8
- package/es/layout/pivot-layout.js +396 -87
- package/es/layout/pivot-layout.js.map +1 -1
- package/es/layout/simple-header-layout.d.ts +8 -0
- package/es/layout/simple-header-layout.js +34 -0
- package/es/layout/simple-header-layout.js.map +1 -1
- package/es/scenegraph/component/table-component.js +3 -3
- package/es/scenegraph/component/table-component.js.map +1 -1
- package/es/scenegraph/graphic/chart.d.ts +3 -0
- package/es/scenegraph/graphic/chart.js +22 -5
- package/es/scenegraph/graphic/chart.js.map +1 -1
- package/es/scenegraph/graphic/contributions/chart-render.js +15 -3
- package/es/scenegraph/graphic/contributions/chart-render.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +9 -2
- package/es/scenegraph/group-creater/cell-helper.js.map +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/column.js.map +1 -1
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.d.ts +3 -0
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +65 -0
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -0
- package/es/scenegraph/group-creater/progress/proxy.d.ts +1 -1
- package/es/scenegraph/group-creater/progress/proxy.js +27 -34
- package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +9 -8
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
- package/es/scenegraph/layout/compute-col-width.js +23 -15
- package/es/scenegraph/layout/compute-col-width.js.map +1 -1
- package/es/scenegraph/layout/compute-row-height.js +20 -9
- package/es/scenegraph/layout/compute-row-height.js.map +1 -1
- package/es/scenegraph/layout/move-cell.js +1 -1
- package/es/scenegraph/layout/move-cell.js.map +1 -1
- package/es/scenegraph/layout/update-cell.js +3 -1
- package/es/scenegraph/layout/update-cell.js.map +1 -1
- package/es/scenegraph/layout/update-height.js +1 -1
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/layout/update-row.js +1 -1
- package/es/scenegraph/layout/update-row.js.map +1 -1
- package/es/scenegraph/layout/update-width.js +1 -1
- package/es/scenegraph/layout/update-width.js.map +1 -1
- package/es/scenegraph/refresh-node/update-chart.d.ts +3 -0
- package/es/scenegraph/refresh-node/update-chart.js +45 -4
- package/es/scenegraph/refresh-node/update-chart.js.map +1 -1
- package/es/scenegraph/scenegraph.d.ts +9 -0
- package/es/scenegraph/scenegraph.js +146 -19
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/scenegraph/stick-text/index.js +10 -8
- package/es/scenegraph/stick-text/index.js.map +1 -1
- package/es/scenegraph/style/frame-border.js +1 -5
- package/es/scenegraph/style/frame-border.js.map +1 -1
- package/es/state/state.js +1 -1
- package/es/state/state.js.map +1 -1
- package/es/themes/DEFAULT.js +1 -2
- package/es/tools/LimitPromiseQueue.js +2 -1
- package/es/tools/calc.d.ts +3 -0
- package/es/tools/calc.js +10 -0
- package/es/tools/calc.js.map +1 -1
- package/es/tools/diff-cell.js +1 -1
- package/es/tools/dom.js +1 -1
- package/es/tools/env.js +1 -1
- package/es/ts-types/base-table.d.ts +29 -12
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/column/style.d.ts +0 -1
- package/es/ts-types/column/style.js.map +1 -1
- package/es/ts-types/component/axis.d.ts +12 -0
- package/es/ts-types/component/axis.js +2 -0
- package/es/ts-types/component/axis.js.map +1 -0
- package/es/ts-types/component/legend.d.ts +5 -0
- package/es/ts-types/component/legend.js +2 -0
- package/es/ts-types/component/legend.js.map +1 -0
- package/es/ts-types/component/title.d.ts +47 -0
- package/es/ts-types/component/title.js +2 -0
- package/es/ts-types/component/title.js.map +1 -0
- package/es/ts-types/component/util.d.ts +1 -0
- package/es/ts-types/component/util.js +2 -0
- package/es/ts-types/component/util.js.map +1 -0
- package/es/ts-types/events.d.ts +100 -83
- package/es/ts-types/events.js.map +1 -1
- package/es/ts-types/list-table/layout-map/api.d.ts +2 -0
- package/es/ts-types/list-table/layout-map/api.js.map +1 -1
- package/es/ts-types/new-data-set.d.ts +18 -5
- package/es/ts-types/new-data-set.js +2 -2
- package/es/ts-types/new-data-set.js.map +1 -1
- package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.d.ts +4 -0
- package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js +4 -0
- package/es/ts-types/pivot-table/PIVOT_TABLE_EVENT_TYPE.js.map +1 -1
- package/es/ts-types/pivot-table/corner.d.ts +3 -3
- package/es/ts-types/pivot-table/corner.js.map +1 -1
- package/es/ts-types/pivot-table/indicator/index.d.ts +1 -0
- package/es/ts-types/pivot-table/indicator/index.js.map +1 -1
- package/es/ts-types/pivot-table/title.d.ts +1 -1
- package/es/ts-types/pivot-table/title.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +27 -3
- package/es/ts-types/table-engine.js.map +1 -1
- package/package.json +11 -5
- package/cjs/menu/dom/BaseMenu.js.map +0 -1
- package/cjs/menu/dom/Menu.js.map +0 -1
- package/cjs/menu/dom/MenuHandler.js.map +0 -1
- package/cjs/menu/dom/logic/MenuContainer.js.map +0 -1
- package/cjs/menu/dom/logic/MenuElement.js.map +0 -1
- package/cjs/menu/dom/logic/MenuElementStyle.js.map +0 -1
- package/cjs/scenegraph/layout/auto-width.d.ts +0 -2
- package/cjs/scenegraph/layout/auto-width.js +0 -85
- package/cjs/scenegraph/layout/auto-width.js.map +0 -1
- package/cjs/tooltip/BaseTooltip.js.map +0 -1
- package/cjs/tooltip/Tooltip.js.map +0 -1
- package/cjs/tooltip/TooltipHandler.js.map +0 -1
- package/cjs/tooltip/logic/BubbleTooltipElement.js.map +0 -1
- package/cjs/tooltip/logic/BubbleTooltipElementStyle.js.map +0 -1
- package/es/menu/dom/BaseMenu.js.map +0 -1
- package/es/menu/dom/Menu.js.map +0 -1
- package/es/menu/dom/MenuHandler.js.map +0 -1
- package/es/menu/dom/logic/MenuContainer.js.map +0 -1
- package/es/menu/dom/logic/MenuElement.js.map +0 -1
- package/es/menu/dom/logic/MenuElementStyle.js.map +0 -1
- package/es/scenegraph/layout/auto-width.d.ts +0 -2
- package/es/scenegraph/layout/auto-width.js +0 -82
- package/es/scenegraph/layout/auto-width.js.map +0 -1
- package/es/tooltip/BaseTooltip.js.map +0 -1
- package/es/tooltip/Tooltip.js.map +0 -1
- package/es/tooltip/TooltipHandler.js.map +0 -1
- package/es/tooltip/logic/BubbleTooltipElement.js.map +0 -1
- package/es/tooltip/logic/BubbleTooltipElementStyle.js.map +0 -1
- /package/cjs/{menu → components/menu}/dom/BaseMenu.js +0 -0
- /package/cjs/{menu → components/menu}/dom/Menu.d.ts +0 -0
- /package/cjs/{menu → components/menu}/dom/Menu.js +0 -0
- /package/cjs/{menu → components/menu}/dom/logic/MenuElementStyle.d.ts +0 -0
- /package/cjs/{menu → components/menu}/dom/logic/MenuElementStyle.js +0 -0
- /package/cjs/{tooltip → components/tooltip}/BaseTooltip.js +0 -0
- /package/cjs/{tooltip → components/tooltip}/Tooltip.d.ts +0 -0
- /package/cjs/{tooltip → components/tooltip}/Tooltip.js +0 -0
- /package/cjs/{tooltip → components/tooltip}/logic/BubbleTooltipElementStyle.d.ts +0 -0
- /package/cjs/{tooltip → components/tooltip}/logic/BubbleTooltipElementStyle.js +0 -0
- /package/es/{menu → components/menu}/dom/BaseMenu.js +0 -0
- /package/es/{menu → components/menu}/dom/Menu.d.ts +0 -0
- /package/es/{menu → components/menu}/dom/Menu.js +0 -0
- /package/es/{menu → components/menu}/dom/logic/MenuElementStyle.d.ts +0 -0
- /package/es/{menu → components/menu}/dom/logic/MenuElementStyle.js +0 -0
- /package/es/{tooltip → components/tooltip}/BaseTooltip.js +0 -0
- /package/es/{tooltip → components/tooltip}/Tooltip.d.ts +0 -0
- /package/es/{tooltip → components/tooltip}/Tooltip.js +0 -0
- /package/es/{tooltip → components/tooltip}/logic/BubbleTooltipElementStyle.d.ts +0 -0
- /package/es/{tooltip → components/tooltip}/logic/BubbleTooltipElementStyle.js +0 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import type { ICellAxisOption } from '../../ts-types/component/axis';
|
|
2
|
+
export declare const commonAxis: {
|
|
3
|
+
domainLine: {
|
|
4
|
+
visible: boolean;
|
|
5
|
+
style: {
|
|
6
|
+
lineWidth: number;
|
|
7
|
+
stroke: string;
|
|
8
|
+
strokeOpacity: number;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
grid: {
|
|
12
|
+
visible: boolean;
|
|
13
|
+
style: {
|
|
14
|
+
lineWidth: number;
|
|
15
|
+
stroke: string;
|
|
16
|
+
strokeOpacity: number;
|
|
17
|
+
lineDash: any[];
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
subGrid: {
|
|
21
|
+
visible: boolean;
|
|
22
|
+
style: {
|
|
23
|
+
lineWidth: number;
|
|
24
|
+
stroke: string;
|
|
25
|
+
strokeOpacity: number;
|
|
26
|
+
lineDash: number[];
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
tick: {
|
|
30
|
+
visible: boolean;
|
|
31
|
+
tickSize: number;
|
|
32
|
+
style: {
|
|
33
|
+
lineWidth: number;
|
|
34
|
+
stroke: string;
|
|
35
|
+
strokeOpacity: number;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
subTick: {
|
|
39
|
+
visible: boolean;
|
|
40
|
+
tickSize: number;
|
|
41
|
+
style: {
|
|
42
|
+
lineWidth: number;
|
|
43
|
+
stroke: string;
|
|
44
|
+
strokeOpacity: number;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
label: {
|
|
48
|
+
visible: boolean;
|
|
49
|
+
space: number;
|
|
50
|
+
style: {
|
|
51
|
+
fontSize: number;
|
|
52
|
+
fill: string;
|
|
53
|
+
fontWeight: string;
|
|
54
|
+
fillOpacity: number;
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
title: {
|
|
58
|
+
space: number;
|
|
59
|
+
style: {
|
|
60
|
+
fontSize: number;
|
|
61
|
+
fill: string;
|
|
62
|
+
fontWeight: string;
|
|
63
|
+
fillOpacity: number;
|
|
64
|
+
};
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
export declare function getAxisAttributes(option: ICellAxisOption): {
|
|
68
|
+
select: boolean;
|
|
69
|
+
hover: boolean;
|
|
70
|
+
line: any;
|
|
71
|
+
label: {
|
|
72
|
+
visible: boolean;
|
|
73
|
+
space: number;
|
|
74
|
+
inside: boolean;
|
|
75
|
+
style: any;
|
|
76
|
+
formatMethod: (value: any, datum: any, index: number) => string | string[];
|
|
77
|
+
state: any;
|
|
78
|
+
};
|
|
79
|
+
tick: {
|
|
80
|
+
visible: boolean;
|
|
81
|
+
length: number;
|
|
82
|
+
inside: boolean;
|
|
83
|
+
alignWithLabel: boolean;
|
|
84
|
+
style: any;
|
|
85
|
+
state: any;
|
|
86
|
+
};
|
|
87
|
+
subTick: {
|
|
88
|
+
visible: boolean;
|
|
89
|
+
length: number;
|
|
90
|
+
inside: boolean;
|
|
91
|
+
count: number;
|
|
92
|
+
style: any;
|
|
93
|
+
state: any;
|
|
94
|
+
};
|
|
95
|
+
grid: {
|
|
96
|
+
type: string;
|
|
97
|
+
visible: boolean;
|
|
98
|
+
alternateColor: string | string[];
|
|
99
|
+
alignWithLabel: boolean;
|
|
100
|
+
style: any;
|
|
101
|
+
};
|
|
102
|
+
subGrid: {
|
|
103
|
+
type: string;
|
|
104
|
+
visible: boolean;
|
|
105
|
+
alternateColor: string | string[];
|
|
106
|
+
style: any;
|
|
107
|
+
};
|
|
108
|
+
title: {
|
|
109
|
+
visible: boolean;
|
|
110
|
+
position: "start" | "end" | "middle";
|
|
111
|
+
space: number;
|
|
112
|
+
autoRotate: boolean;
|
|
113
|
+
angle: number;
|
|
114
|
+
textStyle: any;
|
|
115
|
+
padding: number | number[] | import("@visactor/vchart/esm/typings").IPadding;
|
|
116
|
+
shape: {
|
|
117
|
+
visible: boolean;
|
|
118
|
+
space: number;
|
|
119
|
+
style: any;
|
|
120
|
+
};
|
|
121
|
+
background: {
|
|
122
|
+
visible: boolean;
|
|
123
|
+
style: any;
|
|
124
|
+
};
|
|
125
|
+
state: {
|
|
126
|
+
text: any;
|
|
127
|
+
shape: any;
|
|
128
|
+
background: any;
|
|
129
|
+
};
|
|
130
|
+
};
|
|
131
|
+
panel: {
|
|
132
|
+
visible: boolean;
|
|
133
|
+
style: any;
|
|
134
|
+
state: any;
|
|
135
|
+
};
|
|
136
|
+
};
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { degreeToRadian, isNil, merge } from "@visactor/vutils";
|
|
2
|
+
|
|
3
|
+
import { transformAxisLineStyle, transformStateStyle, transformToGraphic } from "../util/transform";
|
|
4
|
+
|
|
5
|
+
const DEFAULT_TITLE_STYLE = {
|
|
6
|
+
left: {
|
|
7
|
+
textAlign: "center",
|
|
8
|
+
textBaseline: "bottom"
|
|
9
|
+
},
|
|
10
|
+
right: {
|
|
11
|
+
textAlign: "center",
|
|
12
|
+
textBaseline: "bottom"
|
|
13
|
+
},
|
|
14
|
+
radius: {},
|
|
15
|
+
angle: {}
|
|
16
|
+
}, DEFAULT_TEXT_FONT_FAMILY = "PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol", DEFAULT_TEXT_FONT_SIZE = 14, THEME_CONSTANTS = {
|
|
17
|
+
FONT_FAMILY: DEFAULT_TEXT_FONT_FAMILY,
|
|
18
|
+
LABEL_FONT_SIZE: 14,
|
|
19
|
+
MAP_LABEL_FONT_SIZE: 10,
|
|
20
|
+
TITLE_FONT_SIZE: 18,
|
|
21
|
+
AXIS_TICK_SIZE: 4
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const commonAxis = {
|
|
25
|
+
domainLine: {
|
|
26
|
+
visible: !0,
|
|
27
|
+
style: {
|
|
28
|
+
lineWidth: 1,
|
|
29
|
+
stroke: "#D9DDE4",
|
|
30
|
+
strokeOpacity: 1
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
grid: {
|
|
34
|
+
visible: !0,
|
|
35
|
+
style: {
|
|
36
|
+
lineWidth: 1,
|
|
37
|
+
stroke: "#EBEDF2",
|
|
38
|
+
strokeOpacity: 1,
|
|
39
|
+
lineDash: []
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
subGrid: {
|
|
43
|
+
visible: !1,
|
|
44
|
+
style: {
|
|
45
|
+
lineWidth: 1,
|
|
46
|
+
stroke: "#EBEDF2",
|
|
47
|
+
strokeOpacity: 1,
|
|
48
|
+
lineDash: [ 4, 4 ]
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
tick: {
|
|
52
|
+
visible: !0,
|
|
53
|
+
tickSize: THEME_CONSTANTS.AXIS_TICK_SIZE,
|
|
54
|
+
style: {
|
|
55
|
+
lineWidth: 1,
|
|
56
|
+
stroke: "#D9DDE4",
|
|
57
|
+
strokeOpacity: 1
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
subTick: {
|
|
61
|
+
visible: !1,
|
|
62
|
+
tickSize: THEME_CONSTANTS.AXIS_TICK_SIZE / 2,
|
|
63
|
+
style: {
|
|
64
|
+
lineWidth: 1,
|
|
65
|
+
stroke: "#D9DDE4",
|
|
66
|
+
strokeOpacity: 1
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
label: {
|
|
70
|
+
visible: !0,
|
|
71
|
+
space: 0,
|
|
72
|
+
style: {
|
|
73
|
+
fontSize: THEME_CONSTANTS.LABEL_FONT_SIZE,
|
|
74
|
+
fill: "#89909D",
|
|
75
|
+
fontWeight: "normal",
|
|
76
|
+
fillOpacity: 1
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
title: {
|
|
80
|
+
space: 10,
|
|
81
|
+
style: {
|
|
82
|
+
fontSize: THEME_CONSTANTS.LABEL_FONT_SIZE,
|
|
83
|
+
fill: "#333333",
|
|
84
|
+
fontWeight: "normal",
|
|
85
|
+
fillOpacity: 1
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export function getAxisAttributes(option) {
|
|
91
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
|
92
|
+
const spec = option;
|
|
93
|
+
let titleTextStyle, titleAngle = null !== (_b = null === (_a = spec.title) || void 0 === _a ? void 0 : _a.angle) && void 0 !== _b ? _b : 0;
|
|
94
|
+
return "left" !== spec.orient && "right" !== spec.orient || (null === (_c = spec.title) || void 0 === _c ? void 0 : _c.autoRotate) && isNil(spec.title.angle) && (titleAngle = "left" === spec.orient ? -90 : 90,
|
|
95
|
+
titleTextStyle = DEFAULT_TITLE_STYLE[spec.orient]), {
|
|
96
|
+
select: spec.select,
|
|
97
|
+
hover: spec.hover,
|
|
98
|
+
line: transformAxisLineStyle(spec.domainLine),
|
|
99
|
+
label: {
|
|
100
|
+
visible: spec.label.visible,
|
|
101
|
+
space: spec.label.space,
|
|
102
|
+
inside: spec.label.inside,
|
|
103
|
+
style: transformToGraphic(spec.label.style),
|
|
104
|
+
formatMethod: spec.label.formatMethod ? (value, datum, index) => spec.label.formatMethod(datum.rawValue, datum) : null,
|
|
105
|
+
state: transformStateStyle(spec.label.state)
|
|
106
|
+
},
|
|
107
|
+
tick: {
|
|
108
|
+
visible: spec.tick.visible,
|
|
109
|
+
length: spec.tick.tickSize,
|
|
110
|
+
inside: spec.tick.inside,
|
|
111
|
+
alignWithLabel: spec.tick.alignWithLabel,
|
|
112
|
+
style: transformToGraphic(spec.tick.style),
|
|
113
|
+
state: transformStateStyle(spec.tick.state)
|
|
114
|
+
},
|
|
115
|
+
subTick: {
|
|
116
|
+
visible: spec.subTick.visible,
|
|
117
|
+
length: spec.subTick.tickSize,
|
|
118
|
+
inside: spec.subTick.inside,
|
|
119
|
+
count: spec.subTick.tickCount,
|
|
120
|
+
style: transformToGraphic(spec.subTick.style),
|
|
121
|
+
state: transformStateStyle(spec.subTick.state)
|
|
122
|
+
},
|
|
123
|
+
grid: {
|
|
124
|
+
type: "line",
|
|
125
|
+
visible: spec.grid.visible,
|
|
126
|
+
alternateColor: spec.grid.alternateColor,
|
|
127
|
+
alignWithLabel: spec.grid.alignWithLabel,
|
|
128
|
+
style: transformToGraphic(spec.grid.style)
|
|
129
|
+
},
|
|
130
|
+
subGrid: {
|
|
131
|
+
type: "line",
|
|
132
|
+
visible: spec.subGrid.visible,
|
|
133
|
+
alternateColor: spec.subGrid.alternateColor,
|
|
134
|
+
style: transformToGraphic(spec.subGrid.style)
|
|
135
|
+
},
|
|
136
|
+
title: {
|
|
137
|
+
visible: spec.title.visible,
|
|
138
|
+
position: spec.title.position,
|
|
139
|
+
space: spec.title.space,
|
|
140
|
+
autoRotate: !1,
|
|
141
|
+
angle: titleAngle ? degreeToRadian(titleAngle) : null,
|
|
142
|
+
textStyle: merge({}, titleTextStyle, transformToGraphic(spec.title.style)),
|
|
143
|
+
padding: spec.title.padding,
|
|
144
|
+
shape: {
|
|
145
|
+
visible: null === (_d = spec.title.shape) || void 0 === _d ? void 0 : _d.visible,
|
|
146
|
+
space: null === (_e = spec.title.shape) || void 0 === _e ? void 0 : _e.space,
|
|
147
|
+
style: transformToGraphic(null === (_f = spec.title.shape) || void 0 === _f ? void 0 : _f.style)
|
|
148
|
+
},
|
|
149
|
+
background: {
|
|
150
|
+
visible: null === (_g = spec.title.background) || void 0 === _g ? void 0 : _g.visible,
|
|
151
|
+
style: transformToGraphic(null === (_h = spec.title.background) || void 0 === _h ? void 0 : _h.style)
|
|
152
|
+
},
|
|
153
|
+
state: {
|
|
154
|
+
text: transformStateStyle(spec.title.state),
|
|
155
|
+
shape: transformStateStyle(null === (_j = spec.title.shape) || void 0 === _j ? void 0 : _j.state),
|
|
156
|
+
background: transformStateStyle(null === (_k = spec.title.background) || void 0 === _k ? void 0 : _k.state)
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
panel: {
|
|
160
|
+
visible: null === (_l = spec.background) || void 0 === _l ? void 0 : _l.visible,
|
|
161
|
+
style: transformToGraphic(null === (_m = spec.background) || void 0 === _m ? void 0 : _m.style),
|
|
162
|
+
state: transformStateStyle(null === (_o = spec.background) || void 0 === _o ? void 0 : _o.state)
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=get-axis-attributes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/axis/get-axis-attributes.ts"],"names":[],"mappings":"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","file":"get-axis-attributes.js","sourcesContent":["import { degreeToRadian, isNil, merge } from '@visactor/vutils';\nimport { transformAxisLineStyle, transformStateStyle, transformToGraphic } from '../util/transform';\nimport type { ICellAxisOption } from '../../ts-types/component/axis';\n\nconst DEFAULT_TITLE_STYLE = {\n left: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n right: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n radius: {},\n angle: {}\n};\n\nconst DEFAULT_TEXT_FONT_FAMILY =\n // eslint-disable-next-line max-len\n 'PingFang SC,Microsoft Yahei,system-ui,-apple-system,segoe ui,Roboto,Helvetica,Arial,sans-serif, apple color emoji,segoe ui emoji,segoe ui symbol';\n\nconst DEFAULT_TEXT_FONT_SIZE = 14;\n\nconst THEME_CONSTANTS = {\n FONT_FAMILY: DEFAULT_TEXT_FONT_FAMILY,\n LABEL_FONT_SIZE: DEFAULT_TEXT_FONT_SIZE,\n MAP_LABEL_FONT_SIZE: 10,\n TITLE_FONT_SIZE: 18,\n AXIS_TICK_SIZE: 4\n};\n\nexport const commonAxis = {\n domainLine: {\n visible: true,\n style: {\n lineWidth: 1,\n stroke: '#D9DDE4',\n strokeOpacity: 1\n }\n },\n grid: {\n visible: true,\n style: {\n lineWidth: 1,\n stroke: '#EBEDF2',\n strokeOpacity: 1,\n lineDash: [] as any[]\n }\n },\n subGrid: {\n visible: false,\n style: {\n lineWidth: 1,\n stroke: '#EBEDF2',\n strokeOpacity: 1,\n lineDash: [4, 4]\n }\n },\n tick: {\n visible: true,\n tickSize: THEME_CONSTANTS.AXIS_TICK_SIZE,\n style: {\n lineWidth: 1,\n stroke: '#D9DDE4',\n strokeOpacity: 1\n }\n },\n subTick: {\n visible: false,\n tickSize: THEME_CONSTANTS.AXIS_TICK_SIZE / 2,\n style: {\n lineWidth: 1,\n stroke: '#D9DDE4',\n strokeOpacity: 1\n }\n },\n label: {\n visible: true,\n space: 0,\n style: {\n fontSize: THEME_CONSTANTS.LABEL_FONT_SIZE,\n fill: '#89909D',\n fontWeight: 'normal',\n fillOpacity: 1\n }\n },\n title: {\n space: 10,\n style: {\n fontSize: THEME_CONSTANTS.LABEL_FONT_SIZE,\n fill: '#333333',\n fontWeight: 'normal',\n fillOpacity: 1\n }\n }\n};\n\nexport function getAxisAttributes(option: ICellAxisOption) {\n // const spec = merge({}, option, commonAxis);\n const spec = option;\n let titleAngle = spec.title?.angle ?? 0;\n let titleTextStyle;\n if (spec.orient === 'left' || spec.orient === 'right') {\n // 处理纵轴的标题样式\n if (spec.title?.autoRotate && isNil(spec.title.angle)) {\n titleAngle = spec.orient === 'left' ? -90 : 90;\n titleTextStyle = DEFAULT_TITLE_STYLE[spec.orient];\n }\n }\n\n return {\n select: spec.select,\n hover: spec.hover,\n line: transformAxisLineStyle(spec.domainLine),\n label: {\n visible: spec.label.visible,\n space: spec.label.space,\n inside: spec.label.inside,\n style:\n // isFunction(spec.label.style)\n // ? (datum: Datum, index: number) => {\n // const style = this._preprocessSpec(spec.label.style(datum.rawValue, index, datum));\n\n // return transformToGraphic(this._preprocessSpec(merge({}, this._theme.label?.style, style)));\n // }\n // :\n transformToGraphic(spec.label.style),\n formatMethod: spec.label.formatMethod\n ? (value: any, datum: any, index: number) => {\n return spec.label.formatMethod(datum.rawValue, datum);\n }\n : null,\n state: transformStateStyle(spec.label.state)\n },\n tick: {\n visible: spec.tick.visible,\n length: spec.tick.tickSize,\n inside: spec.tick.inside,\n alignWithLabel: spec.tick.alignWithLabel,\n style:\n // isFunction(spec.tick.style)\n // ? (datum: Datum, index: number) => {\n // const style = this._preprocessSpec(spec.tick.style(datum.rawValue, index, datum));\n\n // return transformToGraphic(this._preprocessSpec(merge({}, this._theme.tick?.style, style)));\n // }\n // :\n transformToGraphic(spec.tick.style),\n state: transformStateStyle(spec.tick.state)\n },\n subTick: {\n visible: spec.subTick.visible,\n length: spec.subTick.tickSize,\n inside: spec.subTick.inside,\n count: spec.subTick.tickCount,\n style: transformToGraphic(spec.subTick.style),\n state: transformStateStyle(spec.subTick.state)\n },\n grid: {\n type: 'line',\n visible: spec.grid.visible,\n alternateColor: spec.grid.alternateColor,\n alignWithLabel: spec.grid.alignWithLabel,\n style:\n // isFunction(spec.grid.style)\n // ? (datum: Datum, index: number) => {\n // const style = spec.grid.style(datum.datum?.rawValue, index, datum.datum);\n\n // return transformToGraphic(this._preprocessSpec(merge({}, this._theme.grid?.style, style)));\n // }\n // :\n transformToGraphic(spec.grid.style)\n },\n subGrid: {\n type: 'line',\n visible: spec.subGrid.visible,\n alternateColor: spec.subGrid.alternateColor,\n style: transformToGraphic(spec.subGrid.style)\n },\n title: {\n visible: spec.title.visible,\n position: spec.title.position,\n space: spec.title.space,\n autoRotate: false, // 默认不对外提供该配置\n angle: titleAngle ? degreeToRadian(titleAngle) : null,\n textStyle: merge({}, titleTextStyle, transformToGraphic(spec.title.style)),\n padding: spec.title.padding,\n shape: {\n visible: spec.title.shape?.visible,\n space: spec.title.shape?.space,\n style: transformToGraphic(spec.title.shape?.style)\n },\n background: {\n visible: spec.title.background?.visible,\n style: transformToGraphic(spec.title.background?.style)\n },\n state: {\n text: transformStateStyle(spec.title.state),\n shape: transformStateStyle(spec.title.shape?.state),\n background: transformStateStyle(spec.title.background?.state)\n }\n },\n panel: {\n visible: spec.background?.visible,\n style: transformToGraphic(spec.background?.style),\n state: transformStateStyle(spec.background?.state)\n }\n };\n}\n"]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { isXAxis } from "../util/orient";
|
|
2
|
+
|
|
3
|
+
import { isEmpty, last as peek } from "@visactor/vutils";
|
|
4
|
+
|
|
5
|
+
export function doOverlap(axisComponent, axis) {
|
|
6
|
+
const layer0LabelsContainer = axisComponent.find((node => "axis-label-container-layer-0" === node.name), !0), layer1LabelsContainer = axisComponent.find((node => "axis-label-container-layer-1" === node.name), !0);
|
|
7
|
+
overlap(layer0LabelsContainer ? layer0LabelsContainer.getChildren() : [], axis),
|
|
8
|
+
overlap(layer1LabelsContainer ? layer1LabelsContainer.getChildren() : [], axis);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function labelFlush(axisLabels, axis) {
|
|
12
|
+
const {width: width, height: height} = axis.getLayoutRect(), isX = isXAxis(axis.orient), first = axisLabels[0], last = peek(axisLabels);
|
|
13
|
+
if (isX) {
|
|
14
|
+
const start = 0, end = width, startBound = first.AABBBounds.x1, endBound = last.AABBBounds.x2;
|
|
15
|
+
startBound < start && first.setAttributes({
|
|
16
|
+
x: start,
|
|
17
|
+
textAlign: "left"
|
|
18
|
+
}), endBound > end && last.setAttributes({
|
|
19
|
+
x: end,
|
|
20
|
+
textAlign: "right"
|
|
21
|
+
});
|
|
22
|
+
} else {
|
|
23
|
+
const start = height, end = 0, startBound = first.AABBBounds.y2, endBound = last.AABBBounds.y1;
|
|
24
|
+
startBound > start && first.setAttributes({
|
|
25
|
+
y: start,
|
|
26
|
+
textBaseline: "bottom"
|
|
27
|
+
}), endBound < end && last.setAttributes({
|
|
28
|
+
y: end,
|
|
29
|
+
textBaseline: "top"
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function overlap(axisLabels, axis) {
|
|
35
|
+
var _a;
|
|
36
|
+
const spec = axis.option;
|
|
37
|
+
isEmpty(axisLabels) || (null === (_a = null == spec ? void 0 : spec.label) || void 0 === _a ? void 0 : _a.flush) && labelFlush(axisLabels, axis);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=label-overlap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/axis/label-overlap.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAEzD,MAAM,UAAU,SAAS,CAAC,aAAuB,EAAE,IAAmB;IACpE,MAAM,qBAAqB,GAAG,aAAa,CAAC,IAAI,CAC9C,CAAC,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,8BAA8B,EAC7D,IAAI,CACK,CAAC;IACZ,MAAM,qBAAqB,GAAG,aAAa,CAAC,IAAI,CAC9C,CAAC,IAAW,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,8BAA8B,EAC7D,IAAI,CACK,CAAC;IACZ,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAE,qBAAqB,CAAC,WAAW,EAAc,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IAC7F,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAE,qBAAqB,CAAC,WAAW,EAAc,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,UAAU,CAAC,UAAmB,EAAE,IAAmB;IAC1D,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;IAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;IAE9B,IAAI,GAAG,EAAE;QACP,MAAM,KAAK,GAAG,CAAC,CAAC;QAChB,MAAM,GAAG,GAAG,KAAK,CAAC;QAClB,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,IAAI,UAAU,GAAG,KAAK,EAAE;YACtB,KAAK,CAAC,aAAa,CAAC;gBAClB,CAAC,EAAE,KAAK;gBACR,SAAS,EAAE,MAAM;aAClB,CAAC,CAAC;SACJ;QAED,IAAI,QAAQ,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,aAAa,CAAC;gBACjB,CAAC,EAAE,GAAG;gBACN,SAAS,EAAE,OAAO;aACnB,CAAC,CAAC;SACJ;KACF;SAAM;QACL,MAAM,KAAK,GAAG,MAAM,CAAC;QACrB,MAAM,GAAG,GAAG,CAAC,CAAC;QACd,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAEpC,IAAI,UAAU,GAAG,KAAK,EAAE;YACtB,KAAK,CAAC,aAAa,CAAC;gBAClB,CAAC,EAAE,KAAK;gBACR,YAAY,EAAE,QAAQ;aACvB,CAAC,CAAC;SACJ;QAED,IAAI,QAAQ,GAAG,GAAG,EAAE;YAClB,IAAI,CAAC,aAAa,CAAC;gBACjB,CAAC,EAAE,GAAG;gBACN,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;SACJ;KACF;AACH,CAAC;AAED,SAAS,OAAO,CAAC,UAAmB,EAAE,IAAmB;;IACvD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC;IACzB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAExB,IAAI,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,KAAK,EAAE;YACtB,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;SAC9B;KACF;AACH,CAAC","file":"label-overlap.js","sourcesContent":["import type { IGroup, INode, IText } from '@visactor/vrender';\nimport type { LineAxis } from '@visactor/vrender-components';\nimport type { CartesianAxis } from './axis';\nimport { isXAxis } from '../util/orient';\nimport { isEmpty, last as peek } from '@visactor/vutils';\n\nexport function doOverlap(axisComponent: LineAxis, axis: CartesianAxis) {\n const layer0LabelsContainer = axisComponent.find(\n (node: INode) => node.name === 'axis-label-container-layer-0',\n true\n ) as IGroup;\n const layer1LabelsContainer = axisComponent.find(\n (node: INode) => node.name === 'axis-label-container-layer-1',\n true\n ) as IGroup;\n overlap(layer0LabelsContainer ? (layer0LabelsContainer.getChildren() as IText[]) : [], axis);\n overlap(layer1LabelsContainer ? (layer1LabelsContainer.getChildren() as IText[]) : [], axis);\n}\n\nfunction labelFlush(axisLabels: IText[], axis: CartesianAxis) {\n const { width, height } = axis.getLayoutRect();\n const isX = isXAxis(axis.orient);\n const first = axisLabels[0];\n const last = peek(axisLabels);\n\n if (isX) {\n const start = 0;\n const end = width;\n const startBound = first.AABBBounds.x1;\n const endBound = last.AABBBounds.x2;\n if (startBound < start) {\n first.setAttributes({\n x: start,\n textAlign: 'left'\n });\n }\n\n if (endBound > end) {\n last.setAttributes({\n x: end,\n textAlign: 'right'\n });\n }\n } else {\n const start = height;\n const end = 0;\n const startBound = first.AABBBounds.y2;\n const endBound = last.AABBBounds.y1;\n\n if (startBound > start) {\n first.setAttributes({\n y: start,\n textBaseline: 'bottom'\n });\n }\n\n if (endBound < end) {\n last.setAttributes({\n y: end,\n textBaseline: 'top'\n });\n }\n }\n}\n\nfunction overlap(axisLabels: IText[], axis: CartesianAxis) {\n const spec = axis.option;\n if (!isEmpty(axisLabels)) {\n // 首尾标签向内偏移\n if (spec?.label?.flush) {\n labelFlush(axisLabels, axis);\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { LinearScale } from '@visactor/vscale';
|
|
2
|
+
type IRange = {
|
|
3
|
+
max?: number;
|
|
4
|
+
min?: number;
|
|
5
|
+
};
|
|
6
|
+
export declare class LinearAxisScale {
|
|
7
|
+
protected _extend: {
|
|
8
|
+
[key: string]: number;
|
|
9
|
+
};
|
|
10
|
+
_scale: LinearScale;
|
|
11
|
+
_scales: LinearScale[];
|
|
12
|
+
nice: boolean;
|
|
13
|
+
zero: boolean;
|
|
14
|
+
domain: Required<IRange>;
|
|
15
|
+
expand?: IRange;
|
|
16
|
+
forceTickCount?: number;
|
|
17
|
+
tickCount?: number;
|
|
18
|
+
niceType?: 'tickCountFirst' | 'accurateFirst';
|
|
19
|
+
constructor();
|
|
20
|
+
setExtraAttrFromSpec(nice: boolean, zero: boolean, range: Required<IRange>, expand?: IRange): void;
|
|
21
|
+
transformScaleDomain(): void;
|
|
22
|
+
setScaleNice(): void;
|
|
23
|
+
dataToPosition(values: any[]): number;
|
|
24
|
+
valueToPosition(value: any): number;
|
|
25
|
+
computeLinearDomain(data: {
|
|
26
|
+
min: number;
|
|
27
|
+
max: number;
|
|
28
|
+
}[]): number[];
|
|
29
|
+
protected expandDomain(domain: number[]): void;
|
|
30
|
+
protected niceDomain(domain: number[]): number[];
|
|
31
|
+
protected niceMinMax(): void;
|
|
32
|
+
protected includeZero(domain: number[]): void;
|
|
33
|
+
setExtendDomain(key: string, value: number | undefined): void;
|
|
34
|
+
protected extendDomain(domain: number[]): void;
|
|
35
|
+
protected setDomainMinMax(domain: number[]): void;
|
|
36
|
+
setZero(zero: boolean): void;
|
|
37
|
+
updateScaleDomain(): void;
|
|
38
|
+
computeDomain(data: {
|
|
39
|
+
min: number;
|
|
40
|
+
max: number;
|
|
41
|
+
}[]): number[];
|
|
42
|
+
protected updateScaleDomainByModel(domain?: number[]): void;
|
|
43
|
+
updateRange(newRange: [number, number]): void;
|
|
44
|
+
}
|
|
45
|
+
export {};
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { LinearScale } from "@visactor/vscale";
|
|
2
|
+
|
|
3
|
+
import { isNil, isValid, maxInArray, minInArray } from "@visactor/vutils";
|
|
4
|
+
|
|
5
|
+
const e10 = Math.sqrt(50), e5 = Math.sqrt(10), e2 = Math.sqrt(2);
|
|
6
|
+
|
|
7
|
+
export class LinearAxisScale {
|
|
8
|
+
constructor() {
|
|
9
|
+
this._extend = {}, this._scale = new LinearScale, this._scales = [ this._scale ];
|
|
10
|
+
}
|
|
11
|
+
setExtraAttrFromSpec(nice, zero, range, expand) {
|
|
12
|
+
this.nice = nice, this.zero = zero, this.domain = range, this.expand = expand;
|
|
13
|
+
}
|
|
14
|
+
transformScaleDomain() {
|
|
15
|
+
this.setScaleNice();
|
|
16
|
+
}
|
|
17
|
+
setScaleNice() {
|
|
18
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
19
|
+
let tickCount = null !== (_b = null !== (_a = this.forceTickCount) && void 0 !== _a ? _a : this.tickCount) && void 0 !== _b ? _b : 10;
|
|
20
|
+
"accurateFirst" === this.niceType && (tickCount = Math.max(10, tickCount)), isNil(null === (_c = this.domain) || void 0 === _c ? void 0 : _c.min) && isNil(null === (_d = this.domain) || void 0 === _d ? void 0 : _d.max) ? this.nice && this._scale.nice(tickCount) : isValid(null === (_e = this.domain) || void 0 === _e ? void 0 : _e.min) && isNil(null === (_f = this.domain) || void 0 === _f ? void 0 : _f.max) ? this.nice && this._scale.niceMax(tickCount) : isNil(null === (_g = this.domain) || void 0 === _g ? void 0 : _g.min) && isValid(null === (_h = this.domain) || void 0 === _h ? void 0 : _h.max) && this.nice && this._scale.niceMin(tickCount);
|
|
21
|
+
}
|
|
22
|
+
dataToPosition(values) {
|
|
23
|
+
return this.valueToPosition(values[0]);
|
|
24
|
+
}
|
|
25
|
+
valueToPosition(value) {
|
|
26
|
+
return this._scale.scale(value);
|
|
27
|
+
}
|
|
28
|
+
computeLinearDomain(data) {
|
|
29
|
+
const domain = [];
|
|
30
|
+
return data.forEach((d => {
|
|
31
|
+
const {min: min, max: max} = d;
|
|
32
|
+
domain[0] = void 0 === domain[0] ? min : Math.min(domain[0], min), domain[1] = void 0 === domain[1] ? max : Math.max(domain[1], max);
|
|
33
|
+
})), this.expandDomain(domain), this.includeZero(domain), this.setDomainMinMax(domain),
|
|
34
|
+
domain;
|
|
35
|
+
}
|
|
36
|
+
expandDomain(domain) {
|
|
37
|
+
if (!this.expand) return;
|
|
38
|
+
const domainMin = domain[0], domainMax = domain[domain.length - 1];
|
|
39
|
+
isValid(this.expand.min) && (domain[0] = domainMin - (domainMax - domainMin) * this.expand.min),
|
|
40
|
+
isValid(this.expand.max) && (domain[domain.length - 1] = domainMax + (domainMax - domainMin) * this.expand.max);
|
|
41
|
+
}
|
|
42
|
+
niceDomain(domain) {
|
|
43
|
+
if (Math.abs(minInArray(domain) - maxInArray(domain)) <= 1e-12) {
|
|
44
|
+
let num = domain[0];
|
|
45
|
+
const flag = num >= 0 ? 1 : -1;
|
|
46
|
+
if (num = Math.abs(num), num < 1) domain[0] = 0, domain[1] = 1; else {
|
|
47
|
+
let step = num / 5;
|
|
48
|
+
const power = Math.floor(Math.log(step) / Math.LN10), err = step / Math.pow(10, power);
|
|
49
|
+
step = (err >= e10 ? 10 : err >= e5 ? 5 : err >= e2 ? 2 : 1) * Math.pow(10, power),
|
|
50
|
+
domain[0] = 0, domain[1] = 10 * step;
|
|
51
|
+
}
|
|
52
|
+
flag < 0 && (domain.reverse(), domain[0] *= -1, domain[1] *= -1);
|
|
53
|
+
}
|
|
54
|
+
return domain;
|
|
55
|
+
}
|
|
56
|
+
niceMinMax() {
|
|
57
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
58
|
+
if (this.nice) {
|
|
59
|
+
let tickCount = null !== (_b = null !== (_a = this.forceTickCount) && void 0 !== _a ? _a : this.tickCount) && void 0 !== _b ? _b : 10;
|
|
60
|
+
"accurateFirst" === this.niceType && (tickCount = Math.max(10, tickCount)), isNil(null === (_c = this.domain) || void 0 === _c ? void 0 : _c.min) && isNil(null === (_d = this.domain) || void 0 === _d ? void 0 : _d.max) ? this._scale.nice(tickCount) : isValid(null === (_e = this.domain) || void 0 === _e ? void 0 : _e.min) && isNil(null === (_f = this.domain) || void 0 === _f ? void 0 : _f.max) ? this._scale.niceMax(tickCount) : isNil(null === (_g = this.domain) || void 0 === _g ? void 0 : _g.min) && isValid(null === (_h = this.domain) || void 0 === _h ? void 0 : _h.max) && this._scale.niceMin(tickCount);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
includeZero(domain) {
|
|
64
|
+
this.zero && (domain[0] = Math.min(domain[0], 0), domain[domain.length - 1] = Math.max(domain[domain.length - 1], 0));
|
|
65
|
+
}
|
|
66
|
+
setExtendDomain(key, value) {
|
|
67
|
+
if (void 0 === value) return void delete this._extend[key];
|
|
68
|
+
this._extend[key] = value;
|
|
69
|
+
const domain = this._scale.domain();
|
|
70
|
+
this.extendDomain(domain), this.includeZero(domain), this.setDomainMinMax(domain),
|
|
71
|
+
this.niceDomain(domain), this._scale.domain(domain, this.nice), this.niceMinMax();
|
|
72
|
+
}
|
|
73
|
+
extendDomain(domain) {
|
|
74
|
+
let temp;
|
|
75
|
+
const domainLast = domain.length - 1, reverse = domain[0] - domain[domainLast] > 0, min = reverse ? domainLast : 0, max = reverse ? 0 : domainLast;
|
|
76
|
+
for (const key in this._extend) temp = this._extend[key], temp > domain[max] && (domain[max] = temp),
|
|
77
|
+
temp < domain[min] && (domain[min] = temp);
|
|
78
|
+
}
|
|
79
|
+
setDomainMinMax(domain) {
|
|
80
|
+
if (!this.domain) return;
|
|
81
|
+
const {min: min, max: max} = this.domain;
|
|
82
|
+
isValid(min) && (domain[0] = min), isValid(max) && (domain[1] = max);
|
|
83
|
+
}
|
|
84
|
+
setZero(zero) {
|
|
85
|
+
this.zero !== zero && (this.zero = zero, this.updateScaleDomain());
|
|
86
|
+
}
|
|
87
|
+
updateScaleDomain() {
|
|
88
|
+
const domain = this.computeDomain([ this.domain ]);
|
|
89
|
+
this.updateScaleDomainByModel(domain);
|
|
90
|
+
}
|
|
91
|
+
computeDomain(data) {
|
|
92
|
+
return this.computeLinearDomain(data);
|
|
93
|
+
}
|
|
94
|
+
updateScaleDomainByModel(domain) {
|
|
95
|
+
domain = null != domain ? domain : this._scale.domain(), this.extendDomain(domain),
|
|
96
|
+
this.includeZero(domain), this.setDomainMinMax(domain), this.niceDomain(domain),
|
|
97
|
+
this._scale.domain(domain, this.nice), this.niceMinMax();
|
|
98
|
+
}
|
|
99
|
+
updateRange(newRange) {
|
|
100
|
+
const [start, end] = this._scale.range();
|
|
101
|
+
newRange[0] === start && newRange[1] === end || this._scale.range(newRange);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=linear-scale.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["components/axis/linear-scale.ts"],"names":[],"mappings":"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","file":"linear-scale.js","sourcesContent":["import { LinearScale } from '@visactor/vscale';\nimport { isNil, isValid, maxInArray, minInArray } from '@visactor/vutils';\n\nconst e10 = Math.sqrt(50);\nconst e5 = Math.sqrt(10);\nconst e2 = Math.sqrt(2);\n\ntype IRange = { max?: number; min?: number };\nexport class LinearAxisScale {\n protected _extend: { [key: string]: number } = {};\n _scale: LinearScale;\n _scales: LinearScale[];\n nice: boolean;\n zero: boolean;\n domain: Required<IRange>;\n expand?: IRange;\n forceTickCount?: number;\n tickCount?: number;\n niceType?: 'tickCountFirst' | 'accurateFirst';\n\n constructor() {\n this._scale = new LinearScale();\n this._scales = [this._scale];\n }\n\n setExtraAttrFromSpec(nice: boolean, zero: boolean, range: Required<IRange>, expand?: IRange) {\n this.nice = nice;\n this.zero = zero;\n this.domain = range;\n this.expand = expand;\n }\n\n transformScaleDomain() {\n this.setScaleNice();\n }\n setScaleNice() {\n let tickCount = this.forceTickCount ?? this.tickCount ?? 10;\n // 如果配置了精度优先,那么最低是10\n // 否则就直接使用tickCount即可\n if (this.niceType === 'accurateFirst') {\n tickCount = Math.max(10, tickCount);\n }\n\n if (isNil(this.domain?.min) && isNil(this.domain?.max)) {\n this.nice && this._scale.nice(tickCount);\n } else if (isValid(this.domain?.min) && isNil(this.domain?.max)) {\n this.nice && this._scale.niceMax(tickCount);\n } else if (isNil(this.domain?.min) && isValid(this.domain?.max)) {\n this.nice && this._scale.niceMin(tickCount);\n }\n }\n dataToPosition(values: any[]): number {\n return this.valueToPosition(values[0]);\n }\n\n valueToPosition(value: any): number {\n return this._scale.scale(value);\n }\n\n computeLinearDomain(data: { min: number; max: number }[]): number[] {\n const domain: number[] = [];\n data.forEach(d => {\n const { min, max } = d;\n domain[0] = domain[0] === undefined ? min : Math.min(domain[0] as number, min as number);\n domain[1] = domain[1] === undefined ? max : Math.max(domain[1] as number, max as number);\n });\n this.expandDomain(domain);\n this.includeZero(domain);\n this.setDomainMinMax(domain);\n return domain;\n }\n\n protected expandDomain(domain: number[]): void {\n if (!this.expand) {\n return;\n }\n const domainMin = domain[0];\n const domainMax = domain[domain.length - 1];\n if (isValid(this.expand.min)) {\n domain[0] = domainMin - (domainMax - domainMin) * this.expand.min;\n }\n if (isValid(this.expand.max)) {\n domain[domain.length - 1] = domainMax + (domainMax - domainMin) * this.expand.max;\n }\n }\n\n protected niceDomain(domain: number[]) {\n if (Math.abs(minInArray(domain) - maxInArray(domain)) <= 1e-12) {\n let num = domain[0];\n const flag = num >= 0 ? 1 : -1;\n num = Math.abs(num);\n if (num < 1) {\n domain[0] = 0;\n domain[1] = 1; // 在[0, 1) 区间变成[0, 1]\n } else {\n let step = num / 5; // 默认5个ticks\n const power = Math.floor(Math.log(step) / Math.LN10);\n const err = step / Math.pow(10, power);\n step = (err >= e10 ? 10 : err >= e5 ? 5 : err >= e2 ? 2 : 1) * Math.pow(10, power);\n\n domain[0] = 0;\n domain[1] = step * 10;\n }\n if (flag < 0) {\n domain.reverse();\n domain[0] *= -1;\n domain[1] *= -1;\n }\n }\n return domain;\n }\n\n protected niceMinMax() {\n if (this.nice) {\n let tickCount = this.forceTickCount ?? this.tickCount ?? 10;\n // 如果配置了精度优先,那么最低是10\n // 否则就直接使用tickCount即可\n if (this.niceType === 'accurateFirst') {\n tickCount = Math.max(10, tickCount);\n }\n if (isNil(this.domain?.min) && isNil(this.domain?.max)) {\n this._scale.nice(tickCount);\n } else if (isValid(this.domain?.min) && isNil(this.domain?.max)) {\n this._scale.niceMax(tickCount);\n } else if (isNil(this.domain?.min) && isValid(this.domain?.max)) {\n this._scale.niceMin(tickCount);\n }\n }\n }\n\n protected includeZero(domain: number[]): void {\n if (this.zero) {\n domain[0] = Math.min(domain[0], 0);\n domain[domain.length - 1] = Math.max(domain[domain.length - 1], 0);\n }\n }\n\n // 用户其他模块扩充轴scale的区间\n setExtendDomain(key: string, value: number | undefined) {\n if (value === undefined) {\n delete this._extend[key];\n return;\n }\n this._extend[key] = value;\n const domain = this._scale.domain();\n this.extendDomain(domain);\n this.includeZero(domain);\n this.setDomainMinMax(domain);\n this.niceDomain(domain);\n this._scale.domain(domain, this.nice);\n this.niceMinMax();\n\n // this.event.emit(ChartEvent.scaleUpdate, { model: this as any });\n }\n\n protected extendDomain(domain: number[]) {\n let temp;\n const domainLast = domain.length - 1;\n const reverse = domain[0] - domain[domainLast] > 0;\n const min = reverse ? domainLast : 0;\n const max = reverse ? 0 : domainLast;\n for (const key in this._extend) {\n temp = this._extend[key];\n temp > domain[max] && (domain[max] = temp);\n temp < domain[min] && (domain[min] = temp);\n }\n }\n\n protected setDomainMinMax(domain: number[]): void {\n if (!this.domain) {\n return;\n }\n const { min, max } = this.domain;\n isValid(min) && (domain[0] = min);\n isValid(max) && (domain[1] = max);\n }\n\n setZero(zero: boolean) {\n if (this.zero !== zero) {\n this.zero = zero;\n this.updateScaleDomain();\n }\n }\n /**\n * @override\n * TODO event.emit是否可以考虑用decorator\n */\n updateScaleDomain() {\n const domain: number[] = this.computeDomain([this.domain]) as number[];\n this.updateScaleDomainByModel(domain);\n }\n\n computeDomain(data: { min: number; max: number }[]): number[] {\n return this.computeLinearDomain(data);\n }\n\n /**\n * TODO event.emit是否可以考虑用decorator\n * 数据逻辑外,模块的设置更新对scale-domain的修改操作\n */\n protected updateScaleDomainByModel(domain?: number[]) {\n domain = domain ?? this._scale.domain();\n // 其他模块的设置 domain\n this.extendDomain(domain);\n this.includeZero(domain);\n // 用户 spec 的 min-max\n this.setDomainMinMax(domain);\n // nice 优先级最高\n this.niceDomain(domain);\n this._scale.domain(domain, this.nice);\n // 设置scale的nice-min-max\n this.niceMinMax();\n\n // this.event.emit(ChartEvent.scaleUpdate, { model: this as any });\n }\n\n updateRange(newRange: [number, number]) {\n const [start, end] = this._scale.range();\n if (newRange[0] !== start || newRange[1] !== end) {\n this._scale.range(newRange);\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
var __rest = this && this.__rest || function(s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
|
|
4
|
+
if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
|
|
5
|
+
var i = 0;
|
|
6
|
+
for (p = Object.getOwnPropertySymbols(s); i < p.length; i++) e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]) && (t[p[i]] = s[p[i]]);
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
import { isEmpty, isValid, merge } from "@visactor/vutils";
|
|
12
|
+
|
|
13
|
+
import { isPercent } from "../../tools/calc";
|
|
14
|
+
|
|
15
|
+
import { transformComponentStyle, transformLegendTitleAttributes, transformToGraphic } from "../util/transform";
|
|
16
|
+
|
|
17
|
+
const defaultLegendSpec = {
|
|
18
|
+
orient: "bottom",
|
|
19
|
+
position: "middle",
|
|
20
|
+
padding: 30,
|
|
21
|
+
title: {
|
|
22
|
+
visible: !1,
|
|
23
|
+
padding: 0,
|
|
24
|
+
textStyle: {
|
|
25
|
+
fontSize: 14,
|
|
26
|
+
fill: "#000000",
|
|
27
|
+
fontWeight: "normal"
|
|
28
|
+
},
|
|
29
|
+
space: 12
|
|
30
|
+
},
|
|
31
|
+
item: {
|
|
32
|
+
visible: !0,
|
|
33
|
+
spaceCol: 10,
|
|
34
|
+
spaceRow: 10,
|
|
35
|
+
padding: 2,
|
|
36
|
+
background: {
|
|
37
|
+
state: {
|
|
38
|
+
selectedHover: {
|
|
39
|
+
fill: "gray",
|
|
40
|
+
fillOpacity: .7
|
|
41
|
+
},
|
|
42
|
+
unSelectedHover: {
|
|
43
|
+
fill: "gray",
|
|
44
|
+
fillOpacity: .2
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
shape: {
|
|
49
|
+
space: 4,
|
|
50
|
+
state: {
|
|
51
|
+
unSelected: {
|
|
52
|
+
fillOpacity: .5
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
label: {
|
|
57
|
+
space: 4,
|
|
58
|
+
style: {
|
|
59
|
+
fill: "#89909D",
|
|
60
|
+
fontSize: 14
|
|
61
|
+
},
|
|
62
|
+
state: {
|
|
63
|
+
unSelected: {
|
|
64
|
+
fillOpacity: .5
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
allowAllCanceled: !1,
|
|
70
|
+
visible: !0
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export function getLegendAttributes(spec, rect) {
|
|
74
|
+
const _a = merge({}, defaultLegendSpec, spec), {title: title = {}, item: item = {}, pager: pager = {}, background: background = {}, type: type, id: id, visible: visible, orient: orient, position: position, data: data, filter: filter, regionId: regionId, regionIndex: regionIndex, seriesIndex: seriesIndex, seriesId: seriesId, padding: padding} = _a, attrs = __rest(_a, [ "title", "item", "pager", "background", "type", "id", "visible", "orient", "position", "data", "filter", "regionId", "regionIndex", "seriesIndex", "seriesId", "padding" ]);
|
|
75
|
+
return title.visible && (attrs.title = transformLegendTitleAttributes(title)), isEmpty(item.focusIconStyle) || transformToGraphic(item.focusIconStyle),
|
|
76
|
+
transformComponentStyle(item.shape), transformComponentStyle(item.label), transformComponentStyle(item.value),
|
|
77
|
+
transformComponentStyle(item.background), isPercent(item.maxWidth) && (item.maxWidth = Number(item.maxWidth.substring(0, item.maxWidth.length - 1)) * rect.width / 100),
|
|
78
|
+
isPercent(item.width) && (item.width = Number(item.width.substring(0, item.width.length - 1)) * rect.width / 100),
|
|
79
|
+
isPercent(item.height) && (item.height = Number(item.height.substring(0, item.height.length - 1)) * rect.width / 100),
|
|
80
|
+
attrs.item = item, isEmpty(pager.textStyle) || transformToGraphic(pager.textStyle),
|
|
81
|
+
transformComponentStyle(pager.handler), attrs.pager = pager, background.visible && !isEmpty(background.style) && (merge(attrs, background.style),
|
|
82
|
+
isValid(background.padding) && (attrs.padding = background.padding)), attrs;
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=get-legend-attributes.js.map
|