@visactor/vgrammar-core 0.7.7 → 0.8.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 +33 -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 +49 -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 +149 -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/event.d.ts +2 -0
- package/es/parse/event.js +5 -1
- package/es/parse/event.js.map +1 -1
- package/es/parse/option.js +2 -1
- package/es/parse/scale.js +1 -2
- 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 +9 -8
- 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
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { Factory } from "../core/factory";
|
|
2
|
+
|
|
3
|
+
import { ElementActive } from "./element-active";
|
|
4
|
+
|
|
5
|
+
import { ElementSelect } from "./element-select";
|
|
6
|
+
|
|
7
|
+
import { ElementHighlight } from "./element-highlight";
|
|
8
|
+
|
|
9
|
+
import { ElementHighlightByKey } from "./element-highlight-by-key";
|
|
10
|
+
|
|
11
|
+
import { ElementHighlightByGroup } from "./element-highlight-by-group";
|
|
12
|
+
|
|
13
|
+
import { ElementActiveByLegend } from "./element-active-by-legend";
|
|
14
|
+
|
|
15
|
+
import { ElementHighlightByLegend } from "./element-highlight-by-legend";
|
|
16
|
+
|
|
17
|
+
import { ElementHighlightByName } from "./element-highlight-by-name";
|
|
18
|
+
|
|
19
|
+
import { BrushHighlight } from "./brush-highlight";
|
|
20
|
+
|
|
21
|
+
import { BrushActive } from "./brush-active";
|
|
22
|
+
|
|
23
|
+
import { BrushFilter } from "./brush-filter";
|
|
24
|
+
|
|
25
|
+
import { DrillDown } from "./drill-down";
|
|
26
|
+
|
|
27
|
+
import { RollUp } from "./roll-up";
|
|
28
|
+
|
|
29
|
+
import { Tooltip } from "./tooltip";
|
|
30
|
+
|
|
31
|
+
import { DimensionTooltip } from "./dimension-tooltip";
|
|
32
|
+
|
|
33
|
+
import { Crosshair } from "./crosshair";
|
|
34
|
+
|
|
35
|
+
import { FilterMixin } from "./filter";
|
|
36
|
+
|
|
37
|
+
import { ViewZoom } from "./view-zoom";
|
|
38
|
+
|
|
39
|
+
import { ViewScroll } from "./view-scroll";
|
|
40
|
+
|
|
41
|
+
import { ViewDrag } from "./view-drag";
|
|
42
|
+
|
|
43
|
+
import { mixin } from "@visactor/vutils";
|
|
44
|
+
|
|
45
|
+
import { ViewZoomMixin } from "./view-zoom-mixin";
|
|
46
|
+
|
|
47
|
+
import { ViewScrollMixin } from "./view-scroll-mixin";
|
|
48
|
+
|
|
49
|
+
import { ViewDragMixin } from "./view-drag-mixin";
|
|
50
|
+
|
|
51
|
+
import { ViewRoam } from "./view-roam";
|
|
52
|
+
|
|
53
|
+
import { FishEye } from "./fish-eye";
|
|
54
|
+
|
|
55
|
+
export { BaseTooltip } from "./base-tooltip";
|
|
56
|
+
|
|
57
|
+
export { BaseInteraction } from "./base";
|
|
58
|
+
|
|
59
|
+
export { BrushBase } from "./brush-base";
|
|
60
|
+
|
|
61
|
+
export { ViewNavigationBase } from "./view-navigation-base";
|
|
62
|
+
|
|
63
|
+
export { ElementActive, ElementSelect, ElementHighlight, ElementHighlightByKey, ElementHighlightByGroup, ElementActiveByLegend, ElementHighlightByLegend, ElementHighlightByName, BrushHighlight, BrushActive, DrillDown, RollUp, Tooltip, DimensionTooltip, Crosshair, FilterMixin, ViewZoom, ViewScroll, ViewDrag, ViewRoam, ViewScrollMixin, ViewZoomMixin, ViewDragMixin, FishEye };
|
|
64
|
+
|
|
65
|
+
export const registerElementActive = () => {
|
|
66
|
+
Factory.registerInteraction(ElementActive.type, ElementActive);
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
export const registerElementSelect = () => {
|
|
70
|
+
Factory.registerInteraction(ElementSelect.type, ElementSelect);
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export const registerElementHighlight = () => {
|
|
74
|
+
Factory.registerInteraction(ElementHighlight.type, ElementHighlight);
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export const registerElementHighlightByKey = () => {
|
|
78
|
+
Factory.registerInteraction(ElementHighlightByKey.type, ElementHighlightByKey);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export const registerElementHighlightByGroup = () => {
|
|
82
|
+
Factory.registerInteraction(ElementHighlightByGroup.type, ElementHighlightByGroup);
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const registerElementActiveByLegend = () => {
|
|
86
|
+
Factory.registerInteraction(ElementActiveByLegend.type, ElementActiveByLegend);
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
export const registerElementHighlightByLegend = () => {
|
|
90
|
+
Factory.registerInteraction(ElementHighlightByLegend.type, ElementHighlightByLegend);
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export const registerElementHighlightByName = () => {
|
|
94
|
+
Factory.registerInteraction(ElementHighlightByName.type, ElementHighlightByName);
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
export const registerBrushHighlight = () => {
|
|
98
|
+
Factory.registerInteraction(BrushHighlight.type, BrushHighlight);
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
export const registerBrushActive = () => {
|
|
102
|
+
Factory.registerInteraction(BrushActive.type, BrushActive);
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
export const registerBrushFilter = () => {
|
|
106
|
+
mixin(BrushFilter, FilterMixin), Factory.registerInteraction(BrushFilter.type, BrushFilter);
|
|
107
|
+
};
|
|
108
|
+
|
|
109
|
+
export const registerDrillDown = () => {
|
|
110
|
+
mixin(DrillDown, FilterMixin), Factory.registerInteraction(DrillDown.type, DrillDown);
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
export const registerRollUp = () => {
|
|
114
|
+
Factory.registerInteraction(RollUp.type, RollUp);
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
export const registerTooltip = () => {
|
|
118
|
+
Factory.registerInteraction(Tooltip.type, Tooltip);
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
export const registerDimensionTooltip = () => {
|
|
122
|
+
Factory.registerInteraction(DimensionTooltip.type, DimensionTooltip);
|
|
123
|
+
};
|
|
124
|
+
|
|
125
|
+
export const registerCrosshair = () => {
|
|
126
|
+
Factory.registerInteraction(Crosshair.type, Crosshair);
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
export const registerViewZoom = () => {
|
|
130
|
+
mixin(ViewZoom, ViewZoomMixin), Factory.registerInteraction(ViewZoom.type, ViewZoom);
|
|
131
|
+
};
|
|
132
|
+
|
|
133
|
+
export const registerViewScroll = () => {
|
|
134
|
+
mixin(ViewScroll, ViewScrollMixin), Factory.registerInteraction(ViewScroll.type, ViewScroll);
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
export const registerViewDrag = () => {
|
|
138
|
+
mixin(ViewDrag, ViewDragMixin), Factory.registerInteraction(ViewDrag.type, ViewDrag);
|
|
139
|
+
};
|
|
140
|
+
|
|
141
|
+
export const registerViewRoam = () => {
|
|
142
|
+
mixin(ViewRoam, ViewZoomMixin), mixin(ViewRoam, ViewDragMixin), mixin(ViewRoam, ViewScrollMixin),
|
|
143
|
+
Factory.registerInteraction(ViewRoam.type, ViewRoam);
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
export const registerFishEye = () => {
|
|
147
|
+
Factory.registerInteraction(FishEye.type, FishEye);
|
|
148
|
+
};
|
|
149
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/interactions/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["import { Factory } from '../core/factory';\nimport { ElementActive } from './element-active';\nimport { ElementSelect } from './element-select';\nimport { ElementHighlight } from './element-highlight';\nimport { ElementHighlightByKey } from './element-highlight-by-key';\nimport { ElementHighlightByGroup } from './element-highlight-by-group';\nimport { ElementActiveByLegend } from './element-active-by-legend';\nimport { ElementHighlightByLegend } from './element-highlight-by-legend';\nimport { ElementHighlightByName } from './element-highlight-by-name';\nimport { BrushHighlight } from './brush-highlight';\nimport { BrushActive } from './brush-active';\nimport { BrushFilter } from './brush-filter';\nimport { DrillDown } from './drill-down';\nimport { RollUp } from './roll-up';\nimport { Tooltip } from './tooltip';\nimport { DimensionTooltip } from './dimension-tooltip';\nimport { Crosshair } from './crosshair';\nimport { FilterMixin } from './filter';\nimport { ViewZoom } from './view-zoom';\nimport { ViewScroll } from './view-scroll';\nimport { ViewDrag } from './view-drag';\nimport { mixin } from '@visactor/vutils';\nimport { ViewZoomMixin } from './view-zoom-mixin';\nimport { ViewScrollMixin } from './view-scroll-mixin';\nimport { ViewDragMixin } from './view-drag-mixin';\nimport { ViewRoam } from './view-roam';\nimport { FishEye } from './fish-eye';\n\nexport { BaseTooltip } from './base-tooltip';\nexport { BaseInteraction } from './base';\nexport { BrushBase } from './brush-base';\nexport { ViewNavigationBase } from './view-navigation-base';\nexport {\n ElementActive,\n ElementSelect,\n ElementHighlight,\n ElementHighlightByKey,\n ElementHighlightByGroup,\n ElementActiveByLegend,\n ElementHighlightByLegend,\n ElementHighlightByName,\n BrushHighlight,\n BrushActive,\n DrillDown,\n RollUp,\n Tooltip,\n DimensionTooltip,\n Crosshair,\n FilterMixin,\n ViewZoom,\n ViewScroll,\n ViewDrag,\n ViewRoam,\n ViewScrollMixin,\n ViewZoomMixin,\n ViewDragMixin,\n FishEye\n};\n\nexport const registerElementActive = () => {\n Factory.registerInteraction(ElementActive.type, ElementActive);\n};\n\nexport const registerElementSelect = () => {\n Factory.registerInteraction(ElementSelect.type, ElementSelect);\n};\n\nexport const registerElementHighlight = () => {\n Factory.registerInteraction(ElementHighlight.type, ElementHighlight);\n};\n\nexport const registerElementHighlightByKey = () => {\n Factory.registerInteraction(ElementHighlightByKey.type, ElementHighlightByKey);\n};\n\nexport const registerElementHighlightByGroup = () => {\n Factory.registerInteraction(ElementHighlightByGroup.type, ElementHighlightByGroup);\n};\n\nexport const registerElementActiveByLegend = () => {\n Factory.registerInteraction(ElementActiveByLegend.type, ElementActiveByLegend);\n};\n\nexport const registerElementHighlightByLegend = () => {\n Factory.registerInteraction(ElementHighlightByLegend.type, ElementHighlightByLegend);\n};\n\nexport const registerElementHighlightByName = () => {\n Factory.registerInteraction(ElementHighlightByName.type, ElementHighlightByName);\n};\n\nexport const registerBrushHighlight = () => {\n Factory.registerInteraction(BrushHighlight.type, BrushHighlight);\n};\n\nexport const registerBrushActive = () => {\n Factory.registerInteraction(BrushActive.type, BrushActive);\n};\n\nexport const registerBrushFilter = () => {\n mixin(BrushFilter, FilterMixin);\n Factory.registerInteraction(BrushFilter.type, BrushFilter);\n};\n\nexport const registerDrillDown = () => {\n mixin(DrillDown, FilterMixin);\n Factory.registerInteraction(DrillDown.type, DrillDown);\n};\n\nexport const registerRollUp = () => {\n Factory.registerInteraction(RollUp.type, RollUp);\n};\n\nexport const registerTooltip = () => {\n Factory.registerInteraction(Tooltip.type, Tooltip);\n};\n\nexport const registerDimensionTooltip = () => {\n Factory.registerInteraction(DimensionTooltip.type, DimensionTooltip);\n};\n\nexport const registerCrosshair = () => {\n Factory.registerInteraction(Crosshair.type, Crosshair);\n};\nexport const registerViewZoom = () => {\n mixin(ViewZoom, ViewZoomMixin);\n Factory.registerInteraction(ViewZoom.type, ViewZoom);\n};\n\nexport const registerViewScroll = () => {\n mixin(ViewScroll, ViewScrollMixin);\n Factory.registerInteraction(ViewScroll.type, ViewScroll);\n};\n\nexport const registerViewDrag = () => {\n mixin(ViewDrag, ViewDragMixin);\n Factory.registerInteraction(ViewDrag.type, ViewDrag);\n};\n\nexport const registerViewRoam = () => {\n mixin(ViewRoam, ViewZoomMixin);\n mixin(ViewRoam, ViewDragMixin);\n mixin(ViewRoam, ViewScrollMixin);\n Factory.registerInteraction(ViewRoam.type, ViewRoam);\n};\n\nexport const registerFishEye = () => {\n Factory.registerInteraction(FishEye.type, FishEye);\n};\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DataFilterOptions, IView, InteractionEvent } from '../types';
|
|
2
|
+
import { Filter } from './filter';
|
|
3
|
+
export declare class LegendFilter extends Filter {
|
|
4
|
+
static type: string;
|
|
5
|
+
type: string;
|
|
6
|
+
static defaultOptions: Omit<DataFilterOptions, 'target'>;
|
|
7
|
+
options: DataFilterOptions;
|
|
8
|
+
constructor(view: IView, options?: DataFilterOptions);
|
|
9
|
+
protected getEvents(): {
|
|
10
|
+
type: string;
|
|
11
|
+
handler: (event?: InteractionEvent) => void;
|
|
12
|
+
}[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { LegendEvent } from "@visactor/vrender-components";
|
|
2
|
+
|
|
3
|
+
import { DataFilterRank, GrammarMarkType } from "../graph";
|
|
4
|
+
|
|
5
|
+
import { isString } from "@visactor/vutils";
|
|
6
|
+
|
|
7
|
+
import { Filter } from "./filter";
|
|
8
|
+
|
|
9
|
+
export class LegendFilter extends Filter {
|
|
10
|
+
constructor(view, options) {
|
|
11
|
+
super(view, options), this.type = LegendFilter.type, this.options = Object.assign({}, LegendFilter.defaultOptions, options),
|
|
12
|
+
this._marks = view.getMarksBySelector(this.options.source).filter((mark => mark.markType === GrammarMarkType.component && "legend" === mark.componentType)),
|
|
13
|
+
this._data = isString(this.options.target.data) ? view.getDataById(this.options.target.data) : this.options.target.data;
|
|
14
|
+
}
|
|
15
|
+
getEvents() {
|
|
16
|
+
if (!this._marks || 0 === this._marks.length) return [];
|
|
17
|
+
const legend = this._marks[0];
|
|
18
|
+
if (!this._data || !legend) return [];
|
|
19
|
+
const isContinuous = legend.isContinuousLegend(), filter = this.options.target.filter, transform = this.options.target.transform, dataFilter = isString(filter) ? isContinuous ? (datum, filterValue) => datum[filter] >= filterValue.start && datum[filter] <= filterValue.end : (datum, filterValue) => filterValue.includes(datum[filter]) : filter;
|
|
20
|
+
this._filterData(this._data, legend, DataFilterRank.legend, (event => isContinuous ? {
|
|
21
|
+
start: event.detail.value[0],
|
|
22
|
+
end: event.detail.value[1]
|
|
23
|
+
} : event.detail.currentSelected), dataFilter, transform);
|
|
24
|
+
return [ {
|
|
25
|
+
type: isContinuous ? "change" : LegendEvent.legendItemClick,
|
|
26
|
+
handler: this.handleFilter
|
|
27
|
+
} ];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
LegendFilter.type = "legend-filter", LegendFilter.defaultOptions = {};
|
|
32
|
+
//# sourceMappingURL=legend-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/interactions/legend-filter.ts"],"names":[],"mappings":"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","file":"legend-filter.js","sourcesContent":["import { LegendEvent } from '@visactor/vrender-components';\nimport type { DataFilterOptions, IComponent, ILegend, IView, InteractionEvent } from '../types';\nimport { DataFilterRank, GrammarMarkType } from '../graph';\nimport { isString } from '@visactor/vutils';\nimport { Filter } from './filter';\n\nexport class LegendFilter extends Filter {\n static type: string = 'legend-filter';\n type: string = LegendFilter.type;\n\n static defaultOptions: Omit<DataFilterOptions, 'target'> = {};\n options: DataFilterOptions;\n\n constructor(view: IView, options?: DataFilterOptions) {\n super(view, options);\n this.options = Object.assign({}, LegendFilter.defaultOptions, options);\n\n this._marks = view\n .getMarksBySelector(this.options.source)\n .filter(mark => mark.markType === GrammarMarkType.component && (mark as IComponent).componentType === 'legend');\n this._data = isString(this.options.target.data)\n ? view.getDataById(this.options.target.data)\n : this.options.target.data;\n }\n\n protected getEvents() {\n if (!this._marks || this._marks.length === 0) {\n return [];\n }\n\n const legend = this._marks[0] as ILegend;\n\n if (!this._data || !legend) {\n return [];\n }\n\n const isContinuous = legend.isContinuousLegend();\n const filter = this.options.target.filter;\n const transform = this.options.target.transform;\n\n const getFilterValue = (event: InteractionEvent) =>\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\n this._filterData(this._data, legend, DataFilterRank.legend, getFilterValue, dataFilter, transform);\n\n const eventName = isContinuous ? 'change' : LegendEvent.legendItemClick;\n return [\n {\n type: eventName,\n handler: this.handleFilter\n }\n ];\n }\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DataFilterOptions, IView } from '../types';
|
|
2
|
+
import { Filter } from './filter';
|
|
3
|
+
import { PlayerEventEnum } from '@visactor/vrender-components';
|
|
4
|
+
export declare class PlayerFilter extends Filter {
|
|
5
|
+
static type: string;
|
|
6
|
+
type: string;
|
|
7
|
+
static defaultOptions: Omit<DataFilterOptions, 'target'>;
|
|
8
|
+
options: DataFilterOptions;
|
|
9
|
+
constructor(view: IView, options?: DataFilterOptions);
|
|
10
|
+
protected getEvents(): {
|
|
11
|
+
type: PlayerEventEnum;
|
|
12
|
+
handler: (event?: import("../types").InteractionEvent) => void;
|
|
13
|
+
}[];
|
|
14
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { DataFilterRank, GrammarMarkType } from "../graph";
|
|
2
|
+
|
|
3
|
+
import { isString } from "@visactor/vutils";
|
|
4
|
+
|
|
5
|
+
import { Filter } from "./filter";
|
|
6
|
+
|
|
7
|
+
import { PlayerEventEnum } from "@visactor/vrender-components";
|
|
8
|
+
|
|
9
|
+
export class PlayerFilter extends Filter {
|
|
10
|
+
constructor(view, options) {
|
|
11
|
+
super(view, options), this.type = PlayerFilter.type, this.options = Object.assign({}, PlayerFilter.defaultOptions, options),
|
|
12
|
+
this._marks = view.getMarksBySelector(this.options.source).filter((mark => mark.markType === GrammarMarkType.component && "player" === mark.componentType)),
|
|
13
|
+
this._data = isString(this.options.target.data) ? view.getDataById(this.options.target.data) : this.options.target.data;
|
|
14
|
+
}
|
|
15
|
+
getEvents() {
|
|
16
|
+
if (!this._marks || 0 === this._marks.length) return [];
|
|
17
|
+
const player = this._marks[0];
|
|
18
|
+
if (!this._data || !player) return [];
|
|
19
|
+
const transform = this.options.target.transform;
|
|
20
|
+
return this._filterData(this._data, player, DataFilterRank.player, (event => ({
|
|
21
|
+
index: event.detail.index,
|
|
22
|
+
value: event.detail.value
|
|
23
|
+
})), void 0, ((data, filterValue) => transform ? transform(data, filterValue) : filterValue.value)),
|
|
24
|
+
[ {
|
|
25
|
+
type: PlayerEventEnum.OnChange,
|
|
26
|
+
handler: this.handleFilter
|
|
27
|
+
} ];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
PlayerFilter.type = "player-filter", PlayerFilter.defaultOptions = {};
|
|
32
|
+
//# sourceMappingURL=player-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/interactions/player-filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,MAAM,OAAO,YAAa,SAAQ,MAAM;IAOtC,YAAY,IAAW,EAAE,OAA2B;QAClD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QANvB,SAAI,GAAW,YAAY,CAAC,IAAI,CAAC;QAO/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAEvE,IAAI,CAAC,MAAM,GAAG,IAAI;aACf,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;aACvC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,eAAe,CAAC,SAAS,IAAK,IAAmB,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC;QAClH,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IAC/B,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,OAAO,EAAE,CAAC;SACX;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAY,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;YAC1B,OAAO,EAAE,CAAC;SACX;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QAEhD,MAAM,cAAc,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAClG,MAAM,aAAa,GAAG,CAAC,IAAW,EAAE,WAA8B,EAAE,EAAE;YACpE,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC;QACtE,CAAC,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAEtG,OAAO;YACL;gBACE,IAAI,EAAE,eAAe,CAAC,QAAQ;gBAC9B,OAAO,EAAE,IAAI,CAAC,YAAY;aAC3B;SACF,CAAC;IACJ,CAAC;;AA5CM,iBAAI,GAAW,eAAe,CAAC;AAG/B,2BAAc,GAAsC,EAAE,CAAC","file":"player-filter.js","sourcesContent":["import type { DataFilterOptions, IComponent, IPlayer, IView, PlayerFilterValue } from '../types';\nimport { DataFilterRank, GrammarMarkType } from '../graph';\nimport { isString } from '@visactor/vutils';\nimport { Filter } from './filter';\nimport { PlayerEventEnum } from '@visactor/vrender-components';\n\nexport class PlayerFilter extends Filter {\n static type: string = 'player-filter';\n type: string = PlayerFilter.type;\n\n static defaultOptions: Omit<DataFilterOptions, 'target'> = {};\n options: DataFilterOptions;\n\n constructor(view: IView, options?: DataFilterOptions) {\n super(view, options);\n this.options = Object.assign({}, PlayerFilter.defaultOptions, options);\n\n this._marks = view\n .getMarksBySelector(this.options.source)\n .filter(mark => mark.markType === GrammarMarkType.component && (mark as IComponent).componentType === 'player');\n this._data = isString(this.options.target.data)\n ? view.getDataById(this.options.target.data)\n : this.options.target.data;\n }\n\n protected getEvents() {\n if (!this._marks || this._marks.length === 0) {\n return [];\n }\n\n const player = this._marks[0] as IPlayer;\n\n if (!this._data || !player) {\n return [];\n }\n\n const transform = this.options.target.transform;\n\n const getFilterValue = (event: any) => ({ index: event.detail.index, value: event.detail.value });\n const dataTransform = (data: any[], filterValue: PlayerFilterValue) => {\n return transform ? transform(data, filterValue) : filterValue.value;\n };\n\n this._filterData(this._data, player, DataFilterRank.player, getFilterValue, undefined, dataTransform);\n\n return [\n {\n type: PlayerEventEnum.OnChange,\n handler: this.handleFilter\n }\n ];\n }\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { EventType, IView, InteractionEvent, RollUpOptions } from '../types';
|
|
2
|
+
import { Filter } from './filter';
|
|
3
|
+
export declare class RollUp extends Filter {
|
|
4
|
+
static type: string;
|
|
5
|
+
type: string;
|
|
6
|
+
static defaultOptions: Omit<RollUpOptions, 'target'>;
|
|
7
|
+
options: RollUpOptions;
|
|
8
|
+
protected _isToggle: boolean;
|
|
9
|
+
constructor(view: IView, options?: RollUpOptions);
|
|
10
|
+
protected getEvents(): {
|
|
11
|
+
type: EventType;
|
|
12
|
+
handler: (event: InteractionEvent) => void;
|
|
13
|
+
}[];
|
|
14
|
+
protected handleStart: (event: InteractionEvent) => void;
|
|
15
|
+
protected handleReset: (event: InteractionEvent) => void;
|
|
16
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { DataFilterRank } from "../graph";
|
|
2
|
+
|
|
3
|
+
import { isArray, isString } from "@visactor/vutils";
|
|
4
|
+
|
|
5
|
+
import { Filter } from "./filter";
|
|
6
|
+
|
|
7
|
+
export class RollUp extends Filter {
|
|
8
|
+
constructor(view, options) {
|
|
9
|
+
super(view, options), this.type = RollUp.type, this._isToggle = !1, this.handleStart = event => {
|
|
10
|
+
var _a, _b;
|
|
11
|
+
const element = event.element;
|
|
12
|
+
if (element && this._marks && this._marks.includes(element.mark)) {
|
|
13
|
+
const filterValue = null === (_b = null === (_a = event.element) || void 0 === _a ? void 0 : _a.getDatum) || void 0 === _b ? void 0 : _b.call(_a);
|
|
14
|
+
filterValue === this._filterData || isArray(filterValue) && isArray(this._filterValue) && filterValue.length === this._filterValue.length && filterValue.every((datum => !this._filterValue.includes(datum))) ? this._isToggle && (this._filterValue = null,
|
|
15
|
+
this.handleFilter(event)) : this.handleFilter(event);
|
|
16
|
+
}
|
|
17
|
+
}, this.handleReset = event => {
|
|
18
|
+
this._filterValue && (this._filterValue = null, this.handleFilter(event));
|
|
19
|
+
}, this.options = Object.assign({}, RollUp.defaultOptions, options), this._marks = view.getMarksBySelector(this.options.source),
|
|
20
|
+
this._data = isString(this.options.target.data) ? view.getDataById(this.options.target.data) : this.options.target.data;
|
|
21
|
+
}
|
|
22
|
+
getEvents() {
|
|
23
|
+
if (!this._marks || 0 === this._marks.length) return [];
|
|
24
|
+
if (!this._data) return [];
|
|
25
|
+
const transform = this.options.target.transform;
|
|
26
|
+
this._filterData(this._data, null, DataFilterRank.rollUp, (event => {
|
|
27
|
+
var _a, _b;
|
|
28
|
+
return null === (_b = null === (_a = null == event ? void 0 : event.element) || void 0 === _a ? void 0 : _a.getDatum) || void 0 === _b ? void 0 : _b.call(_a);
|
|
29
|
+
}), void 0, ((data, filterValue) => transform(data, filterValue)));
|
|
30
|
+
const events = [ {
|
|
31
|
+
type: this.options.trigger,
|
|
32
|
+
handler: this.handleStart
|
|
33
|
+
} ], eventName = "empty" === this.options.resetTrigger ? this.options.trigger : this.options.resetTrigger.includes("view:") ? this.options.resetTrigger.replace("view:", "") : this.options.resetTrigger;
|
|
34
|
+
return eventName !== this.options.trigger ? (events.push({
|
|
35
|
+
type: eventName,
|
|
36
|
+
handler: this.handleReset
|
|
37
|
+
}), this._isToggle = !1) : this._isToggle = !0, events;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
RollUp.type = "roll-up", RollUp.defaultOptions = {
|
|
42
|
+
trigger: "click",
|
|
43
|
+
resetTrigger: "empty"
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=roll-up.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/interactions/roll-up.ts"],"names":[],"mappings":"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","file":"roll-up.js","sourcesContent":["import type { EventType, IView, InteractionEvent, RollUpOptions } from '../types';\nimport { DataFilterRank } from '../graph';\nimport { isArray, isString } from '@visactor/vutils';\nimport { Filter } from './filter';\n\nexport class RollUp extends Filter {\n static type: string = 'roll-up';\n type: string = RollUp.type;\n\n static defaultOptions: Omit<RollUpOptions, 'target'> = {\n trigger: 'click',\n resetTrigger: 'empty'\n };\n options: RollUpOptions;\n\n protected _isToggle: boolean = false;\n\n constructor(view: IView, options?: RollUpOptions) {\n super(view, options);\n this.options = Object.assign({}, RollUp.defaultOptions, options);\n\n this._marks = view.getMarksBySelector(this.options.source);\n this._data = isString(this.options.target.data)\n ? view.getDataById(this.options.target.data)\n : this.options.target.data;\n }\n\n protected getEvents() {\n if (!this._marks || this._marks.length === 0) {\n return [];\n }\n\n if (!this._data) {\n return [];\n }\n\n const transform = this.options.target.transform;\n\n const getFilterValue = (event: InteractionEvent) => event?.element?.getDatum?.();\n const dataTransform = (data: any[], filterValue: any) => {\n return transform(data, filterValue);\n };\n\n this._filterData(this._data, null, DataFilterRank.rollUp, getFilterValue, undefined, dataTransform);\n\n const events = [\n {\n type: this.options.trigger,\n handler: this.handleStart\n }\n ];\n\n const eventName =\n this.options.resetTrigger === 'empty'\n ? this.options.trigger\n : this.options.resetTrigger.includes('view:')\n ? this.options.resetTrigger.replace('view:', '')\n : this.options.resetTrigger;\n\n if (eventName !== this.options.trigger) {\n events.push({\n type: eventName as EventType,\n handler: this.handleReset\n });\n this._isToggle = false;\n } else {\n this._isToggle = true;\n }\n\n return events;\n }\n\n protected handleStart = (event: InteractionEvent) => {\n const element = event.element;\n if (element && this._marks && this._marks.includes(element.mark)) {\n const filterValue = event.element?.getDatum?.();\n\n const isEqualFilterValue =\n filterValue === this._filterData ||\n (isArray(filterValue) &&\n isArray(this._filterValue) &&\n filterValue.length === this._filterValue.length &&\n filterValue.every(datum => !this._filterValue.includes(datum)));\n\n if (isEqualFilterValue) {\n // reset filter value when toggle is enabled\n if (this._isToggle) {\n this._filterValue = null;\n this.handleFilter(event);\n }\n } else {\n this.handleFilter(event);\n }\n }\n };\n\n protected handleReset = (event: InteractionEvent) => {\n if (this._filterValue) {\n this._filterValue = null;\n this.handleFilter(event);\n }\n };\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DataFilterOptions, IView } from '../types';
|
|
2
|
+
import { Filter } from './filter';
|
|
3
|
+
export declare class ScrollbarFilter extends Filter {
|
|
4
|
+
static type: string;
|
|
5
|
+
type: string;
|
|
6
|
+
static defaultOptions: Omit<DataFilterOptions, 'target'>;
|
|
7
|
+
options: DataFilterOptions;
|
|
8
|
+
constructor(view: IView, options?: DataFilterOptions);
|
|
9
|
+
protected getEvents(): {
|
|
10
|
+
type: string;
|
|
11
|
+
handler: (event?: import("../types").InteractionEvent) => void;
|
|
12
|
+
}[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { DataFilterRank, GrammarMarkType } from "../graph";
|
|
2
|
+
|
|
3
|
+
import { isString } from "@visactor/vutils";
|
|
4
|
+
|
|
5
|
+
import { Filter } from "./filter";
|
|
6
|
+
|
|
7
|
+
export class ScrollbarFilter extends Filter {
|
|
8
|
+
constructor(view, options) {
|
|
9
|
+
super(view, options), this.type = ScrollbarFilter.type, this.options = Object.assign({}, ScrollbarFilter.defaultOptions, options),
|
|
10
|
+
this._marks = view.getMarksBySelector(this.options.source).filter((mark => mark.markType === GrammarMarkType.component && "scrollbar" === mark.componentType)),
|
|
11
|
+
this._data = isString(this.options.target.data) ? view.getDataById(this.options.target.data) : this.options.target.data;
|
|
12
|
+
}
|
|
13
|
+
getEvents() {
|
|
14
|
+
if (!this._marks || 0 === this._marks.length) return [];
|
|
15
|
+
const scrollbar = this._marks[0];
|
|
16
|
+
if (!this._data || !scrollbar) return [];
|
|
17
|
+
const filter = this.options.target.filter, transform = this.options.target.transform, dataFilter = isString(filter) ? (datum, filterValue) => {
|
|
18
|
+
const scale = scrollbar.getScale().getScale(), range = scale.range(), datumRatio = (scale.scale(datum[filter]) - range[0]) / (range[range.length - 1] - range[0]);
|
|
19
|
+
return filterValue.startRatio <= datumRatio && filterValue.endRatio >= datumRatio;
|
|
20
|
+
} : filter;
|
|
21
|
+
return this._filterData(this._data, scrollbar, DataFilterRank.scrollbar, (event => {
|
|
22
|
+
if (isString(filter)) {
|
|
23
|
+
const range = event.detail.value, scaleGrammar = scrollbar.getScale();
|
|
24
|
+
if (scaleGrammar) {
|
|
25
|
+
const scale = scaleGrammar.getScale(), scaleRange = scale.range();
|
|
26
|
+
return {
|
|
27
|
+
start: scale.invert(range[0] * (scaleRange[1] - scaleRange[0]) + scaleRange[0]),
|
|
28
|
+
end: scale.invert(range[1] * (scaleRange[1] - scaleRange[0]) + scaleRange[0]),
|
|
29
|
+
startRatio: range[0],
|
|
30
|
+
endRatio: range[1]
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return {
|
|
34
|
+
startRatio: range[0],
|
|
35
|
+
endRatio: range[1]
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
startRatio: event.detail.value[0],
|
|
40
|
+
endRatio: event.detail.value[1]
|
|
41
|
+
};
|
|
42
|
+
}), dataFilter, transform), [ {
|
|
43
|
+
type: "scroll",
|
|
44
|
+
handler: this.handleFilter
|
|
45
|
+
} ];
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
ScrollbarFilter.type = "scrollbar-filter", ScrollbarFilter.defaultOptions = {};
|
|
50
|
+
//# sourceMappingURL=scrollbar-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/interactions/scrollbar-filter.ts"],"names":[],"mappings":"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","file":"scrollbar-filter.js","sourcesContent":["import type { DataFilterOptions, IComponent, IScrollbar, IView, ScrollbarFilterValue } from '../types';\nimport { DataFilterRank, GrammarMarkType } from '../graph';\nimport { isString } from '@visactor/vutils';\nimport { Filter } from './filter';\n\nexport class ScrollbarFilter extends Filter {\n static type: string = 'scrollbar-filter';\n type: string = ScrollbarFilter.type;\n\n static defaultOptions: Omit<DataFilterOptions, 'target'> = {};\n options: DataFilterOptions;\n\n constructor(view: IView, options?: DataFilterOptions) {\n super(view, options);\n this.options = Object.assign({}, ScrollbarFilter.defaultOptions, options);\n\n this._marks = view\n .getMarksBySelector(this.options.source)\n .filter(\n mark => mark.markType === GrammarMarkType.component && (mark as IComponent).componentType === 'scrollbar'\n );\n this._data = isString(this.options.target.data)\n ? view.getDataById(this.options.target.data)\n : this.options.target.data;\n }\n\n protected getEvents() {\n if (!this._marks || this._marks.length === 0) {\n return [];\n }\n\n const scrollbar = this._marks[0] as IScrollbar;\n\n if (!this._data || !scrollbar) {\n return [];\n }\n\n const filter = this.options.target.filter;\n const transform = this.options.target.transform;\n\n const getFilterValue = (event: any) => {\n if (isString(filter)) {\n const range = event.detail.value;\n const scaleGrammar = scrollbar.getScale();\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 = scrollbar.getScale();\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\n this._filterData(this._data, scrollbar, DataFilterRank.scrollbar, getFilterValue, dataFilter, transform);\n\n return [\n {\n type: 'scroll',\n handler: this.handleFilter\n }\n ];\n }\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { DataFilterOptions, IView } from '../types';
|
|
2
|
+
import { Filter } from './filter';
|
|
3
|
+
export declare class SliderFilter extends Filter {
|
|
4
|
+
static type: string;
|
|
5
|
+
type: string;
|
|
6
|
+
static defaultOptions: Omit<DataFilterOptions, 'target'>;
|
|
7
|
+
options: DataFilterOptions;
|
|
8
|
+
constructor(view: IView, options?: DataFilterOptions);
|
|
9
|
+
protected getEvents(): {
|
|
10
|
+
type: string;
|
|
11
|
+
handler: (event?: import("../types").InteractionEvent) => void;
|
|
12
|
+
}[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { DataFilterRank, GrammarMarkType } from "../graph";
|
|
2
|
+
|
|
3
|
+
import { isString } from "@visactor/vutils";
|
|
4
|
+
|
|
5
|
+
import { Filter } from "./filter";
|
|
6
|
+
|
|
7
|
+
export class SliderFilter extends Filter {
|
|
8
|
+
constructor(view, options) {
|
|
9
|
+
super(view, options), this.type = SliderFilter.type, this.options = Object.assign({}, SliderFilter.defaultOptions, options),
|
|
10
|
+
this._marks = view.getMarksBySelector(this.options.source).filter((mark => mark.markType === GrammarMarkType.component && "slider" === mark.componentType)),
|
|
11
|
+
this._data = isString(this.options.target.data) ? view.getDataById(this.options.target.data) : this.options.target.data;
|
|
12
|
+
}
|
|
13
|
+
getEvents() {
|
|
14
|
+
if (!this._marks || 0 === this._marks.length) return [];
|
|
15
|
+
const slider = this._marks[0];
|
|
16
|
+
if (!this._data || !slider) return [];
|
|
17
|
+
const filter = this.options.target.filter, transform = this.options.target.transform, dataFilter = isString(filter) ? (datum, filterValue) => datum[filter] >= filterValue.start && datum[filter] <= filterValue.end : filter;
|
|
18
|
+
return this._filterData(this._data, slider, DataFilterRank.slider, (event => ({
|
|
19
|
+
start: event.detail.value[0],
|
|
20
|
+
end: event.detail.value[1]
|
|
21
|
+
})), dataFilter, transform), [ {
|
|
22
|
+
type: "change",
|
|
23
|
+
handler: this.handleFilter
|
|
24
|
+
} ];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
SliderFilter.type = "slider-filter", SliderFilter.defaultOptions = {};
|
|
29
|
+
//# sourceMappingURL=slider-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/interactions/slider-filter.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,OAAO,YAAa,SAAQ,MAAM;IAOtC,YAAY,IAAW,EAAE,OAA2B;QAClD,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QANvB,SAAI,GAAW,YAAY,CAAC,IAAI,CAAC;QAO/B,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;QAEvE,IAAI,CAAC,MAAM,GAAG,IAAI;aACf,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;aACvC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,eAAe,CAAC,SAAS,IAAK,IAAmB,CAAC,aAAa,KAAK,QAAQ,CAAC,CAAC;QAClH,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAC7C,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAC5C,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;IAC/B,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5C,OAAO,EAAE,CAAC;SACX;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAY,CAAC;QAEzC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;YAC1B,OAAO,EAAE,CAAC;SACX;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;QAEhD,MAAM,cAAc,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtG,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC;YACjC,CAAC,CAAC,CAAC,KAAU,EAAE,WAA8B,EAAE,EAAE,CAC7C,KAAK,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,WAAW,CAAC,GAAG;YAC1E,CAAC,CAAC,MAAM,CAAC;QAEX,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QAEnG,OAAO;YACL;gBACE,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,IAAI,CAAC,YAAY;aAC3B;SACF,CAAC;IACJ,CAAC;;AA9CM,iBAAI,GAAW,eAAe,CAAC;AAG/B,2BAAc,GAAsC,EAAE,CAAC","file":"slider-filter.js","sourcesContent":["import type { DataFilterOptions, IComponent, ISlider, IView, SliderFilterValue } from '../types';\nimport { DataFilterRank, GrammarMarkType } from '../graph';\nimport { isString } from '@visactor/vutils';\nimport { Filter } from './filter';\n\nexport class SliderFilter extends Filter {\n static type: string = 'slider-filter';\n type: string = SliderFilter.type;\n\n static defaultOptions: Omit<DataFilterOptions, 'target'> = {};\n options: DataFilterOptions;\n\n constructor(view: IView, options?: DataFilterOptions) {\n super(view, options);\n this.options = Object.assign({}, SliderFilter.defaultOptions, options);\n\n this._marks = view\n .getMarksBySelector(this.options.source)\n .filter(mark => mark.markType === GrammarMarkType.component && (mark as IComponent).componentType === 'slider');\n this._data = isString(this.options.target.data)\n ? view.getDataById(this.options.target.data)\n : this.options.target.data;\n }\n\n protected getEvents() {\n if (!this._marks || this._marks.length === 0) {\n return [];\n }\n\n const slider = this._marks[0] as ISlider;\n\n if (!this._data || !slider) {\n return [];\n }\n\n const filter = this.options.target.filter;\n const transform = this.options.target.transform;\n\n const getFilterValue = (event: any) => ({ start: event.detail.value[0], end: event.detail.value[1] });\n const dataFilter = isString(filter)\n ? (datum: any, filterValue: SliderFilterValue) =>\n datum[filter] >= filterValue.start && datum[filter] <= filterValue.end\n : filter;\n\n this._filterData(this._data, slider, DataFilterRank.slider, getFilterValue, dataFilter, transform);\n\n return [\n {\n type: 'change',\n handler: this.handleFilter\n }\n ];\n }\n}\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { IElement, IView, InteractionEventHandler, TooltipOptions } from '../types';
|
|
2
|
+
import { BaseTooltip } from './base-tooltip';
|
|
3
|
+
export declare class Tooltip extends BaseTooltip<TooltipOptions> {
|
|
4
|
+
static type: string;
|
|
5
|
+
type: string;
|
|
6
|
+
static defaultOptions: Omit<TooltipOptions, 'target'>;
|
|
7
|
+
protected _lastElement: IElement;
|
|
8
|
+
constructor(view: IView, options?: TooltipOptions);
|
|
9
|
+
protected getEvents(): {
|
|
10
|
+
type: import("../types").EventType;
|
|
11
|
+
handler: InteractionEventHandler;
|
|
12
|
+
}[];
|
|
13
|
+
protected handleTooltipShow: InteractionEventHandler;
|
|
14
|
+
protected handleTooltipHide: (event: any) => void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { AABBBounds, throttle } from "@visactor/vutils";
|
|
2
|
+
|
|
3
|
+
import { BaseTooltip, generateTooltipAttributes } from "./base-tooltip";
|
|
4
|
+
|
|
5
|
+
import { invokeFunctionType } from "../parse/util";
|
|
6
|
+
|
|
7
|
+
export class Tooltip extends BaseTooltip {
|
|
8
|
+
constructor(view, options) {
|
|
9
|
+
super(view, options), this.type = Tooltip.type, this.handleTooltipShow = throttle((event => {
|
|
10
|
+
const element = event.element;
|
|
11
|
+
if (!this._marks.includes(null == element ? void 0 : element.mark)) return void this._tooltipComponent.hideAll();
|
|
12
|
+
this._tooltipComponent.showAll();
|
|
13
|
+
const groupGraphicItem = this.view.rootMark.getGroupGraphicItem(), point = {
|
|
14
|
+
x: 0,
|
|
15
|
+
y: 0
|
|
16
|
+
};
|
|
17
|
+
if (groupGraphicItem.globalTransMatrix.transformPoint(event.canvas, point), element === this._lastElement) return void this._tooltipComponent.setAttributes({
|
|
18
|
+
pointerX: point.x,
|
|
19
|
+
pointerY: point.y
|
|
20
|
+
});
|
|
21
|
+
const boundsStart = {
|
|
22
|
+
x: 0,
|
|
23
|
+
y: 0
|
|
24
|
+
};
|
|
25
|
+
groupGraphicItem.globalTransMatrix.transformPoint({
|
|
26
|
+
x: 0,
|
|
27
|
+
y: 0
|
|
28
|
+
}, boundsStart);
|
|
29
|
+
const boundsEnd = {
|
|
30
|
+
x: 0,
|
|
31
|
+
y: 0
|
|
32
|
+
};
|
|
33
|
+
groupGraphicItem.globalTransMatrix.transformPoint({
|
|
34
|
+
x: this.view.getSignalById("width").getValue(),
|
|
35
|
+
y: this.view.getSignalById("height").getValue()
|
|
36
|
+
}, boundsEnd);
|
|
37
|
+
const bounds = (new AABBBounds).set(boundsStart.x, boundsStart.y, boundsEnd.x, boundsEnd.y), {title: title, content: content} = this._computeTitleContent(element.getDatum()), theme = this.view.getCurrentTheme(), addition = invokeFunctionType(this.options.attributes, this.parameters(), element.getDatum()), attributes = generateTooltipAttributes(point, title, content, bounds, theme, addition);
|
|
38
|
+
this._tooltipComponent.setAttributes(attributes);
|
|
39
|
+
}), 10), this.handleTooltipHide = event => {
|
|
40
|
+
this._tooltipComponent.hideAll();
|
|
41
|
+
}, this.options = Object.assign({}, Tooltip.defaultOptions, options);
|
|
42
|
+
}
|
|
43
|
+
getEvents() {
|
|
44
|
+
return [ {
|
|
45
|
+
type: this.options.trigger,
|
|
46
|
+
handler: this.handleTooltipShow
|
|
47
|
+
}, {
|
|
48
|
+
type: this.options.resetTrigger,
|
|
49
|
+
handler: this.handleTooltipHide
|
|
50
|
+
} ];
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
Tooltip.type = "tooltip", Tooltip.defaultOptions = {
|
|
55
|
+
trigger: "pointermove",
|
|
56
|
+
resetTrigger: "pointerleave"
|
|
57
|
+
};
|
|
58
|
+
//# sourceMappingURL=tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/interactions/tooltip.ts"],"names":[],"mappings":"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","file":"tooltip.js","sourcesContent":["import { AABBBounds, throttle } from '@visactor/vutils';\nimport type { IElement, IView, InteractionEvent, InteractionEventHandler, TooltipOptions } from '../types';\nimport { BaseTooltip, generateTooltipAttributes } from './base-tooltip';\nimport { invokeFunctionType } from '../parse/util';\n\nexport class Tooltip extends BaseTooltip<TooltipOptions> {\n static type: string = 'tooltip';\n type: string = Tooltip.type;\n\n static defaultOptions: Omit<TooltipOptions, 'target'> = {\n trigger: 'pointermove',\n resetTrigger: 'pointerleave'\n };\n protected _lastElement: IElement;\n\n constructor(view: IView, options?: TooltipOptions) {\n super(view, options);\n this.options = Object.assign({}, Tooltip.defaultOptions, options);\n }\n\n protected getEvents() {\n return [\n { type: this.options.trigger, handler: this.handleTooltipShow },\n { type: this.options.resetTrigger, handler: this.handleTooltipHide }\n ];\n }\n\n protected handleTooltipShow = throttle((event: InteractionEvent) => {\n const element = event.element;\n if (!this._marks.includes(element?.mark)) {\n this._tooltipComponent.hideAll();\n return;\n }\n\n this._tooltipComponent.showAll();\n\n const groupGraphicItem = this.view.rootMark.getGroupGraphicItem();\n // FIXME: waiting for vRender to add transformed position to event\n const point = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint(event.canvas, point);\n\n if (element === this._lastElement) {\n // only update pointer when element is not changed\n this._tooltipComponent.setAttributes({ pointerX: point.x, pointerY: point.y } as any);\n return;\n }\n\n const boundsStart = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint({ x: 0, y: 0 }, boundsStart);\n const boundsEnd = { x: 0, y: 0 };\n groupGraphicItem.globalTransMatrix.transformPoint(\n {\n x: this.view.getSignalById('width').getValue() as number,\n y: this.view.getSignalById('height').getValue() as number\n },\n boundsEnd\n );\n const bounds = new AABBBounds().set(boundsStart.x, boundsStart.y, boundsEnd.x, boundsEnd.y);\n const { title, content } = this._computeTitleContent(element.getDatum());\n const theme = this.view.getCurrentTheme();\n const addition = invokeFunctionType(this.options.attributes, this.parameters(), element.getDatum()) as any;\n const attributes = generateTooltipAttributes(point, title, content, bounds, theme, addition);\n this._tooltipComponent.setAttributes(attributes);\n }, 10) as unknown as InteractionEventHandler;\n\n protected handleTooltipHide = (event: any) => {\n this._tooltipComponent.hideAll();\n };\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { InteractionEvent, IViewDragMixin, ViewNavigationRange, ViewDragSimpleOptions, ViewStateByDim } from '../types';
|
|
2
|
+
export declare class ViewDragMixin implements IViewDragMixin {
|
|
3
|
+
protected _pointerId: number;
|
|
4
|
+
protected _dragStart: {
|
|
5
|
+
x: number;
|
|
6
|
+
y: number;
|
|
7
|
+
};
|
|
8
|
+
protected _filterValueX: {
|
|
9
|
+
start: number;
|
|
10
|
+
end: number;
|
|
11
|
+
};
|
|
12
|
+
protected _filterValueY: {
|
|
13
|
+
start: number;
|
|
14
|
+
end: number;
|
|
15
|
+
};
|
|
16
|
+
protected _shouldTriggerDragByPointer(e: InteractionEvent): boolean;
|
|
17
|
+
protected _shouldStart(e: InteractionEvent): boolean;
|
|
18
|
+
protected _shouldUpdate(e: InteractionEvent): boolean;
|
|
19
|
+
handleDragStart(e: InteractionEvent, navState: Partial<Record<'x' | 'y', ViewStateByDim>>, dragOptions?: ViewDragSimpleOptions): ViewNavigationRange;
|
|
20
|
+
handleDragUpdate(e: InteractionEvent, navState: Partial<Record<'x' | 'y', ViewStateByDim>>, dragOptions?: ViewDragSimpleOptions): ViewNavigationRange;
|
|
21
|
+
handleDragEnd(e: InteractionEvent, navState: Partial<Record<'x' | 'y', ViewStateByDim>>, dragOptions?: ViewDragSimpleOptions): ViewNavigationRange;
|
|
22
|
+
}
|