@visactor/vgrammar-core 0.10.2 → 0.10.4
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/component/axis.js +1 -1
- package/cjs/component/axis.js.map +1 -1
- package/cjs/component/datazoom.js +23 -30
- package/cjs/component/datazoom.js.map +1 -1
- package/cjs/component/label.js +11 -11
- package/cjs/component/label.js.map +1 -1
- package/cjs/component/legend.js +4 -6
- package/cjs/component/legend.js.map +1 -1
- package/cjs/component/player.js +4 -12
- package/cjs/component/player.js.map +1 -1
- package/cjs/component/scrollbar.js +12 -24
- package/cjs/component/scrollbar.js.map +1 -1
- package/cjs/component/slider.js +1 -3
- package/cjs/component/slider.js.map +1 -1
- package/cjs/glyph/boxplot.js +34 -20
- package/cjs/glyph/boxplot.js.map +1 -1
- package/cjs/glyph/violin.js +18 -11
- package/cjs/glyph/violin.js.map +1 -1
- package/cjs/graph/animation/animation/clip.js +2 -2
- package/cjs/graph/animation/animation/clip.js.map +1 -1
- package/cjs/graph/animation/animation/grow-cartesian.js +11 -11
- package/cjs/graph/animation/animation/grow-cartesian.js.map +1 -1
- package/cjs/graph/animation/animation/grow-interval.js +18 -18
- package/cjs/graph/animation/animation/grow-interval.js.map +1 -1
- package/cjs/graph/animation/animation/grow-points.js +3 -3
- package/cjs/graph/animation/animation/grow-points.js.map +1 -1
- package/cjs/graph/animation/animation/grow-polar.js +8 -8
- package/cjs/graph/animation/animation/grow-polar.js.map +1 -1
- package/cjs/graph/animation/animation/move.js +12 -14
- package/cjs/graph/animation/animation/move.js.map +1 -1
- package/cjs/graph/animation/animation/update.js +1 -1
- package/cjs/graph/animation/animation/update.js.map +1 -1
- package/cjs/graph/animation/attribute.js +2 -2
- package/cjs/graph/animation/attribute.js.map +1 -1
- package/cjs/graph/attributes/helpers.js +9 -11
- package/cjs/graph/attributes/helpers.js.map +1 -1
- package/cjs/graph/attributes/transform.js +1 -1
- package/cjs/graph/attributes/transform.js.map +1 -1
- package/cjs/graph/element.js +1 -1
- package/cjs/graph/element.js.map +1 -1
- package/cjs/graph/layout/grid.js +1 -1
- package/cjs/graph/layout/grid.js.map +1 -1
- package/cjs/graph/mark/graphic.js +31 -22
- package/cjs/graph/mark/graphic.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/interactions/brush-base.js +3 -5
- package/cjs/interactions/brush-base.js.map +1 -1
- package/cjs/interactions/view-navigation-base.js +3 -3
- package/cjs/interactions/view-navigation-base.js.map +1 -1
- package/cjs/interactions/view-roam.js +10 -10
- package/cjs/interactions/view-roam.js.map +1 -1
- package/cjs/interactions/view-scroll-mixin.js +1 -1
- package/cjs/interactions/view-scroll-mixin.js.map +1 -1
- package/cjs/interactions/view-zoom-mixin.js +2 -2
- package/cjs/interactions/view-zoom-mixin.js.map +1 -1
- package/cjs/parse/event.js +1 -2
- package/cjs/parse/event.js.map +1 -1
- package/cjs/parse/scale.js +5 -4
- package/cjs/parse/scale.js.map +1 -1
- package/cjs/parse/view.js +11 -10
- package/cjs/parse/view.js.map +1 -1
- package/cjs/view/View.js +12 -13
- package/cjs/view/View.js.map +1 -1
- package/cjs/view/animate.js +11 -11
- package/cjs/view/animate.js.map +1 -1
- package/cjs/view/mark.js +6 -10
- package/cjs/view/mark.js.map +1 -1
- package/es/component/axis.js +1 -1
- package/es/component/axis.js.map +1 -1
- package/es/component/datazoom.js +23 -26
- package/es/component/datazoom.js.map +1 -1
- package/es/component/label.js +11 -11
- package/es/component/label.js.map +1 -1
- package/es/component/legend.js +4 -6
- package/es/component/legend.js.map +1 -1
- package/es/component/player.js +4 -12
- package/es/component/player.js.map +1 -1
- package/es/component/scrollbar.js +7 -18
- package/es/component/scrollbar.js.map +1 -1
- package/es/component/slider.js +1 -3
- package/es/component/slider.js.map +1 -1
- package/es/glyph/boxplot.js +22 -19
- package/es/glyph/boxplot.js.map +1 -1
- package/es/glyph/violin.js +12 -10
- package/es/glyph/violin.js.map +1 -1
- package/es/graph/animation/animation/clip.js +2 -2
- package/es/graph/animation/animation/clip.js.map +1 -1
- package/es/graph/animation/animation/grow-cartesian.js +11 -11
- package/es/graph/animation/animation/grow-cartesian.js.map +1 -1
- package/es/graph/animation/animation/grow-interval.js +18 -18
- package/es/graph/animation/animation/grow-interval.js.map +1 -1
- package/es/graph/animation/animation/grow-points.js +3 -3
- package/es/graph/animation/animation/grow-points.js.map +1 -1
- package/es/graph/animation/animation/grow-polar.js +8 -8
- package/es/graph/animation/animation/grow-polar.js.map +1 -1
- package/es/graph/animation/animation/move.js +9 -9
- package/es/graph/animation/animation/move.js.map +1 -1
- package/es/graph/animation/animation/update.js +1 -1
- package/es/graph/animation/animation/update.js.map +1 -1
- package/es/graph/animation/attribute.js +2 -2
- package/es/graph/animation/attribute.js.map +1 -1
- package/es/graph/attributes/helpers.js +8 -11
- package/es/graph/attributes/helpers.js.map +1 -1
- package/es/graph/attributes/transform.js +1 -1
- package/es/graph/attributes/transform.js.map +1 -1
- package/es/graph/element.js +1 -1
- package/es/graph/element.js.map +1 -1
- package/es/graph/layout/grid.js +1 -1
- package/es/graph/layout/grid.js.map +1 -1
- package/es/graph/mark/graphic.js +23 -23
- package/es/graph/mark/graphic.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/interactions/brush-base.js +3 -5
- package/es/interactions/brush-base.js.map +1 -1
- package/es/interactions/brush-filter.js +2 -1
- package/es/interactions/element-highlight-by-group.js +1 -2
- package/es/interactions/index.js +2 -1
- package/es/interactions/legend-filter.js +1 -1
- package/es/interactions/player-filter.js +1 -1
- package/es/interactions/roll-up.js +1 -1
- package/es/interactions/scrollbar-filter.js +1 -1
- package/es/interactions/slider-filter.js +1 -1
- package/es/interactions/tooltip.js +1 -1
- package/es/interactions/utils.js +1 -1
- package/es/interactions/view-navigation-base.js +3 -3
- package/es/interactions/view-navigation-base.js.map +1 -1
- package/es/interactions/view-roam.js +10 -10
- package/es/interactions/view-roam.js.map +1 -1
- package/es/interactions/view-scroll-mixin.js +1 -1
- package/es/interactions/view-scroll-mixin.js.map +1 -1
- package/es/interactions/view-zoom-mixin.js +2 -2
- package/es/interactions/view-zoom-mixin.js.map +1 -1
- package/es/parse/coordinate.js +1 -1
- package/es/parse/event.js +2 -2
- package/es/parse/event.js.map +1 -1
- package/es/parse/mark.js +1 -1
- package/es/parse/option.js +1 -1
- package/es/parse/scale.js +5 -6
- package/es/parse/scale.js.map +1 -1
- package/es/parse/transform.js +1 -1
- package/es/parse/util.js +1 -1
- package/es/parse/view.js +12 -11
- package/es/parse/view.js.map +1 -1
- package/es/view/View.js +12 -13
- package/es/view/View.js.map +1 -1
- package/es/view/animate.js +11 -11
- package/es/view/animate.js.map +1 -1
- package/es/view/mark.js +6 -10
- package/es/view/mark.js.map +1 -1
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graph/layout/grid.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["../src/graph/layout/grid.ts"],"names":[],"mappings":";;;AACA,6CAAyD;AAUzD,SAAS,aAAa,CAAC,QAAkC,EAAE,KAAa;IACtE,IAAI,IAAA,sBAAa,EAAC,QAAQ,CAAC,EAAE;QAC3B,OAAO,QAAQ,CAAC;KACjB;IACD,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;IACxC,IAAI,eAAe,KAAK,MAAM,EAAE;QAE9B,OAAO,CAAC,CAAC;KACV;SAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACxC,MAAM,OAAO,GAAG,UAAU,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QACrF,IAAI,IAAA,sBAAa,EAAC,OAAO,CAAC,EAAE;YAC1B,OAAO,OAAO,GAAG,KAAK,CAAC;SACxB;QACD,OAAO,CAAC,CAAC;KACV;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,WAAW,CAAC,MAA6B,EAAE,KAAa,EAAE,MAAc;;IAC/E,MAAM,YAAY,GAAG,MAAA,MAAM,CAAC,gBAAgB,mCAAI,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,eAAe,GAAG,MAAA,MAAM,CAAC,mBAAmB,mCAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAA,MAAM,CAAC,UAAU,mCAAI,CAAC,CAAC;IACtC,MAAM,SAAS,GAAG,MAAA,MAAM,CAAC,aAAa,mCAAI,CAAC,CAAC;IAG5C,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAG5E,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IACvG,MAAM,OAAO,GAAG,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAChF,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,CAAC,EACD,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,GAAG,MAAM,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CACpF,CAAC;IACF,MAAM,UAAU,GAAG,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,MAAM,CAAC;IAE/F,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;QAChE,MAAM,IAAI,GAAG,OAAO,CAAC;QACrB,OAAO,IAAI,QAAQ,GAAG,MAAM,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,MAAM,iBAAiB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACtD,MAAM,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC;QAC5E,MAAM,IAAI,GAAG,UAAU,CAAC;QACxB,UAAU,IAAI,WAAW,GAAG,SAAS,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAEnC,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE,iBAAiB;QAC1B,MAAM;QACN,SAAS;KACV,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAa,EAAE,KAAa;IAClD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAa,EAAE,GAAW,EAAE,KAAa;IACvE,IAAI,UAAU,GAAG,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,QAAQ,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAA,sBAAa,EAAC,KAAK,CAAC,IAAI,CAAC,IAAA,sBAAa,EAAC,GAAG,CAAC,EAAE;QAChD,UAAU,GAAG,CAAC,CAAC;QACf,QAAQ,GAAG,CAAC,CAAC;KACd;SAAM,IAAI,CAAC,IAAA,sBAAa,EAAC,KAAK,CAAC,EAAE;QAChC,QAAQ,GAAG,cAAc,CAAC,UAAU,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;KAClD;SAAM,IAAI,CAAC,IAAA,sBAAa,EAAC,GAAG,CAAC,EAAE;QAC9B,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;KAC/D;IACD,IAAI,UAAU,GAAG,QAAQ,EAAE;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC;QACtB,QAAQ,GAAG,UAAU,CAAC;QACtB,UAAU,GAAG,IAAI,CAAC;KACnB;IACD,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,aAAa,CAAC,IAAW,EAAE,QAAgB,EAAE,MAAc,EAAE,WAAmB,EAAE,SAAiB;IAC1G,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IAClC,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IACtG,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,sBAAsB,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAErH,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,cAAc,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC7F,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACvC,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACpF,OAAO,IAAI,eAAM,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC;AAEM,MAAM,YAAY,GAAG,CAC1B,KAAiB,EACjB,QAAiB,EACjB,kBAA2B,EAC3B,OAAwB,EACxB,EAAE;IACF,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,MAA+B,CAAC;IAC/D,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,EAAE,kBAAkB,CAAC,KAAK,EAAE,EAAE,kBAAkB,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,IAAI,QAAQ,EAAE;QACZ,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,MAA0B,CAAC;YAC7D,IAAI,CAAC,YAAY,GAAG,aAAa,CAC/B,IAAI,EACJ,UAAU,CAAC,YAAY,EACvB,UAAU,CAAC,UAAU,EACrB,UAAU,CAAC,eAAe,EAC1B,UAAU,CAAC,aAAa,CACzB,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC,CAAC,CAAC;KACJ;AACH,CAAC,CAAC;AArBW,QAAA,YAAY,gBAqBvB","file":"grid.js","sourcesContent":["import type { IBounds } from '@visactor/vutils';\nimport { Bounds, isValidNumber } from '@visactor/vutils';\nimport type { IGroupMark, ILayoutOptions, IMark, MarkGridItemSpec, MarkGridContainerSpec } from '../../types';\n\ninterface IGrid {\n rows: number[];\n columns: number[];\n rowGap: number;\n columnGap: number;\n}\n\nfunction parseTemplate(template: number | string | 'auto', total: number) {\n if (isValidNumber(template)) {\n return template;\n }\n const trimmedTemplate = template.trim();\n if (trimmedTemplate === 'auto') {\n // handle auto later\n return 0;\n } else if (trimmedTemplate.endsWith('%')) {\n const percent = parseFloat(trimmedTemplate.substring(0, trimmedTemplate.length - 1));\n if (isValidNumber(percent)) {\n return percent * total;\n }\n return 0;\n }\n return 0;\n}\n\nfunction computeGrid(layout: MarkGridContainerSpec, width: number, height: number): IGrid {\n const templateRows = layout.gridTemplateRows ?? [height];\n const templateColumns = layout.gridTemplateColumns ?? [width];\n const rowGap = layout.gridRowGap ?? 0;\n const columnGap = layout.gridColumnGap ?? 0;\n\n // compute simple cell size\n const rows = templateRows.map(row => parseTemplate(row, height));\n const columns = templateColumns.map(column => parseTemplate(column, width));\n\n // compute auto grid\n const rowLeftSize = Math.max(0, rows.reduce((left, row) => left - row, height) - rows.length * rowGap);\n const rowAuto = rowLeftSize / templateRows.filter(row => row === 'auto').length;\n const columnLeftSize = Math.max(\n 0,\n columns.reduce((left, column) => left - column, width) - columns.length * columnGap\n );\n const columnAuto = columnLeftSize / templateColumns.filter(column => column === 'auto').length;\n // accumulate grid size\n let lastRow = 0;\n const accumulateRows = rows.map((row, index) => {\n const finalRow = templateRows[index] === 'auto' ? rowAuto : row;\n const last = lastRow;\n lastRow += finalRow + rowGap;\n return last;\n });\n accumulateRows.push(lastRow);\n let lastColumn = 0;\n const accumulateColumns = columns.map((column, index) => {\n const finalColumn = templateColumns[index] === 'auto' ? columnAuto : column;\n const last = lastColumn;\n lastColumn += finalColumn + columnGap;\n return last;\n });\n accumulateColumns.push(lastColumn);\n\n return {\n rows: accumulateRows,\n columns: accumulateColumns,\n rowGap,\n columnGap\n };\n}\n\nfunction normalizeIndex(index: number, count: number) {\n return Math.min(index < 0 ? index + count : index - 1, count);\n}\n\nfunction normalizeStartEndIndex(start: number, end: number, count: number) {\n let finalStart = normalizeIndex(start, count);\n let finalEnd = normalizeIndex(end, count);\n if (!isValidNumber(start) && !isValidNumber(end)) {\n finalStart = 1;\n finalEnd = 2;\n } else if (!isValidNumber(start)) {\n finalEnd = normalizeIndex(finalStart + 1, count);\n } else if (!isValidNumber(end)) {\n finalStart = normalizeIndex(Math.max(0, finalEnd - 1), count);\n }\n if (finalStart > finalEnd) {\n const temp = finalEnd;\n finalEnd = finalStart;\n finalStart = temp;\n }\n return { start: finalStart, end: finalEnd };\n}\n\nfunction getCellBounds(grid: IGrid, rowStart: number, rowEnd: number, columnStart: number, columnEnd: number): Bounds {\n const rowCount = grid.rows.length;\n const columnCount = grid.columns.length;\n const { start: finalRowStart, end: finalRowEnd } = normalizeStartEndIndex(rowStart, rowEnd, rowCount);\n const { start: finalColumnStart, end: finalColumnEnd } = normalizeStartEndIndex(columnStart, columnEnd, columnCount);\n\n const x1 = grid.columns[finalRowStart];\n const x2 = grid.columns[finalRowEnd] - (finalColumnEnd === columnCount ? 0 : grid.columnGap);\n const y1 = grid.rows[finalColumnStart];\n const y2 = grid.rows[finalColumnEnd] - (finalRowEnd === rowCount ? 0 : grid.rowGap);\n return new Bounds().set(x1, y1, x2, y2);\n}\n\nexport const doGridLayout = (\n group: IGroupMark,\n children: IMark[],\n parentLayoutBounds: IBounds,\n options?: ILayoutOptions\n) => {\n const layout = group.getSpec().layout as MarkGridContainerSpec;\n const grid = computeGrid(layout, parentLayoutBounds.width(), parentLayoutBounds.height());\n if (children) {\n children.forEach(mark => {\n const markLayout = mark.getSpec().layout as MarkGridItemSpec;\n mark.layoutBounds = getCellBounds(\n grid,\n markLayout.gridRowStart,\n markLayout.gridRowEnd,\n markLayout.gridColumnStart,\n markLayout.gridColumnEnd\n );\n mark.commit();\n });\n }\n};\n"]}
|
|
@@ -5,133 +5,142 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
}), exports.registerLargeSymbolsGraphic = exports.registerLargeRectsGraphic = exports.registerGlyphGraphic = exports.registerIntervalGraphic = exports.registerCellGraphic = exports.registerRichTextGraphic = exports.registerPolygonGraphic = exports.registerTextGraphic = exports.registerSymbolGraphic = exports.registerShapeGraphic = exports.registerRuleGraphic = exports.registerRect3dGraphic = exports.registerRectGraphic = exports.registerPathGraphic = exports.registerLineGraphic = exports.registerImageGraphic = exports.registerGroupGraphic = exports.registerAreaGraphic = exports.registerPyramid3dGraphic = exports.registerArc3dGraphic = exports.registerArcGraphic = exports.registerCircleGraphic = void 0;
|
|
6
6
|
|
|
7
7
|
const factory_1 = require("../../core/factory"), enums_1 = require("../enums"), large_rects_1 = require("./large-rects"), large_symbols_1 = require("./large-symbols"), vrender_kits_1 = require("@visactor/vrender-kits"), vrender_core_1 = require("@visactor/vrender-core"), registerCircleGraphic = () => {
|
|
8
|
-
(0, vrender_kits_1.
|
|
8
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerCircle)(),
|
|
9
|
+
factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.circle, vrender_core_1.createCircle);
|
|
9
10
|
};
|
|
10
11
|
|
|
11
12
|
exports.registerCircleGraphic = registerCircleGraphic;
|
|
12
13
|
|
|
13
14
|
const registerArcGraphic = () => {
|
|
14
|
-
(0, vrender_kits_1.registerArc)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.arc, vrender_core_1.createArc);
|
|
15
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerArc)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.arc, vrender_core_1.createArc);
|
|
15
16
|
};
|
|
16
17
|
|
|
17
18
|
exports.registerArcGraphic = registerArcGraphic;
|
|
18
19
|
|
|
19
20
|
const registerArc3dGraphic = () => {
|
|
20
|
-
(0, vrender_kits_1.registerArc3d)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.arc3d, vrender_core_1.createArc3d);
|
|
21
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerArc3d)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.arc3d, vrender_core_1.createArc3d);
|
|
21
22
|
};
|
|
22
23
|
|
|
23
24
|
exports.registerArc3dGraphic = registerArc3dGraphic;
|
|
24
25
|
|
|
25
26
|
const registerPyramid3dGraphic = () => {
|
|
26
|
-
(0, vrender_kits_1.
|
|
27
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerPyramid3d)(),
|
|
28
|
+
factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.pyramid3d, vrender_core_1.createPyramid3d);
|
|
27
29
|
};
|
|
28
30
|
|
|
29
31
|
exports.registerPyramid3dGraphic = registerPyramid3dGraphic;
|
|
30
32
|
|
|
31
33
|
const registerAreaGraphic = () => {
|
|
32
|
-
(0, vrender_kits_1.registerArea)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.area, vrender_core_1.createArea);
|
|
34
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerArea)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.area, vrender_core_1.createArea);
|
|
33
35
|
};
|
|
34
36
|
|
|
35
37
|
exports.registerAreaGraphic = registerAreaGraphic;
|
|
36
38
|
|
|
37
39
|
const registerGroupGraphic = () => {
|
|
38
|
-
(0, vrender_kits_1.registerGroup)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.group, vrender_core_1.createGroup);
|
|
40
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerGroup)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.group, vrender_core_1.createGroup);
|
|
39
41
|
};
|
|
40
42
|
|
|
41
43
|
exports.registerGroupGraphic = registerGroupGraphic;
|
|
42
44
|
|
|
43
45
|
const registerImageGraphic = () => {
|
|
44
|
-
(0, vrender_kits_1.registerImage)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.image, vrender_core_1.createImage);
|
|
46
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerImage)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.image, vrender_core_1.createImage);
|
|
45
47
|
};
|
|
46
48
|
|
|
47
49
|
exports.registerImageGraphic = registerImageGraphic;
|
|
48
50
|
|
|
49
51
|
const registerLineGraphic = () => {
|
|
50
|
-
(0, vrender_kits_1.registerLine)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.line, vrender_core_1.createLine);
|
|
52
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerLine)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.line, vrender_core_1.createLine);
|
|
51
53
|
};
|
|
52
54
|
|
|
53
55
|
exports.registerLineGraphic = registerLineGraphic;
|
|
54
56
|
|
|
55
57
|
const registerPathGraphic = () => {
|
|
56
|
-
(0, vrender_kits_1.registerPath)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.path, vrender_core_1.createPath);
|
|
58
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerPath)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.path, vrender_core_1.createPath);
|
|
57
59
|
};
|
|
58
60
|
|
|
59
61
|
exports.registerPathGraphic = registerPathGraphic;
|
|
60
62
|
|
|
61
63
|
const registerRectGraphic = () => {
|
|
62
|
-
(0, vrender_kits_1.registerRect)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.rect, vrender_core_1.createRect);
|
|
64
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerRect)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.rect, vrender_core_1.createRect);
|
|
63
65
|
};
|
|
64
66
|
|
|
65
67
|
exports.registerRectGraphic = registerRectGraphic;
|
|
66
68
|
|
|
67
69
|
const registerRect3dGraphic = () => {
|
|
68
|
-
(0, vrender_kits_1.
|
|
70
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerRect3d)(),
|
|
71
|
+
factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.rect3d, vrender_core_1.createRect3d);
|
|
69
72
|
};
|
|
70
73
|
|
|
71
74
|
exports.registerRect3dGraphic = registerRect3dGraphic;
|
|
72
75
|
|
|
73
76
|
const registerRuleGraphic = () => {
|
|
74
|
-
(0, vrender_kits_1.registerLine)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.rule, vrender_core_1.createLine);
|
|
77
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerLine)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.rule, vrender_core_1.createLine);
|
|
75
78
|
};
|
|
76
79
|
|
|
77
80
|
exports.registerRuleGraphic = registerRuleGraphic;
|
|
78
81
|
|
|
79
82
|
const registerShapeGraphic = () => {
|
|
80
|
-
(0, vrender_kits_1.registerPath)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.shape, vrender_core_1.createPath);
|
|
83
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerPath)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.shape, vrender_core_1.createPath);
|
|
81
84
|
};
|
|
82
85
|
|
|
83
86
|
exports.registerShapeGraphic = registerShapeGraphic;
|
|
84
87
|
|
|
85
88
|
const registerSymbolGraphic = () => {
|
|
86
|
-
(0, vrender_kits_1.
|
|
89
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerSymbol)(),
|
|
90
|
+
factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.symbol, vrender_core_1.createSymbol);
|
|
87
91
|
};
|
|
88
92
|
|
|
89
93
|
exports.registerSymbolGraphic = registerSymbolGraphic;
|
|
90
94
|
|
|
91
95
|
const registerTextGraphic = () => {
|
|
92
|
-
(0, vrender_kits_1.
|
|
96
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerText)(), (0,
|
|
97
|
+
vrender_kits_1.registerRichtext)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.text, vrender_core_1.createText);
|
|
93
98
|
};
|
|
94
99
|
|
|
95
100
|
exports.registerTextGraphic = registerTextGraphic;
|
|
96
101
|
|
|
97
102
|
const registerPolygonGraphic = () => {
|
|
98
|
-
(0, vrender_kits_1.
|
|
103
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerPolygon)(),
|
|
104
|
+
factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.polygon, vrender_core_1.createPolygon);
|
|
99
105
|
};
|
|
100
106
|
|
|
101
107
|
exports.registerPolygonGraphic = registerPolygonGraphic;
|
|
102
108
|
|
|
103
109
|
const registerRichTextGraphic = () => {
|
|
104
|
-
(0, vrender_kits_1.
|
|
110
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerRichtext)(),
|
|
111
|
+
factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.richtext, vrender_core_1.createRichText);
|
|
105
112
|
};
|
|
106
113
|
|
|
107
114
|
exports.registerRichTextGraphic = registerRichTextGraphic;
|
|
108
115
|
|
|
109
116
|
const registerCellGraphic = () => {
|
|
110
|
-
(0, vrender_kits_1.
|
|
117
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerSymbol)(),
|
|
118
|
+
factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.cell, vrender_core_1.createSymbol);
|
|
111
119
|
};
|
|
112
120
|
|
|
113
121
|
exports.registerCellGraphic = registerCellGraphic;
|
|
114
122
|
|
|
115
123
|
const registerIntervalGraphic = () => {
|
|
116
|
-
(0, vrender_kits_1.
|
|
124
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerRect)(), (0,
|
|
125
|
+
vrender_kits_1.registerArc)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.interval, vrender_core_1.createRect);
|
|
117
126
|
};
|
|
118
127
|
|
|
119
128
|
exports.registerIntervalGraphic = registerIntervalGraphic;
|
|
120
129
|
|
|
121
130
|
const registerGlyphGraphic = () => {
|
|
122
|
-
(0, vrender_kits_1.registerGlyph)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.glyph, vrender_core_1.createGlyph);
|
|
131
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerGlyph)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.glyph, vrender_core_1.createGlyph);
|
|
123
132
|
};
|
|
124
133
|
|
|
125
134
|
exports.registerGlyphGraphic = registerGlyphGraphic;
|
|
126
135
|
|
|
127
136
|
const registerLargeRectsGraphic = () => {
|
|
128
|
-
(0, vrender_kits_1.registerPath)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.largeRects, (attrs => new large_rects_1.LargeRects(attrs)));
|
|
137
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerPath)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.largeRects, (attrs => new large_rects_1.LargeRects(attrs)));
|
|
129
138
|
};
|
|
130
139
|
|
|
131
140
|
exports.registerLargeRectsGraphic = registerLargeRectsGraphic;
|
|
132
141
|
|
|
133
142
|
const registerLargeSymbolsGraphic = () => {
|
|
134
|
-
(0, vrender_kits_1.registerPath)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.largeSymbols, (attrs => new large_symbols_1.LargeSymbols(attrs)));
|
|
143
|
+
(0, vrender_kits_1.registerShadowRoot)(), (0, vrender_kits_1.registerPath)(), factory_1.Factory.registerGraphic(enums_1.GrammarMarkType.largeSymbols, (attrs => new large_symbols_1.LargeSymbols(attrs)));
|
|
135
144
|
};
|
|
136
145
|
|
|
137
146
|
exports.registerLargeSymbolsGraphic = registerLargeSymbolsGraphic;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/graph/mark/graphic.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAC7C,oCAA2C;AAC3C,+CAA2C;AAC3C,mDAA+C;AAE/C,
|
|
1
|
+
{"version":3,"sources":["../src/graph/mark/graphic.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAC7C,oCAA2C;AAC3C,+CAA2C;AAC3C,mDAA+C;AAE/C,yDAkBgC;AAChC,yDAiBgC;AAEzB,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,MAAM,EAAE,2BAAY,CAAC,CAAC;AAChE,CAAC,CAAC;AAJW,QAAA,qBAAqB,yBAIhC;AAEK,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,0BAAW,GAAE,CAAC;IACd,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,GAAG,EAAE,wBAAS,CAAC,CAAC;AAC1D,CAAC,CAAC;AAJW,QAAA,kBAAkB,sBAI7B;AAEK,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,4BAAa,GAAE,CAAC;IAChB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,KAAK,EAAE,0BAAW,CAAC,CAAC;AAC9D,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B;AAEK,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,gCAAiB,GAAE,CAAC;IACpB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,SAAS,EAAE,8BAAe,CAAC,CAAC;AACtE,CAAC,CAAC;AAJW,QAAA,wBAAwB,4BAInC;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,IAAI,EAAE,yBAAU,CAAC,CAAC;AAC5D,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,4BAAa,GAAE,CAAC;IAChB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,KAAK,EAAE,0BAAW,CAAC,CAAC;AAC9D,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B;AAEK,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,4BAAa,GAAE,CAAC;IAChB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,KAAK,EAAE,0BAAW,CAAC,CAAC;AAC9D,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,IAAI,EAAE,yBAAU,CAAC,CAAC;AAC5D,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,IAAI,EAAE,yBAAU,CAAC,CAAC;AAC5D,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,IAAI,EAAE,yBAAU,CAAC,CAAC;AAC5D,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,MAAM,EAAE,2BAAY,CAAC,CAAC;AAChE,CAAC,CAAC;AAJW,QAAA,qBAAqB,yBAIhC;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,IAAI,EAAE,yBAAU,CAAC,CAAC;AAC5D,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,KAAK,EAAE,yBAAU,CAAC,CAAC;AAC7D,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B;AAEK,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,MAAM,EAAE,2BAAY,CAAC,CAAC;AAChE,CAAC,CAAC;AAJW,QAAA,qBAAqB,yBAIhC;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,+BAAgB,GAAE,CAAC;IACnB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,IAAI,EAAE,yBAAU,CAAC,CAAC;AAC5D,CAAC,CAAC;AALW,QAAA,mBAAmB,uBAK9B;AAEK,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACzC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,8BAAe,GAAE,CAAC;IAClB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,OAAO,EAAE,4BAAa,CAAC,CAAC;AAClE,CAAC,CAAC;AAJW,QAAA,sBAAsB,0BAIjC;AAEK,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,+BAAgB,GAAE,CAAC;IACnB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,QAAQ,EAAE,6BAAc,CAAC,CAAC;AACpE,CAAC,CAAC;AAJW,QAAA,uBAAuB,2BAIlC;AAEK,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,6BAAc,GAAE,CAAC;IACjB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,IAAI,EAAE,2BAAY,CAAC,CAAC;AAC9D,CAAC,CAAC;AAJW,QAAA,mBAAmB,uBAI9B;AAEK,MAAM,uBAAuB,GAAG,GAAG,EAAE;IAC1C,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,IAAA,0BAAW,GAAE,CAAC;IACd,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,QAAQ,EAAE,yBAAU,CAAC,CAAC;AAChE,CAAC,CAAC;AALW,QAAA,uBAAuB,2BAKlC;AAEK,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,4BAAa,GAAE,CAAC;IAChB,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,KAAK,EAAE,0BAAW,CAAC,CAAC;AAC9D,CAAC,CAAC;AAJW,QAAA,oBAAoB,wBAI/B;AAEK,MAAM,yBAAyB,GAAG,GAAG,EAAE;IAC5C,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,UAAU,EAAE,CAAC,KAAU,EAAE,EAAE;QACjE,OAAO,IAAI,wBAAU,CAAC,KAAK,CAAwB,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AANW,QAAA,yBAAyB,6BAMpC;AAEK,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,2BAAY,GAAE,CAAC;IACf,iBAAO,CAAC,eAAe,CAAC,uBAAe,CAAC,YAAY,EAAE,CAAC,KAAU,EAAE,EAAE;QACnE,OAAO,IAAI,4BAAY,CAAC,KAAK,CAAwB,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AANW,QAAA,2BAA2B,+BAMtC","file":"graphic.js","sourcesContent":["import { Factory } from '../../core/factory';\nimport { GrammarMarkType } from '../enums';\nimport { LargeRects } from './large-rects';\nimport { LargeSymbols } from './large-symbols';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport {\n registerCircle,\n registerArc,\n registerArc3d,\n registerPyramid3d,\n registerArea,\n registerGroup,\n registerImage,\n registerRect3d,\n registerLine,\n registerPath,\n registerRect,\n registerSymbol,\n registerText,\n registerPolygon,\n registerRichtext,\n registerGlyph,\n registerShadowRoot\n} from '@visactor/vrender-kits';\nimport {\n createArc,\n createCircle,\n createArc3d,\n createPyramid3d,\n createArea,\n createGroup,\n createImage,\n createRect3d,\n createLine,\n createPath,\n createRect,\n createSymbol,\n createText,\n createPolygon,\n createRichText,\n createGlyph\n} from '@visactor/vrender-core';\n\nexport const registerCircleGraphic = () => {\n registerShadowRoot();\n registerCircle();\n Factory.registerGraphic(GrammarMarkType.circle, createCircle);\n};\n\nexport const registerArcGraphic = () => {\n registerShadowRoot();\n registerArc();\n Factory.registerGraphic(GrammarMarkType.arc, createArc);\n};\n\nexport const registerArc3dGraphic = () => {\n registerShadowRoot();\n registerArc3d();\n Factory.registerGraphic(GrammarMarkType.arc3d, createArc3d);\n};\n\nexport const registerPyramid3dGraphic = () => {\n registerShadowRoot();\n registerPyramid3d();\n Factory.registerGraphic(GrammarMarkType.pyramid3d, createPyramid3d);\n};\n\nexport const registerAreaGraphic = () => {\n registerShadowRoot();\n registerArea();\n Factory.registerGraphic(GrammarMarkType.area, createArea);\n};\n\nexport const registerGroupGraphic = () => {\n registerShadowRoot();\n registerGroup();\n Factory.registerGraphic(GrammarMarkType.group, createGroup);\n};\n\nexport const registerImageGraphic = () => {\n registerShadowRoot();\n registerImage();\n Factory.registerGraphic(GrammarMarkType.image, createImage);\n};\n\nexport const registerLineGraphic = () => {\n registerShadowRoot();\n registerLine();\n Factory.registerGraphic(GrammarMarkType.line, createLine);\n};\n\nexport const registerPathGraphic = () => {\n registerShadowRoot();\n registerPath();\n Factory.registerGraphic(GrammarMarkType.path, createPath);\n};\n\nexport const registerRectGraphic = () => {\n registerShadowRoot();\n registerRect();\n Factory.registerGraphic(GrammarMarkType.rect, createRect);\n};\n\nexport const registerRect3dGraphic = () => {\n registerShadowRoot();\n registerRect3d();\n Factory.registerGraphic(GrammarMarkType.rect3d, createRect3d);\n};\n\nexport const registerRuleGraphic = () => {\n registerShadowRoot();\n registerLine();\n Factory.registerGraphic(GrammarMarkType.rule, createLine);\n};\n\nexport const registerShapeGraphic = () => {\n registerShadowRoot();\n registerPath();\n Factory.registerGraphic(GrammarMarkType.shape, createPath);\n};\n\nexport const registerSymbolGraphic = () => {\n registerShadowRoot();\n registerSymbol();\n Factory.registerGraphic(GrammarMarkType.symbol, createSymbol);\n};\n\nexport const registerTextGraphic = () => {\n registerShadowRoot();\n registerText();\n registerRichtext();\n Factory.registerGraphic(GrammarMarkType.text, createText);\n};\n\nexport const registerPolygonGraphic = () => {\n registerShadowRoot();\n registerPolygon();\n Factory.registerGraphic(GrammarMarkType.polygon, createPolygon);\n};\n\nexport const registerRichTextGraphic = () => {\n registerShadowRoot();\n registerRichtext();\n Factory.registerGraphic(GrammarMarkType.richtext, createRichText);\n};\n\nexport const registerCellGraphic = () => {\n registerShadowRoot();\n registerSymbol();\n Factory.registerGraphic(GrammarMarkType.cell, createSymbol);\n};\n\nexport const registerIntervalGraphic = () => {\n registerShadowRoot();\n registerRect();\n registerArc();\n Factory.registerGraphic(GrammarMarkType.interval, createRect);\n};\n\nexport const registerGlyphGraphic = () => {\n registerShadowRoot();\n registerGlyph();\n Factory.registerGraphic(GrammarMarkType.glyph, createGlyph);\n};\n\nexport const registerLargeRectsGraphic = () => {\n registerShadowRoot();\n registerPath();\n Factory.registerGraphic(GrammarMarkType.largeRects, (attrs: any) => {\n return new LargeRects(attrs) as unknown as IGraphic;\n });\n};\n\nexport const registerLargeSymbolsGraphic = () => {\n registerShadowRoot();\n registerPath();\n Factory.registerGraphic(GrammarMarkType.largeSymbols, (attrs: any) => {\n return new LargeSymbols(attrs) as unknown as IGraphic;\n });\n};\n"]}
|
package/cjs/index.d.ts
CHANGED
package/cjs/index.js
CHANGED
|
@@ -18,7 +18,7 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", {
|
|
19
19
|
value: !0
|
|
20
20
|
}), exports.vglobal = exports.ThemeManager = exports.SIGNAL_VIEW_BOX = exports.SIGNAL_WIDTH = exports.SIGNAL_VIEW_WIDTH = exports.SIGNAL_VIEW_HEIGHT = exports.SIGNAL_PADDING = exports.SIGNAL_HEIGHT = exports.SIGNAL_AUTOFIT = exports.Factory = exports.GrammarBase = exports.invokeFunctionType = exports.parseFunctionType = exports.registerCoordinate = exports.Coordinate = exports.registerScale = exports.Scale = exports.View = exports.version = void 0,
|
|
21
|
-
exports.version = "0.10.
|
|
21
|
+
exports.version = "0.10.4", __exportStar(require("./graph"), exports), __exportStar(require("./interactions"), exports);
|
|
22
22
|
|
|
23
23
|
var view_1 = require("./view");
|
|
24
24
|
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACa,QAAA,OAAO,GAAG,QAAQ,CAAC;AAEhC,0CAAwB;AAExB,iDAA+B;AAE/B,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,sCAAoD;AAA3C,8FAAA,KAAK,OAAA;AAAE,sGAAA,aAAa,OAAA;AAC7B,gDAAmE;AAA1D,wGAAA,UAAU,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AACvC,qCAAqE;AAA5D,yGAAA,iBAAiB,OAAA;AAAE,0GAAA,kBAAkB,OAAA;AAC9C,oDAAkD;AAAzC,2GAAA,WAAW,OAAA;AACpB,8CAA4B;AAC5B,0CAAwB;AACxB,0CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAChB,8CAQ0B;AAPxB,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,2GAAA,cAAc,OAAA;AACd,+GAAA,kBAAkB,OAAA;AAClB,8GAAA,iBAAiB,OAAA;AACjB,yGAAA,YAAY,OAAA;AACZ,4GAAA,eAAe,OAAA;AAGjB,uDAAqD;AAA5C,6GAAA,YAAY,OAAA;AAErB,0CAAwB;AACxB,8CAA4B;AAC5B,+CAA6B;AAC7B,8DAA4C;AAE5C,uDAAiD;AAAxC,uGAAA,OAAO,OAAA;AAChB,wCAAsB;AACtB,iDAA+B;AAC/B,wDAAsC;AACtC,4DAA0C;AAC1C,uDAAqC","file":"index.js","sourcesContent":["// -- Exports -----\nexport const version = \"0.10.
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACa,QAAA,OAAO,GAAG,QAAQ,CAAC;AAEhC,0CAAwB;AAExB,iDAA+B;AAE/B,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,sCAAoD;AAA3C,8FAAA,KAAK,OAAA;AAAE,sGAAA,aAAa,OAAA;AAC7B,gDAAmE;AAA1D,wGAAA,UAAU,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AACvC,qCAAqE;AAA5D,yGAAA,iBAAiB,OAAA;AAAE,0GAAA,kBAAkB,OAAA;AAC9C,oDAAkD;AAAzC,2GAAA,WAAW,OAAA;AACpB,8CAA4B;AAC5B,0CAAwB;AACxB,0CAAyC;AAAhC,kGAAA,OAAO,OAAA;AAChB,8CAQ0B;AAPxB,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,2GAAA,cAAc,OAAA;AACd,+GAAA,kBAAkB,OAAA;AAClB,8GAAA,iBAAiB,OAAA;AACjB,yGAAA,YAAY,OAAA;AACZ,4GAAA,eAAe,OAAA;AAGjB,uDAAqD;AAA5C,6GAAA,YAAY,OAAA;AAErB,0CAAwB;AACxB,8CAA4B;AAC5B,+CAA6B;AAC7B,8DAA4C;AAE5C,uDAAiD;AAAxC,uGAAA,OAAO,OAAA;AAChB,wCAAsB;AACtB,iDAA+B;AAC/B,wDAAsC;AACtC,4DAA0C;AAC1C,uDAAqC","file":"index.js","sourcesContent":["// -- Exports -----\nexport const version = \"0.10.4\";\n\nexport * from './graph';\n\nexport * from './interactions';\n\nexport { View } from './view';\nexport { Scale, registerScale } from './view/scale';\nexport { Coordinate, registerCoordinate } from './view/coordinate';\nexport { parseFunctionType, invokeFunctionType } from './parse/util';\nexport { GrammarBase } from './view/grammar-base';\nexport * from './util/text';\nexport * from './types';\nexport { Factory } from './core/factory';\nexport {\n SIGNAL_AUTOFIT,\n SIGNAL_HEIGHT,\n SIGNAL_PADDING,\n SIGNAL_VIEW_HEIGHT,\n SIGNAL_VIEW_WIDTH,\n SIGNAL_WIDTH,\n SIGNAL_VIEW_BOX\n} from './view/constants';\n\nexport { ThemeManager } from './theme/theme-manager';\n\nexport * from './glyph';\nexport * from './component';\nexport * from './transforms';\nexport * from './graph/animation/animation';\n\nexport { vglobal } from '@visactor/vrender-core';\nexport * from './env';\nexport * from './interactions';\nexport * from './semantic-marks/cell';\nexport * from './semantic-marks/interval';\nexport * from './graph/mark/graphic';\n"]}
|
|
@@ -47,8 +47,7 @@ class BrushBase extends base_1.BaseInteraction {
|
|
|
47
47
|
} ];
|
|
48
48
|
}
|
|
49
49
|
isPolygonBrushContainGraphicItem(brushMask, graphicItem, offset) {
|
|
50
|
-
|
|
51
|
-
const points = brushMask.attribute.points, {a: a, b: b, c: c, d: d, e: e, f: f} = brushMask.globalTransMatrix, dx = null !== (_a = null == offset ? void 0 : offset.x) && void 0 !== _a ? _a : 0, dy = null !== (_b = null == offset ? void 0 : offset.y) && void 0 !== _b ? _b : 0, pointsCoord = points.map((p => ({
|
|
50
|
+
const points = brushMask.attribute.points, {a: a, b: b, c: c, d: d, e: e, f: f} = brushMask.globalTransMatrix, {x: dx = 0, y: dy = 0} = null != offset ? offset : {}, pointsCoord = points.map((p => ({
|
|
52
51
|
x: a * p.x + c * p.y + e + dx,
|
|
53
52
|
y: b * p.x + d * p.y + f + dy
|
|
54
53
|
}))), globalAABBBoundsOffset = brushMask.globalAABBBounds.clone().set(brushMask.globalAABBBounds.x1 + dx, brushMask.globalAABBBounds.y1 + dy, brushMask.globalAABBBounds.x2 + dx, brushMask.globalAABBBounds.y2 + dy), x = graphicItem.globalTransMatrix.e, y = graphicItem.globalTransMatrix.f;
|
|
@@ -73,11 +72,10 @@ class BrushBase extends base_1.BaseInteraction {
|
|
|
73
72
|
return brushMask.globalAABBBounds.intersects(graphicItem.globalAABBBounds);
|
|
74
73
|
}
|
|
75
74
|
isRectBrushContainGraphicItem(brushMask, graphicItem, offset) {
|
|
76
|
-
|
|
77
|
-
const dx = null !== (_a = null == offset ? void 0 : offset.x) && void 0 !== _a ? _a : 0, dy = null !== (_b = null == offset ? void 0 : offset.y) && void 0 !== _b ? _b : 0, globalAABBBoundsOffset = brushMask.globalAABBBounds.clone().set(brushMask.globalAABBBounds.x1 + dx, brushMask.globalAABBBounds.y1 + dy, brushMask.globalAABBBounds.x2 + dx, brushMask.globalAABBBounds.y2 + dy), x = graphicItem.globalTransMatrix.e, y = graphicItem.globalTransMatrix.f;
|
|
75
|
+
const {x: dx = 0, y: dy = 0} = null != offset ? offset : {}, globalAABBBoundsOffset = brushMask.globalAABBBounds.clone().set(brushMask.globalAABBBounds.x1 + dx, brushMask.globalAABBBounds.y1 + dy, brushMask.globalAABBBounds.x2 + dx, brushMask.globalAABBBounds.y2 + dy), x = graphicItem.globalTransMatrix.e, y = graphicItem.globalTransMatrix.f;
|
|
78
76
|
if ("symbol" === graphicItem.type || "circle" === graphicItem.type) return globalAABBBoundsOffset.contains(x, y);
|
|
79
77
|
if ("rect" === graphicItem.type) {
|
|
80
|
-
const {width: width = 0, height: height = 0} =
|
|
78
|
+
const {width: width = 0, height: height = 0} = graphicItem.attribute;
|
|
81
79
|
return (0, vutils_1.isRectIntersect)(globalAABBBoundsOffset, {
|
|
82
80
|
x1: x,
|
|
83
81
|
y1: y,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interactions/brush-base.ts"],"names":[],"mappings":"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","file":"brush-base.js","sourcesContent":["import { Brush, IOperateType } from '@visactor/vrender-components';\nimport type { BrushOptions, IElement, IGlyphElement, IMark, IView, InteractionEventHandler } from '../types';\nimport { BaseInteraction } from './base';\nimport type { IGraphic, IPolygon, IRectGraphicAttribute } from '@visactor/vrender-core';\nimport {\n polygonContainPoint,\n type IBounds,\n type IPointLike,\n polygonIntersectPolygon,\n isRectIntersect\n} from '@visactor/vutils';\nimport { HOOK_EVENT } from '../graph/enums';\n\nexport abstract class BrushBase<T extends BrushOptions> extends BaseInteraction<T> {\n options: T;\n protected _brushComp?: Brush;\n protected _marks?: IMark[];\n\n constructor(view: IView, options?: T) {\n super(view, options);\n this.options = options;\n this._marks = view.getMarksBySelector(this.options.selector);\n }\n\n protected getEvents(): Array<{ type: string; handler: InteractionEventHandler }> {\n return [\n {\n type: HOOK_EVENT.BEFORE_DO_RENDER,\n handler: this.handleAfterDraw\n }\n ];\n }\n\n protected isPolygonBrushContainGraphicItem(\n brushMask: IPolygon,\n graphicItem: IGraphic,\n offset?: { x: number; y: number }\n ) {\n // 根据变换矩阵得到brushMask的实际坐标\n const points = brushMask.attribute.points;\n const { a, b, c, d, e, f } = brushMask.globalTransMatrix;\n\n const dx = offset?.x ?? 0;\n const dy = offset?.y ?? 0;\n\n const pointsCoord = points.map((p: IPointLike) => {\n return {\n x: a * p.x + c * p.y + e + dx,\n y: b * p.x + d * p.y + f + dy\n };\n });\n\n const globalAABBBoundsOffset = brushMask.globalAABBBounds\n .clone()\n .set(\n brushMask.globalAABBBounds.x1 + dx,\n brushMask.globalAABBBounds.y1 + dy,\n brushMask.globalAABBBounds.x2 + dx,\n brushMask.globalAABBBounds.y2 + dy\n );\n\n // 根据变换矩阵得到item的实际坐标\n const x = graphicItem.globalTransMatrix.e;\n const y = graphicItem.globalTransMatrix.f;\n\n // brush与图表图元进行相交 或 包含判断\n if (graphicItem.type === 'symbol' || graphicItem.type === 'circle') {\n return globalAABBBoundsOffset.contains(x, y) && polygonContainPoint(pointsCoord, x, y);\n } else if (graphicItem.type === 'rect') {\n const { width = 0, height = 0 } = graphicItem?.attribute as IRectGraphicAttribute;\n const pointsRect = [\n {\n x: x,\n y: y\n },\n {\n x: x + width,\n y: y\n },\n {\n x: x + width,\n y: y + height\n },\n {\n x: x,\n y: y + height\n }\n ];\n return polygonIntersectPolygon(pointsCoord, pointsRect);\n }\n return brushMask.globalAABBBounds.intersects(graphicItem.globalAABBBounds);\n }\n\n protected isRectBrushContainGraphicItem(\n brushMask: IPolygon,\n graphicItem: IGraphic,\n offset?: { x: number; y: number }\n ) {\n const dx = offset?.x ?? 0;\n const dy = offset?.y ?? 0;\n\n const globalAABBBoundsOffset = brushMask.globalAABBBounds\n .clone()\n .set(\n brushMask.globalAABBBounds.x1 + dx,\n brushMask.globalAABBBounds.y1 + dy,\n brushMask.globalAABBBounds.x2 + dx,\n brushMask.globalAABBBounds.y2 + dy\n );\n\n // 根据变换矩阵得到item的实际坐标\n const x = graphicItem.globalTransMatrix.e;\n const y = graphicItem.globalTransMatrix.f;\n\n // brush与图表图元进行相交 或 包含判断\n if (graphicItem.type === 'symbol' || graphicItem.type === 'circle') {\n return globalAABBBoundsOffset.contains(x, y);\n } else if (graphicItem.type === 'rect') {\n const { width = 0, height = 0 } = graphicItem?.attribute as IRectGraphicAttribute;\n return isRectIntersect(globalAABBBoundsOffset, { x1: x, y1: y, x2: x + width, y2: y + height }, false);\n }\n return brushMask.globalAABBBounds.intersects(graphicItem.globalAABBBounds);\n }\n\n protected isBrushContainGraphicItem(brushMask: IPolygon, graphicItem: IGraphic, offset?: { x: number; y: number }) {\n if (\n !brushMask?.globalTransMatrix ||\n !brushMask.globalAABBBounds ||\n brushMask.globalAABBBounds.empty() ||\n !graphicItem ||\n !brushMask?.attribute?.points ||\n brushMask.attribute.points.length <= 1\n ) {\n return false;\n }\n\n return this.options.brushType === 'polygon'\n ? this.isPolygonBrushContainGraphicItem(brushMask, graphicItem, offset)\n : this.isRectBrushContainGraphicItem(brushMask, graphicItem, offset);\n }\n\n handleAfterDraw = () => {\n const stage = this.view.renderer.stage();\n if (this._brushComp || !stage) {\n return;\n }\n\n const viewBox = this.view.getViewBox();\n\n this._brushComp = new Brush({\n interactiveRange: this.options.interactiveRange ?? {\n minX: viewBox.x1,\n maxX: viewBox.x2,\n minY: viewBox.y1,\n maxY: viewBox.y2\n },\n xRange: this.options.xRange ?? [viewBox.x1, viewBox.x2],\n yRange: this.options.yRange ?? [viewBox.y1, viewBox.y2],\n brushMode: this.options.brushMode ?? 'single',\n brushType: this.options.brushType,\n brushStyle: this.options.brushStyle,\n brushMoved: this.options.brushMoved,\n removeOnClick: this.options.removeOnClick,\n sizeThreshold: this.options.sizeThreshold,\n delayType: this.options.delayType,\n delayTime: this.options.delayTime\n });\n\n this._brushComp.addEventListener(IOperateType.brushClear, this.handleBrushUpdate);\n this._brushComp.addEventListener(IOperateType.moveEnd, this.handleBrushUpdate);\n this._brushComp.addEventListener(IOperateType.drawEnd, this.handleBrushUpdate);\n this._brushComp.addEventListener(IOperateType.drawStart, this.handleBrushUpdate);\n this._brushComp.addEventListener(IOperateType.moveStart, this.handleBrushUpdate);\n this._brushComp.addEventListener(IOperateType.drawing, this.handleBrushUpdate);\n this._brushComp.addEventListener(IOperateType.moving, this.handleBrushUpdate);\n (stage.defaultLayer as any).appendChild(this._brushComp);\n };\n\n abstract handleBrushUpdate: (event: {\n type: string;\n detail: {\n operateMask: IPolygon;\n operatedMaskAABBBounds: { [name: string]: IBounds };\n };\n }) => void;\n\n unbind(): void {\n super.unbind();\n\n if (this._brushComp) {\n this._brushComp.releaseBrushEvents();\n this._brushComp.release();\n this._brushComp = null;\n }\n }\n\n protected _dispatchEvent(\n event: {\n type: string;\n detail: {\n operateMask: IPolygon;\n operatedMaskAABBBounds: { [name: string]: IBounds };\n };\n },\n activeElements: (IElement | IGlyphElement)[]\n ) {\n const params = { operateType: event.type, operateMask: event.detail.operateMask, activeElements };\n if (event.type === IOperateType.drawStart || event.type === IOperateType.moveStart) {\n this.dispatchEvent('start', params);\n } else if (event.type === IOperateType.drawing || event.type === IOperateType.moving) {\n this.dispatchEvent('update', params);\n } else if (event.type === IOperateType.drawEnd || event.type === IOperateType.moveEnd) {\n this.dispatchEvent('end', params);\n } else {\n this.dispatchEvent('reset', params);\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/interactions/brush-base.ts"],"names":[],"mappings":"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","file":"brush-base.js","sourcesContent":["import { Brush, IOperateType } from '@visactor/vrender-components';\nimport type { BrushOptions, IElement, IGlyphElement, IMark, IView, InteractionEventHandler } from '../types';\nimport { BaseInteraction } from './base';\nimport type { IGraphic, IPolygon, IRectGraphicAttribute } from '@visactor/vrender-core';\nimport {\n polygonContainPoint,\n type IBounds,\n type IPointLike,\n polygonIntersectPolygon,\n isRectIntersect\n} from '@visactor/vutils';\nimport { HOOK_EVENT } from '../graph/enums';\n\nexport abstract class BrushBase<T extends BrushOptions> extends BaseInteraction<T> {\n options: T;\n protected _brushComp?: Brush;\n protected _marks?: IMark[];\n\n constructor(view: IView, options?: T) {\n super(view, options);\n this.options = options;\n this._marks = view.getMarksBySelector(this.options.selector);\n }\n\n protected getEvents(): Array<{ type: string; handler: InteractionEventHandler }> {\n return [\n {\n type: HOOK_EVENT.BEFORE_DO_RENDER,\n handler: this.handleAfterDraw\n }\n ];\n }\n\n protected isPolygonBrushContainGraphicItem(\n brushMask: IPolygon,\n graphicItem: IGraphic,\n offset?: { x: number; y: number }\n ) {\n // 根据变换矩阵得到brushMask的实际坐标\n const points = brushMask.attribute.points;\n const { a, b, c, d, e, f } = brushMask.globalTransMatrix;\n const { x: dx = 0, y: dy = 0 } = offset ?? {};\n\n const pointsCoord = points.map((p: IPointLike) => {\n return {\n x: a * p.x + c * p.y + e + dx,\n y: b * p.x + d * p.y + f + dy\n };\n });\n\n const globalAABBBoundsOffset = brushMask.globalAABBBounds\n .clone()\n .set(\n brushMask.globalAABBBounds.x1 + dx,\n brushMask.globalAABBBounds.y1 + dy,\n brushMask.globalAABBBounds.x2 + dx,\n brushMask.globalAABBBounds.y2 + dy\n );\n\n // 根据变换矩阵得到item的实际坐标\n const x = graphicItem.globalTransMatrix.e;\n const y = graphicItem.globalTransMatrix.f;\n\n // brush与图表图元进行相交 或 包含判断\n if (graphicItem.type === 'symbol' || graphicItem.type === 'circle') {\n return globalAABBBoundsOffset.contains(x, y) && polygonContainPoint(pointsCoord, x, y);\n } else if (graphicItem.type === 'rect') {\n const { width = 0, height = 0 } = graphicItem?.attribute as IRectGraphicAttribute;\n const pointsRect = [\n {\n x: x,\n y: y\n },\n {\n x: x + width,\n y: y\n },\n {\n x: x + width,\n y: y + height\n },\n {\n x: x,\n y: y + height\n }\n ];\n return polygonIntersectPolygon(pointsCoord, pointsRect);\n }\n return brushMask.globalAABBBounds.intersects(graphicItem.globalAABBBounds);\n }\n\n protected isRectBrushContainGraphicItem(\n brushMask: IPolygon,\n graphicItem: IGraphic,\n offset?: { x: number; y: number }\n ) {\n const { x: dx = 0, y: dy = 0 } = offset ?? {};\n\n const globalAABBBoundsOffset = brushMask.globalAABBBounds\n .clone()\n .set(\n brushMask.globalAABBBounds.x1 + dx,\n brushMask.globalAABBBounds.y1 + dy,\n brushMask.globalAABBBounds.x2 + dx,\n brushMask.globalAABBBounds.y2 + dy\n );\n\n // 根据变换矩阵得到item的实际坐标\n const x = graphicItem.globalTransMatrix.e;\n const y = graphicItem.globalTransMatrix.f;\n\n // brush与图表图元进行相交 或 包含判断\n if (graphicItem.type === 'symbol' || graphicItem.type === 'circle') {\n return globalAABBBoundsOffset.contains(x, y);\n } else if (graphicItem.type === 'rect') {\n const { width = 0, height = 0 } = graphicItem.attribute as IRectGraphicAttribute;\n return isRectIntersect(globalAABBBoundsOffset, { x1: x, y1: y, x2: x + width, y2: y + height }, false);\n }\n return brushMask.globalAABBBounds.intersects(graphicItem.globalAABBBounds);\n }\n\n protected isBrushContainGraphicItem(brushMask: IPolygon, graphicItem: IGraphic, offset?: { x: number; y: number }) {\n if (\n !brushMask?.globalTransMatrix ||\n !brushMask.globalAABBBounds ||\n brushMask.globalAABBBounds.empty() ||\n !graphicItem ||\n !brushMask?.attribute?.points ||\n brushMask.attribute.points.length <= 1\n ) {\n return false;\n }\n\n return this.options.brushType === 'polygon'\n ? this.isPolygonBrushContainGraphicItem(brushMask, graphicItem, offset)\n : this.isRectBrushContainGraphicItem(brushMask, graphicItem, offset);\n }\n\n handleAfterDraw = () => {\n const stage = this.view.renderer.stage();\n if (this._brushComp || !stage) {\n return;\n }\n\n const viewBox = this.view.getViewBox();\n\n this._brushComp = new Brush({\n interactiveRange: this.options.interactiveRange ?? {\n minX: viewBox.x1,\n maxX: viewBox.x2,\n minY: viewBox.y1,\n maxY: viewBox.y2\n },\n xRange: this.options.xRange ?? [viewBox.x1, viewBox.x2],\n yRange: this.options.yRange ?? [viewBox.y1, viewBox.y2],\n brushMode: this.options.brushMode ?? 'single',\n brushType: this.options.brushType,\n brushStyle: this.options.brushStyle,\n brushMoved: this.options.brushMoved,\n removeOnClick: this.options.removeOnClick,\n sizeThreshold: this.options.sizeThreshold,\n delayType: this.options.delayType,\n delayTime: this.options.delayTime\n });\n\n this._brushComp.addEventListener(IOperateType.brushClear, this.handleBrushUpdate);\n this._brushComp.addEventListener(IOperateType.moveEnd, this.handleBrushUpdate);\n this._brushComp.addEventListener(IOperateType.drawEnd, this.handleBrushUpdate);\n this._brushComp.addEventListener(IOperateType.drawStart, this.handleBrushUpdate);\n this._brushComp.addEventListener(IOperateType.moveStart, this.handleBrushUpdate);\n this._brushComp.addEventListener(IOperateType.drawing, this.handleBrushUpdate);\n this._brushComp.addEventListener(IOperateType.moving, this.handleBrushUpdate);\n (stage.defaultLayer as any).appendChild(this._brushComp);\n };\n\n abstract handleBrushUpdate: (event: {\n type: string;\n detail: {\n operateMask: IPolygon;\n operatedMaskAABBBounds: { [name: string]: IBounds };\n };\n }) => void;\n\n unbind(): void {\n super.unbind();\n\n if (this._brushComp) {\n this._brushComp.releaseBrushEvents();\n this._brushComp.release();\n this._brushComp = null;\n }\n }\n\n protected _dispatchEvent(\n event: {\n type: string;\n detail: {\n operateMask: IPolygon;\n operatedMaskAABBBounds: { [name: string]: IBounds };\n };\n },\n activeElements: (IElement | IGlyphElement)[]\n ) {\n const params = { operateType: event.type, operateMask: event.detail.operateMask, activeElements };\n if (event.type === IOperateType.drawStart || event.type === IOperateType.moveStart) {\n this.dispatchEvent('start', params);\n } else if (event.type === IOperateType.drawing || event.type === IOperateType.moving) {\n this.dispatchEvent('update', params);\n } else if (event.type === IOperateType.drawEnd || event.type === IOperateType.moveEnd) {\n this.dispatchEvent('end', params);\n } else {\n this.dispatchEvent('reset', params);\n }\n }\n}\n"]}
|
|
@@ -58,9 +58,9 @@ class ViewNavigationBase extends base_1.BaseInteraction {
|
|
|
58
58
|
}
|
|
59
59
|
updateView(type, newRange, e) {
|
|
60
60
|
var _a, _b, _c, _d;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
newRange && newRange.x && (null === (_b = null === (_a = this._state) || void 0 === _a ? void 0 : _a.x) || void 0 === _b ? void 0 : _b.linkedComponent) && this._updateLinkedComponent(this._state.x.linkedComponent, newRange.x),
|
|
62
|
+
newRange && newRange.y && (null === (_d = null === (_c = this._state) || void 0 === _c ? void 0 : _c.y) || void 0 === _d ? void 0 : _d.linkedComponent) && this._updateLinkedComponent(this._state.y.linkedComponent, newRange.y),
|
|
63
|
+
newRange && newRange.needUpdate && this.view.runAsync(), this.dispatchEvent(type, {
|
|
64
64
|
viewRange: newRange,
|
|
65
65
|
event: e
|
|
66
66
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interactions/view-navigation-base.ts"],"names":[],"mappings":"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","file":"view-navigation-base.js","sourcesContent":["import { isNil, isString } from '@visactor/vutils';\nimport type {\n FilterDataTarget,\n IBaseInteractionOptions,\n IComponent,\n IDataFilter,\n IDatazoom,\n IMark,\n IScale,\n IScrollbar,\n IView,\n InteractionEvent,\n ViewNavigationBaseOptions,\n ViewNavigationRange,\n ViewStateByDim\n} from '../types';\nimport { BaseInteraction } from './base';\nimport { ComponentEnum, DataFilterRank, GrammarMarkType } from '../graph/enums';\nimport { getScaleRangeRatio } from '../util/scale';\n\nexport abstract class ViewNavigationBase<\n T extends ViewNavigationBaseOptions & IBaseInteractionOptions\n> extends BaseInteraction<T> {\n options: T;\n\n protected _state: Partial<Record<'x' | 'y', ViewStateByDim>>;\n protected _inited?: boolean;\n protected _dataFilterX: IDataFilter;\n protected _dataFilterY: IDataFilter;\n\n constructor(view: IView, options?: T) {\n super(view, options);\n this.options = options;\n }\n\n protected _parseLinkedComponent(option: string | IDatazoom | IScrollbar): IDatazoom | IScrollbar {\n if (!option) {\n return null;\n }\n const comp: IMark = isString(option) ? this.view.getMarkById(option) : option;\n\n if (\n comp &&\n comp.markType === GrammarMarkType.component &&\n ((comp as IComponent).componentType === ComponentEnum.datazoom ||\n (comp as IComponent).componentType === ComponentEnum.scrollbar)\n ) {\n return comp as IDatazoom | IScrollbar;\n }\n\n return null;\n }\n\n protected _initStateByDim(\n dim: 'x' | 'y',\n linkedComponent?: string | IDatazoom | IScrollbar,\n scale?: string | IScale,\n dataTarget?: FilterDataTarget\n ) {\n const comp = this._parseLinkedComponent(linkedComponent);\n\n if (comp) {\n this._state[dim] = { linkedComponent: comp };\n return;\n }\n\n const scaleGrammar = !isNil(scale) ? (isString(scale) ? this.view.getScaleById(scale) : scale) : null;\n const dataGrammar = !isNil(dataTarget?.data)\n ? isString(dataTarget.data)\n ? this.view.getDataById(dataTarget.data)\n : dataTarget.data\n : null;\n\n if (!scaleGrammar || !dataGrammar) {\n this._state[dim] = { data: dataGrammar, scale: scaleGrammar };\n return;\n }\n\n dataGrammar.attach(scaleGrammar);\n\n const filterByScale = isString(dataTarget.filter)\n ? (datum: any, filterValue: number[]) => {\n const scale = scaleGrammar.getScale();\n const ratio = getScaleRangeRatio(scale, datum[dataTarget.filter as string]);\n\n return ratio >= filterValue[0] && ratio <= filterValue[1];\n }\n : dataTarget.filter;\n const dataFilter = {\n source: `${scaleGrammar.uid}`,\n rank: DataFilterRank.normal,\n filter: (data: any[]) => {\n const filterValue = dim === 'x' ? this._state?.x?.filterValue : this._state?.y?.filterValue;\n if (!filterValue) {\n return data;\n }\n const filteredData = data.filter(datum => filterByScale(datum, filterValue));\n return dataTarget.transform ? dataTarget.transform(filteredData, filterValue) : filteredData;\n }\n };\n\n if (dim === 'x') {\n this._dataFilterX = dataFilter;\n } else {\n this._dataFilterY = dataFilter;\n }\n\n dataGrammar.addDataFilter(dataFilter);\n\n this._state[dim] = { data: dataGrammar, scale: scaleGrammar };\n }\n\n protected _initGrammars() {\n const { enableX, enableY, scaleX, scaleY, dataTargetX, dataTargetY, linkedComponentX, linkedComponentY } =\n this.options;\n\n this._state = {};\n\n if (enableX !== false) {\n this._initStateByDim('x', linkedComponentX, scaleX, dataTargetX);\n }\n\n if (enableY !== false) {\n this._initStateByDim('y', linkedComponentY, scaleY, dataTargetY);\n }\n\n this._inited = true;\n }\n\n protected _updateLinkedComponent(comp: IDatazoom | IScrollbar, newRange: [number, number]) {\n if (comp.componentType === ComponentEnum.datazoom) {\n (comp as IDatazoom).setStartEndValue(newRange[0], newRange[1]);\n } else {\n // fix: need to update range scrollbar\n (comp as IScrollbar).setScrollStart(newRange[0]);\n }\n }\n\n updateView(type: 'start' | 'reset' | 'update' | 'end', newRange: ViewNavigationRange, e?: InteractionEvent) {\n if (newRange?.x && this._state?.x?.linkedComponent) {\n this._updateLinkedComponent(this._state.x.linkedComponent, newRange.x);\n }\n\n if (newRange?.y && this._state?.y?.linkedComponent) {\n this._updateLinkedComponent(this._state.y.linkedComponent, newRange.y);\n }\n\n if (newRange?.needUpdate) {\n this.view.runAsync();\n }\n\n this.dispatchEvent(type, { viewRange: newRange, event: e });\n }\n\n unbind() {\n super.unbind();\n\n if (this._state) {\n Object.keys(this._state).forEach(dim => {\n const { data, scale } = this._state[dim as 'x' | 'y'];\n\n if (data && scale) {\n data.detach(scale);\n data.removeDataFilter(dim === 'x' ? this._dataFilterX : this._dataFilterY);\n } else if (scale) {\n scale.setRangeFactor(null);\n scale.commit();\n }\n });\n }\n\n this._state = null;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/interactions/view-navigation-base.ts"],"names":[],"mappings":"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","file":"view-navigation-base.js","sourcesContent":["import { isNil, isString } from '@visactor/vutils';\nimport type {\n FilterDataTarget,\n IBaseInteractionOptions,\n IComponent,\n IDataFilter,\n IDatazoom,\n IMark,\n IScale,\n IScrollbar,\n IView,\n InteractionEvent,\n ViewNavigationBaseOptions,\n ViewNavigationRange,\n ViewStateByDim\n} from '../types';\nimport { BaseInteraction } from './base';\nimport { ComponentEnum, DataFilterRank, GrammarMarkType } from '../graph/enums';\nimport { getScaleRangeRatio } from '../util/scale';\n\nexport abstract class ViewNavigationBase<\n T extends ViewNavigationBaseOptions & IBaseInteractionOptions\n> extends BaseInteraction<T> {\n options: T;\n\n protected _state: Partial<Record<'x' | 'y', ViewStateByDim>>;\n protected _inited?: boolean;\n protected _dataFilterX: IDataFilter;\n protected _dataFilterY: IDataFilter;\n\n constructor(view: IView, options?: T) {\n super(view, options);\n this.options = options;\n }\n\n protected _parseLinkedComponent(option: string | IDatazoom | IScrollbar): IDatazoom | IScrollbar {\n if (!option) {\n return null;\n }\n const comp: IMark = isString(option) ? this.view.getMarkById(option) : option;\n\n if (\n comp &&\n comp.markType === GrammarMarkType.component &&\n ((comp as IComponent).componentType === ComponentEnum.datazoom ||\n (comp as IComponent).componentType === ComponentEnum.scrollbar)\n ) {\n return comp as IDatazoom | IScrollbar;\n }\n\n return null;\n }\n\n protected _initStateByDim(\n dim: 'x' | 'y',\n linkedComponent?: string | IDatazoom | IScrollbar,\n scale?: string | IScale,\n dataTarget?: FilterDataTarget\n ) {\n const comp = this._parseLinkedComponent(linkedComponent);\n\n if (comp) {\n this._state[dim] = { linkedComponent: comp };\n return;\n }\n\n const scaleGrammar = !isNil(scale) ? (isString(scale) ? this.view.getScaleById(scale) : scale) : null;\n const dataGrammar = !isNil(dataTarget?.data)\n ? isString(dataTarget.data)\n ? this.view.getDataById(dataTarget.data)\n : dataTarget.data\n : null;\n\n if (!scaleGrammar || !dataGrammar) {\n this._state[dim] = { data: dataGrammar, scale: scaleGrammar };\n return;\n }\n\n dataGrammar.attach(scaleGrammar);\n\n const filterByScale = isString(dataTarget.filter)\n ? (datum: any, filterValue: number[]) => {\n const scale = scaleGrammar.getScale();\n const ratio = getScaleRangeRatio(scale, datum[dataTarget.filter as string]);\n\n return ratio >= filterValue[0] && ratio <= filterValue[1];\n }\n : dataTarget.filter;\n const dataFilter = {\n source: `${scaleGrammar.uid}`,\n rank: DataFilterRank.normal,\n filter: (data: any[]) => {\n const filterValue = dim === 'x' ? this._state?.x?.filterValue : this._state?.y?.filterValue;\n if (!filterValue) {\n return data;\n }\n const filteredData = data.filter(datum => filterByScale(datum, filterValue));\n return dataTarget.transform ? dataTarget.transform(filteredData, filterValue) : filteredData;\n }\n };\n\n if (dim === 'x') {\n this._dataFilterX = dataFilter;\n } else {\n this._dataFilterY = dataFilter;\n }\n\n dataGrammar.addDataFilter(dataFilter);\n\n this._state[dim] = { data: dataGrammar, scale: scaleGrammar };\n }\n\n protected _initGrammars() {\n const { enableX, enableY, scaleX, scaleY, dataTargetX, dataTargetY, linkedComponentX, linkedComponentY } =\n this.options;\n\n this._state = {};\n\n if (enableX !== false) {\n this._initStateByDim('x', linkedComponentX, scaleX, dataTargetX);\n }\n\n if (enableY !== false) {\n this._initStateByDim('y', linkedComponentY, scaleY, dataTargetY);\n }\n\n this._inited = true;\n }\n\n protected _updateLinkedComponent(comp: IDatazoom | IScrollbar, newRange: [number, number]) {\n if (comp.componentType === ComponentEnum.datazoom) {\n (comp as IDatazoom).setStartEndValue(newRange[0], newRange[1]);\n } else {\n // fix: need to update range scrollbar\n (comp as IScrollbar).setScrollStart(newRange[0]);\n }\n }\n\n updateView(type: 'start' | 'reset' | 'update' | 'end', newRange: ViewNavigationRange, e?: InteractionEvent) {\n if (newRange && newRange.x && this._state?.x?.linkedComponent) {\n this._updateLinkedComponent(this._state.x.linkedComponent, newRange.x);\n }\n\n if (newRange && newRange.y && this._state?.y?.linkedComponent) {\n this._updateLinkedComponent(this._state.y.linkedComponent, newRange.y);\n }\n\n if (newRange && newRange.needUpdate) {\n this.view.runAsync();\n }\n\n this.dispatchEvent(type, { viewRange: newRange, event: e });\n }\n\n unbind() {\n super.unbind();\n\n if (this._state) {\n Object.keys(this._state).forEach(dim => {\n const { data, scale } = this._state[dim as 'x' | 'y'];\n\n if (data && scale) {\n data.detach(scale);\n data.removeDataFilter(dim === 'x' ? this._dataFilterX : this._dataFilterY);\n } else if (scale) {\n scale.setRangeFactor(null);\n scale.commit();\n }\n });\n }\n\n this._state = null;\n }\n}\n"]}
|
|
@@ -33,30 +33,30 @@ class ViewRoam extends view_navigation_base_1.ViewNavigationBase {
|
|
|
33
33
|
this.handleRoamScrollStart = (0, vutils_1.throttle)(this.handleRoamScrollStartInner, this.options.throttle);
|
|
34
34
|
}
|
|
35
35
|
getEvents() {
|
|
36
|
-
var _a, _b, _c
|
|
36
|
+
var _a, _b, _c;
|
|
37
37
|
const events = [];
|
|
38
|
-
return (null === (_a = this.options.zoom) || void 0 === _a ? void 0 : _a.enable) && (
|
|
38
|
+
return (null === (_a = this.options.zoom) || void 0 === _a ? void 0 : _a.enable) && (this.options.zoom.trigger && events.push({
|
|
39
39
|
type: this.options.zoom.trigger,
|
|
40
40
|
handler: this.handleRoamZoomStart
|
|
41
|
-
}),
|
|
41
|
+
}), this.options.zoom.endTrigger && events.push({
|
|
42
42
|
type: this.options.zoom.endTrigger,
|
|
43
43
|
handler: this.handleRoamZoomEnd
|
|
44
|
-
}),
|
|
45
|
-
type:
|
|
44
|
+
}), this.options.zoom.resetTrigger && events.push({
|
|
45
|
+
type: this.options.zoom.resetTrigger,
|
|
46
46
|
handler: this.handleRoamZoomReset
|
|
47
|
-
})), (null === (
|
|
47
|
+
})), (null === (_b = this.options.scroll) || void 0 === _b ? void 0 : _b.enable) && (this.options.scroll.trigger && events.push({
|
|
48
48
|
type: this.options.scroll.trigger,
|
|
49
49
|
handler: this.handleRoamScrollStart
|
|
50
|
-
}),
|
|
50
|
+
}), this.options.scroll.trigger && events.push({
|
|
51
51
|
type: this.options.scroll.endTrigger,
|
|
52
52
|
handler: this.handleRoamScrollEnd
|
|
53
|
-
})), (null === (
|
|
53
|
+
})), (null === (_c = this.options.drag) || void 0 === _c ? void 0 : _c.enable) && (this.options.drag.trigger && events.push({
|
|
54
54
|
type: this.options.drag.trigger,
|
|
55
55
|
handler: this.handleRoamDragStart
|
|
56
|
-
}),
|
|
56
|
+
}), this.options.drag.updateTrigger && events.push({
|
|
57
57
|
type: this.options.drag.updateTrigger,
|
|
58
58
|
handler: this.handleRoamDragUpdate
|
|
59
|
-
}),
|
|
59
|
+
}), this.options.drag.endTrigger && events.push({
|
|
60
60
|
type: this.options.drag.endTrigger,
|
|
61
61
|
handler: this.handleRoamDragEnd
|
|
62
62
|
})), events;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interactions/view-roam.ts"],"names":[],"mappings":"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","file":"view-roam.js","sourcesContent":["import { merge, throttle } from '@visactor/vutils';\nimport type {\n ViewRoamOptions,\n IView,\n InteractionEvent,\n IScale,\n IData,\n IViewZoomMixin,\n IViewScrollMixin,\n IViewDragMixin,\n InteractionEventHandler\n} from '../types';\nimport { ViewNavigationBase } from './view-navigation-base';\n\nexport interface ViewRoam\n extends Pick<IViewDragMixin, 'handleDragStart' | 'handleDragEnd' | 'handleDragUpdate'>,\n Pick<IViewScrollMixin, 'formatScrollEvent' | 'handleScrollStart' | 'handleScrollEnd'>,\n Pick<\n IViewZoomMixin,\n 'formatZoomEvent' | 'handleZoomStart' | 'handleZoomEnd' | 'handleZoomReset' | 'updateZoomRange'\n >,\n ViewNavigationBase<ViewRoamOptions> {}\n\nexport class ViewRoam extends ViewNavigationBase<ViewRoamOptions> {\n static type: string = 'view-roam';\n type: string = ViewRoam.type;\n\n static defaultOptions: ViewRoamOptions = {\n zoom: {\n realtime: true,\n enable: true,\n focus: true,\n trigger: 'wheel',\n endTrigger: 'pointerup',\n resetTrigger: 'dblclick',\n rate: 1\n },\n scroll: {\n realtime: true,\n enable: false,\n reversed: false,\n trigger: 'wheel',\n endTrigger: 'pointerup'\n },\n drag: {\n realtime: true,\n enable: true,\n reversed: false,\n trigger: 'pointerdown',\n updateTrigger: 'pointermove',\n endTrigger: 'pointerup'\n },\n throttle: 100\n };\n\n protected _inited?: boolean;\n protected _lastScale: number;\n protected _scaleX: IScale;\n protected _scaleY: IScale;\n protected _data: IData;\n protected handleRoamZoomStart: (e: InteractionEvent) => void;\n protected handleRoamDragUpdate: (e: InteractionEvent) => void;\n protected handleRoamScrollStart: (e: InteractionEvent) => void;\n\n constructor(view: IView, option?: ViewRoamOptions) {\n super(view, merge({}, ViewRoam.defaultOptions, option));\n this.handleRoamZoomStart = throttle(this.handleRoamZoomStartInner, this.options.throttle);\n this.handleRoamDragUpdate = throttle(this.handleRoamDragUpdateInner, this.options.throttle);\n this.handleRoamScrollStart = throttle(this.handleRoamScrollStartInner, this.options.throttle);\n }\n\n protected getEvents() {\n const events: Array<{ type: string; handler: InteractionEventHandler }> = [];\n\n if (this.options.zoom?.enable) {\n this.options.zoom?.trigger && events.push({ type: this.options.zoom.trigger, handler: this.handleRoamZoomStart });\n this.options.zoom?.endTrigger &&\n events.push({ type: this.options.zoom.endTrigger, handler: this.handleRoamZoomEnd });\n this.options.zoom?.resetTrigger &&\n events.push({ type: this.options.zoom?.resetTrigger, handler: this.handleRoamZoomReset });\n }\n\n if (this.options.scroll?.enable) {\n this.options.scroll?.trigger &&\n events.push({ type: this.options.scroll.trigger, handler: this.handleRoamScrollStart });\n this.options.scroll?.trigger &&\n events.push({ type: this.options.scroll.endTrigger, handler: this.handleRoamScrollEnd });\n }\n\n if (this.options.drag?.enable) {\n this.options.drag?.trigger && events.push({ type: this.options.drag.trigger, handler: this.handleRoamDragStart });\n this.options.drag?.updateTrigger &&\n events.push({ type: this.options.drag.updateTrigger, handler: this.handleRoamDragUpdate });\n this.options.drag?.endTrigger &&\n events.push({ type: this.options.drag.endTrigger, handler: this.handleRoamDragEnd });\n }\n\n return events;\n }\n\n handleRoamZoomStartInner = (e: InteractionEvent) => {\n this.formatZoomEvent(e);\n if (!e || (this.options.shouldStart && !this.options.shouldStart(e))) {\n return;\n }\n\n if (!this._inited) {\n this._initGrammars();\n }\n\n this.updateView('start', this.handleZoomStart(e, this._state, this.options.zoom), e);\n };\n\n handleRoamZoomEnd = (e: InteractionEvent) => {\n this.formatZoomEvent(e);\n if (!e || (this.options.shouldEnd && !this.options.shouldEnd(e))) {\n return;\n }\n\n this.updateView('end', this.handleZoomEnd(e, this._state, this.options.zoom), e);\n };\n\n handleRoamZoomReset = (e: InteractionEvent) => {\n if (!e || (this.options.shouldReset && !this.options.shouldReset(e))) {\n return;\n }\n this.updateView('reset', this.handleZoomReset(e, this._state, this.options.zoom), e);\n };\n\n handleRoamDragStart = (e: InteractionEvent) => {\n if (!e || (this.options.shouldStart && !this.options.shouldStart(e))) {\n return;\n }\n\n if (!this._inited) {\n this._initGrammars();\n }\n\n this.updateView('start', this.handleDragStart(e, this._state, this.options.drag), e);\n };\n\n handleRoamDragUpdateInner = (e: InteractionEvent) => {\n if (!e || (this.options.shouldUpdate && !this.options.shouldUpdate(e))) {\n return;\n }\n this.updateView('update', this.handleDragUpdate(e, this._state, this.options.drag), e);\n };\n\n handleRoamDragEnd = (e: InteractionEvent) => {\n if (!e || (this.options.shouldEnd && !this.options.shouldEnd(e))) {\n return;\n }\n\n this.updateView('end', this.handleDragEnd(e, this._state, this.options.drag), e);\n };\n\n handleRoamScrollStartInner = (e: InteractionEvent) => {\n this.formatScrollEvent(e);\n if (!e || (this.options.shouldStart && !this.options.shouldStart(e))) {\n return;\n }\n\n if (!this._inited) {\n this._initGrammars();\n }\n\n this.updateView('start', this.handleScrollStart(e, this._state, this.options.scroll), e);\n };\n\n handleRoamScrollEnd = (e: InteractionEvent) => {\n this.formatScrollEvent(e);\n if (!e || (this.options.shouldEnd && !this.options.shouldEnd(e))) {\n return;\n }\n\n this.updateView('end', this.handleScrollEnd(e, this._state, this.options.scroll), e);\n };\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/interactions/view-roam.ts"],"names":[],"mappings":"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","file":"view-roam.js","sourcesContent":["import { merge, throttle } from '@visactor/vutils';\nimport type {\n ViewRoamOptions,\n IView,\n InteractionEvent,\n IScale,\n IData,\n IViewZoomMixin,\n IViewScrollMixin,\n IViewDragMixin,\n InteractionEventHandler\n} from '../types';\nimport { ViewNavigationBase } from './view-navigation-base';\n\nexport interface ViewRoam\n extends Pick<IViewDragMixin, 'handleDragStart' | 'handleDragEnd' | 'handleDragUpdate'>,\n Pick<IViewScrollMixin, 'formatScrollEvent' | 'handleScrollStart' | 'handleScrollEnd'>,\n Pick<\n IViewZoomMixin,\n 'formatZoomEvent' | 'handleZoomStart' | 'handleZoomEnd' | 'handleZoomReset' | 'updateZoomRange'\n >,\n ViewNavigationBase<ViewRoamOptions> {}\n\nexport class ViewRoam extends ViewNavigationBase<ViewRoamOptions> {\n static type: string = 'view-roam';\n type: string = ViewRoam.type;\n\n static defaultOptions: ViewRoamOptions = {\n zoom: {\n realtime: true,\n enable: true,\n focus: true,\n trigger: 'wheel',\n endTrigger: 'pointerup',\n resetTrigger: 'dblclick',\n rate: 1\n },\n scroll: {\n realtime: true,\n enable: false,\n reversed: false,\n trigger: 'wheel',\n endTrigger: 'pointerup'\n },\n drag: {\n realtime: true,\n enable: true,\n reversed: false,\n trigger: 'pointerdown',\n updateTrigger: 'pointermove',\n endTrigger: 'pointerup'\n },\n throttle: 100\n };\n\n protected _inited?: boolean;\n protected _lastScale: number;\n protected _scaleX: IScale;\n protected _scaleY: IScale;\n protected _data: IData;\n protected handleRoamZoomStart: (e: InteractionEvent) => void;\n protected handleRoamDragUpdate: (e: InteractionEvent) => void;\n protected handleRoamScrollStart: (e: InteractionEvent) => void;\n\n constructor(view: IView, option?: ViewRoamOptions) {\n super(view, merge({}, ViewRoam.defaultOptions, option));\n this.handleRoamZoomStart = throttle(this.handleRoamZoomStartInner, this.options.throttle);\n this.handleRoamDragUpdate = throttle(this.handleRoamDragUpdateInner, this.options.throttle);\n this.handleRoamScrollStart = throttle(this.handleRoamScrollStartInner, this.options.throttle);\n }\n\n protected getEvents() {\n const events: Array<{ type: string; handler: InteractionEventHandler }> = [];\n\n if (this.options.zoom?.enable) {\n this.options.zoom.trigger && events.push({ type: this.options.zoom.trigger, handler: this.handleRoamZoomStart });\n this.options.zoom.endTrigger &&\n events.push({ type: this.options.zoom.endTrigger, handler: this.handleRoamZoomEnd });\n this.options.zoom.resetTrigger &&\n events.push({ type: this.options.zoom.resetTrigger, handler: this.handleRoamZoomReset });\n }\n\n if (this.options.scroll?.enable) {\n this.options.scroll.trigger &&\n events.push({ type: this.options.scroll.trigger, handler: this.handleRoamScrollStart });\n this.options.scroll.trigger &&\n events.push({ type: this.options.scroll.endTrigger, handler: this.handleRoamScrollEnd });\n }\n\n if (this.options.drag?.enable) {\n this.options.drag.trigger && events.push({ type: this.options.drag.trigger, handler: this.handleRoamDragStart });\n this.options.drag.updateTrigger &&\n events.push({ type: this.options.drag.updateTrigger, handler: this.handleRoamDragUpdate });\n this.options.drag.endTrigger &&\n events.push({ type: this.options.drag.endTrigger, handler: this.handleRoamDragEnd });\n }\n\n return events;\n }\n\n handleRoamZoomStartInner = (e: InteractionEvent) => {\n this.formatZoomEvent(e);\n if (!e || (this.options.shouldStart && !this.options.shouldStart(e))) {\n return;\n }\n\n if (!this._inited) {\n this._initGrammars();\n }\n\n this.updateView('start', this.handleZoomStart(e, this._state, this.options.zoom), e);\n };\n\n handleRoamZoomEnd = (e: InteractionEvent) => {\n this.formatZoomEvent(e);\n if (!e || (this.options.shouldEnd && !this.options.shouldEnd(e))) {\n return;\n }\n\n this.updateView('end', this.handleZoomEnd(e, this._state, this.options.zoom), e);\n };\n\n handleRoamZoomReset = (e: InteractionEvent) => {\n if (!e || (this.options.shouldReset && !this.options.shouldReset(e))) {\n return;\n }\n this.updateView('reset', this.handleZoomReset(e, this._state, this.options.zoom), e);\n };\n\n handleRoamDragStart = (e: InteractionEvent) => {\n if (!e || (this.options.shouldStart && !this.options.shouldStart(e))) {\n return;\n }\n\n if (!this._inited) {\n this._initGrammars();\n }\n\n this.updateView('start', this.handleDragStart(e, this._state, this.options.drag), e);\n };\n\n handleRoamDragUpdateInner = (e: InteractionEvent) => {\n if (!e || (this.options.shouldUpdate && !this.options.shouldUpdate(e))) {\n return;\n }\n this.updateView('update', this.handleDragUpdate(e, this._state, this.options.drag), e);\n };\n\n handleRoamDragEnd = (e: InteractionEvent) => {\n if (!e || (this.options.shouldEnd && !this.options.shouldEnd(e))) {\n return;\n }\n\n this.updateView('end', this.handleDragEnd(e, this._state, this.options.drag), e);\n };\n\n handleRoamScrollStartInner = (e: InteractionEvent) => {\n this.formatScrollEvent(e);\n if (!e || (this.options.shouldStart && !this.options.shouldStart(e))) {\n return;\n }\n\n if (!this._inited) {\n this._initGrammars();\n }\n\n this.updateView('start', this.handleScrollStart(e, this._state, this.options.scroll), e);\n };\n\n handleRoamScrollEnd = (e: InteractionEvent) => {\n this.formatScrollEvent(e);\n if (!e || (this.options.shouldEnd && !this.options.shouldEnd(e))) {\n return;\n }\n\n this.updateView('end', this.handleScrollEnd(e, this._state, this.options.scroll), e);\n };\n}\n"]}
|
|
@@ -20,7 +20,7 @@ class ViewScrollMixin {
|
|
|
20
20
|
handleScrollStart(e, navState, scrollOptions) {
|
|
21
21
|
if (e.stopPropagation(), e.preventDefault(), !(0, vutils_1.isNil)(e.scrollX) || !(0,
|
|
22
22
|
vutils_1.isNil)(e.scrollY)) {
|
|
23
|
-
if (
|
|
23
|
+
if (scrollOptions && scrollOptions.realtime) return (0, view_utils_1.handleScrolling)({
|
|
24
24
|
x: e.scrollX,
|
|
25
25
|
y: e.scrollY
|
|
26
26
|
}, navState, scrollOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interactions/view-scroll-mixin.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAQzC,6CAA+C;AAE/C,MAAa,eAAe;IAIhB,eAAe,CAAC,CAAmB;QAC3C,OAAO,CAAC,CAAC;IACX,CAAC;IAES,iBAAiB,CAAC,CAAmB;QAM7C,IAAI,CAAE,CAAS,CAAC,OAAO,IAAI,CAAE,CAAS,CAAC,MAAM,KAAK,CAAC,IAAK,CAAS,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;YAC9E,CAAS,CAAC,OAAO,GAAI,CAAS,CAAC,MAAM,CAAC;YACtC,CAAS,CAAC,OAAO,GAAI,CAAS,CAAC,MAAM,CAAC;YACvC,OAAO,CAAC,CAAC;SACV;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,iBAAiB,CAAC,CAAmB;QACnC,IAAI,CAAC,CAAC,EAAE;YACN,OAAO,CAAC,CAAC;SACV;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SAChC;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;YACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAClC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,iBAAiB,CACf,CAAmB,EACnB,QAAoD,EACpD,aAAuC;QAEvC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,IAAA,cAAK,EAAE,CAAS,CAAC,OAAO,CAAC,IAAI,IAAA,cAAK,EAAE,CAAS,CAAC,OAAO,CAAC,EAAE;YAC1D,OAAO;SACR;QAED,IAAI,aAAa,
|
|
1
|
+
{"version":3,"sources":["../src/interactions/view-scroll-mixin.ts"],"names":[],"mappings":";;;AAAA,6CAAyC;AAQzC,6CAA+C;AAE/C,MAAa,eAAe;IAIhB,eAAe,CAAC,CAAmB;QAC3C,OAAO,CAAC,CAAC;IACX,CAAC;IAES,iBAAiB,CAAC,CAAmB;QAM7C,IAAI,CAAE,CAAS,CAAC,OAAO,IAAI,CAAE,CAAS,CAAC,MAAM,KAAK,CAAC,IAAK,CAAS,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE;YAC9E,CAAS,CAAC,OAAO,GAAI,CAAS,CAAC,MAAM,CAAC;YACtC,CAAS,CAAC,OAAO,GAAI,CAAS,CAAC,MAAM,CAAC;YACvC,OAAO,CAAC,CAAC;SACV;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,iBAAiB,CAAC,CAAmB;QACnC,IAAI,CAAC,CAAC,EAAE;YACN,OAAO,CAAC,CAAC;SACV;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK,EAAE;YACpB,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;SAChC;QAED,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE;YACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;SAClC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,iBAAiB,CACf,CAAmB,EACnB,QAAoD,EACpD,aAAuC;QAEvC,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,CAAC,CAAC,cAAc,EAAE,CAAC;QAEnB,IAAI,IAAA,cAAK,EAAE,CAAS,CAAC,OAAO,CAAC,IAAI,IAAA,cAAK,EAAE,CAAS,CAAC,OAAO,CAAC,EAAE;YAC1D,OAAO;SACR;QAED,IAAI,aAAa,IAAI,aAAa,CAAC,QAAQ,EAAE;YAC3C,OAAO,IAAA,4BAAe,EAAC,EAAE,CAAC,EAAG,CAAS,CAAC,OAAO,EAAE,CAAC,EAAG,CAAS,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;SACnG;QAED,IAAI,CAAC,IAAA,cAAK,EAAE,CAAS,CAAC,OAAO,CAAC,EAAE;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAI,CAAS,CAAC,OAAO,CAAC;SAChG;QAED,IAAI,CAAC,IAAA,cAAK,EAAE,CAAS,CAAC,OAAO,CAAC,EAAE;YAC9B,IAAI,CAAC,QAAQ,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAS,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAI,CAAS,CAAC,OAAO,CAAC;SAChG;IACH,CAAC;IAED,eAAe,CACb,CAAmB,EACnB,QAAoD,EACpD,aAAuC;QAIvC,IAAI,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,QAAQ,MAAK,KAAK,IAAI,CAAC,IAAA,cAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAA,cAAK,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE;YACvF,MAAM,GAAG,GAAG,IAAA,4BAAe,EAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC7F,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;YAErB,OAAO,GAAG,CAAC;SACZ;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAjFD,0CAiFC","file":"view-scroll-mixin.js","sourcesContent":["import { isNil } from '@visactor/vutils';\nimport type {\n InteractionEvent,\n IViewScrollMixin,\n ViewNavigationRange,\n ViewScrollSimpleOptions,\n ViewStateByDim\n} from '../types';\nimport { handleScrolling } from './view-utils';\n\nexport class ViewScrollMixin implements IViewScrollMixin {\n protected _scrollX: number;\n protected _scrollY: number;\n\n protected formatPanScroll(e: InteractionEvent) {\n return e;\n }\n\n protected formatWheelScroll(e: InteractionEvent) {\n /**\n * @see https://vega.github.io/vega/examples/zoomable-world-map/\n * After testing, the ctrlKey field will only be true when the directions of the two fingers are inconsistent.\n * Based on this, determine whether to trigger the scroll event.\n */\n if (!(e as any).ctrlKey && ((e as any).deltaY !== 0 || (e as any).deltaX !== 0)) {\n (e as any).scrollX = (e as any).deltaX;\n (e as any).scrollY = (e as any).deltaY;\n return e;\n }\n\n return e;\n }\n\n formatScrollEvent(e: InteractionEvent) {\n if (!e) {\n return e;\n }\n\n if (e.type === 'pan') {\n return this.formatPanScroll(e);\n }\n\n if (e.type === 'wheel') {\n return this.formatWheelScroll(e);\n }\n\n return e;\n }\n\n handleScrollStart(\n e: InteractionEvent,\n navState: Partial<Record<'x' | 'y', ViewStateByDim>>,\n scrollOptions?: ViewScrollSimpleOptions\n ): ViewNavigationRange {\n e.stopPropagation();\n e.preventDefault();\n\n if (isNil((e as any).scrollX) && isNil((e as any).scrollY)) {\n return;\n }\n\n if (scrollOptions && scrollOptions.realtime) {\n return handleScrolling({ x: (e as any).scrollX, y: (e as any).scrollY }, navState, scrollOptions);\n }\n\n if (!isNil((e as any).scrollX)) {\n this._scrollX = isNil(this._scrollX) ? (e as any).scrollX : this._scrollX + (e as any).scrollX;\n }\n\n if (!isNil((e as any).scrollY)) {\n this._scrollY = isNil(this._scrollY) ? (e as any).scrollY : this._scrollY + (e as any).scrollY;\n }\n }\n\n handleScrollEnd(\n e: InteractionEvent,\n navState: Partial<Record<'x' | 'y', ViewStateByDim>>,\n scrollOptions?: ViewScrollSimpleOptions\n ): ViewNavigationRange {\n // do nothing now\n\n if (scrollOptions?.realtime === false && (isNil(this._scrollX) || isNil(this._scrollY))) {\n const res = handleScrolling({ x: this._scrollX, y: this._scrollY }, navState, scrollOptions);\n this._scrollX = null;\n this._scrollY = null;\n\n return res;\n }\n\n return null;\n }\n}\n"]}
|