@visactor/vtable 1.13.3-alpha.5 → 1.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/ListTable.d.ts +1 -1
- package/cjs/ListTable.js +8 -8
- package/cjs/ListTable.js.map +1 -1
- package/cjs/PivotChart.js +5 -2
- package/cjs/PivotChart.js.map +1 -1
- package/cjs/PivotTable.js +3 -3
- package/cjs/PivotTable.js.map +1 -1
- package/cjs/components/axis/get-axis-component-size.js +20 -16
- package/cjs/components/axis/get-axis-component-size.js.map +1 -1
- package/cjs/components/react/react-custom-layout.js +1 -1
- package/cjs/components/react/react-custom-layout.js.map +1 -1
- package/cjs/core/BaseTable.d.ts +4 -4
- package/cjs/core/BaseTable.js +5 -5
- package/cjs/core/BaseTable.js.map +1 -1
- package/cjs/core/record-helper.js +3 -3
- package/cjs/core/record-helper.js.map +1 -1
- package/cjs/edit/edit-manager.d.ts +2 -2
- package/cjs/edit/edit-manager.js +17 -8
- package/cjs/edit/edit-manager.js.map +1 -1
- package/cjs/event/listener/table-group.js +1 -1
- package/cjs/event/listener/table-group.js.map +1 -1
- package/cjs/event/media-click.js +4 -1
- package/cjs/event/media-click.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/layout/cell-range/simple-cell-range.js +44 -4
- package/cjs/layout/cell-range/simple-cell-range.js.map +1 -1
- package/cjs/layout/chart-helper/get-axis-config.d.ts +17 -4
- package/cjs/layout/chart-helper/get-axis-config.js +129 -71
- package/cjs/layout/chart-helper/get-axis-config.js.map +1 -1
- package/cjs/layout/chart-helper/get-axis-domain.d.ts +8 -2
- package/cjs/layout/chart-helper/get-axis-domain.js +11 -6
- package/cjs/layout/chart-helper/get-axis-domain.js.map +1 -1
- package/cjs/layout/chart-helper/get-chart-spec.js +13 -37
- package/cjs/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/cjs/layout/chart-helper/tick-align.d.ts +12 -0
- package/cjs/layout/chart-helper/tick-align.js +23 -0
- package/cjs/layout/chart-helper/tick-align.js.map +1 -0
- package/cjs/layout/pivot-header-layout.js +3 -1
- package/cjs/layout/pivot-header-layout.js.map +1 -1
- package/cjs/plugins/custom-cell-style.d.ts +1 -1
- package/cjs/plugins/custom-cell-style.js +2 -3
- package/cjs/plugins/custom-cell-style.js.map +1 -1
- package/cjs/scenegraph/graphic/contributions/chart-render-helper.js +5 -2
- package/cjs/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js +1 -1
- package/cjs/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/radio-cell.js +1 -1
- package/cjs/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/cjs/scenegraph/group-creater/column-helper.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js +1 -1
- package/cjs/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/proxy.js +8 -8
- package/cjs/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +6 -6
- package/cjs/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
- package/cjs/scenegraph/group-creater/progress/update-position/sort-vertical.js +3 -3
- package/cjs/scenegraph/group-creater/progress/update-position/sort-vertical.js.map +1 -1
- package/cjs/scenegraph/layout/compute-row-height.js +18 -13
- package/cjs/scenegraph/layout/compute-row-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-height.js.map +1 -1
- package/cjs/scenegraph/layout/update-row.js +4 -4
- package/cjs/scenegraph/layout/update-row.js.map +1 -1
- package/cjs/scenegraph/layout/update-width.js.map +1 -1
- package/cjs/scenegraph/scenegraph.js +1 -1
- package/cjs/scenegraph/scenegraph.js.map +1 -1
- package/cjs/state/checkbox/checkbox.js +84 -51
- package/cjs/state/checkbox/checkbox.js.map +1 -1
- package/cjs/state/state.d.ts +1 -1
- package/cjs/state/state.js +4 -4
- package/cjs/state/state.js.map +1 -1
- package/cjs/tools/update-row.js +5 -4
- package/cjs/tools/update-row.js.map +1 -1
- package/cjs/ts-types/base-table.d.ts +7 -3
- package/cjs/ts-types/base-table.js.map +1 -1
- package/cjs/ts-types/common.d.ts +6 -1
- package/cjs/ts-types/common.js.map +1 -1
- package/cjs/ts-types/table-engine.d.ts +3 -7
- package/cjs/ts-types/table-engine.js.map +1 -1
- package/cjs/vrender.js.map +1 -1
- package/dist/vtable.js +547 -338
- package/dist/vtable.min.js +2 -2
- package/es/ListTable.d.ts +1 -1
- package/es/ListTable.js +9 -9
- package/es/ListTable.js.map +1 -1
- package/es/PivotChart.js +5 -2
- package/es/PivotChart.js.map +1 -1
- package/es/PivotTable.js +4 -4
- package/es/PivotTable.js.map +1 -1
- package/es/components/axis/get-axis-component-size.js +17 -17
- package/es/components/axis/get-axis-component-size.js.map +1 -1
- package/es/components/react/react-custom-layout.js +1 -1
- package/es/components/react/react-custom-layout.js.map +1 -1
- package/es/core/BaseTable.d.ts +4 -4
- package/es/core/BaseTable.js +5 -5
- package/es/core/BaseTable.js.map +1 -1
- package/es/core/record-helper.js +3 -3
- package/es/core/record-helper.js.map +1 -1
- package/es/edit/edit-manager.d.ts +2 -2
- package/es/edit/edit-manager.js +13 -5
- package/es/edit/edit-manager.js.map +1 -1
- package/es/event/listener/table-group.js +1 -1
- package/es/event/listener/table-group.js.map +1 -1
- package/es/event/media-click.js +4 -1
- package/es/event/media-click.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/layout/cell-range/simple-cell-range.js +44 -4
- package/es/layout/cell-range/simple-cell-range.js.map +1 -1
- package/es/layout/chart-helper/get-axis-config.d.ts +17 -4
- package/es/layout/chart-helper/get-axis-config.js +127 -68
- package/es/layout/chart-helper/get-axis-config.js.map +1 -1
- package/es/layout/chart-helper/get-axis-domain.d.ts +8 -2
- package/es/layout/chart-helper/get-axis-domain.js +10 -6
- package/es/layout/chart-helper/get-axis-domain.js.map +1 -1
- package/es/layout/chart-helper/get-chart-spec.js +13 -40
- package/es/layout/chart-helper/get-chart-spec.js.map +1 -1
- package/es/layout/chart-helper/tick-align.d.ts +12 -0
- package/es/layout/chart-helper/tick-align.js +16 -0
- package/es/layout/chart-helper/tick-align.js.map +1 -0
- package/es/layout/pivot-header-layout.js +3 -1
- package/es/layout/pivot-header-layout.js.map +1 -1
- package/es/plugins/custom-cell-style.d.ts +1 -1
- package/es/plugins/custom-cell-style.js +3 -4
- package/es/plugins/custom-cell-style.js.map +1 -1
- package/es/scenegraph/graphic/contributions/chart-render-helper.js +5 -2
- package/es/scenegraph/graphic/contributions/chart-render-helper.js.map +1 -1
- package/es/scenegraph/group-creater/cell-helper.js +2 -2
- package/es/scenegraph/group-creater/cell-helper.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/checkbox-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/radio-cell.js +1 -1
- package/es/scenegraph/group-creater/cell-type/radio-cell.js.map +1 -1
- package/es/scenegraph/group-creater/cell-type/text-cell.js.map +1 -1
- package/es/scenegraph/group-creater/column-helper.js.map +1 -1
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js +1 -1
- package/es/scenegraph/group-creater/progress/create-group-for-first-screen.js.map +1 -1
- package/es/scenegraph/group-creater/progress/proxy.js +8 -8
- package/es/scenegraph/group-creater/progress/proxy.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js +6 -6
- package/es/scenegraph/group-creater/progress/update-position/dynamic-set-y.js.map +1 -1
- package/es/scenegraph/group-creater/progress/update-position/sort-vertical.js +3 -3
- package/es/scenegraph/group-creater/progress/update-position/sort-vertical.js.map +1 -1
- package/es/scenegraph/layout/compute-row-height.js +17 -13
- package/es/scenegraph/layout/compute-row-height.js.map +1 -1
- package/es/scenegraph/layout/update-height.js.map +1 -1
- package/es/scenegraph/layout/update-row.js +4 -4
- package/es/scenegraph/layout/update-row.js.map +1 -1
- package/es/scenegraph/layout/update-width.js.map +1 -1
- package/es/scenegraph/scenegraph.js +1 -1
- package/es/scenegraph/scenegraph.js.map +1 -1
- package/es/state/checkbox/checkbox.js +83 -52
- package/es/state/checkbox/checkbox.js.map +1 -1
- package/es/state/state.d.ts +1 -1
- package/es/state/state.js +4 -4
- package/es/state/state.js.map +1 -1
- package/es/tools/update-row.js +5 -4
- package/es/tools/update-row.js.map +1 -1
- package/es/ts-types/base-table.d.ts +7 -3
- package/es/ts-types/base-table.js.map +1 -1
- package/es/ts-types/common.d.ts +6 -1
- package/es/ts-types/common.js.map +1 -1
- package/es/ts-types/table-engine.d.ts +3 -7
- package/es/ts-types/table-engine.js.map +1 -1
- package/es/vrender.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/layout/cell-range/simple-cell-range.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,YAAY,CAAC,GAAW,EAAE,GAAW,EAAE,MAA6B;;IAClF,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE;QAC5B,OAAO;YACL,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;YACnB,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE;SAClB,CAAC;KACH;IACD,IAAI,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,EAAE;QAC9C,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;KACnD;IACD,IAAI,SAAS,GAAc,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IACtE,IAAI,MAAM,CAAC,SAAS,EAAE;QACpB,SAAS,GAAG,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;KACrD;SAAM;QAEL,IAAI,MAAM,CAAC,gBAAgB,IAAI,GAAG,EAAE;YAElC,IACE,MAAM,CAAC,gBAAgB,IAAI,GAAG;iBAC9B,MAAC,MAAA,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,8BAA8B,CAAC,0CAAE,MAA2B,0CAAE,SAAS,CAAA,EAC1G;gBACA,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACnD,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE;oBACvD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACtD,IAAI,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;wBAC3G,IAAI,KAAK,KAAK,UAAU,EAAE;4BACxB,MAAM;yBACP;qBACF;yBAAM;wBACL,IACE,CAAE,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,SAAsB,CAC/F,KAAK,EACL,UAAU,CACX,EACD;4BACA,MAAM;yBACP;qBACF;oBACD,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;iBACzB;gBACD,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;oBAC9C,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;oBACtD,IAAI,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;wBAC3G,IAAI,KAAK,KAAK,UAAU,EAAE;4BACxB,MAAM;yBACP;qBACF;yBAAM;wBACL,IACE,CAAE,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,MAAM,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,SAAsB,CAC/F,KAAK,EACL,UAAU,CACX,EACD;4BACA,MAAM;yBACP;qBACF;oBACD,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;iBACvB;aACF;YACD,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SAEhD;aAAM;YAEL,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACtC,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjC,IAAI,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACnC,MAAM;iBACP;gBACD,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;aACzB;YACD,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACrD,IAAI,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;oBACnC,MAAM;iBACP;gBACD,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;aACvB;YACD,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;gBACjC,IAAI,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;oBACnC,MAAM;iBACP;gBACD,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;aACzB;YACD,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC,EAAE,EAAE;gBACtD,IAAI,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;oBACnC,MAAM;iBACP;gBACD,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;aACvB;SAEF;KACF;IACD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;IACtD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW,EAAE,GAAW,EAAE,SAAoB,EAAE,MAA6B;IACtG,IAAI,MAAM,CAAC,gBAAgB,KAAK,MAAM,EAAE;QACtC,OAAO;KACR;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,WAAW,EAAE;QAE3B,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,mBAAmB,CAAC;QACjD,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC,CAAC;QACxC,SAAS,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;KAC/C;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW,EAAE,GAAW,EAAE,MAA6B;;IAC3F,MAAM,MAAM,GAAc,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;IAErE,IAAI,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,8BAA8B,IAAI,GAAG,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE;QAExG,IACE,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,8BAA8B,IAAI,GAAG;aACtE,MAAA,MAAA,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,0CAAE,MAAM,0CAAE,SAAS,CAAA,EAC5C;YACA,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACnD,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,8BAA8B,EAAE,CAAC,EAAE,EAAE;gBAC/F,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACtD,IAAI,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;oBACnE,IAAI,KAAK,KAAK,UAAU,EAAE;wBACxB,MAAM;qBACP;iBACF;qBAAM;oBACL,IAAI,CAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,SAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;wBAChF,MAAM;qBACP;iBACF;gBACD,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;aACtB;YACD,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACrD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;gBACtD,IAAI,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;oBACnE,IAAI,KAAK,KAAK,UAAU,EAAE;wBACxB,MAAM;qBACP;iBACF;qBAAM;oBACL,IAAI,CAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,SAAsB,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;wBAChF,MAAM;qBACP;iBACF;gBACD,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;aACpB;SACF;QACD,OAAO,MAAM,CAAC;KACf;IAED,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QACjC,IAAI,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;YACnC,MAAM;SACP;QACD,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;KACtB;IACD,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAA,MAAM,CAAC,QAAQ,mCAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrD,IAAI,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE;YACnC,MAAM;SACP;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;KACpB;IACD,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;QACjC,IAAI,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACnC,MAAM;SACP;QACD,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;KACtB;IACD,KAAK,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,gBAAgB,GAAG,MAAM,CAAC,8BAA8B,EAAE,CAAC,EAAE,EAAE;QAC9F,IAAI,EAAE,KAAK,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACnC,MAAM;SACP;QACD,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC;KACpB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC","file":"simple-cell-range.js","sourcesContent":["import type { CellRange, TextColumnDefine } from '../../ts-types';\nimport type { SimpleHeaderLayoutMap } from '../simple-header-layout';\n\nexport function getCellRange(col: number, row: number, layout: SimpleHeaderLayoutMap): CellRange {\n if (col === -1 || row === -1) {\n return {\n start: { col, row },\n end: { col, row }\n };\n }\n if (layout._cellRangeMap.has(`$${col}$${row}`)) {\n return layout._cellRangeMap.get(`$${col}$${row}`);\n }\n let cellRange: CellRange = { start: { col, row }, end: { col, row } };\n if (layout.transpose) {\n cellRange = getCellRangeTranspose(col, row, layout);\n } else {\n // hover相关的单元格位置是-1,-1,getCellRange计算有误,先进行判断\n if (layout.headerLevelCount <= row) {\n //如果是body部分 设置了需要合并单元格 这里判断上下是否内容相同 相同的话 将cellRange范围扩大\n if (\n layout.headerLevelCount <= row &&\n (layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount]?.define as TextColumnDefine)?.mergeCell\n ) {\n const value = layout._table.getCellValue(col, row);\n for (let r = row - 1; r >= layout.headerLevelCount; r--) {\n const last_Value = layout._table.getCellValue(col, r);\n if (typeof layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell === 'boolean') {\n if (value !== last_Value) {\n break;\n }\n } else {\n if (\n !(layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell as Function)(\n value,\n last_Value\n )\n ) {\n break;\n }\n }\n cellRange.start.row = r;\n }\n for (let r = row + 1; r < layout.rowCount; r++) {\n const next_Value = layout._table.getCellValue(col, r);\n if (typeof layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell === 'boolean') {\n if (value !== next_Value) {\n break;\n }\n } else {\n if (\n !(layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell as Function)(\n value,\n next_Value\n )\n ) {\n break;\n }\n }\n cellRange.end.row = r;\n }\n }\n getTreeTitleMerge(col, row, cellRange, layout);\n // return cellRange;\n } else {\n //in header\n const id = layout.getCellId(col, row);\n for (let c = col - 1; c >= 0; c--) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n cellRange.start.col = c;\n }\n for (let c = col + 1; c < (layout.colCount ?? 0); c++) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n cellRange.end.col = c;\n }\n for (let r = row - 1; r >= 0; r--) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n cellRange.start.row = r;\n }\n for (let r = row + 1; r < layout.headerLevelCount; r++) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n cellRange.end.row = r;\n }\n // return cellRange;\n }\n }\n layout._cellRangeMap.set(`$${col}$${row}`, cellRange);\n return cellRange;\n}\n\nfunction getTreeTitleMerge(col: number, row: number, cellRange: CellRange, layout: SimpleHeaderLayoutMap) {\n if (layout.rowHierarchyType !== 'tree') {\n return;\n }\n\n const cellRecord = layout._table.getCellRawRecord(col, row);\n if (cellRecord?.vtableMerge) {\n // const vtableMergeName = cellRecord.vtableMergeName;\n cellRange.start.col = layout.rowHeaderLevelCount;\n cellRange.end.col = layout.colCount - 1;\n cellRange.start.row = cellRange.end.row = row;\n }\n}\n\nexport function getCellRangeTranspose(col: number, row: number, layout: SimpleHeaderLayoutMap): CellRange {\n const result: CellRange = { start: { col, row }, end: { col, row } };\n // hover相关的单元格位置是-1,-1,getCellRange计算有误,先进行判断\n if (layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount <= col || (col === -1 && row === -1)) {\n //如果是body部分 设置了需要合并单元格 这里判断左右是否内容相同 相同的话 将cellRange范围扩大\n if (\n layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount <= col &&\n layout.columnObjects[row]?.define?.mergeCell\n ) {\n const value = layout._table.getCellValue(col, row);\n for (let c = col - 1; c >= layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount; c--) {\n const last_Value = layout._table.getCellValue(c, row);\n if (typeof layout.columnObjects[row].define.mergeCell === 'boolean') {\n if (value !== last_Value) {\n break;\n }\n } else {\n if (!(layout.columnObjects[row].define.mergeCell as Function)(value, last_Value)) {\n break;\n }\n }\n result.start.col = c;\n }\n for (let c = col + 1; c < (layout.colCount ?? 0); c++) {\n const next_Value = layout._table.getCellValue(c, row);\n if (typeof layout.columnObjects[row].define.mergeCell === 'boolean') {\n if (value !== next_Value) {\n break;\n }\n } else {\n if (!(layout.columnObjects[row].define.mergeCell as Function)(value, next_Value)) {\n break;\n }\n }\n result.end.col = c;\n }\n }\n return result;\n }\n //in header\n const id = layout.getCellId(col, row);\n for (let r = row - 1; r >= 0; r--) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n result.start.row = r;\n }\n for (let r = row + 1; r < (layout.rowCount ?? 0); r++) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n result.end.row = r;\n }\n for (let c = col - 1; c >= 0; c--) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n result.start.col = c;\n }\n for (let c = col + 1; c < layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount; c++) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n result.end.col = c;\n }\n return result;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/layout/cell-range/simple-cell-range.ts"],"names":[],"mappings":"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","file":"simple-cell-range.js","sourcesContent":["import type { CellRange, TextColumnDefine } from '../../ts-types';\nimport type { SimpleHeaderLayoutMap } from '../simple-header-layout';\n\nexport function getCellRange(col: number, row: number, layout: SimpleHeaderLayoutMap): CellRange {\n if (col === -1 || row === -1) {\n return {\n start: { col, row },\n end: { col, row }\n };\n }\n if (layout._cellRangeMap.has(`$${col}$${row}`)) {\n return layout._cellRangeMap.get(`$${col}$${row}`);\n }\n let cellRange: CellRange = { start: { col, row }, end: { col, row } };\n if (layout.transpose) {\n cellRange = getCellRangeTranspose(col, row, layout);\n } else {\n // hover相关的单元格位置是-1,-1,getCellRange计算有误,先进行判断\n if (layout.headerLevelCount <= row) {\n //如果是body部分 设置了需要合并单元格 这里判断上下是否内容相同 相同的话 将cellRange范围扩大\n if (\n layout.headerLevelCount <= row &&\n (layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount]?.define as TextColumnDefine)?.mergeCell\n ) {\n const value = layout._table.getCellValue(col, row);\n for (let r = row - 1; r >= layout.headerLevelCount; r--) {\n const last_Value = layout._table.getCellValue(col, r);\n if (typeof layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell === 'boolean') {\n if (value !== last_Value) {\n break;\n }\n } else {\n if (\n !(layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell as Function)(\n value,\n last_Value,\n {\n source: {\n col,\n row\n },\n target: {\n col,\n row: r\n },\n table: layout._table\n }\n )\n ) {\n break;\n }\n }\n cellRange.start.row = r;\n }\n for (let r = row + 1; r < layout.rowCount; r++) {\n const next_Value = layout._table.getCellValue(col, r);\n if (typeof layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell === 'boolean') {\n if (value !== next_Value) {\n break;\n }\n } else {\n if (\n !(layout.columnObjects[col - layout.leftRowSeriesNumberColumnCount].define.mergeCell as Function)(\n value,\n next_Value,\n {\n source: {\n col,\n row\n },\n target: {\n col,\n row: r\n },\n table: layout._table\n }\n )\n ) {\n break;\n }\n }\n cellRange.end.row = r;\n }\n }\n getTreeTitleMerge(col, row, cellRange, layout);\n // return cellRange;\n } else {\n //in header\n const id = layout.getCellId(col, row);\n for (let c = col - 1; c >= 0; c--) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n cellRange.start.col = c;\n }\n for (let c = col + 1; c < (layout.colCount ?? 0); c++) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n cellRange.end.col = c;\n }\n for (let r = row - 1; r >= 0; r--) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n cellRange.start.row = r;\n }\n for (let r = row + 1; r < layout.headerLevelCount; r++) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n cellRange.end.row = r;\n }\n // return cellRange;\n }\n }\n layout._cellRangeMap.set(`$${col}$${row}`, cellRange);\n return cellRange;\n}\n\nfunction getTreeTitleMerge(col: number, row: number, cellRange: CellRange, layout: SimpleHeaderLayoutMap) {\n if (layout.rowHierarchyType !== 'tree') {\n return;\n }\n\n const cellRecord = layout._table.getCellRawRecord(col, row);\n if (cellRecord?.vtableMerge) {\n // const vtableMergeName = cellRecord.vtableMergeName;\n cellRange.start.col = layout.rowHeaderLevelCount;\n cellRange.end.col = layout.colCount - 1;\n cellRange.start.row = cellRange.end.row = row;\n }\n}\n\nexport function getCellRangeTranspose(col: number, row: number, layout: SimpleHeaderLayoutMap): CellRange {\n const result: CellRange = { start: { col, row }, end: { col, row } };\n // hover相关的单元格位置是-1,-1,getCellRange计算有误,先进行判断\n if (layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount <= col || (col === -1 && row === -1)) {\n //如果是body部分 设置了需要合并单元格 这里判断左右是否内容相同 相同的话 将cellRange范围扩大\n if (\n layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount <= col &&\n layout.columnObjects[row]?.define?.mergeCell\n ) {\n const value = layout._table.getCellValue(col, row);\n for (let c = col - 1; c >= layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount; c--) {\n const last_Value = layout._table.getCellValue(c, row);\n if (typeof layout.columnObjects[row].define.mergeCell === 'boolean') {\n if (value !== last_Value) {\n break;\n }\n } else {\n if (\n !(layout.columnObjects[row].define.mergeCell as Function)(value, last_Value, {\n source: {\n col,\n row\n },\n target: {\n col: c,\n row\n },\n table: layout._table\n })\n ) {\n break;\n }\n }\n result.start.col = c;\n }\n for (let c = col + 1; c < (layout.colCount ?? 0); c++) {\n const next_Value = layout._table.getCellValue(c, row);\n if (typeof layout.columnObjects[row].define.mergeCell === 'boolean') {\n if (value !== next_Value) {\n break;\n }\n } else {\n if (\n !(layout.columnObjects[row].define.mergeCell as Function)(value, next_Value, {\n source: {\n col,\n row\n },\n target: {\n col: c,\n row\n },\n table: layout._table\n })\n ) {\n break;\n }\n }\n result.end.col = c;\n }\n }\n return result;\n }\n //in header\n const id = layout.getCellId(col, row);\n for (let r = row - 1; r >= 0; r--) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n result.start.row = r;\n }\n for (let r = row + 1; r < (layout.rowCount ?? 0); r++) {\n if (id !== layout.getCellId(col, r)) {\n break;\n }\n result.end.row = r;\n }\n for (let c = col - 1; c >= 0; c--) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n result.start.col = c;\n }\n for (let c = col + 1; c < layout.headerLevelCount + layout.leftRowSeriesNumberColumnCount; c++) {\n if (id !== layout.getCellId(c, row)) {\n break;\n }\n result.end.col = c;\n }\n return result;\n}\n"]}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import type { PivotHeaderLayoutMap } from '../pivot-header-layout';
|
|
2
2
|
import type { CollectedValue } from '../../ts-types';
|
|
3
|
+
type AxisRange = {
|
|
4
|
+
min: number;
|
|
5
|
+
max: number;
|
|
6
|
+
};
|
|
3
7
|
export type GetAxisConfigInPivotChart = (col: number, row: number, layout: PivotHeaderLayoutMap) => any;
|
|
4
8
|
export declare function getAxisConfigInPivotChart(col: number, row: number, layout: PivotHeaderLayoutMap): any;
|
|
5
9
|
export declare function getAxisOption(col: number, row: number, orient: string, layout: PivotHeaderLayoutMap): {
|
|
6
10
|
axisOption: any;
|
|
7
11
|
isPercent: any;
|
|
8
12
|
isZeroAlign: boolean;
|
|
13
|
+
isTickAlign: boolean;
|
|
9
14
|
seriesIndice: any;
|
|
10
15
|
theme: any;
|
|
11
16
|
chartType: any;
|
|
@@ -13,14 +18,22 @@ export declare function getAxisOption(col: number, row: number, orient: string,
|
|
|
13
18
|
axisOption: any;
|
|
14
19
|
isPercent: boolean;
|
|
15
20
|
isZeroAlign: boolean;
|
|
21
|
+
isTickAlign: boolean;
|
|
16
22
|
theme: any;
|
|
17
23
|
chartType: any;
|
|
18
24
|
seriesIndice?: undefined;
|
|
19
25
|
};
|
|
20
|
-
export declare function getAxisRange(collectedValues: Record<string, Record<string, CollectedValue>>, indicatorKeys: string[], isZeroAlign: boolean, colPath: string, seriesId: number | number[]):
|
|
21
|
-
max: number;
|
|
22
|
-
min: number;
|
|
23
|
-
} | null;
|
|
26
|
+
export declare function getAxisRange(collectedValues: Record<string, Record<string, CollectedValue>>, indicatorKeys: string[], isZeroAlign: boolean, colPath: string, seriesId: number | number[]): AxisRange | null;
|
|
24
27
|
export declare function isTopOrBottomAxis(col: number, row: number, layout: PivotHeaderLayoutMap): boolean;
|
|
25
28
|
export declare function isLeftOrRightAxis(col: number, row: number, layout: PivotHeaderLayoutMap): boolean;
|
|
26
29
|
export declare function hasLinearAxis(spec: any, tableAxesConfig: any, isHorizontal: boolean, isThisXAxis: boolean): boolean;
|
|
30
|
+
export declare function getAxisRangeAndTicks(col: number, row: number, index: number, position: 'bottom' | 'top' | 'left' | 'right', subAxisPosition: 'bottom' | 'top' | 'left' | 'right', indicatorKeys: string[], path: string, layout: PivotHeaderLayoutMap): {
|
|
31
|
+
axisOption: any;
|
|
32
|
+
range: AxisRange;
|
|
33
|
+
targetTicks: number[];
|
|
34
|
+
targetRange: {
|
|
35
|
+
max: number;
|
|
36
|
+
min: number;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
export {};
|
|
@@ -8,20 +8,15 @@ import { getQuadProps } from "../../scenegraph/utils/padding";
|
|
|
8
8
|
|
|
9
9
|
import { getProp } from "../../scenegraph/utils/get-prop";
|
|
10
10
|
|
|
11
|
+
import { getTickModeFunction, getZeroAlignTickAlignTicks } from "./tick-align";
|
|
12
|
+
|
|
11
13
|
export function getAxisConfigInPivotChart(col, row, layout) {
|
|
12
14
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
13
15
|
if (layout._table.isPivotChart()) if (layout.indicatorsAsCol) {
|
|
14
16
|
if (layout.hasTwoIndicatorAxes && row === layout.columnHeaderLevelCount - 1 && col >= layout.rowHeaderLevelCount && col < layout.colCount - layout.rightFrozenColCount) {
|
|
15
17
|
const axisRange = getRange("top", col, row + 1, col, layout.columnHeaderLevelCount - 1, col, row, 1, layout);
|
|
16
18
|
if (!axisRange) return;
|
|
17
|
-
const chartCellStyle = layout._table._getCellStyle(col, row + 1), padding = getQuadProps(getProp("padding", chartCellStyle, col, row + 1, layout._table)), {range: range, ticks: ticks, axisOption: axisOption,
|
|
18
|
-
if (isZeroAlign) {
|
|
19
|
-
const subAxisRange = getRange("bottom", col, row + 1, col, layout.columnHeaderLevelCount - 1, col, row, 0, layout);
|
|
20
|
-
if (subAxisRange) {
|
|
21
|
-
const {range: subRange} = subAxisRange, align = getNewRangeToAlign(range, subRange);
|
|
22
|
-
align && (range.min = align.range1[0], range.max = align.range1[1]);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
19
|
+
const chartCellStyle = layout._table._getCellStyle(col, row + 1), padding = getQuadProps(getProp("padding", chartCellStyle, col, row + 1, layout._table)), {range: range, ticks: ticks, axisOption: axisOption, targetTicks: targetTicks, targetRange: targetRange, index: index, theme: theme} = axisRange;
|
|
25
20
|
return isNumber(null == axisOption ? void 0 : axisOption.min) && (range.min = axisOption.min,
|
|
26
21
|
range.min > 0 && (axisOption.zero = !1)), isNumber(null == axisOption ? void 0 : axisOption.max) && (range.max = axisOption.max,
|
|
27
22
|
range.max < 0 && (axisOption.zero = !1)), merge({
|
|
@@ -32,13 +27,16 @@ export function getAxisConfigInPivotChart(col, row, layout) {
|
|
|
32
27
|
label: {
|
|
33
28
|
flush: !0
|
|
34
29
|
},
|
|
30
|
+
tick: {
|
|
31
|
+
tickMode: getTickModeFunction(targetTicks, targetRange, range, index)
|
|
32
|
+
},
|
|
35
33
|
__ticksForVTable: ticks,
|
|
36
34
|
__vtableChartTheme: theme,
|
|
37
35
|
__vtablePadding: padding
|
|
38
36
|
});
|
|
39
37
|
}
|
|
40
38
|
if (row === layout.rowCount - layout.bottomFrozenRowCount && col >= layout.rowHeaderLevelCount && col < layout.colCount - layout.rightFrozenColCount) {
|
|
41
|
-
const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row)
|
|
39
|
+
const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);
|
|
42
40
|
let indicatorInfo = null;
|
|
43
41
|
null == indicatorKeys || indicatorKeys.forEach((key => {
|
|
44
42
|
const info = layout.getIndicatorInfo(key);
|
|
@@ -46,14 +44,7 @@ export function getAxisConfigInPivotChart(col, row, layout) {
|
|
|
46
44
|
}));
|
|
47
45
|
const axisRange = getRange("bottom", col, row - 1, col, row, col, row, 0, layout);
|
|
48
46
|
if (!axisRange) return;
|
|
49
|
-
const chartCellStyle = layout._table._getCellStyle(col, row - 1), padding = getQuadProps(getProp("padding", chartCellStyle, col, row - 1, layout._table)), {range: range, ticks: ticks, axisOption: axisOption,
|
|
50
|
-
if (isZeroAlign) {
|
|
51
|
-
const subAxisRange = getRange("top", col, row - 1, col, row, col, row, 1, layout);
|
|
52
|
-
if (subAxisRange) {
|
|
53
|
-
const {range: subRange} = subAxisRange, align = getNewRangeToAlign(range, subRange);
|
|
54
|
-
align && (range.min = align.range1[0], range.max = align.range1[1]);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
47
|
+
const chartCellStyle = layout._table._getCellStyle(col, row - 1), padding = getQuadProps(getProp("padding", chartCellStyle, col, row - 1, layout._table)), {range: range, ticks: ticks, axisOption: axisOption, index: index, targetTicks: targetTicks, targetRange: targetRange, theme: theme} = axisRange;
|
|
57
48
|
return isNumber(null == axisOption ? void 0 : axisOption.min) && (range.min = axisOption.min,
|
|
58
49
|
range.min > 0 && (axisOption.zero = !1)), isNumber(null == axisOption ? void 0 : axisOption.max) && (range.max = axisOption.max,
|
|
59
50
|
range.max < 0 && (axisOption.zero = !1)), merge({
|
|
@@ -68,6 +59,9 @@ export function getAxisConfigInPivotChart(col, row, layout) {
|
|
|
68
59
|
label: {
|
|
69
60
|
flush: !0
|
|
70
61
|
},
|
|
62
|
+
tick: {
|
|
63
|
+
tickMode: getTickModeFunction(targetTicks, targetRange, range, index)
|
|
64
|
+
},
|
|
71
65
|
__ticksForVTable: ticks,
|
|
72
66
|
__vtableChartTheme: theme,
|
|
73
67
|
__vtablePadding: padding
|
|
@@ -95,7 +89,7 @@ export function getAxisConfigInPivotChart(col, row, layout) {
|
|
|
95
89
|
}
|
|
96
90
|
} else {
|
|
97
91
|
if (col === layout.rowHeaderLevelCount - 1 && row >= layout.columnHeaderLevelCount && row < layout.rowCount - layout.bottomFrozenRowCount) {
|
|
98
|
-
const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row)
|
|
92
|
+
const indicatorKeys = layout.getIndicatorKeyInChartSpec(col, row);
|
|
99
93
|
let indicatorInfo = null;
|
|
100
94
|
null == indicatorKeys || indicatorKeys.forEach((key => {
|
|
101
95
|
const info = layout.getIndicatorInfo(key);
|
|
@@ -103,14 +97,7 @@ export function getAxisConfigInPivotChart(col, row, layout) {
|
|
|
103
97
|
}));
|
|
104
98
|
const axisRange = getRange("left", col + 1, row, col, row, col, row, 0, layout);
|
|
105
99
|
if (!axisRange) return;
|
|
106
|
-
const chartCellStyle = layout._table._getCellStyle(col + 1, row), padding = getQuadProps(getProp("padding", chartCellStyle, col + 1, row, layout._table)), {range: range, ticks: ticks, axisOption: axisOption,
|
|
107
|
-
if (isZeroAlign) {
|
|
108
|
-
const subAxisRange = getRange("right", col + 1, row, col, row, col, row, 1, layout);
|
|
109
|
-
if (subAxisRange) {
|
|
110
|
-
const {range: subRange} = subAxisRange, align = getNewRangeToAlign(range, subRange);
|
|
111
|
-
align && (range.min = align.range1[0], range.max = align.range1[1]);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
100
|
+
const chartCellStyle = layout._table._getCellStyle(col + 1, row), padding = getQuadProps(getProp("padding", chartCellStyle, col + 1, row, layout._table)), {range: range, ticks: ticks, axisOption: axisOption, index: index, targetTicks: targetTicks, targetRange: targetRange, theme: theme} = axisRange;
|
|
114
101
|
return isNumber(null == axisOption ? void 0 : axisOption.min) && (range.min = axisOption.min,
|
|
115
102
|
range.min > 0 && (axisOption.zero = !1)), isNumber(null == axisOption ? void 0 : axisOption.max) && (range.max = axisOption.max,
|
|
116
103
|
range.max < 0 && (axisOption.zero = !1)), merge({
|
|
@@ -126,6 +113,9 @@ export function getAxisConfigInPivotChart(col, row, layout) {
|
|
|
126
113
|
label: {
|
|
127
114
|
flush: !0
|
|
128
115
|
},
|
|
116
|
+
tick: {
|
|
117
|
+
tickMode: getTickModeFunction(targetTicks, targetRange, range, index)
|
|
118
|
+
},
|
|
129
119
|
__ticksForVTable: ticks,
|
|
130
120
|
__vtableChartTheme: theme,
|
|
131
121
|
__vtablePadding: padding
|
|
@@ -134,14 +124,7 @@ export function getAxisConfigInPivotChart(col, row, layout) {
|
|
|
134
124
|
if (col === layout.colCount - layout.rightFrozenColCount && row >= layout.columnHeaderLevelCount && row < layout.rowCount - layout.bottomFrozenRowCount) {
|
|
135
125
|
const axisRange = getRange("right", col - 1, row, layout.rowHeaderLevelCount - 1, row, col, row, 1, layout);
|
|
136
126
|
if (!axisRange) return;
|
|
137
|
-
const chartCellStyle = layout._table._getCellStyle(col - 1, row), padding = getQuadProps(getProp("padding", chartCellStyle, col - 1, row, layout._table)), {range: range, ticks: ticks, axisOption: axisOption,
|
|
138
|
-
if (isZeroAlign) {
|
|
139
|
-
const subAxisRange = getRange("left", col - 1, row, layout.rowHeaderLevelCount - 1, row, col, row, 0, layout);
|
|
140
|
-
if (subAxisRange) {
|
|
141
|
-
const {range: subRange} = subAxisRange, align = getNewRangeToAlign(range, subRange);
|
|
142
|
-
align && (range.min = align.range1[0], range.max = align.range1[1]);
|
|
143
|
-
}
|
|
144
|
-
}
|
|
127
|
+
const chartCellStyle = layout._table._getCellStyle(col - 1, row), padding = getQuadProps(getProp("padding", chartCellStyle, col - 1, row, layout._table)), {range: range, ticks: ticks, axisOption: axisOption, index: index, targetTicks: targetTicks, targetRange: targetRange, theme: theme} = axisRange;
|
|
145
128
|
return isNumber(null == axisOption ? void 0 : axisOption.min) && (range.min = axisOption.min,
|
|
146
129
|
range.min > 0 && (axisOption.zero = !1)), isNumber(null == axisOption ? void 0 : axisOption.max) && (range.max = axisOption.max,
|
|
147
130
|
range.max < 0 && (axisOption.zero = !1)), merge({
|
|
@@ -155,6 +138,9 @@ export function getAxisConfigInPivotChart(col, row, layout) {
|
|
|
155
138
|
label: {
|
|
156
139
|
flush: !0
|
|
157
140
|
},
|
|
141
|
+
tick: {
|
|
142
|
+
tickMode: getTickModeFunction(targetTicks, targetRange, range, index)
|
|
143
|
+
},
|
|
158
144
|
__ticksForVTable: ticks,
|
|
159
145
|
__vtableChartTheme: theme,
|
|
160
146
|
__vtablePadding: padding
|
|
@@ -189,24 +175,28 @@ export function getAxisOption(col, row, orient, layout) {
|
|
|
189
175
|
if (axisOption) {
|
|
190
176
|
const {seriesIndex: seriesIndex, seriesId: seriesId} = axisOption;
|
|
191
177
|
let seriesIndice, seriesSpec;
|
|
192
|
-
|
|
178
|
+
isValid(seriesId) && isArray(spec.series) ? seriesIndice = (isArray(seriesId) ? seriesId : [ seriesId ]).map((id => {
|
|
193
179
|
const index = spec.series.findIndex((s => s.id === id));
|
|
194
180
|
return index >= 0 && (seriesSpec = spec.series[index]), index;
|
|
195
|
-
})) : isValid(seriesIndex) && isArray(spec.series) && (seriesIndice = seriesIndex)
|
|
196
|
-
{
|
|
181
|
+
})) : isValid(seriesIndex) && isArray(spec.series) && (seriesIndice = seriesIndex);
|
|
182
|
+
const {isZeroAlign: isZeroAlign, isTickAlign: isTickAlign} = checkZeroAlign(spec, orient, layout);
|
|
183
|
+
return {
|
|
197
184
|
axisOption: axisOption,
|
|
198
185
|
isPercent: spec.percent,
|
|
199
|
-
isZeroAlign:
|
|
186
|
+
isZeroAlign: isZeroAlign,
|
|
187
|
+
isTickAlign: isTickAlign,
|
|
200
188
|
seriesIndice: seriesIndice,
|
|
201
189
|
theme: spec.theme,
|
|
202
190
|
chartType: null !== (_b = null == seriesSpec ? void 0 : seriesSpec.type) && void 0 !== _b ? _b : spec.type
|
|
203
191
|
};
|
|
204
192
|
}
|
|
205
193
|
}
|
|
194
|
+
const axisOption = layout._table.pivotChartAxes.find((axisOption => axisOption.orient === orient)), {isZeroAlign: isZeroAlign, isTickAlign: isTickAlign} = checkZeroAlign(spec, orient, layout);
|
|
206
195
|
return {
|
|
207
|
-
axisOption:
|
|
196
|
+
axisOption: axisOption,
|
|
208
197
|
isPercent: !1,
|
|
209
|
-
isZeroAlign:
|
|
198
|
+
isZeroAlign: isZeroAlign,
|
|
199
|
+
isTickAlign: isTickAlign,
|
|
210
200
|
theme: spec.theme,
|
|
211
201
|
chartType: spec.type
|
|
212
202
|
};
|
|
@@ -215,19 +205,24 @@ export function getAxisOption(col, row, orient, layout) {
|
|
|
215
205
|
function checkZeroAlign(spec, orient, layout) {
|
|
216
206
|
const orients = [];
|
|
217
207
|
let axesSpec;
|
|
218
|
-
|
|
219
|
-
axesSpec = spec && isArray(spec.axes) ? spec.axes : layout._table.pivotChartAxes
|
|
220
|
-
|
|
208
|
+
"left" === orient || "right" === orient ? orients.push("left", "right") : "top" !== orient && "bottom" !== orient || orients.push("top", "bottom"),
|
|
209
|
+
axesSpec = spec && isArray(spec.axes) ? spec.axes : layout._table.pivotChartAxes;
|
|
210
|
+
let isZeroAlign = !1, isTickAlign = !1;
|
|
211
|
+
if (isArray(axesSpec)) {
|
|
221
212
|
const axes = [];
|
|
222
213
|
axesSpec.forEach((axis => {
|
|
223
214
|
orients.includes(axis.orient) && axes.push(axis);
|
|
224
215
|
}));
|
|
225
216
|
for (let i = 0; i < axes.length; i++) {
|
|
226
217
|
const axis = axes[i];
|
|
227
|
-
|
|
218
|
+
axis.sync && axis.sync.axisId && axes.find((axisSync => axisSync.id === axis.sync.axisId)) && (isZeroAlign = isZeroAlign || axis.sync.zeroAlign,
|
|
219
|
+
isTickAlign = isTickAlign || axis.sync.tickAlign);
|
|
228
220
|
}
|
|
229
221
|
}
|
|
230
|
-
return
|
|
222
|
+
return {
|
|
223
|
+
isZeroAlign: isZeroAlign,
|
|
224
|
+
isTickAlign: isTickAlign
|
|
225
|
+
};
|
|
231
226
|
}
|
|
232
227
|
|
|
233
228
|
export function getAxisRange(collectedValues, indicatorKeys, isZeroAlign, colPath, seriesId) {
|
|
@@ -254,29 +249,6 @@ export function getAxisRange(collectedValues, indicatorKeys, isZeroAlign, colPat
|
|
|
254
249
|
range.min === range.max && (range.min > 0 ? range.min = 0 : range.max = 0), range;
|
|
255
250
|
}
|
|
256
251
|
|
|
257
|
-
function getRange(position, colForAxisOption, rowForAxisOption, colForIndicatorKey, rowForIndicatorKey, col, row, defaultSeriesIndice, layout) {
|
|
258
|
-
const {axisOption: axisOption, isPercent: isPercent, isZeroAlign: isZeroAlign, seriesIndice: seriesIndice, theme: theme, chartType: chartType} = getAxisOption(colForAxisOption, rowForAxisOption, position, layout);
|
|
259
|
-
if (!1 === (null == axisOption ? void 0 : axisOption.visible)) return;
|
|
260
|
-
const indicatorKeys = layout.getIndicatorKeyInChartSpec(colForIndicatorKey, rowForIndicatorKey).slice(0, 2);
|
|
261
|
-
let path;
|
|
262
|
-
path = "top" === position || "bottom" === position ? layout.getColKeysPath(col, row) : layout.getRowKeysPath(col, row);
|
|
263
|
-
const range = getAxisRange(layout.dataset.collectedValues, indicatorKeys, isZeroAlign, path, null != seriesIndice ? seriesIndice : defaultSeriesIndice);
|
|
264
|
-
if (!range) return;
|
|
265
|
-
isPercent && (range.min = range.min < 0 ? -1 : 0, range.max = range.max > 0 ? 1 : 0);
|
|
266
|
-
const getAxisDomainRangeAndLabels = Factory.getFunction("getAxisDomainRangeAndLabels"), {range: niceRange, ticks: ticks} = getAxisDomainRangeAndLabels(range.min, range.max, axisOption, isZeroAlign, "bottom" === position || "top" === position ? layout._table.getColWidth(col) || layout._table.tableNoFrameWidth : layout._table.getRowHeight(row) || layout._table.tableNoFrameHeight);
|
|
267
|
-
return range.min = isNaN(niceRange[0]) ? 0 : niceRange[0], range.max = isNaN(niceRange[1]) ? 1 : niceRange[1],
|
|
268
|
-
isNumber(null == axisOption ? void 0 : axisOption.min) && (range.min = axisOption.min,
|
|
269
|
-
range.min > 0 && (axisOption.zero = !1)), isNumber(null == axisOption ? void 0 : axisOption.max) && (range.max = axisOption.max,
|
|
270
|
-
range.max < 0 && (axisOption.zero = !1)), {
|
|
271
|
-
axisOption: axisOption,
|
|
272
|
-
isZeroAlign: isZeroAlign,
|
|
273
|
-
range: range,
|
|
274
|
-
ticks: ticks,
|
|
275
|
-
theme: theme,
|
|
276
|
-
chartType: chartType
|
|
277
|
-
};
|
|
278
|
-
}
|
|
279
|
-
|
|
280
252
|
export function isTopOrBottomAxis(col, row, layout) {
|
|
281
253
|
if (!layout._table.isPivotChart()) return !1;
|
|
282
254
|
if (layout.indicatorsAsCol) {
|
|
@@ -331,4 +303,91 @@ export function hasLinearAxis(spec, tableAxesConfig, isHorizontal, isThisXAxis)
|
|
|
331
303
|
}
|
|
332
304
|
return isHorizontal && isThisXAxis || !isHorizontal && !isThisXAxis;
|
|
333
305
|
}
|
|
306
|
+
|
|
307
|
+
function getRange(position, colForAxisOption, rowForAxisOption, colForIndicatorKey, rowForIndicatorKey, col, row, defaultSeriesIndice, layout) {
|
|
308
|
+
const indicatorKeys = layout.getIndicatorKeyInChartSpec(colForIndicatorKey, rowForIndicatorKey);
|
|
309
|
+
let path;
|
|
310
|
+
path = "top" === position || "bottom" === position ? layout.getColKeysPath(col, row) : layout.getRowKeysPath(col, row);
|
|
311
|
+
const rangeConfig = getChartAxisRange(colForAxisOption, rowForAxisOption, defaultSeriesIndice, position, indicatorKeys, path, layout);
|
|
312
|
+
if (!rangeConfig) return;
|
|
313
|
+
const subAxisPosition = "bottom" === position ? "top" : "top" === position ? "bottom" : "left" === position ? "right" : "left", {targetRange: targetRange, targetTicks: targetTicks} = getTargetRangeAndTicks(colForAxisOption, rowForAxisOption, rangeConfig.index, rangeConfig.isZeroAlign, rangeConfig.isTickAlign, rangeConfig.range, indicatorKeys, subAxisPosition, path, layout);
|
|
314
|
+
if (0 !== rangeConfig.index && targetTicks) {
|
|
315
|
+
const getAxisDomainRangeAndLabels = Factory.getFunction("getAxisDomainRangeAndLabels"), {range: newRange, ticks: newTicks} = getAxisDomainRangeAndLabels(rangeConfig.range.min, rangeConfig.range.max, rangeConfig.axisOption, rangeConfig.isZeroAlign, "bottom" === position || "top" === position ? layout._table.getColWidth(col) || layout._table.tableNoFrameWidth : layout._table.getRowHeight(row) || layout._table.tableNoFrameHeight, {
|
|
316
|
+
targetTicks: targetTicks,
|
|
317
|
+
targetRange: targetRange
|
|
318
|
+
});
|
|
319
|
+
rangeConfig.range.min = newRange[0], rangeConfig.range.max = newRange[1], rangeConfig.ticks = newTicks;
|
|
320
|
+
}
|
|
321
|
+
return rangeConfig.targetRange = targetRange, rangeConfig.targetTicks = targetTicks,
|
|
322
|
+
rangeConfig;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
function getChartAxisRange(col, row, index, position, indicatorKeys, path, layout) {
|
|
326
|
+
const {axisOption: axisOption, isPercent: isPercent, isZeroAlign: isZeroAlign, isTickAlign: isTickAlign, seriesIndice: seriesIndice, theme: theme, chartType: chartType} = getAxisOption(col, row, position, layout), range = getAxisRange(layout.dataset.collectedValues, indicatorKeys, isZeroAlign, path, null != seriesIndice ? seriesIndice : index);
|
|
327
|
+
if (!range) return;
|
|
328
|
+
let ticks;
|
|
329
|
+
if (isPercent && (range.min = range.min < 0 ? -1 : 0, range.max = range.max > 0 ? 1 : 0),
|
|
330
|
+
((null == axisOption ? void 0 : axisOption.zero) || range.min === range.max) && (range.min = Math.min(range.min, 0),
|
|
331
|
+
range.max = Math.max(range.max, 0)), (null == axisOption ? void 0 : axisOption.nice) || isTickAlign) {
|
|
332
|
+
const getAxisDomainRangeAndLabels = Factory.getFunction("getAxisDomainRangeAndLabels"), {range: axisRange, ticks: selfTicks} = getAxisDomainRangeAndLabels(range.min, range.max, axisOption, isZeroAlign, "bottom" === position || "top" === position ? layout._table.getColWidth(col) || layout._table.tableNoFrameWidth : layout._table.getRowHeight(row) || layout._table.tableNoFrameHeight);
|
|
333
|
+
(null == axisOption ? void 0 : axisOption.nice) && (range.min = axisRange[0], range.max = axisRange[1]),
|
|
334
|
+
ticks = selfTicks;
|
|
335
|
+
}
|
|
336
|
+
return isNumber(null == axisOption ? void 0 : axisOption.min) && (range.min = axisOption.min),
|
|
337
|
+
isNumber(null == axisOption ? void 0 : axisOption.max) && (range.max = axisOption.max),
|
|
338
|
+
{
|
|
339
|
+
index: null != seriesIndice ? seriesIndice : index,
|
|
340
|
+
range: range,
|
|
341
|
+
ticks: ticks,
|
|
342
|
+
isZeroAlign: isZeroAlign,
|
|
343
|
+
isTickAlign: isTickAlign,
|
|
344
|
+
axisOption: axisOption,
|
|
345
|
+
theme: theme,
|
|
346
|
+
chartType: chartType
|
|
347
|
+
};
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
export function getAxisRangeAndTicks(col, row, index, position, subAxisPosition, indicatorKeys, path, layout) {
|
|
351
|
+
const {range: range, isZeroAlign: isZeroAlign, isTickAlign: isTickAlign, axisOption: axisOption} = getChartAxisRange(col, row, index, position, indicatorKeys, path, layout), {targetRange: targetRange, targetTicks: targetTicks} = getTargetRangeAndTicks(col, row, index, isZeroAlign, isTickAlign, range, indicatorKeys, subAxisPosition, path, layout);
|
|
352
|
+
if (0 !== index && targetTicks) {
|
|
353
|
+
const getAxisDomainRangeAndLabels = Factory.getFunction("getAxisDomainRangeAndLabels"), {range: newRange, ticks: newTicks} = getAxisDomainRangeAndLabels(range.min, range.max, merge({}, axisOption, {
|
|
354
|
+
nice: !0,
|
|
355
|
+
tick: {
|
|
356
|
+
forceTickCount: targetTicks.length
|
|
357
|
+
}
|
|
358
|
+
}), isZeroAlign, "bottom" === position || "top" === position ? layout._table.getColWidth(col) || layout._table.tableNoFrameWidth : layout._table.getRowHeight(row) || layout._table.tableNoFrameHeight, {
|
|
359
|
+
targetTicks: targetTicks,
|
|
360
|
+
targetRange: targetRange
|
|
361
|
+
});
|
|
362
|
+
range.min = newRange[0], range.max = newRange[1];
|
|
363
|
+
}
|
|
364
|
+
return {
|
|
365
|
+
axisOption: axisOption,
|
|
366
|
+
range: range,
|
|
367
|
+
targetTicks: targetTicks,
|
|
368
|
+
targetRange: targetRange
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
function getTargetRangeAndTicks(col, row, index, isZeroAlign, isTickAlign, range, indicatorKeys, subAxisPosition, path, layout) {
|
|
373
|
+
let targetTicks, targetRange;
|
|
374
|
+
if (!isZeroAlign && !isTickAlign) return {
|
|
375
|
+
targetTicks: targetTicks,
|
|
376
|
+
targetRange: targetRange
|
|
377
|
+
};
|
|
378
|
+
const subAxisRange = getChartAxisRange(col, row, indicatorKeys.length - 1 - index, subAxisPosition, indicatorKeys, path, layout);
|
|
379
|
+
if (subAxisRange) {
|
|
380
|
+
const {range: subRange, ticks: subTicks} = subAxisRange;
|
|
381
|
+
if (targetRange = subRange, isZeroAlign) {
|
|
382
|
+
const align = getNewRangeToAlign(range, subRange);
|
|
383
|
+
align && (range.min = align.range1[0], range.max = align.range1[1], targetRange.min = align.range2[0],
|
|
384
|
+
targetRange.max = align.range2[1]);
|
|
385
|
+
}
|
|
386
|
+
isTickAlign && (targetTicks = isZeroAlign ? getZeroAlignTickAlignTicks(targetRange, col, row, index, subAxisPosition, layout) : subTicks);
|
|
387
|
+
}
|
|
388
|
+
return {
|
|
389
|
+
targetTicks: targetTicks,
|
|
390
|
+
targetRange: targetRange
|
|
391
|
+
};
|
|
392
|
+
}
|
|
334
393
|
//# sourceMappingURL=get-axis-config.js.map
|