@visactor/vgrammar-core 0.7.7 → 0.8.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/component/axis.js.map +1 -1
- package/cjs/component/datazoom.d.ts +7 -4
- package/cjs/component/datazoom.js +21 -43
- package/cjs/component/datazoom.js.map +1 -1
- package/cjs/component/grid.js.map +1 -1
- package/cjs/component/index.d.ts +0 -2
- package/cjs/component/index.js +1 -19
- package/cjs/component/index.js.map +1 -1
- package/cjs/component/label.js.map +1 -1
- package/cjs/component/legend.d.ts +1 -3
- package/cjs/component/legend.js +5 -26
- package/cjs/component/legend.js.map +1 -1
- package/cjs/component/player.d.ts +1 -2
- package/cjs/component/player.js +15 -31
- package/cjs/component/player.js.map +1 -1
- package/cjs/component/scale.d.ts +1 -0
- package/cjs/component/scale.js +3 -0
- package/cjs/component/scale.js.map +1 -1
- package/cjs/component/scrollbar.d.ts +3 -4
- package/cjs/component/scrollbar.js +12 -54
- package/cjs/component/scrollbar.js.map +1 -1
- package/cjs/component/slider.d.ts +2 -5
- package/cjs/component/slider.js +4 -26
- package/cjs/component/slider.js.map +1 -1
- package/cjs/component/title.js.map +1 -1
- package/cjs/core/factory.d.ts +6 -3
- package/cjs/core/factory.js +9 -2
- package/cjs/core/factory.js.map +1 -1
- package/cjs/env.d.ts +1 -0
- package/cjs/env.js +20 -0
- package/cjs/env.js.map +1 -0
- package/cjs/glyph/index.js +2 -1
- package/cjs/glyph/link-path.js +1 -2
- package/cjs/graph/animation/animate.js +25 -19
- package/cjs/graph/animation/animate.js.map +1 -1
- package/cjs/graph/animation/animation/grow-cartesian.js.map +1 -1
- package/cjs/graph/animation/animator.js +4 -4
- package/cjs/graph/animation/animator.js.map +1 -1
- package/cjs/graph/animation/attribute.d.ts +2 -2
- package/cjs/graph/animation/attribute.js +12 -12
- package/cjs/graph/animation/attribute.js.map +1 -1
- package/cjs/graph/animation/morph.js +4 -4
- package/cjs/graph/animation/morph.js.map +1 -1
- package/cjs/graph/attributes/index.js +1 -1
- package/cjs/graph/attributes/index.js.map +1 -1
- package/cjs/graph/canvas-renderer.d.ts +1 -1
- package/cjs/graph/canvas-renderer.js +5 -5
- package/cjs/graph/canvas-renderer.js.map +1 -1
- package/cjs/graph/element.d.ts +1 -1
- package/cjs/graph/element.js +4 -4
- package/cjs/graph/element.js.map +1 -1
- package/cjs/graph/enums.d.ts +25 -8
- package/cjs/graph/enums.js +23 -14
- package/cjs/graph/enums.js.map +1 -1
- package/cjs/graph/glyph-element.d.ts +1 -1
- package/cjs/graph/glyph-element.js.map +1 -1
- package/cjs/graph/mark/encode.d.ts +0 -3
- package/cjs/graph/mark/encode.js +3 -12
- package/cjs/graph/mark/encode.js.map +1 -1
- package/cjs/graph/mark/large-rects.d.ts +2 -2
- package/cjs/graph/mark/large-rects.js +3 -3
- package/cjs/graph/mark/large-rects.js.map +1 -1
- package/cjs/graph/mark/large-symbols.d.ts +2 -2
- package/cjs/graph/mark/large-symbols.js +3 -3
- package/cjs/graph/mark/large-symbols.js.map +1 -1
- package/cjs/graph/util/env.js +2 -2
- package/cjs/graph/util/env.js.map +1 -1
- package/cjs/graph/util/events-extend.d.ts +1 -1
- package/cjs/graph/util/events-extend.js +1 -1
- package/cjs/graph/util/events-extend.js.map +1 -1
- package/cjs/graph/util/graphic.d.ts +3 -3
- package/cjs/graph/util/graphic.js +21 -21
- package/cjs/graph/util/graphic.js.map +1 -1
- package/cjs/index.d.ts +5 -1
- package/cjs/index.js +13 -3
- package/cjs/index.js.map +1 -1
- package/cjs/interactions/base-tooltip.d.ts +29 -0
- package/cjs/interactions/base-tooltip.js +74 -0
- package/cjs/interactions/base-tooltip.js.map +1 -0
- package/cjs/interactions/base.d.ts +14 -0
- package/cjs/interactions/base.js +41 -0
- package/cjs/interactions/base.js.map +1 -0
- package/cjs/interactions/brush-active.d.ts +17 -0
- package/cjs/interactions/brush-active.js +27 -0
- package/cjs/interactions/brush-active.js.map +1 -0
- package/cjs/interactions/brush-base.d.ts +43 -0
- package/cjs/interactions/brush-base.js +106 -0
- package/cjs/interactions/brush-base.js.map +1 -0
- package/cjs/interactions/brush-filter.d.ts +24 -0
- package/cjs/interactions/brush-filter.js +34 -0
- package/cjs/interactions/brush-filter.js.map +1 -0
- package/cjs/interactions/brush-highlight.d.ts +17 -0
- package/cjs/interactions/brush-highlight.js +34 -0
- package/cjs/interactions/brush-highlight.js.map +1 -0
- package/cjs/interactions/crosshair.d.ts +53 -0
- package/cjs/{component → interactions}/crosshair.js +80 -79
- package/cjs/interactions/crosshair.js.map +1 -0
- package/cjs/interactions/datazoom-filter.d.ts +13 -0
- package/cjs/interactions/datazoom-filter.js +42 -0
- package/cjs/interactions/datazoom-filter.js.map +1 -0
- package/cjs/interactions/dimension-tooltip.d.ts +18 -0
- package/cjs/interactions/dimension-tooltip.js +99 -0
- package/cjs/interactions/dimension-tooltip.js.map +1 -0
- package/cjs/interactions/drill-down.d.ts +25 -0
- package/cjs/interactions/drill-down.js +48 -0
- package/cjs/interactions/drill-down.js.map +1 -0
- package/cjs/interactions/element-active-by-legend.d.ts +17 -0
- package/cjs/interactions/element-active-by-legend.js +44 -0
- package/cjs/interactions/element-active-by-legend.js.map +1 -0
- package/cjs/interactions/element-active.d.ts +16 -0
- package/cjs/interactions/element-active.js +33 -0
- package/cjs/interactions/element-active.js.map +1 -0
- package/cjs/interactions/element-highlight-by-group.d.ts +17 -0
- package/cjs/interactions/element-highlight-by-group.js +53 -0
- package/cjs/interactions/element-highlight-by-group.js.map +1 -0
- package/cjs/interactions/element-highlight-by-key.d.ts +17 -0
- package/cjs/interactions/element-highlight-by-key.js +53 -0
- package/cjs/interactions/element-highlight-by-key.js.map +1 -0
- package/cjs/interactions/element-highlight-by-legend.d.ts +17 -0
- package/cjs/interactions/element-highlight-by-legend.js +47 -0
- package/cjs/interactions/element-highlight-by-legend.js.map +1 -0
- package/cjs/interactions/element-highlight-by-name.d.ts +18 -0
- package/cjs/interactions/element-highlight-by-name.js +59 -0
- package/cjs/interactions/element-highlight-by-name.js.map +1 -0
- package/cjs/interactions/element-highlight.d.ts +17 -0
- package/cjs/interactions/element-highlight.js +48 -0
- package/cjs/interactions/element-highlight.js.map +1 -0
- package/cjs/interactions/element-select.d.ts +18 -0
- package/cjs/interactions/element-select.js +42 -0
- package/cjs/interactions/element-select.js.map +1 -0
- package/cjs/interactions/filter.d.ts +20 -0
- package/cjs/interactions/filter.js +37 -0
- package/cjs/interactions/filter.js.map +1 -0
- package/cjs/interactions/fish-eye.d.ts +38 -0
- package/cjs/interactions/fish-eye.js +109 -0
- package/cjs/interactions/fish-eye.js.map +1 -0
- package/cjs/interactions/index.d.ts +50 -0
- package/cjs/interactions/index.js +386 -0
- package/cjs/interactions/index.js.map +1 -0
- package/cjs/interactions/legend-filter.d.ts +13 -0
- package/cjs/interactions/legend-filter.js +33 -0
- package/cjs/interactions/legend-filter.js.map +1 -0
- package/cjs/interactions/player-filter.d.ts +14 -0
- package/cjs/interactions/player-filter.js +32 -0
- package/cjs/interactions/player-filter.js.map +1 -0
- package/cjs/interactions/roll-up.d.ts +16 -0
- package/cjs/interactions/roll-up.js +47 -0
- package/cjs/interactions/roll-up.js.map +1 -0
- package/cjs/interactions/scrollbar-filter.d.ts +13 -0
- package/cjs/interactions/scrollbar-filter.js +54 -0
- package/cjs/interactions/scrollbar-filter.js.map +1 -0
- package/cjs/interactions/slider-filter.d.ts +13 -0
- package/cjs/interactions/slider-filter.js +32 -0
- package/cjs/interactions/slider-filter.js.map +1 -0
- package/cjs/interactions/tooltip.d.ts +15 -0
- package/cjs/interactions/tooltip.js +62 -0
- package/cjs/interactions/tooltip.js.map +1 -0
- package/cjs/interactions/view-drag-mixin.d.ts +22 -0
- package/cjs/interactions/view-drag-mixin.js +52 -0
- package/cjs/interactions/view-drag-mixin.js.map +1 -0
- package/cjs/interactions/view-drag.d.ts +19 -0
- package/cjs/interactions/view-drag.js +49 -0
- package/cjs/interactions/view-drag.js.map +1 -0
- package/cjs/interactions/view-navigation-base.d.ts +17 -0
- package/cjs/interactions/view-navigation-base.js +81 -0
- package/cjs/interactions/view-navigation-base.js.map +1 -0
- package/cjs/interactions/view-roam.d.ts +30 -0
- package/cjs/interactions/view-roam.js +93 -0
- package/cjs/interactions/view-roam.js.map +1 -0
- package/cjs/interactions/view-scroll-mixin.d.ts +10 -0
- package/cjs/interactions/view-scroll-mixin.js +45 -0
- package/cjs/interactions/view-scroll-mixin.js.map +1 -0
- package/cjs/interactions/view-scroll.d.ts +17 -0
- package/cjs/interactions/view-scroll.js +37 -0
- package/cjs/interactions/view-scroll.js.map +1 -0
- package/cjs/interactions/view-utils.d.ts +14 -0
- package/cjs/interactions/view-utils.js +73 -0
- package/cjs/interactions/view-utils.js.map +1 -0
- package/cjs/interactions/view-zoom-mixin.d.ts +29 -0
- package/cjs/interactions/view-zoom-mixin.js +77 -0
- package/cjs/interactions/view-zoom-mixin.js.map +1 -0
- package/cjs/interactions/view-zoom.d.ts +23 -0
- package/cjs/interactions/view-zoom.js +53 -0
- package/cjs/interactions/view-zoom.js.map +1 -0
- package/cjs/parse/coordinate.js +1 -1
- package/cjs/parse/event.d.ts +2 -0
- package/cjs/parse/event.js +8 -4
- package/cjs/parse/event.js.map +1 -1
- package/cjs/parse/mark.js +1 -1
- package/cjs/parse/option.js +2 -1
- package/cjs/parse/scale.js +1 -1
- package/cjs/parse/transform.js +1 -1
- package/cjs/parse/util.js +1 -1
- package/cjs/parse/view.js +1 -1
- package/cjs/semantic-marks/cell.d.ts +1 -1
- package/cjs/semantic-marks/cell.js +4 -4
- package/cjs/semantic-marks/cell.js.map +1 -1
- package/cjs/semantic-marks/interval.d.ts +1 -1
- package/cjs/semantic-marks/interval.js +1 -1
- package/cjs/semantic-marks/text.js +1 -1
- package/cjs/theme/dark.js +1 -1
- package/cjs/theme/default.js +1 -1
- package/cjs/theme/theme-manager.js +1 -1
- package/cjs/transforms/index.js +1 -1
- package/cjs/transforms/mark/dodge.js +4 -4
- package/cjs/transforms/mark/dodge.js.map +1 -1
- package/cjs/transforms/mark/jitter.js +2 -2
- package/cjs/transforms/mark/jitter.js.map +1 -1
- package/cjs/types/animate.d.ts +1 -1
- package/cjs/types/animate.js +1 -1
- package/cjs/types/animate.js.map +1 -1
- package/cjs/types/base.js +1 -1
- package/cjs/types/component.d.ts +16 -88
- package/cjs/types/component.js +1 -1
- package/cjs/types/component.js.map +1 -1
- package/cjs/types/coordinate.js +1 -1
- package/cjs/types/data.js +2 -1
- package/cjs/types/dataflow.js +1 -1
- package/cjs/types/element.d.ts +1 -1
- package/cjs/types/element.js +1 -1
- package/cjs/types/element.js.map +1 -1
- package/cjs/types/event.d.ts +11 -4
- package/cjs/types/event.js +1 -1
- package/cjs/types/event.js.map +1 -1
- package/cjs/types/glyph.js +1 -1
- package/cjs/types/grammar.d.ts +6 -2
- package/cjs/types/grammar.js +1 -1
- package/cjs/types/grammar.js.map +1 -1
- package/cjs/types/hooks.js +1 -1
- package/cjs/types/index.d.ts +1 -0
- package/cjs/types/index.js +3 -2
- package/cjs/types/index.js.map +1 -1
- package/cjs/types/interaction.d.ts +353 -0
- package/cjs/types/interaction.js +6 -0
- package/cjs/types/interaction.js.map +1 -0
- package/cjs/types/mark.d.ts +2 -3
- package/cjs/types/mark.js.map +1 -1
- package/cjs/types/morph.d.ts +1 -1
- package/cjs/types/morph.js.map +1 -1
- package/cjs/types/plot.d.ts +1 -1
- package/cjs/types/plot.js.map +1 -1
- package/cjs/types/renderer.d.ts +1 -1
- package/cjs/types/renderer.js.map +1 -1
- package/cjs/types/theme.d.ts +1 -1
- package/cjs/types/theme.js.map +1 -1
- package/cjs/types/view.d.ts +13 -14
- package/cjs/types/view.js.map +1 -1
- package/cjs/util/scale.d.ts +4 -0
- package/cjs/util/scale.js +24 -0
- package/cjs/util/scale.js.map +1 -0
- package/cjs/util/text.d.ts +1 -1
- package/cjs/util/text.js +3 -3
- package/cjs/util/text.js.map +1 -1
- package/cjs/view/View.d.ts +9 -13
- package/cjs/view/View.js +49 -74
- package/cjs/view/View.js.map +1 -1
- package/cjs/view/component.d.ts +2 -6
- package/cjs/view/component.js +1 -19
- package/cjs/view/component.js.map +1 -1
- package/cjs/view/dataflow.js +1 -1
- package/cjs/view/dataflow.js.map +1 -1
- package/cjs/view/events.d.ts +1 -1
- package/cjs/view/mark.d.ts +2 -2
- package/cjs/view/mark.js +12 -10
- package/cjs/view/mark.js.map +1 -1
- package/cjs/view/scale.d.ts +7 -1
- package/cjs/view/scale.js +17 -3
- package/cjs/view/scale.js.map +1 -1
- package/es/component/axis.js.map +1 -1
- package/es/component/datazoom.d.ts +7 -4
- package/es/component/datazoom.js +26 -42
- package/es/component/datazoom.js.map +1 -1
- package/es/component/grid.js.map +1 -1
- package/es/component/index.d.ts +0 -2
- package/es/component/index.js +0 -4
- package/es/component/index.js.map +1 -1
- package/es/component/label.js.map +1 -1
- package/es/component/legend.d.ts +1 -3
- package/es/component/legend.js +11 -26
- package/es/component/legend.js.map +1 -1
- package/es/component/player.d.ts +1 -2
- package/es/component/player.js +17 -30
- package/es/component/player.js.map +1 -1
- package/es/component/scale.d.ts +1 -0
- package/es/component/scale.js +3 -0
- package/es/component/scale.js.map +1 -1
- package/es/component/scrollbar.d.ts +3 -4
- package/es/component/scrollbar.js +17 -53
- package/es/component/scrollbar.js.map +1 -1
- package/es/component/slider.d.ts +2 -5
- package/es/component/slider.js +9 -25
- package/es/component/slider.js.map +1 -1
- package/es/component/title.js.map +1 -1
- package/es/core/factory.d.ts +6 -3
- package/es/core/factory.js +9 -2
- package/es/core/factory.js.map +1 -1
- package/es/env.d.ts +1 -0
- package/es/env.js +1 -0
- package/es/env.js.map +1 -0
- package/es/glyph/index.js +2 -1
- package/es/glyph/link-path.js +1 -2
- package/es/graph/animation/animate.js +24 -19
- package/es/graph/animation/animate.js.map +1 -1
- package/es/graph/animation/animation/grow-cartesian.js.map +1 -1
- package/es/graph/animation/animator.js +1 -1
- package/es/graph/animation/animator.js.map +1 -1
- package/es/graph/animation/attribute.d.ts +2 -2
- package/es/graph/animation/attribute.js +7 -7
- package/es/graph/animation/attribute.js.map +1 -1
- package/es/graph/animation/morph.js +1 -1
- package/es/graph/animation/morph.js.map +1 -1
- package/es/graph/attributes/index.js +1 -1
- package/es/graph/attributes/index.js.map +1 -1
- package/es/graph/canvas-renderer.d.ts +1 -1
- package/es/graph/canvas-renderer.js +3 -1
- package/es/graph/canvas-renderer.js.map +1 -1
- package/es/graph/element.d.ts +1 -1
- package/es/graph/element.js +3 -3
- package/es/graph/element.js.map +1 -1
- package/es/graph/enums.d.ts +25 -8
- package/es/graph/enums.js +27 -11
- package/es/graph/enums.js.map +1 -1
- package/es/graph/glyph-element.d.ts +1 -1
- package/es/graph/glyph-element.js.map +1 -1
- package/es/graph/mark/encode.d.ts +0 -3
- package/es/graph/mark/encode.js +0 -10
- package/es/graph/mark/encode.js.map +1 -1
- package/es/graph/mark/large-rects.d.ts +2 -2
- package/es/graph/mark/large-rects.js +1 -1
- package/es/graph/mark/large-rects.js.map +1 -1
- package/es/graph/mark/large-symbols.d.ts +2 -2
- package/es/graph/mark/large-symbols.js +1 -1
- package/es/graph/mark/large-symbols.js.map +1 -1
- package/es/graph/util/env.js +1 -1
- package/es/graph/util/env.js.map +1 -1
- package/es/graph/util/events-extend.d.ts +1 -1
- package/es/graph/util/events-extend.js +1 -1
- package/es/graph/util/events-extend.js.map +1 -1
- package/es/graph/util/graphic.d.ts +3 -3
- package/es/graph/util/graphic.js +1 -1
- package/es/graph/util/graphic.js.map +1 -1
- package/es/index.d.ts +5 -1
- package/es/index.js +11 -2
- package/es/index.js.map +1 -1
- package/es/interactions/base-tooltip.d.ts +29 -0
- package/es/interactions/base-tooltip.js +73 -0
- package/es/interactions/base-tooltip.js.map +1 -0
- package/es/interactions/base.d.ts +14 -0
- package/es/interactions/base.js +32 -0
- package/es/interactions/base.js.map +1 -0
- package/es/interactions/brush-active.d.ts +17 -0
- package/es/interactions/brush-active.js +23 -0
- package/es/interactions/brush-active.js.map +1 -0
- package/es/interactions/brush-base.d.ts +43 -0
- package/es/interactions/brush-base.js +103 -0
- package/es/interactions/brush-base.js.map +1 -0
- package/es/interactions/brush-filter.d.ts +24 -0
- package/es/interactions/brush-filter.js +32 -0
- package/es/interactions/brush-filter.js.map +1 -0
- package/es/interactions/brush-highlight.d.ts +17 -0
- package/es/interactions/brush-highlight.js +31 -0
- package/es/interactions/brush-highlight.js.map +1 -0
- package/es/interactions/crosshair.d.ts +53 -0
- package/es/{component → interactions}/crosshair.js +82 -81
- package/es/interactions/crosshair.js.map +1 -0
- package/es/interactions/datazoom-filter.d.ts +13 -0
- package/es/interactions/datazoom-filter.js +40 -0
- package/es/interactions/datazoom-filter.js.map +1 -0
- package/es/interactions/dimension-tooltip.d.ts +18 -0
- package/es/interactions/dimension-tooltip.js +99 -0
- package/es/interactions/dimension-tooltip.js.map +1 -0
- package/es/interactions/drill-down.d.ts +25 -0
- package/es/interactions/drill-down.js +46 -0
- package/es/interactions/drill-down.js.map +1 -0
- package/es/interactions/element-active-by-legend.d.ts +17 -0
- package/es/interactions/element-active-by-legend.js +43 -0
- package/es/interactions/element-active-by-legend.js.map +1 -0
- package/es/interactions/element-active.d.ts +16 -0
- package/es/interactions/element-active.js +29 -0
- package/es/interactions/element-active.js.map +1 -0
- package/es/interactions/element-highlight-by-group.d.ts +17 -0
- package/es/interactions/element-highlight-by-group.js +50 -0
- package/es/interactions/element-highlight-by-group.js.map +1 -0
- package/es/interactions/element-highlight-by-key.d.ts +17 -0
- package/es/interactions/element-highlight-by-key.js +50 -0
- package/es/interactions/element-highlight-by-key.js.map +1 -0
- package/es/interactions/element-highlight-by-legend.d.ts +17 -0
- package/es/interactions/element-highlight-by-legend.js +46 -0
- package/es/interactions/element-highlight-by-legend.js.map +1 -0
- package/es/interactions/element-highlight-by-name.d.ts +18 -0
- package/es/interactions/element-highlight-by-name.js +56 -0
- package/es/interactions/element-highlight-by-name.js.map +1 -0
- package/es/interactions/element-highlight.d.ts +17 -0
- package/es/interactions/element-highlight.js +43 -0
- package/es/interactions/element-highlight.js.map +1 -0
- package/es/interactions/element-select.d.ts +18 -0
- package/es/interactions/element-select.js +38 -0
- package/es/interactions/element-select.js.map +1 -0
- package/es/interactions/filter.d.ts +20 -0
- package/es/interactions/filter.js +31 -0
- package/es/interactions/filter.js.map +1 -0
- package/es/interactions/fish-eye.d.ts +38 -0
- package/es/interactions/fish-eye.js +105 -0
- package/es/interactions/fish-eye.js.map +1 -0
- package/es/interactions/index.d.ts +50 -0
- package/es/interactions/index.js +148 -0
- package/es/interactions/index.js.map +1 -0
- package/es/interactions/legend-filter.d.ts +13 -0
- package/es/interactions/legend-filter.js +32 -0
- package/es/interactions/legend-filter.js.map +1 -0
- package/es/interactions/player-filter.d.ts +14 -0
- package/es/interactions/player-filter.js +32 -0
- package/es/interactions/player-filter.js.map +1 -0
- package/es/interactions/roll-up.d.ts +16 -0
- package/es/interactions/roll-up.js +45 -0
- package/es/interactions/roll-up.js.map +1 -0
- package/es/interactions/scrollbar-filter.d.ts +13 -0
- package/es/interactions/scrollbar-filter.js +50 -0
- package/es/interactions/scrollbar-filter.js.map +1 -0
- package/es/interactions/slider-filter.d.ts +13 -0
- package/es/interactions/slider-filter.js +29 -0
- package/es/interactions/slider-filter.js.map +1 -0
- package/es/interactions/tooltip.d.ts +15 -0
- package/es/interactions/tooltip.js +58 -0
- package/es/interactions/tooltip.js.map +1 -0
- package/es/interactions/view-drag-mixin.d.ts +22 -0
- package/es/interactions/view-drag-mixin.js +46 -0
- package/es/interactions/view-drag-mixin.js.map +1 -0
- package/es/interactions/view-drag.d.ts +19 -0
- package/es/interactions/view-drag.js +47 -0
- package/es/interactions/view-drag.js.map +1 -0
- package/es/interactions/view-navigation-base.d.ts +17 -0
- package/es/interactions/view-navigation-base.js +78 -0
- package/es/interactions/view-navigation-base.js.map +1 -0
- package/es/interactions/view-roam.d.ts +30 -0
- package/es/interactions/view-roam.js +91 -0
- package/es/interactions/view-roam.js.map +1 -0
- package/es/interactions/view-scroll-mixin.d.ts +10 -0
- package/es/interactions/view-scroll-mixin.js +37 -0
- package/es/interactions/view-scroll-mixin.js.map +1 -0
- package/es/interactions/view-scroll.d.ts +17 -0
- package/es/interactions/view-scroll.js +35 -0
- package/es/interactions/view-scroll.js.map +1 -0
- package/es/interactions/view-utils.d.ts +14 -0
- package/es/interactions/view-utils.js +60 -0
- package/es/interactions/view-utils.js.map +1 -0
- package/es/interactions/view-zoom-mixin.d.ts +29 -0
- package/es/interactions/view-zoom-mixin.js +68 -0
- package/es/interactions/view-zoom-mixin.js.map +1 -0
- package/es/interactions/view-zoom.d.ts +23 -0
- package/es/interactions/view-zoom.js +51 -0
- package/es/interactions/view-zoom.js.map +1 -0
- package/es/parse/coordinate.js +1 -1
- package/es/parse/event.d.ts +2 -0
- package/es/parse/event.js +6 -2
- package/es/parse/event.js.map +1 -1
- package/es/parse/mark.js +1 -1
- package/es/parse/option.js +2 -1
- package/es/parse/scale.js +1 -1
- package/es/parse/transform.js +1 -1
- package/es/parse/util.js +1 -1
- package/es/parse/view.js +1 -1
- package/es/semantic-marks/cell.d.ts +1 -1
- package/es/semantic-marks/cell.js +4 -2
- package/es/semantic-marks/cell.js.map +1 -1
- package/es/semantic-marks/interval.d.ts +1 -1
- package/es/semantic-marks/interval.js +1 -1
- package/es/semantic-marks/text.js +1 -1
- package/es/theme/dark.js +1 -1
- package/es/theme/default.js +1 -1
- package/es/theme/theme-manager.js +1 -1
- package/es/transforms/index.js +1 -1
- package/es/transforms/mark/dodge.js +2 -2
- package/es/transforms/mark/dodge.js.map +1 -1
- package/es/transforms/mark/jitter.js +2 -2
- package/es/transforms/mark/jitter.js.map +1 -1
- package/es/types/animate.d.ts +1 -1
- package/es/types/animate.js +1 -1
- package/es/types/animate.js.map +1 -1
- package/es/types/base.js +1 -1
- package/es/types/component.d.ts +16 -88
- package/es/types/component.js +1 -1
- package/es/types/component.js.map +1 -1
- package/es/types/coordinate.js +1 -1
- package/es/types/data.js +2 -1
- package/es/types/dataflow.js +1 -1
- package/es/types/element.d.ts +1 -1
- package/es/types/element.js +1 -1
- package/es/types/element.js.map +1 -1
- package/es/types/event.d.ts +11 -4
- package/es/types/event.js +1 -1
- package/es/types/event.js.map +1 -1
- package/es/types/glyph.js +1 -1
- package/es/types/grammar.d.ts +6 -2
- package/es/types/grammar.js +1 -1
- package/es/types/grammar.js.map +1 -1
- package/es/types/hooks.js +1 -1
- package/es/types/index.d.ts +1 -0
- package/es/types/index.js +3 -1
- package/es/types/index.js.map +1 -1
- package/es/types/interaction.d.ts +353 -0
- package/es/types/interaction.js +2 -0
- package/es/types/interaction.js.map +1 -0
- package/es/types/mark.d.ts +2 -3
- package/es/types/mark.js.map +1 -1
- package/es/types/morph.d.ts +1 -1
- package/es/types/morph.js.map +1 -1
- package/es/types/plot.d.ts +1 -1
- package/es/types/plot.js.map +1 -1
- package/es/types/renderer.d.ts +1 -1
- package/es/types/renderer.js.map +1 -1
- package/es/types/theme.d.ts +1 -1
- package/es/types/theme.js.map +1 -1
- package/es/types/view.d.ts +13 -14
- package/es/types/view.js.map +1 -1
- package/es/util/scale.d.ts +4 -0
- package/es/util/scale.js +15 -0
- package/es/util/scale.js.map +1 -0
- package/es/util/text.d.ts +1 -1
- package/es/util/text.js +1 -1
- package/es/util/text.js.map +1 -1
- package/es/view/View.d.ts +9 -13
- package/es/view/View.js +49 -69
- package/es/view/View.js.map +1 -1
- package/es/view/component.d.ts +2 -6
- package/es/view/component.js +0 -20
- package/es/view/component.js.map +1 -1
- package/es/view/dataflow.js +1 -1
- package/es/view/dataflow.js.map +1 -1
- package/es/view/events.d.ts +1 -1
- package/es/view/mark.d.ts +2 -2
- package/es/view/mark.js +12 -10
- package/es/view/mark.js.map +1 -1
- package/es/view/scale.d.ts +7 -1
- package/es/view/scale.js +17 -2
- package/es/view/scale.js.map +1 -1
- package/package.json +10 -9
- package/cjs/component/crosshair.d.ts +0 -50
- package/cjs/component/crosshair.js.map +0 -1
- package/cjs/component/tooltip.d.ts +0 -62
- package/cjs/component/tooltip.js +0 -305
- package/cjs/component/tooltip.js.map +0 -1
- package/es/component/crosshair.d.ts +0 -50
- package/es/component/crosshair.js.map +0 -1
- package/es/component/tooltip.d.ts +0 -62
- package/es/component/tooltip.js +0 -303
- package/es/component/tooltip.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/legend.ts"],"names":[],"mappings":"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","file":"legend.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender';\nimport type { IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { DiscreteLegendAttrs, ColorLegendAttributes, SizeLegendAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscreteLegend, ColorContinuousLegend, SizeContinuousLegend, LegendEvent } from '@visactor/vrender-components';\nimport { array, isString, merge, last } from '@visactor/vutils';\nimport { ComponentDataRank, ComponentEnum, LegendEnum } from '../graph';\nimport type {\n BaseSignleEncodeSpec,\n IData,\n IElement,\n IGroupMark,\n IScale,\n ITheme,\n IView,\n Nil,\n RecursivePartial,\n StateEncodeSpec\n} from '../types';\nimport type { ILegend, LegendSpec, LegendType } from '../types/component';\nimport { parseColor } from '../parse/util';\nimport { ScaleComponent } from './scale';\nimport { invokeEncoder } from '../graph/mark/encode';\nimport { Factory } from '../core/factory';\n\nexport const generateDiscreteLegendAttributes = (\n scale: IBaseScale,\n theme?: ITheme,\n addition?: RecursivePartial<DiscreteLegendAttrs>,\n shapeScale?: IBaseScale\n): DiscreteLegendAttrs => {\n const legendTheme = theme?.components?.discreteLegend;\n if (!scale) {\n return merge({}, legendTheme, addition ?? {});\n }\n // get domain items without repetitions\n const domainItems = Array.from(new Set(array(scale.domain())));\n const items = domainItems.map((item, index) => {\n const value = scale.scale(item);\n const color = parseColor(value);\n const shape = color\n ? {\n ...(theme?.components?.discreteLegend?.items?.[0]?.shape ?? {}),\n fill: color,\n stroke: color\n }\n : theme?.components?.discreteLegend?.items?.[0]?.shape ?? {};\n\n if (shapeScale) {\n Object.assign(shape, { symbolType: shapeScale.scale(item) });\n }\n\n return {\n label: item.toString(),\n id: item,\n shape,\n index\n };\n });\n return merge({}, legendTheme, { items }, addition ?? {});\n};\n\nexport const generateColorLegendAttributes = (\n scale: IBaseScale,\n theme?: ITheme,\n addition?: RecursivePartial<ColorLegendAttributes>\n): ColorLegendAttributes => {\n const legendTheme = theme?.components?.colorLegend;\n if (!scale) {\n return merge({}, legendTheme, addition ?? {});\n }\n const domain = scale.domain();\n return merge({}, legendTheme, { colors: scale.range().slice(), min: domain[0], max: last(domain) }, addition ?? {});\n};\n\nexport const generateSizeLegendAttributes = (\n scale: IBaseScale,\n theme?: ITheme,\n addition?: RecursivePartial<SizeLegendAttributes>\n): SizeLegendAttributes => {\n const legendTheme = theme?.components?.sizeLegend;\n if (!scale) {\n return merge({}, legendTheme, addition ?? {});\n }\n const domain = scale.domain();\n const attributes = {\n min: domain[0],\n max: domain[domain.length - 1],\n value: [domain[0], domain[domain.length - 1]]\n };\n return merge({}, legendTheme, attributes, addition ?? {});\n};\n\nexport class Legend extends ScaleComponent implements ILegend {\n static readonly componentType: string = ComponentEnum.legend;\n protected declare spec: LegendSpec;\n\n private _legendComponentType: keyof typeof LegendEnum;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.legend, group);\n this.spec.componentType = ComponentEnum.legend;\n this.spec.legendType = 'auto';\n }\n\n protected parseAddition(spec: LegendSpec) {\n this.shapeScale(spec.shapeScale);\n super.parseAddition(spec);\n this.target(spec.target?.data, spec.target?.filter);\n this.legendType(spec.legendType);\n return this;\n }\n\n scale(scale?: IScale | string | Nil) {\n super.scale(scale);\n this._legendComponentType = null;\n return this;\n }\n\n shapeScale(shapeScale: LegendSpec['shapeScale']) {\n if (this.spec.shapeScale) {\n const lastScaleGrammar = isString(this.spec.shapeScale)\n ? this.view.getScaleById(this.spec.shapeScale)\n : this.spec.shapeScale;\n this.detach(lastScaleGrammar);\n this.spec.shapeScale = undefined;\n }\n const scaleGrammar = isString(shapeScale) ? this.view.getScaleById(shapeScale) : shapeScale;\n this.spec.shapeScale = scaleGrammar;\n this.attach(scaleGrammar);\n\n this.commit();\n return this;\n }\n\n legendType(legendType: LegendType | Nil) {\n this.spec.legendType = legendType;\n // clear legend type when spec is changed\n this._legendComponentType = null;\n this._prepareRejoin();\n this.commit();\n return this;\n }\n\n isContinuousLegend() {\n return this._getLegendComponentType() !== LegendEnum.discreteLegend;\n }\n\n target(data: IData | string | Nil, filter: string | ((datum: any, legendValues: any) => boolean) | Nil) {\n const isContinuous = this.isContinuousLegend();\n const eventName = isContinuous ? 'change' : LegendEvent.legendItemClick;\n const lastData = this.spec.target?.data;\n const lastDataGrammar = isString(lastData) ? this.view.getDataById(lastData) : lastData;\n if (lastDataGrammar) {\n this.view.removeEventListener(eventName, this._filterCallback);\n }\n this.spec.target = undefined;\n const dataGrammar = isString(data) ? this.view.getDataById(data) : data;\n const getFilterValue = (event: any) =>\n isContinuous ? { start: event.detail.value[0], end: event.detail.value[1] } : event.detail.currentSelected;\n const dataFilter = isString(filter)\n ? isContinuous\n ? (datum: any, filterValue: { start: number; end: number }) =>\n datum[filter] >= filterValue.start && datum[filter] <= filterValue.end\n : (datum: any, filterValue: any[]) => filterValue.includes(datum[filter])\n : filter;\n this._filterData(lastDataGrammar, dataGrammar, ComponentDataRank.legend, getFilterValue, dataFilter);\n if (dataGrammar) {\n this.view.addEventListener(eventName, this._filterCallback);\n this.spec.target = { data: dataGrammar, filter };\n }\n return this;\n }\n\n setSelected(selectedValues: any[]) {\n // FIXME: provide ILegend interface in vis-component\n const legend = this.elements[0]?.getGraphicItem?.() as unknown as DiscreteLegend;\n legend.setSelected(selectedValues);\n return this;\n }\n\n addGraphicItem(attrs: any, groupKey?: string) {\n const graphicItem = Factory.createGraphicComponent(this._getLegendComponentType(), attrs);\n return super.addGraphicItem(attrs, groupKey, graphicItem);\n }\n\n release() {\n if (this._filterCallback) {\n this.view.removeEventListener('change', this._filterCallback);\n }\n super.release();\n }\n\n protected _updateComponentEncoders() {\n const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n const shapeScaleGrammar = isString(this.spec.shapeScale)\n ? this.view.getScaleById(this.spec.shapeScale)\n : this.spec.shapeScale;\n const encoders = Object.assign({ update: {} }, this.spec.encode);\n const componentEncoders: StateEncodeSpec = Object.keys(encoders).reduce((res, state) => {\n const encoder = encoders[state];\n if (encoder) {\n res[state] = {\n callback: (datum: any, element: IElement, parameters: any) => {\n const theme = this.view.getCurrentTheme();\n const addition = invokeEncoder(encoder as BaseSignleEncodeSpec, datum, element, parameters);\n const scale = scaleGrammar?.getScale?.();\n switch (this._getLegendComponentType()) {\n case LegendEnum.discreteLegend:\n return generateDiscreteLegendAttributes(scale, theme, addition, shapeScaleGrammar?.getScale?.());\n case LegendEnum.colorLegend:\n return generateColorLegendAttributes(scale, theme, addition);\n case LegendEnum.sizeLegend:\n return generateSizeLegendAttributes(scale, theme, addition);\n }\n return addition;\n }\n };\n }\n return res;\n }, {});\n this._encoders = componentEncoders;\n }\n\n private _getLegendComponentType() {\n if (this._legendComponentType) {\n return this._legendComponentType;\n }\n\n // compute legend component type when needed\n if (!this.spec.legendType || this.spec.legendType === 'auto') {\n const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n const scaleType = scaleGrammar?.getScaleType?.();\n if (scaleType && isContinuous(scaleType)) {\n const range: any[] = scaleGrammar.getScale().range();\n if (parseColor(range?.[0])) {\n this._legendComponentType = LegendEnum.colorLegend;\n } else {\n this._legendComponentType = LegendEnum.sizeLegend;\n }\n } else {\n this._legendComponentType = LegendEnum.discreteLegend;\n }\n } else {\n this._legendComponentType =\n this.spec.legendType === 'color'\n ? 'colorLegend'\n : this.spec.legendType === 'size'\n ? 'sizeLegend'\n : 'discreteLegend';\n }\n return this._legendComponentType;\n }\n}\n\nexport const registerLegend = () => {\n Factory.registerGraphicComponent(\n LegendEnum.discreteLegend,\n (attrs: DiscreteLegendAttrs) => new DiscreteLegend(attrs) as unknown as IGraphic\n );\n Factory.registerGraphicComponent(\n LegendEnum.colorLegend,\n (attrs: ColorLegendAttributes) => new ColorContinuousLegend(attrs) as unknown as IGraphic\n );\n Factory.registerGraphicComponent(\n LegendEnum.sizeLegend,\n (attrs: SizeLegendAttributes) => new SizeContinuousLegend(attrs) as unknown as IGraphic\n );\n\n Factory.registerComponent(ComponentEnum.legend, Legend);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/legend.ts"],"names":[],"mappings":"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","file":"legend.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender-core';\nimport type { IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { DiscreteLegendAttrs, ColorLegendAttributes, SizeLegendAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscreteLegend, ColorContinuousLegend, SizeContinuousLegend } from '@visactor/vrender-components';\nimport { array, isString, merge, last, mixin } from '@visactor/vutils';\nimport { ComponentEnum, LegendEnum } from '../graph';\nimport type {\n BaseSignleEncodeSpec,\n IElement,\n IGroupMark,\n IScale,\n ITheme,\n IView,\n Nil,\n RecursivePartial,\n StateEncodeSpec\n} from '../types';\nimport type { ILegend, LegendSpec, LegendType } from '../types/component';\nimport { parseColor } from '../parse/util';\nimport { ScaleComponent } from './scale';\nimport { invokeEncoder } from '../graph/mark/encode';\nimport { Factory } from '../core/factory';\nimport { LegendFilter } from '../interactions/legend-filter';\nimport { Filter, FilterMixin } from '../interactions/filter';\n\nexport const generateDiscreteLegendAttributes = (\n scale: IBaseScale,\n theme?: ITheme,\n addition?: RecursivePartial<DiscreteLegendAttrs>,\n shapeScale?: IBaseScale\n): DiscreteLegendAttrs => {\n const legendTheme = theme?.components?.discreteLegend;\n if (!scale) {\n return merge({}, legendTheme, addition ?? {});\n }\n // get domain items without repetitions\n const domainItems = Array.from(new Set(array(scale.domain())));\n const items = domainItems.map((item, index) => {\n const value = scale.scale(item);\n const color = parseColor(value);\n const shape = color\n ? {\n ...(theme?.components?.discreteLegend?.items?.[0]?.shape ?? {}),\n fill: color,\n stroke: color\n }\n : theme?.components?.discreteLegend?.items?.[0]?.shape ?? {};\n\n if (shapeScale) {\n Object.assign(shape, { symbolType: shapeScale.scale(item) });\n }\n\n return {\n label: item.toString(),\n id: item,\n shape,\n index\n };\n });\n return merge({}, legendTheme, { items }, addition ?? {});\n};\n\nexport const generateColorLegendAttributes = (\n scale: IBaseScale,\n theme?: ITheme,\n addition?: RecursivePartial<ColorLegendAttributes>\n): ColorLegendAttributes => {\n const legendTheme = theme?.components?.colorLegend;\n if (!scale) {\n return merge({}, legendTheme, addition ?? {});\n }\n const domain = scale.domain();\n return merge({}, legendTheme, { colors: scale.range().slice(), min: domain[0], max: last(domain) }, addition ?? {});\n};\n\nexport const generateSizeLegendAttributes = (\n scale: IBaseScale,\n theme?: ITheme,\n addition?: RecursivePartial<SizeLegendAttributes>\n): SizeLegendAttributes => {\n const legendTheme = theme?.components?.sizeLegend;\n if (!scale) {\n return merge({}, legendTheme, addition ?? {});\n }\n const domain = scale.domain();\n const attributes = {\n min: domain[0],\n max: domain[domain.length - 1],\n value: [domain[0], domain[domain.length - 1]]\n };\n return merge({}, legendTheme, attributes, addition ?? {});\n};\n\nexport class Legend extends ScaleComponent implements ILegend {\n static readonly componentType: string = ComponentEnum.legend;\n protected declare spec: LegendSpec;\n\n private _legendComponentType: keyof typeof LegendEnum;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.legend, group);\n this.spec.componentType = ComponentEnum.legend;\n this.spec.legendType = 'auto';\n }\n\n protected parseAddition(spec: LegendSpec) {\n this.shapeScale(spec.shapeScale);\n super.parseAddition(spec);\n this.legendType(spec.legendType);\n return this;\n }\n\n scale(scale?: IScale | string | Nil) {\n super.scale(scale);\n this._legendComponentType = null;\n return this;\n }\n\n shapeScale(shapeScale: LegendSpec['shapeScale']) {\n if (this.spec.shapeScale) {\n const lastScaleGrammar = isString(this.spec.shapeScale)\n ? this.view.getScaleById(this.spec.shapeScale)\n : this.spec.shapeScale;\n this.detach(lastScaleGrammar);\n this.spec.shapeScale = undefined;\n }\n const scaleGrammar = isString(shapeScale) ? this.view.getScaleById(shapeScale) : shapeScale;\n this.spec.shapeScale = scaleGrammar;\n this.attach(scaleGrammar);\n\n this.commit();\n return this;\n }\n\n legendType(legendType: LegendType | Nil) {\n this.spec.legendType = legendType;\n // clear legend type when spec is changed\n this._legendComponentType = null;\n this._prepareRejoin();\n this.commit();\n return this;\n }\n\n isContinuousLegend() {\n return this._getLegendComponentType() !== LegendEnum.discreteLegend;\n }\n\n setSelected(selectedValues: any[]) {\n // FIXME: provide ILegend interface in vis-component\n const legend = this.elements[0]?.getGraphicItem?.() as unknown as DiscreteLegend;\n legend.setSelected(selectedValues);\n return this;\n }\n\n addGraphicItem(attrs: any, groupKey?: string) {\n const graphicItem = Factory.createGraphicComponent(this._getLegendComponentType(), attrs);\n return super.addGraphicItem(attrs, groupKey, graphicItem);\n }\n\n protected _updateComponentEncoders() {\n const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n const shapeScaleGrammar = isString(this.spec.shapeScale)\n ? this.view.getScaleById(this.spec.shapeScale)\n : this.spec.shapeScale;\n const encoders = Object.assign({ update: {} }, this.spec.encode);\n const componentEncoders: StateEncodeSpec = Object.keys(encoders).reduce((res, state) => {\n const encoder = encoders[state];\n if (encoder) {\n res[state] = {\n callback: (datum: any, element: IElement, parameters: any) => {\n const theme = this.view.getCurrentTheme();\n const addition = invokeEncoder(encoder as BaseSignleEncodeSpec, datum, element, parameters);\n const scale = scaleGrammar?.getScale?.();\n switch (this._getLegendComponentType()) {\n case LegendEnum.discreteLegend:\n return generateDiscreteLegendAttributes(scale, theme, addition, shapeScaleGrammar?.getScale?.());\n case LegendEnum.colorLegend:\n return generateColorLegendAttributes(scale, theme, addition);\n case LegendEnum.sizeLegend:\n return generateSizeLegendAttributes(scale, theme, addition);\n }\n return addition;\n }\n };\n }\n return res;\n }, {});\n this._encoders = componentEncoders;\n }\n\n private _getLegendComponentType() {\n if (this._legendComponentType) {\n return this._legendComponentType;\n }\n\n // compute legend component type when needed\n if (!this.spec.legendType || this.spec.legendType === 'auto') {\n const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n const scaleType = scaleGrammar?.getScaleType?.();\n if (scaleType && isContinuous(scaleType)) {\n const range: any[] = scaleGrammar.getScale().range();\n if (parseColor(range?.[0])) {\n this._legendComponentType = LegendEnum.colorLegend;\n } else {\n this._legendComponentType = LegendEnum.sizeLegend;\n }\n } else {\n this._legendComponentType = LegendEnum.discreteLegend;\n }\n } else {\n this._legendComponentType =\n this.spec.legendType === 'color'\n ? 'colorLegend'\n : this.spec.legendType === 'size'\n ? 'sizeLegend'\n : 'discreteLegend';\n }\n return this._legendComponentType;\n }\n}\n\nexport const registerLegend = () => {\n Factory.registerGraphicComponent(\n LegendEnum.discreteLegend,\n (attrs: DiscreteLegendAttrs) => new DiscreteLegend(attrs) as unknown as IGraphic\n );\n Factory.registerGraphicComponent(\n LegendEnum.colorLegend,\n (attrs: ColorLegendAttributes) => new ColorContinuousLegend(attrs) as unknown as IGraphic\n );\n Factory.registerGraphicComponent(\n LegendEnum.sizeLegend,\n (attrs: SizeLegendAttributes) => new SizeContinuousLegend(attrs) as unknown as IGraphic\n );\n\n Factory.registerComponent(ComponentEnum.legend, Legend);\n\n mixin(Filter, FilterMixin);\n Factory.registerInteraction(LegendFilter.type, LegendFilter);\n};\n"]}
|
|
@@ -12,13 +12,12 @@ export declare class Player extends Component implements IPlayer {
|
|
|
12
12
|
constructor(view: IView, group?: IGroupMark);
|
|
13
13
|
protected parseAddition(spec: PlayerSpec): this;
|
|
14
14
|
playerType(playerType: PlayerType): this;
|
|
15
|
-
|
|
15
|
+
source(source: IData | string | any[] | Nil): this;
|
|
16
16
|
play(): this;
|
|
17
17
|
pause(): this;
|
|
18
18
|
backward(): this;
|
|
19
19
|
forward(): this;
|
|
20
20
|
addGraphicItem(attrs: any, groupKey?: string, newGraphicItem?: any): any;
|
|
21
|
-
release(): void;
|
|
22
21
|
protected _updateComponentEncoders(): void;
|
|
23
22
|
private _getPlayerComponentType;
|
|
24
23
|
}
|
package/cjs/component/player.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerPlayer = exports.Player = exports.generateDiscretePlayerAttributes = exports.generateContinuousPlayerAttributes = void 0;
|
|
6
6
|
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"), vrender_components_1 = require("@visactor/vrender-components"),
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), vrender_components_1 = require("@visactor/vrender-components"), graph_1 = require("../graph"), component_1 = require("../view/component"), encode_1 = require("../graph/mark/encode"), factory_1 = require("../core/factory"), player_filter_1 = require("../interactions/player-filter"), filter_1 = require("../interactions/filter"), generateContinuousPlayerAttributes = (data, theme, addition) => {
|
|
8
8
|
var _a;
|
|
9
9
|
const playerTheme = null === (_a = null == theme ? void 0 : theme.components) || void 0 === _a ? void 0 : _a.continuousPlayer;
|
|
10
10
|
return (0, vutils_1.merge)({}, playerTheme, {
|
|
@@ -32,36 +32,23 @@ class Player extends component_1.Component {
|
|
|
32
32
|
this.spec.playerType = "auto";
|
|
33
33
|
}
|
|
34
34
|
parseAddition(spec) {
|
|
35
|
-
|
|
36
|
-
return super.parseAddition(spec), this.playerType(spec.playerType), this.target(null === (_a = spec.target) || void 0 === _a ? void 0 : _a.data, null === (_b = spec.target) || void 0 === _b ? void 0 : _b.source),
|
|
35
|
+
return super.parseAddition(spec), this.playerType(spec.playerType), this.source(spec.source),
|
|
37
36
|
this;
|
|
38
37
|
}
|
|
39
38
|
playerType(playerType) {
|
|
40
39
|
return this.spec.playerType = playerType, this._playerComponentType = null, this._prepareRejoin(),
|
|
41
40
|
this.commit(), this;
|
|
42
41
|
}
|
|
43
|
-
|
|
44
|
-
var _a
|
|
45
|
-
if (
|
|
46
|
-
const lastSource = null === (
|
|
42
|
+
source(source) {
|
|
43
|
+
var _a;
|
|
44
|
+
if (this.spec.source) {
|
|
45
|
+
const lastSource = null === (_a = this.spec) || void 0 === _a ? void 0 : _a.source, lastSourceDataGrammar = (0,
|
|
47
46
|
vutils_1.isArray)(lastSource) ? null : (0, vutils_1.isString)(lastSource) ? this.view.getDataById(lastSource) : lastSource;
|
|
48
47
|
this.detach(lastSourceDataGrammar);
|
|
49
48
|
}
|
|
49
|
+
this.spec.source = source;
|
|
50
50
|
const sourceDataGrammar = (0, vutils_1.isArray)(source) ? null : (0, vutils_1.isString)(source) ? this.view.getDataById(source) : source;
|
|
51
|
-
this.attach(sourceDataGrammar);
|
|
52
|
-
const lastData = null === (_c = this.spec.target) || void 0 === _c ? void 0 : _c.data, lastDataGrammar = (0,
|
|
53
|
-
vutils_1.isString)(lastData) ? this.view.getDataById(lastData) : lastData;
|
|
54
|
-
lastDataGrammar && this.view.removeEventListener(vrender_components_1.PlayerEventEnum.OnChange, this._filterCallback),
|
|
55
|
-
this.spec.target = void 0;
|
|
56
|
-
const dataGrammar = (0, vutils_1.isString)(data) ? this.view.getDataById(data) : data;
|
|
57
|
-
return this._filterData(lastDataGrammar, dataGrammar, graph_1.ComponentDataRank.player, (event => ({
|
|
58
|
-
index: event.detail.index,
|
|
59
|
-
value: event.detail.value
|
|
60
|
-
})), void 0, ((data, filterValue) => filterValue.value)), dataGrammar && (this.view.addEventListener(vrender_components_1.PlayerEventEnum.OnChange, this._filterCallback),
|
|
61
|
-
this.spec.target = {
|
|
62
|
-
data: dataGrammar,
|
|
63
|
-
source: source
|
|
64
|
-
}), this;
|
|
51
|
+
return this.attach(sourceDataGrammar), this.commit(), this;
|
|
65
52
|
}
|
|
66
53
|
play() {
|
|
67
54
|
var _a, _b;
|
|
@@ -93,10 +80,6 @@ class Player extends component_1.Component {
|
|
|
93
80
|
}, attrs), graphicItem = null != newGraphicItem ? newGraphicItem : factory_1.Factory.createGraphicComponent(this._getPlayerComponentType(), initialAttributes);
|
|
94
81
|
return super.addGraphicItem(initialAttributes, groupKey, graphicItem);
|
|
95
82
|
}
|
|
96
|
-
release() {
|
|
97
|
-
this._filterCallback && this.view.removeEventListener("change", this._filterCallback),
|
|
98
|
-
super.release();
|
|
99
|
-
}
|
|
100
83
|
_updateComponentEncoders() {
|
|
101
84
|
const encoders = Object.assign({
|
|
102
85
|
update: {}
|
|
@@ -104,10 +87,10 @@ class Player extends component_1.Component {
|
|
|
104
87
|
const encoder = encoders[state];
|
|
105
88
|
return encoder && (res[state] = {
|
|
106
89
|
callback: (datum, element, parameters) => {
|
|
107
|
-
var _a
|
|
108
|
-
const theme = this.view.getCurrentTheme(), addition = (0, encode_1.invokeEncoder)(encoder, datum, element, parameters), source =
|
|
90
|
+
var _a;
|
|
91
|
+
const theme = this.view.getCurrentTheme(), addition = (0, encode_1.invokeEncoder)(encoder, datum, element, parameters), source = this.spec.source, sourceDataGrammar = (0,
|
|
109
92
|
vutils_1.isArray)(source) ? null : (0, vutils_1.isString)(source) ? this.view.getDataById(source) : source, sourceData = (0,
|
|
110
|
-
vutils_1.isArray)(source) ? source : null !== (
|
|
93
|
+
vutils_1.isArray)(source) ? source : null !== (_a = null == sourceDataGrammar ? void 0 : sourceDataGrammar.getValue()) && void 0 !== _a ? _a : [];
|
|
111
94
|
switch (this._getPlayerComponentType()) {
|
|
112
95
|
case "continuousPlayer":
|
|
113
96
|
return (0, exports.generateContinuousPlayerAttributes)(sourceData, theme, addition);
|
|
@@ -129,9 +112,10 @@ class Player extends component_1.Component {
|
|
|
129
112
|
exports.Player = Player, Player.componentType = graph_1.ComponentEnum.player;
|
|
130
113
|
|
|
131
114
|
const registerPlayer = () => {
|
|
132
|
-
factory_1.Factory.registerGraphicComponent(graph_1.PlayerEnum.continuousPlayer, (attrs => new
|
|
133
|
-
factory_1.Factory.registerGraphicComponent(graph_1.PlayerEnum.discretePlayer, (attrs => new
|
|
134
|
-
factory_1.Factory.registerComponent(graph_1.ComponentEnum.player, Player)
|
|
115
|
+
factory_1.Factory.registerGraphicComponent(graph_1.PlayerEnum.continuousPlayer, (attrs => new vrender_components_1.ContinuousPlayer(attrs))),
|
|
116
|
+
factory_1.Factory.registerGraphicComponent(graph_1.PlayerEnum.discretePlayer, (attrs => new vrender_components_1.DiscretePlayer(attrs))),
|
|
117
|
+
factory_1.Factory.registerComponent(graph_1.ComponentEnum.player, Player), (0, vutils_1.mixin)(filter_1.Filter, filter_1.FilterMixin),
|
|
118
|
+
factory_1.Factory.registerInteraction(player_filter_1.PlayerFilter.type, player_filter_1.PlayerFilter);
|
|
135
119
|
};
|
|
136
120
|
|
|
137
121
|
exports.registerPlayer = registerPlayer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/player.ts"],"names":[],"mappings":"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","file":"player.js","sourcesContent":["import { isArray, isString, merge } from '@visactor/vutils';\nimport type { IGraphic } from '@visactor/vrender';\nimport type {\n ContinuousPlayerAttributes,\n DiscretePlayerAttributes,\n IDiscretePlayer\n} from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { PlayerEventEnum } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { ContinuousPlayer, DiscretePlayer } from '@visactor/vrender-components';\nimport type {\n BaseSignleEncodeSpec,\n IData,\n IElement,\n IGroupMark,\n ITheme,\n IView,\n Nil,\n RecursivePartial,\n StateEncodeSpec\n} from '../types';\nimport { ComponentDataRank, ComponentEnum, PlayerEnum } from '../graph';\nimport type { IPlayer, PlayerFilterValue, PlayerSpec, PlayerType } from '../types/component';\nimport { Component } from '../view/component';\nimport { invokeEncoder } from '../graph/mark/encode';\nimport { Factory } from '../core/factory';\n\nexport const generateContinuousPlayerAttributes = (\n data: any[],\n theme?: ITheme,\n addition?: RecursivePartial<ContinuousPlayerAttributes>\n): ContinuousPlayerAttributes => {\n const playerTheme = theme?.components?.continuousPlayer;\n return merge({}, playerTheme, { data, dataIndex: 0 }, addition ?? {});\n};\n\nexport const generateDiscretePlayerAttributes = (\n data: any[],\n theme?: ITheme,\n addition?: RecursivePartial<DiscretePlayerAttributes>\n): DiscretePlayerAttributes => {\n const playerTheme = theme?.components?.discretePlayer;\n return merge({}, playerTheme, { data, dataIndex: 0 }, addition ?? {});\n};\n\nexport class Player extends Component implements IPlayer {\n static readonly componentType: string = ComponentEnum.player;\n protected declare spec: PlayerSpec;\n protected declare _filterValue: PlayerFilterValue;\n\n private _playerComponentType: keyof typeof PlayerEnum;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.player, group);\n this.spec.componentType = ComponentEnum.player;\n this.spec.playerType = 'auto';\n }\n\n protected parseAddition(spec: PlayerSpec) {\n super.parseAddition(spec);\n this.playerType(spec.playerType);\n this.target(spec.target?.data, spec.target?.source);\n return this;\n }\n\n playerType(playerType: PlayerType) {\n this.spec.playerType = playerType;\n // clear legend type when spec is changed\n this._playerComponentType = null;\n this._prepareRejoin();\n this.commit();\n return this;\n }\n\n target(data: IData | string | Nil, source: IData | string | any[] | Nil) {\n if (this.spec.target?.source) {\n const lastSource = this.spec.target?.source;\n const lastSourceDataGrammar = isArray(lastSource)\n ? null\n : isString(lastSource)\n ? this.view.getDataById(lastSource)\n : lastSource;\n this.detach(lastSourceDataGrammar);\n }\n const sourceDataGrammar = isArray(source) ? null : isString(source) ? this.view.getDataById(source) : source;\n this.attach(sourceDataGrammar);\n\n const lastData = this.spec.target?.data;\n const lastDataGrammar = isString(lastData) ? this.view.getDataById(lastData) : lastData;\n if (lastDataGrammar) {\n this.view.removeEventListener(PlayerEventEnum.OnChange, this._filterCallback);\n }\n this.spec.target = undefined;\n const dataGrammar = isString(data) ? this.view.getDataById(data) : data;\n const getFilterValue = (event: any) => ({ index: event.detail.index, value: event.detail.value });\n const dataTransform = (data: any[], filterValue: PlayerFilterValue) => filterValue.value;\n this._filterData(lastDataGrammar, dataGrammar, ComponentDataRank.player, getFilterValue, undefined, dataTransform);\n if (dataGrammar) {\n this.view.addEventListener(PlayerEventEnum.OnChange, this._filterCallback);\n this.spec.target = { data: dataGrammar, source };\n }\n return this;\n }\n\n play() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.play();\n return this;\n }\n\n pause() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.pause();\n return this;\n }\n\n backward() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.backward();\n return this;\n }\n\n forward() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.forward();\n return this;\n }\n\n addGraphicItem(attrs: any, groupKey?: string, newGraphicItem?: any) {\n // FIXME: vis-component should handle the situation when handlerStyle is not set\n const defaultAttributes = { slider: { handlerStyle: { size: 16 } } };\n const initialAttributes = merge(defaultAttributes, attrs);\n const graphicItem =\n newGraphicItem ?? Factory.createGraphicComponent(this._getPlayerComponentType(), initialAttributes);\n return super.addGraphicItem(initialAttributes, groupKey, graphicItem);\n }\n\n release() {\n if (this._filterCallback) {\n this.view.removeEventListener('change', this._filterCallback);\n }\n super.release();\n }\n\n protected _updateComponentEncoders() {\n const encoders = Object.assign({ update: {} }, this.spec.encode);\n const componentEncoders: StateEncodeSpec = Object.keys(encoders).reduce((res, state) => {\n const encoder = encoders[state];\n if (encoder) {\n res[state] = {\n callback: (datum: any, element: IElement, parameters: any) => {\n const theme = this.view.getCurrentTheme();\n const addition = invokeEncoder(encoder as BaseSignleEncodeSpec, datum, element, parameters);\n const source = this.spec.target?.source;\n const sourceDataGrammar = isArray(source)\n ? null\n : isString(source)\n ? this.view.getDataById(source)\n : source;\n const sourceData = isArray(source) ? source : sourceDataGrammar?.getValue() ?? [];\n switch (this._getPlayerComponentType()) {\n case 'continuousPlayer':\n return generateContinuousPlayerAttributes(sourceData, theme, addition);\n case 'discretePlayer':\n return generateDiscretePlayerAttributes(sourceData, theme, addition);\n }\n }\n };\n }\n return res;\n }, {});\n this._encoders = componentEncoders;\n }\n\n private _getPlayerComponentType() {\n if (this._playerComponentType) {\n return this._playerComponentType;\n }\n\n // compute legend component type when needed\n if (!this.spec.playerType || this.spec.playerType === 'auto') {\n // const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n // const scaleType = scaleGrammar?.getScaleType?.();\n // if (scaleType && isContinuous(scaleType)) {\n // const range: any[] = scaleGrammar.getScale().range();\n // if (parseColor(range?.[0])) {\n // this._legendComponentType = LegendEnum.colorLegend;\n // } else {\n // this._legendComponentType = LegendEnum.sizeLegend;\n // }\n // } else {\n // this._legendComponentType = LegendEnum.discreteLegend;\n // }\n this._playerComponentType = 'discretePlayer';\n } else {\n this._playerComponentType =\n this.spec.playerType === 'discrete'\n ? 'discretePlayer'\n : this.spec.playerType === 'continuous'\n ? 'continuousPlayer'\n : 'discretePlayer';\n }\n return this._playerComponentType;\n }\n}\n\nexport const registerPlayer = () => {\n Factory.registerGraphicComponent(\n PlayerEnum.continuousPlayer,\n (attrs: ContinuousPlayerAttributes) => new ContinuousPlayer(attrs) as unknown as IGraphic\n );\n Factory.registerGraphicComponent(\n PlayerEnum.discretePlayer,\n (attrs: DiscretePlayerAttributes) => new DiscretePlayer(attrs) as unknown as IGraphic\n );\n\n Factory.registerComponent(ComponentEnum.player, Player);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/player.ts"],"names":[],"mappings":"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","file":"player.js","sourcesContent":["import { isArray, isString, merge, mixin } from '@visactor/vutils';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport type {\n ContinuousPlayerAttributes,\n DiscretePlayerAttributes,\n IDiscretePlayer\n} from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\n// eslint-disable-next-line no-duplicate-imports\nimport { ContinuousPlayer, DiscretePlayer } from '@visactor/vrender-components';\nimport type {\n BaseSignleEncodeSpec,\n IData,\n IElement,\n IGroupMark,\n ITheme,\n IView,\n Nil,\n RecursivePartial,\n StateEncodeSpec\n} from '../types';\nimport { ComponentEnum, PlayerEnum } from '../graph';\nimport type { IPlayer, PlayerFilterValue, PlayerSpec, PlayerType } from '../types/component';\nimport { Component } from '../view/component';\nimport { invokeEncoder } from '../graph/mark/encode';\nimport { Factory } from '../core/factory';\nimport { PlayerFilter } from '../interactions/player-filter';\nimport { Filter, FilterMixin } from '../interactions/filter';\n\nexport const generateContinuousPlayerAttributes = (\n data: any[],\n theme?: ITheme,\n addition?: RecursivePartial<ContinuousPlayerAttributes>\n): ContinuousPlayerAttributes => {\n const playerTheme = theme?.components?.continuousPlayer;\n return merge({}, playerTheme, { data, dataIndex: 0 }, addition ?? {});\n};\n\nexport const generateDiscretePlayerAttributes = (\n data: any[],\n theme?: ITheme,\n addition?: RecursivePartial<DiscretePlayerAttributes>\n): DiscretePlayerAttributes => {\n const playerTheme = theme?.components?.discretePlayer;\n return merge({}, playerTheme, { data, dataIndex: 0 }, addition ?? {});\n};\n\nexport class Player extends Component implements IPlayer {\n static readonly componentType: string = ComponentEnum.player;\n protected declare spec: PlayerSpec;\n protected declare _filterValue: PlayerFilterValue;\n\n private _playerComponentType: keyof typeof PlayerEnum;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.player, group);\n this.spec.componentType = ComponentEnum.player;\n this.spec.playerType = 'auto';\n }\n\n protected parseAddition(spec: PlayerSpec) {\n super.parseAddition(spec);\n this.playerType(spec.playerType);\n this.source(spec.source);\n return this;\n }\n\n playerType(playerType: PlayerType) {\n this.spec.playerType = playerType;\n // clear legend type when spec is changed\n this._playerComponentType = null;\n this._prepareRejoin();\n this.commit();\n return this;\n }\n\n source(source: IData | string | any[] | Nil) {\n if (this.spec.source) {\n const lastSource = this.spec?.source;\n const lastSourceDataGrammar = isArray(lastSource)\n ? null\n : isString(lastSource)\n ? this.view.getDataById(lastSource)\n : lastSource;\n this.detach(lastSourceDataGrammar);\n }\n this.spec.source = source;\n const sourceDataGrammar = isArray(source) ? null : isString(source) ? this.view.getDataById(source) : source;\n this.attach(sourceDataGrammar);\n this.commit();\n return this;\n }\n\n play() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.play();\n return this;\n }\n\n pause() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.pause();\n return this;\n }\n\n backward() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.backward();\n return this;\n }\n\n forward() {\n // FIXME: unite IDiscretePlayer and IContinuousPlayer interface in vis-component\n const datazoom = this.elements[0]?.getGraphicItem?.() as unknown as IDiscretePlayer;\n datazoom.forward();\n return this;\n }\n\n addGraphicItem(attrs: any, groupKey?: string, newGraphicItem?: any) {\n // FIXME: vis-component should handle the situation when handlerStyle is not set\n const defaultAttributes = { slider: { handlerStyle: { size: 16 } } };\n const initialAttributes = merge(defaultAttributes, attrs);\n const graphicItem =\n newGraphicItem ?? Factory.createGraphicComponent(this._getPlayerComponentType(), initialAttributes);\n return super.addGraphicItem(initialAttributes, groupKey, graphicItem);\n }\n\n protected _updateComponentEncoders() {\n const encoders = Object.assign({ update: {} }, this.spec.encode);\n const componentEncoders: StateEncodeSpec = Object.keys(encoders).reduce((res, state) => {\n const encoder = encoders[state];\n if (encoder) {\n res[state] = {\n callback: (datum: any, element: IElement, parameters: any) => {\n const theme = this.view.getCurrentTheme();\n const addition = invokeEncoder(encoder as BaseSignleEncodeSpec, datum, element, parameters);\n const source = this.spec.source;\n const sourceDataGrammar = isArray(source)\n ? null\n : isString(source)\n ? this.view.getDataById(source)\n : source;\n const sourceData = isArray(source) ? source : sourceDataGrammar?.getValue() ?? [];\n switch (this._getPlayerComponentType()) {\n case 'continuousPlayer':\n return generateContinuousPlayerAttributes(sourceData, theme, addition);\n case 'discretePlayer':\n return generateDiscretePlayerAttributes(sourceData, theme, addition);\n }\n }\n };\n }\n return res;\n }, {});\n this._encoders = componentEncoders;\n }\n\n private _getPlayerComponentType() {\n if (this._playerComponentType) {\n return this._playerComponentType;\n }\n\n // compute legend component type when needed\n if (!this.spec.playerType || this.spec.playerType === 'auto') {\n // const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n // const scaleType = scaleGrammar?.getScaleType?.();\n // if (scaleType && isContinuous(scaleType)) {\n // const range: any[] = scaleGrammar.getScale().range();\n // if (parseColor(range?.[0])) {\n // this._legendComponentType = LegendEnum.colorLegend;\n // } else {\n // this._legendComponentType = LegendEnum.sizeLegend;\n // }\n // } else {\n // this._legendComponentType = LegendEnum.discreteLegend;\n // }\n this._playerComponentType = 'discretePlayer';\n } else {\n this._playerComponentType =\n this.spec.playerType === 'discrete'\n ? 'discretePlayer'\n : this.spec.playerType === 'continuous'\n ? 'continuousPlayer'\n : 'discretePlayer';\n }\n return this._playerComponentType;\n }\n}\n\nexport const registerPlayer = () => {\n Factory.registerGraphicComponent(\n PlayerEnum.continuousPlayer,\n (attrs: ContinuousPlayerAttributes) => new ContinuousPlayer(attrs) as unknown as IGraphic\n );\n Factory.registerGraphicComponent(\n PlayerEnum.discretePlayer,\n (attrs: DiscretePlayerAttributes) => new DiscretePlayer(attrs) as unknown as IGraphic\n );\n\n Factory.registerComponent(ComponentEnum.player, Player);\n\n mixin(Filter, FilterMixin);\n Factory.registerInteraction(PlayerFilter.type, PlayerFilter);\n};\n"]}
|
package/cjs/component/scale.d.ts
CHANGED
package/cjs/component/scale.js
CHANGED
|
@@ -19,6 +19,9 @@ class ScaleComponent extends component_1.Component {
|
|
|
19
19
|
return this.spec.scale = scaleGrammar, this.attach(scaleGrammar), this._updateComponentEncoders(),
|
|
20
20
|
this.commit(), this;
|
|
21
21
|
}
|
|
22
|
+
getScale() {
|
|
23
|
+
return (0, vutils_1.isString)(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;
|
|
24
|
+
}
|
|
22
25
|
}
|
|
23
26
|
|
|
24
27
|
exports.ScaleComponent = ScaleComponent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/scale.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG5C,iDAA8C;AAE9C,MAAsB,cAAe,SAAQ,qBAAS;IAG1C,aAAa,CAAC,IAAwB;QAC9C,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAA6B;QACjC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACnB,MAAM,gBAAgB,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC/G,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;SAC7B;QACD,MAAM,YAAY,GAAG,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7E,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAEhC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;CACF;
|
|
1
|
+
{"version":3,"sources":["../src/component/scale.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAG5C,iDAA8C;AAE9C,MAAsB,cAAe,SAAQ,qBAAS;IAG1C,aAAa,CAAC,IAAwB;QAC9C,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,KAA6B;QACjC,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACnB,MAAM,gBAAgB,GAAG,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;YAC/G,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;SAC7B;QACD,MAAM,YAAY,GAAG,IAAA,iBAAQ,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC7E,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAE1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAEhC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,QAAQ;QACN,OAAO,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;IAC/F,CAAC;CACF;AA5BD,wCA4BC","file":"scale.js","sourcesContent":["import { isString } from '@visactor/vutils';\nimport type { IScale, Nil } from '../types';\nimport type { IScaleComponent, ScaleComponentSpec } from '../types/component';\nimport { Component } from '../view/component';\n\nexport abstract class ScaleComponent extends Component implements IScaleComponent {\n protected declare spec: ScaleComponentSpec;\n\n protected parseAddition(spec: ScaleComponentSpec) {\n super.parseAddition(spec);\n this.scale(spec.scale);\n return this;\n }\n\n scale(scale?: IScale | string | Nil) {\n if (this.spec.scale) {\n const lastScaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n this.detach(lastScaleGrammar);\n this.spec.scale = undefined;\n }\n const scaleGrammar = isString(scale) ? this.view.getScaleById(scale) : scale;\n this.spec.scale = scaleGrammar;\n this.attach(scaleGrammar);\n\n this._updateComponentEncoders();\n\n this.commit();\n return this;\n }\n\n getScale() {\n return isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Direction, OrientType, ScrollBarAttributes } from '@visactor/vrender-components';
|
|
2
|
-
import type {
|
|
3
|
-
import type { IScrollbar,
|
|
2
|
+
import type { IGroupMark, ITheme, IView, MarkFunctionType, Nil, RecursivePartial } from '../types';
|
|
3
|
+
import type { IScrollbar, ScrollbarSpec } from '../types/component';
|
|
4
4
|
import { ScaleComponent } from './scale';
|
|
5
5
|
export declare const generateScrollbarAttributes: (groupSize: {
|
|
6
6
|
width: number;
|
|
@@ -11,13 +11,12 @@ export declare class Scrollbar extends ScaleComponent implements IScrollbar {
|
|
|
11
11
|
protected spec: ScrollbarSpec;
|
|
12
12
|
constructor(view: IView, group?: IGroupMark);
|
|
13
13
|
protected parseAddition(spec: ScrollbarSpec): this;
|
|
14
|
-
target(data: IData | string | Nil, filter: string | ((datum: any, value: ScrollbarFilterValue) => boolean) | Nil): this;
|
|
15
14
|
container(container: IGroupMark | string | Nil): this;
|
|
16
15
|
direction(direction: MarkFunctionType<Direction> | Nil): this;
|
|
17
16
|
position(position: MarkFunctionType<OrientType> | Nil): this;
|
|
18
17
|
setScrollStart(start: number): this;
|
|
18
|
+
getScrollRange(): [number, number];
|
|
19
19
|
addGraphicItem(attrs: any, groupKey?: string): any;
|
|
20
|
-
release(): void;
|
|
21
20
|
protected _updateComponentEncoders(): void;
|
|
22
21
|
}
|
|
23
22
|
export declare const registerScrollbar: () => void;
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerScrollbar = exports.Scrollbar = exports.generateScrollbarAttributes = void 0;
|
|
6
6
|
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"), vrender_components_1 = require("@visactor/vrender-components"), graph_1 = require("../graph"), encode_1 = require("../graph/mark/encode"), util_1 = require("../parse/util"), factory_1 = require("../core/factory"), scale_1 = require("./scale");
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), vrender_components_1 = require("@visactor/vrender-components"), graph_1 = require("../graph"), encode_1 = require("../graph/mark/encode"), util_1 = require("../parse/util"), factory_1 = require("../core/factory"), scale_1 = require("./scale"), scrollbar_filter_1 = require("../interactions/scrollbar-filter"), filter_1 = require("../interactions/filter");
|
|
8
8
|
|
|
9
9
|
function isValidDirection(direction) {
|
|
10
10
|
return "vertical" === direction || "horizontal" === direction;
|
|
@@ -67,48 +67,8 @@ class Scrollbar extends scale_1.ScaleComponent {
|
|
|
67
67
|
super(view, graph_1.ComponentEnum.scrollbar, group), this.spec.componentType = graph_1.ComponentEnum.scrollbar;
|
|
68
68
|
}
|
|
69
69
|
parseAddition(spec) {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
this.container(spec.container), this.direction(spec.direction), this.position(spec.position),
|
|
73
|
-
this;
|
|
74
|
-
}
|
|
75
|
-
target(data, filter) {
|
|
76
|
-
var _a;
|
|
77
|
-
const lastData = null === (_a = this.spec.target) || void 0 === _a ? void 0 : _a.data, lastDataGrammar = (0,
|
|
78
|
-
vutils_1.isString)(lastData) ? this.view.getDataById(lastData) : lastData;
|
|
79
|
-
lastDataGrammar && this.view.removeEventListener("scroll", this._filterCallback),
|
|
80
|
-
this.spec.target = void 0;
|
|
81
|
-
const dataGrammar = (0, vutils_1.isString)(data) ? this.view.getDataById(data) : data, dataFilter = (0,
|
|
82
|
-
vutils_1.isString)(filter) ? (datum, filterValue) => {
|
|
83
|
-
const scale = ((0, vutils_1.isString)(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale).getScale(), range = scale.range(), datumRatio = (scale.scale(datum[filter]) - range[0]) / (range[range.length - 1] - range[0]);
|
|
84
|
-
return filterValue.startRatio <= datumRatio && filterValue.endRatio >= datumRatio;
|
|
85
|
-
} : filter;
|
|
86
|
-
return this._filterData(lastDataGrammar, dataGrammar, graph_1.ComponentDataRank.scrollbar, (event => {
|
|
87
|
-
if ((0, vutils_1.isString)(filter)) {
|
|
88
|
-
const range = event.detail.value, scaleGrammar = (0, vutils_1.isString)(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;
|
|
89
|
-
if (scaleGrammar) {
|
|
90
|
-
const scale = scaleGrammar.getScale(), scaleRange = scale.range();
|
|
91
|
-
return {
|
|
92
|
-
start: scale.invert(range[0] * (scaleRange[1] - scaleRange[0]) + scaleRange[0]),
|
|
93
|
-
end: scale.invert(range[1] * (scaleRange[1] - scaleRange[0]) + scaleRange[0]),
|
|
94
|
-
startRatio: range[0],
|
|
95
|
-
endRatio: range[1]
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
return {
|
|
99
|
-
startRatio: range[0],
|
|
100
|
-
endRatio: range[1]
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
return {
|
|
104
|
-
startRatio: event.detail.value[0],
|
|
105
|
-
endRatio: event.detail.value[1]
|
|
106
|
-
};
|
|
107
|
-
}), dataFilter), dataGrammar && (this.view.addEventListener("scroll", this._filterCallback),
|
|
108
|
-
this.spec.target = {
|
|
109
|
-
data: dataGrammar,
|
|
110
|
-
filter: filter
|
|
111
|
-
}), this;
|
|
70
|
+
return super.parseAddition(spec), this.container(spec.container), this.direction(spec.direction),
|
|
71
|
+
this.position(spec.position), this;
|
|
112
72
|
}
|
|
113
73
|
container(container) {
|
|
114
74
|
if (this.spec.container) {
|
|
@@ -136,19 +96,16 @@ class Scrollbar extends scale_1.ScaleComponent {
|
|
|
136
96
|
}
|
|
137
97
|
return this;
|
|
138
98
|
}
|
|
99
|
+
getScrollRange() {
|
|
100
|
+
var _a, _b;
|
|
101
|
+
const scrollbar = null === (_b = null === (_a = this.elements[0]) || void 0 === _a ? void 0 : _a.getGraphicItem) || void 0 === _b ? void 0 : _b.call(_a);
|
|
102
|
+
if (scrollbar) return scrollbar.getScrollRange();
|
|
103
|
+
}
|
|
139
104
|
addGraphicItem(attrs, groupKey) {
|
|
140
105
|
const initialAttributes = (0, vutils_1.merge)({
|
|
141
106
|
range: [ 0, 1 ]
|
|
142
|
-
}, attrs), graphicItem = factory_1.Factory.createGraphicComponent(graph_1.ComponentEnum.scrollbar, initialAttributes)
|
|
143
|
-
return
|
|
144
|
-
detail: {
|
|
145
|
-
value: range
|
|
146
|
-
}
|
|
147
|
-
}, this.elements[0]))), super.addGraphicItem(initialAttributes, groupKey, graphicItem);
|
|
148
|
-
}
|
|
149
|
-
release() {
|
|
150
|
-
this._filterCallback && this.view.removeEventListener("scroll", this._filterCallback),
|
|
151
|
-
super.release();
|
|
107
|
+
}, attrs), graphicItem = factory_1.Factory.createGraphicComponent(graph_1.ComponentEnum.scrollbar, initialAttributes);
|
|
108
|
+
return super.addGraphicItem(initialAttributes, groupKey, graphicItem);
|
|
152
109
|
}
|
|
153
110
|
_updateComponentEncoders() {
|
|
154
111
|
const encoders = Object.assign({
|
|
@@ -180,7 +137,8 @@ exports.Scrollbar = Scrollbar, Scrollbar.componentType = graph_1.ComponentEnum.s
|
|
|
180
137
|
|
|
181
138
|
const registerScrollbar = () => {
|
|
182
139
|
factory_1.Factory.registerGraphicComponent(graph_1.ComponentEnum.scrollbar, (attrs => new vrender_components_1.ScrollBar(attrs))),
|
|
183
|
-
factory_1.Factory.registerComponent(graph_1.ComponentEnum.scrollbar, Scrollbar)
|
|
140
|
+
factory_1.Factory.registerComponent(graph_1.ComponentEnum.scrollbar, Scrollbar),
|
|
141
|
+
(0, vutils_1.mixin)(filter_1.Filter, filter_1.FilterMixin), factory_1.Factory.registerInteraction(scrollbar_filter_1.ScrollbarFilter.type, scrollbar_filter_1.ScrollbarFilter);
|
|
184
142
|
};
|
|
185
143
|
|
|
186
144
|
exports.registerScrollbar = registerScrollbar;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/scrollbar.ts"],"names":[],"mappings":"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","file":"scrollbar.js","sourcesContent":["import { isString, merge } from '@visactor/vutils';\nimport type { IGraphic } from '@visactor/vrender';\nimport type { Direction, OrientType, ScrollBarAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { ScrollBar as ScrollbarComponent } from '@visactor/vrender-components';\nimport type {\n BaseSignleEncodeSpec,\n IData,\n IElement,\n IGroupMark,\n ITheme,\n IView,\n MarkFunctionType,\n Nil,\n RecursivePartial,\n StateEncodeSpec\n} from '../types';\nimport { ComponentDataRank, ComponentEnum, GrammarMarkType } from '../graph';\nimport type { IScrollbar, ScrollbarFilterValue, ScrollbarSpec } from '../types/component';\nimport { invokeEncoder } from '../graph/mark/encode';\nimport { invokeFunctionType } from '../parse/util';\nimport { Factory } from '../core/factory';\nimport { ScaleComponent } from './scale';\n\nfunction isValidDirection(direction: Direction) {\n return direction === 'vertical' || direction === 'horizontal';\n}\n\nfunction isValidPosition(position: OrientType) {\n return position === 'top' || position === 'bottom' || position === 'left' || position === 'right';\n}\n\nfunction isHorizontalPosition(position: OrientType) {\n return position === 'top' || position === 'bottom';\n}\n\nexport const generateScrollbarAttributes = (\n groupSize: { width: number; height: number },\n direction?: Direction,\n position?: OrientType,\n theme?: ITheme,\n addition?: RecursivePartial<ScrollBarAttributes>\n): ScrollBarAttributes => {\n const scrollbarTheme = theme?.components?.scrollbar;\n\n let finalDirection: Direction = 'horizontal';\n let finalPosition: OrientType = 'bottom';\n if (!isValidDirection(direction) && !isValidPosition(position)) {\n finalDirection = 'horizontal';\n finalPosition = 'bottom';\n } else if (!isValidDirection(direction) && isValidPosition(position)) {\n finalDirection = isHorizontalPosition(position) ? 'horizontal' : 'vertical';\n finalPosition = position;\n } else if (isValidDirection(direction) && !isValidPosition(position)) {\n finalDirection = direction;\n finalPosition = direction === 'horizontal' ? 'bottom' : 'right';\n } else {\n finalDirection = direction;\n finalPosition =\n direction === 'horizontal' && !isHorizontalPosition(position)\n ? 'bottom'\n : direction === 'vertical' && isHorizontalPosition(position)\n ? 'right'\n : position;\n }\n\n const attributes: RecursivePartial<ScrollBarAttributes> = { direction: finalDirection };\n if (finalDirection === 'horizontal') {\n const size = addition.height ?? scrollbarTheme?.height ?? 12;\n\n // top or bottom\n if (finalPosition === 'top') {\n Object.assign(attributes, {\n width: groupSize.width,\n height: size,\n x: 0,\n y: 0\n });\n } else {\n Object.assign(attributes, {\n width: groupSize.width,\n height: size,\n x: 0,\n y: groupSize.height - size\n });\n }\n } else {\n const size = addition.width ?? scrollbarTheme?.width ?? 12;\n\n // left or right\n if (finalPosition === 'left') {\n Object.assign(attributes, {\n width: size,\n height: groupSize.height,\n x: 0,\n y: 0\n });\n } else {\n Object.assign(attributes, {\n width: size,\n height: groupSize.height,\n x: groupSize.width - size,\n y: 0\n });\n }\n }\n\n return merge({}, scrollbarTheme, attributes, addition ?? {});\n};\n\nexport class Scrollbar extends ScaleComponent implements IScrollbar {\n static readonly componentType: string = ComponentEnum.scrollbar;\n protected declare spec: ScrollbarSpec;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.scrollbar, group);\n this.spec.componentType = ComponentEnum.scrollbar;\n }\n\n protected parseAddition(spec: ScrollbarSpec) {\n super.parseAddition(spec);\n this.target(spec.target?.data, spec.target?.filter);\n this.container(spec.container);\n this.direction(spec.direction);\n this.position(spec.position);\n return this;\n }\n\n target(data: IData | string | Nil, filter: string | ((datum: any, value: ScrollbarFilterValue) => boolean) | Nil) {\n const lastData = this.spec.target?.data;\n const lastDataGrammar = isString(lastData) ? this.view.getDataById(lastData) : lastData;\n if (lastDataGrammar) {\n this.view.removeEventListener('scroll', this._filterCallback);\n }\n this.spec.target = undefined;\n const dataGrammar = isString(data) ? this.view.getDataById(data) : data;\n const getFilterValue = (event: any) => {\n if (isString(filter)) {\n const range = event.detail.value;\n const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n if (scaleGrammar) {\n const scale = scaleGrammar.getScale();\n const scaleRange = scale.range();\n const start = scale.invert(range[0] * (scaleRange[1] - scaleRange[0]) + scaleRange[0]);\n const end = scale.invert(range[1] * (scaleRange[1] - scaleRange[0]) + scaleRange[0]);\n return { start, end, startRatio: range[0], endRatio: range[1] };\n }\n return { startRatio: range[0], endRatio: range[1] };\n }\n return { startRatio: event.detail.value[0], endRatio: event.detail.value[1] };\n };\n const dataFilter = isString(filter)\n ? (datum: any, filterValue: ScrollbarFilterValue) => {\n const scaleGrammar = isString(this.spec.scale) ? this.view.getScaleById(this.spec.scale) : this.spec.scale;\n const scale = scaleGrammar.getScale();\n const range = scale.range();\n const datumRatio = (scale.scale(datum[filter]) - range[0]) / (range[range.length - 1] - range[0]);\n return filterValue.startRatio <= datumRatio && filterValue.endRatio >= datumRatio;\n }\n : filter;\n this._filterData(lastDataGrammar, dataGrammar, ComponentDataRank.scrollbar, getFilterValue, dataFilter);\n if (dataGrammar) {\n this.view.addEventListener('scroll', this._filterCallback);\n this.spec.target = { data: dataGrammar, filter };\n }\n return this;\n }\n\n container(container: IGroupMark | string | Nil): this {\n if (this.spec.container) {\n const prevContainer = isString(this.spec.container)\n ? this.view.getMarkById(this.spec.container)\n : this.spec.container;\n this.detach(prevContainer);\n }\n this.spec.container = container;\n if (container) {\n const nextContainer = isString(container) ? this.view.getMarkById(container) : container;\n this.attach(nextContainer);\n }\n this.commit();\n return this;\n }\n\n direction(direction: MarkFunctionType<Direction> | Nil) {\n return this.setFunctionSpec(direction, 'direction');\n }\n\n position(position: MarkFunctionType<OrientType> | Nil) {\n return this.setFunctionSpec(position, 'position');\n }\n\n setScrollStart(start: number) {\n const scrollbar = this.elements[0]?.getGraphicItem?.() as unknown as ScrollbarComponent;\n const range = scrollbar?.attribute?.range;\n if (scrollbar && range) {\n const nextRange: [number, number] = [start, range[1] - range[0] + start];\n scrollbar.setScrollRange(nextRange);\n }\n return this;\n }\n\n addGraphicItem(attrs: any, groupKey?: string) {\n const defaultAttributes = { range: [0, 1] };\n const initialAttributes = merge(defaultAttributes, attrs);\n const graphicItem = Factory.createGraphicComponent(ComponentEnum.scrollbar, initialAttributes);\n const range = initialAttributes.range;\n // Hack for the first evaluation, waiting for components to fix\n if (range && this._filterCallback) {\n setTimeout(() => this._filterCallback({ detail: { value: range } }, this.elements[0]));\n }\n return super.addGraphicItem(initialAttributes, groupKey, graphicItem);\n }\n\n release() {\n if (this._filterCallback) {\n this.view.removeEventListener('scroll', this._filterCallback);\n }\n super.release();\n }\n\n protected _updateComponentEncoders() {\n const encoders = Object.assign({ update: {} }, this.spec.encode);\n const componentEncoders: StateEncodeSpec = Object.keys(encoders).reduce((res, state) => {\n const encoder = encoders[state];\n if (encoder) {\n res[state] = {\n callback: (datum: any, element: IElement, parameters: any) => {\n const theme = this.view.getCurrentTheme();\n const direction = invokeFunctionType(this.spec.direction, parameters, datum, element);\n const position = invokeFunctionType(this.spec.position, parameters, datum, element);\n const addition = invokeEncoder(encoder as BaseSignleEncodeSpec, datum, element, parameters);\n const targetMark = this.spec.container\n ? isString(this.spec.container)\n ? this.view.getMarkById(this.spec.container)\n : this.spec.container\n : null;\n const groupMark = targetMark && targetMark.markType === GrammarMarkType.group ? targetMark : this.group;\n const groupGraphicItem = groupMark.getGroupGraphicItem();\n const size = groupGraphicItem\n ? {\n width: groupGraphicItem.attribute.width ?? groupGraphicItem.AABBBounds.width(),\n height: groupGraphicItem.attribute.height ?? groupGraphicItem.AABBBounds.height()\n }\n : { width: this.view.width(), height: this.view.height() };\n return generateScrollbarAttributes(size, direction, position, theme, addition);\n }\n };\n }\n return res;\n }, {});\n this._encoders = componentEncoders;\n }\n}\n\nexport const registerScrollbar = () => {\n Factory.registerGraphicComponent(\n ComponentEnum.scrollbar,\n (attrs: ScrollBarAttributes) => new ScrollbarComponent(attrs) as unknown as IGraphic\n );\n\n Factory.registerComponent(ComponentEnum.scrollbar, Scrollbar);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/scrollbar.ts"],"names":[],"mappings":"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","file":"scrollbar.js","sourcesContent":["import { isString, merge, mixin } from '@visactor/vutils';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport type { Direction, OrientType, ScrollBarAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { ScrollBar as ScrollbarComponent } from '@visactor/vrender-components';\nimport type {\n BaseSignleEncodeSpec,\n IElement,\n IGroupMark,\n ITheme,\n IView,\n MarkFunctionType,\n Nil,\n RecursivePartial,\n StateEncodeSpec\n} from '../types';\nimport { ComponentEnum, GrammarMarkType } from '../graph';\nimport type { IScrollbar, ScrollbarSpec } from '../types/component';\nimport { invokeEncoder } from '../graph/mark/encode';\nimport { invokeFunctionType } from '../parse/util';\nimport { Factory } from '../core/factory';\nimport { ScaleComponent } from './scale';\nimport { ScrollbarFilter } from '../interactions/scrollbar-filter';\nimport { Filter, FilterMixin } from '../interactions/filter';\n\nfunction isValidDirection(direction: Direction) {\n return direction === 'vertical' || direction === 'horizontal';\n}\n\nfunction isValidPosition(position: OrientType) {\n return position === 'top' || position === 'bottom' || position === 'left' || position === 'right';\n}\n\nfunction isHorizontalPosition(position: OrientType) {\n return position === 'top' || position === 'bottom';\n}\n\nexport const generateScrollbarAttributes = (\n groupSize: { width: number; height: number },\n direction?: Direction,\n position?: OrientType,\n theme?: ITheme,\n addition?: RecursivePartial<ScrollBarAttributes>\n): ScrollBarAttributes => {\n const scrollbarTheme = theme?.components?.scrollbar;\n\n let finalDirection: Direction = 'horizontal';\n let finalPosition: OrientType = 'bottom';\n if (!isValidDirection(direction) && !isValidPosition(position)) {\n finalDirection = 'horizontal';\n finalPosition = 'bottom';\n } else if (!isValidDirection(direction) && isValidPosition(position)) {\n finalDirection = isHorizontalPosition(position) ? 'horizontal' : 'vertical';\n finalPosition = position;\n } else if (isValidDirection(direction) && !isValidPosition(position)) {\n finalDirection = direction;\n finalPosition = direction === 'horizontal' ? 'bottom' : 'right';\n } else {\n finalDirection = direction;\n finalPosition =\n direction === 'horizontal' && !isHorizontalPosition(position)\n ? 'bottom'\n : direction === 'vertical' && isHorizontalPosition(position)\n ? 'right'\n : position;\n }\n\n const attributes: RecursivePartial<ScrollBarAttributes> = { direction: finalDirection };\n if (finalDirection === 'horizontal') {\n const size = addition.height ?? scrollbarTheme?.height ?? 12;\n\n // top or bottom\n if (finalPosition === 'top') {\n Object.assign(attributes, {\n width: groupSize.width,\n height: size,\n x: 0,\n y: 0\n });\n } else {\n Object.assign(attributes, {\n width: groupSize.width,\n height: size,\n x: 0,\n y: groupSize.height - size\n });\n }\n } else {\n const size = addition.width ?? scrollbarTheme?.width ?? 12;\n\n // left or right\n if (finalPosition === 'left') {\n Object.assign(attributes, {\n width: size,\n height: groupSize.height,\n x: 0,\n y: 0\n });\n } else {\n Object.assign(attributes, {\n width: size,\n height: groupSize.height,\n x: groupSize.width - size,\n y: 0\n });\n }\n }\n\n return merge({}, scrollbarTheme, attributes, addition ?? {});\n};\n\nexport class Scrollbar extends ScaleComponent implements IScrollbar {\n static readonly componentType: string = ComponentEnum.scrollbar;\n protected declare spec: ScrollbarSpec;\n\n constructor(view: IView, group?: IGroupMark) {\n super(view, ComponentEnum.scrollbar, group);\n this.spec.componentType = ComponentEnum.scrollbar;\n }\n\n protected parseAddition(spec: ScrollbarSpec) {\n super.parseAddition(spec);\n this.container(spec.container);\n this.direction(spec.direction);\n this.position(spec.position);\n return this;\n }\n\n container(container: IGroupMark | string | Nil): this {\n if (this.spec.container) {\n const prevContainer = isString(this.spec.container)\n ? this.view.getMarkById(this.spec.container)\n : this.spec.container;\n this.detach(prevContainer);\n }\n this.spec.container = container;\n if (container) {\n const nextContainer = isString(container) ? this.view.getMarkById(container) : container;\n this.attach(nextContainer);\n }\n this.commit();\n return this;\n }\n\n direction(direction: MarkFunctionType<Direction> | Nil) {\n return this.setFunctionSpec(direction, 'direction');\n }\n\n position(position: MarkFunctionType<OrientType> | Nil) {\n return this.setFunctionSpec(position, 'position');\n }\n\n setScrollStart(start: number) {\n const scrollbar = this.elements[0]?.getGraphicItem?.() as unknown as ScrollbarComponent;\n const range = scrollbar?.attribute?.range;\n if (scrollbar && range) {\n const nextRange: [number, number] = [start, range[1] - range[0] + start];\n scrollbar.setScrollRange(nextRange);\n }\n return this;\n }\n\n getScrollRange() {\n const scrollbar = this.elements[0]?.getGraphicItem?.() as unknown as ScrollbarComponent;\n\n if (scrollbar) {\n return scrollbar.getScrollRange();\n }\n }\n\n addGraphicItem(attrs: any, groupKey?: string) {\n const defaultAttributes = { range: [0, 1] };\n const initialAttributes = merge(defaultAttributes, attrs);\n const graphicItem = Factory.createGraphicComponent(ComponentEnum.scrollbar, initialAttributes);\n return super.addGraphicItem(initialAttributes, groupKey, graphicItem);\n }\n\n protected _updateComponentEncoders() {\n const encoders = Object.assign({ update: {} }, this.spec.encode);\n const componentEncoders: StateEncodeSpec = Object.keys(encoders).reduce((res, state) => {\n const encoder = encoders[state];\n if (encoder) {\n res[state] = {\n callback: (datum: any, element: IElement, parameters: any) => {\n const theme = this.view.getCurrentTheme();\n const direction = invokeFunctionType(this.spec.direction, parameters, datum, element);\n const position = invokeFunctionType(this.spec.position, parameters, datum, element);\n const addition = invokeEncoder(encoder as BaseSignleEncodeSpec, datum, element, parameters);\n const targetMark = this.spec.container\n ? isString(this.spec.container)\n ? this.view.getMarkById(this.spec.container)\n : this.spec.container\n : null;\n const groupMark = targetMark && targetMark.markType === GrammarMarkType.group ? targetMark : this.group;\n const groupGraphicItem = groupMark.getGroupGraphicItem();\n const size = groupGraphicItem\n ? {\n width: groupGraphicItem.attribute.width ?? groupGraphicItem.AABBBounds.width(),\n height: groupGraphicItem.attribute.height ?? groupGraphicItem.AABBBounds.height()\n }\n : { width: this.view.width(), height: this.view.height() };\n return generateScrollbarAttributes(size, direction, position, theme, addition);\n }\n };\n }\n return res;\n }, {});\n this._encoders = componentEncoders;\n }\n}\n\nexport const registerScrollbar = () => {\n Factory.registerGraphicComponent(\n ComponentEnum.scrollbar,\n (attrs: ScrollBarAttributes) => new ScrollbarComponent(attrs) as unknown as IGraphic\n );\n\n Factory.registerComponent(ComponentEnum.scrollbar, Scrollbar);\n\n mixin(Filter, FilterMixin);\n Factory.registerInteraction(ScrollbarFilter.type, ScrollbarFilter);\n};\n"]}
|
|
@@ -1,19 +1,16 @@
|
|
|
1
1
|
import type { SliderAttributes } from '@visactor/vrender-components';
|
|
2
|
-
import type {
|
|
3
|
-
import type { ISlider,
|
|
2
|
+
import type { IGroupMark, ITheme, IView, MarkFunctionType, Nil, RecursivePartial } from '../types';
|
|
3
|
+
import type { ISlider, SliderSpec } from '../types/component';
|
|
4
4
|
import { Component } from '../view/component';
|
|
5
5
|
export declare const generateSliderAttributes: (min: number, max: number, theme?: ITheme, addition?: RecursivePartial<SliderAttributes>) => SliderAttributes;
|
|
6
6
|
export declare class Slider extends Component implements ISlider {
|
|
7
7
|
static readonly componentType: string;
|
|
8
8
|
protected spec: SliderSpec;
|
|
9
|
-
protected _filterValue: SliderFilterValue;
|
|
10
9
|
constructor(view: IView, group?: IGroupMark);
|
|
11
10
|
protected parseAddition(spec: SliderSpec): this;
|
|
12
11
|
min(min: MarkFunctionType<number> | Nil): this;
|
|
13
12
|
max(max: MarkFunctionType<number> | Nil): this;
|
|
14
|
-
target(data: IData | string | Nil, filter: string | ((datum: any, value: SliderFilterValue) => boolean) | Nil): this;
|
|
15
13
|
setStartEndValue(start?: number, end?: number): this;
|
|
16
|
-
release(): void;
|
|
17
14
|
protected _updateComponentEncoders(): void;
|
|
18
15
|
}
|
|
19
16
|
export declare const registerSlider: () => void;
|
package/cjs/component/slider.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerSlider = exports.Slider = exports.generateSliderAttributes = void 0;
|
|
6
6
|
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"), vrender_components_1 = require("@visactor/vrender-components"), graph_1 = require("../graph"), component_1 = require("../view/component"), encode_1 = require("../graph/mark/encode"), util_1 = require("../parse/util"), factory_1 = require("../core/factory"), generateSliderAttributes = (min, max, theme, addition) => {
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), vrender_components_1 = require("@visactor/vrender-components"), graph_1 = require("../graph"), component_1 = require("../view/component"), encode_1 = require("../graph/mark/encode"), util_1 = require("../parse/util"), factory_1 = require("../core/factory"), slider_filter_1 = require("../interactions/slider-filter"), filter_1 = require("../interactions/filter"), generateSliderAttributes = (min, max, theme, addition) => {
|
|
8
8
|
var _a;
|
|
9
9
|
const sliderTheme = null === (_a = null == theme ? void 0 : theme.components) || void 0 === _a ? void 0 : _a.slider;
|
|
10
10
|
return (0, vutils_1.merge)({}, sliderTheme, {
|
|
@@ -21,9 +21,7 @@ class Slider extends component_1.Component {
|
|
|
21
21
|
super(view, graph_1.ComponentEnum.slider, group), this.spec.componentType = graph_1.ComponentEnum.slider;
|
|
22
22
|
}
|
|
23
23
|
parseAddition(spec) {
|
|
24
|
-
|
|
25
|
-
return super.parseAddition(spec), this.target(null === (_a = spec.target) || void 0 === _a ? void 0 : _a.data, null === (_b = spec.target) || void 0 === _b ? void 0 : _b.filter),
|
|
26
|
-
this.min(spec.min), this.max(spec.max), this;
|
|
24
|
+
return super.parseAddition(spec), this.min(spec.min), this.max(spec.max), this;
|
|
27
25
|
}
|
|
28
26
|
min(min) {
|
|
29
27
|
return this.setFunctionSpec(min, "min");
|
|
@@ -31,32 +29,11 @@ class Slider extends component_1.Component {
|
|
|
31
29
|
max(max) {
|
|
32
30
|
return this.setFunctionSpec(max, "max");
|
|
33
31
|
}
|
|
34
|
-
target(data, filter) {
|
|
35
|
-
var _a;
|
|
36
|
-
const lastData = null === (_a = this.spec.target) || void 0 === _a ? void 0 : _a.data, lastDataGrammar = (0,
|
|
37
|
-
vutils_1.isString)(lastData) ? this.view.getDataById(lastData) : lastData;
|
|
38
|
-
lastDataGrammar && this.view.removeEventListener("change", this._filterCallback),
|
|
39
|
-
this.spec.target = void 0;
|
|
40
|
-
const dataGrammar = (0, vutils_1.isString)(data) ? this.view.getDataById(data) : data, dataFilter = (0,
|
|
41
|
-
vutils_1.isString)(filter) ? (datum, filterValue) => datum[filter] >= filterValue.start && datum[filter] <= filterValue.end : filter;
|
|
42
|
-
return this._filterData(lastDataGrammar, dataGrammar, graph_1.ComponentDataRank.slider, (event => ({
|
|
43
|
-
start: event.detail.value[0],
|
|
44
|
-
end: event.detail.value[1]
|
|
45
|
-
})), dataFilter), dataGrammar && (this.view.addEventListener("change", this._filterCallback),
|
|
46
|
-
this.spec.target = {
|
|
47
|
-
data: dataGrammar,
|
|
48
|
-
filter: filter
|
|
49
|
-
}), this;
|
|
50
|
-
}
|
|
51
32
|
setStartEndValue(start, end) {
|
|
52
33
|
var _a, _b;
|
|
53
34
|
return (null === (_b = null === (_a = this.elements[0]) || void 0 === _a ? void 0 : _a.getGraphicItem) || void 0 === _b ? void 0 : _b.call(_a)).setValue([ start, end ]),
|
|
54
35
|
this;
|
|
55
36
|
}
|
|
56
|
-
release() {
|
|
57
|
-
this._filterCallback && this.view.removeEventListener("change", this._filterCallback),
|
|
58
|
-
super.release();
|
|
59
|
-
}
|
|
60
37
|
_updateComponentEncoders() {
|
|
61
38
|
const encoders = Object.assign({
|
|
62
39
|
update: {}
|
|
@@ -79,7 +56,8 @@ exports.Slider = Slider, Slider.componentType = graph_1.ComponentEnum.slider;
|
|
|
79
56
|
|
|
80
57
|
const registerSlider = () => {
|
|
81
58
|
factory_1.Factory.registerGraphicComponent(graph_1.ComponentEnum.slider, (attrs => new vrender_components_1.Slider(attrs))),
|
|
82
|
-
factory_1.Factory.registerComponent(graph_1.ComponentEnum.slider, Slider)
|
|
59
|
+
factory_1.Factory.registerComponent(graph_1.ComponentEnum.slider, Slider), (0, vutils_1.mixin)(filter_1.Filter, filter_1.FilterMixin),
|
|
60
|
+
factory_1.Factory.registerInteraction(slider_filter_1.SliderFilter.type, slider_filter_1.SliderFilter);
|
|
83
61
|
};
|
|
84
62
|
|
|
85
63
|
exports.registerSlider = registerSlider;
|