@carto/kepler.gl 0.0.77 → 0.0.78-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/README.md +652 -42
- package/dist/actions/action-wrapper.js +49 -21
- package/dist/actions/actions.js +30 -16
- package/dist/actions/identity-actions.js +28 -14
- package/dist/actions/index.js +24 -7
- package/dist/actions/map-state-actions.js +27 -12
- package/dist/actions/map-style-actions.js +69 -31
- package/dist/actions/provider-actions.js +81 -44
- package/dist/actions/ui-state-actions.js +166 -71
- package/dist/actions/vis-state-actions.js +78 -106
- package/dist/cloud-providers/index.js +8 -8
- package/dist/cloud-providers/provider.js +109 -63
- package/dist/components/bottom-widget.js +58 -53
- package/dist/components/common/action-panel.js +41 -44
- package/dist/components/common/animation-control/animation-control.js +44 -44
- package/dist/components/common/animation-control/animation-controller.js +109 -55
- package/dist/components/common/animation-control/animation-speed-slider.js +38 -29
- package/dist/components/common/animation-control/floating-time-display.js +73 -58
- package/dist/components/common/animation-control/playback-controls.js +81 -67
- package/dist/components/common/animation-control/speed-control.js +24 -26
- package/dist/components/common/checkbox.js +54 -49
- package/dist/components/common/color-legend.js +71 -51
- package/dist/components/common/data-table/button.js +23 -30
- package/dist/components/common/data-table/canvas.js +10 -21
- package/dist/components/common/data-table/cell-size.js +58 -54
- package/dist/components/common/data-table/grid.js +51 -35
- package/dist/components/common/data-table/index.js +150 -109
- package/dist/components/common/data-table/option-dropdown.js +33 -29
- package/dist/components/common/dataset-label.js +15 -23
- package/dist/components/common/error-boundary.js +30 -25
- package/dist/components/common/field-selector.js +67 -67
- package/dist/components/common/field-token.js +17 -22
- package/dist/components/common/file-uploader/file-drop.js +66 -46
- package/dist/components/common/file-uploader/file-upload-progress.js +32 -33
- package/dist/components/common/file-uploader/file-upload.js +91 -52
- package/dist/components/common/file-uploader/upload-button.js +56 -82
- package/dist/components/common/histogram-plot.js +37 -35
- package/dist/components/common/icons/add.js +26 -32
- package/dist/components/common/icons/anchor_window.js +8 -8
- package/dist/components/common/icons/arrow-down-alt.js +26 -32
- package/dist/components/common/icons/arrow-down-solid.js +58 -0
- package/dist/components/common/icons/arrow-down.js +26 -32
- package/dist/components/common/icons/arrow-left.js +26 -32
- package/dist/components/common/icons/arrow-right.js +26 -32
- package/dist/components/common/icons/arrow-up-alt.js +26 -32
- package/dist/components/common/icons/arrow-up-solid.js +26 -32
- package/dist/components/common/icons/arrow-up.js +26 -32
- package/dist/components/common/icons/base.js +42 -52
- package/dist/components/common/icons/bug.js +26 -32
- package/dist/components/common/icons/cancel.js +26 -32
- package/dist/components/common/icons/checkmark.js +27 -32
- package/dist/components/common/icons/chevron-right.js +27 -27
- package/dist/components/common/icons/clipboard.js +26 -32
- package/dist/components/common/icons/clock.js +26 -32
- package/dist/components/common/icons/close.js +26 -32
- package/dist/components/common/icons/code-alt.js +27 -32
- package/dist/components/common/icons/copy.js +27 -32
- package/dist/components/common/icons/crosshairs.js +27 -32
- package/dist/components/common/icons/cube-3d.js +26 -32
- package/dist/components/common/icons/cursor-click.js +26 -32
- package/dist/components/common/icons/data-table.js +26 -32
- package/dist/components/common/icons/db.js +26 -32
- package/dist/components/common/icons/delete.js +26 -31
- package/dist/components/common/icons/docs.js +26 -32
- package/dist/components/common/icons/drag-n-drop.js +26 -32
- package/dist/components/common/icons/draw-polygon.js +26 -35
- package/dist/components/common/icons/email.js +26 -32
- package/dist/components/common/icons/expand.js +26 -32
- package/dist/components/common/icons/eye-seen.js +26 -32
- package/dist/components/common/icons/eye-unseen.js +26 -32
- package/dist/components/common/icons/file-type.js +16 -23
- package/dist/components/common/icons/file.js +26 -32
- package/dist/components/common/icons/files.js +25 -29
- package/dist/components/common/icons/filter-funnel.js +26 -32
- package/dist/components/common/icons/free-window.js +8 -8
- package/dist/components/common/icons/gear.js +26 -32
- package/dist/components/common/icons/hash.js +26 -32
- package/dist/components/common/icons/histogram.js +24 -28
- package/dist/components/common/icons/index.js +154 -63
- package/dist/components/common/icons/info.js +27 -32
- package/dist/components/common/icons/layers.js +26 -32
- package/dist/components/common/icons/left-arrow.js +27 -32
- package/dist/components/common/icons/legend.js +26 -32
- package/dist/components/common/icons/line-chart.js +26 -31
- package/dist/components/common/icons/login.js +26 -31
- package/dist/components/common/icons/logout.js +26 -31
- package/dist/components/common/icons/map-icon.js +27 -33
- package/dist/components/common/icons/map.js +27 -33
- package/dist/components/common/icons/messages.js +26 -32
- package/dist/components/common/icons/minus.js +26 -32
- package/dist/components/common/icons/order-by-dataset.js +56 -0
- package/dist/components/common/icons/order-by-list.js +48 -0
- package/dist/components/common/icons/pause.js +26 -32
- package/dist/components/common/icons/picture.js +25 -29
- package/dist/components/common/icons/pin.js +35 -33
- package/dist/components/common/icons/play.js +26 -32
- package/dist/components/common/icons/polygon.js +26 -35
- package/dist/components/common/icons/rectangle.js +26 -35
- package/dist/components/common/icons/reduce.js +26 -32
- package/dist/components/common/icons/reset.js +26 -32
- package/dist/components/common/icons/rocket.js +26 -32
- package/dist/components/common/icons/save.js +26 -32
- package/dist/components/common/icons/save2.js +26 -32
- package/dist/components/common/icons/search.js +26 -32
- package/dist/components/common/icons/settings.js +26 -32
- package/dist/components/common/icons/share.js +26 -32
- package/dist/components/common/icons/split.js +26 -32
- package/dist/components/common/icons/square-select.js +26 -32
- package/dist/components/common/icons/swap-horizontal.js +28 -27
- package/dist/components/common/icons/table.js +26 -31
- package/dist/components/common/icons/trash.js +26 -32
- package/dist/components/common/icons/upload.js +26 -33
- package/dist/components/common/icons/vert-dots.js +26 -32
- package/dist/components/common/icons/vert-three-dots.js +26 -32
- package/dist/components/common/icons/warning.js +27 -32
- package/dist/components/common/image-preview.js +27 -35
- package/dist/components/common/info-helper.js +23 -32
- package/dist/components/common/item-selector/accessor.js +5 -3
- package/dist/components/common/item-selector/chickleted-input.js +42 -62
- package/dist/components/common/item-selector/dropdown-list.js +95 -72
- package/dist/components/common/item-selector/item-selector-submenu.js +38 -29
- package/dist/components/common/item-selector/item-selector.js +102 -89
- package/dist/components/common/item-selector/typeahead.js +118 -86
- package/dist/components/common/line-chart.js +44 -46
- package/dist/components/common/loading-spinner.js +23 -33
- package/dist/components/common/logo.js +24 -36
- package/dist/components/common/map-layer-selector.js +14 -22
- package/dist/components/common/modal.js +62 -50
- package/dist/components/common/portaled.js +109 -64
- package/dist/components/common/progress-bar.js +17 -28
- package/dist/components/common/range-brush.js +132 -84
- package/dist/components/common/range-plot.js +51 -60
- package/dist/components/common/range-slider.js +88 -76
- package/dist/components/common/slider/mouse-event.js +88 -52
- package/dist/components/common/slider/slider-bar-handle.js +40 -39
- package/dist/components/common/slider/slider-handle.js +49 -45
- package/dist/components/common/slider/slider.js +107 -104
- package/dist/components/common/styled-components.js +183 -69
- package/dist/components/common/switch.js +14 -37
- package/dist/components/common/time-range-slider-time-title.js +19 -24
- package/dist/components/common/time-range-slider.js +39 -61
- package/dist/components/common/time-slider-marker.js +41 -36
- package/dist/components/common/tippy-tooltip.js +115 -0
- package/dist/components/common/toolbar-item.js +23 -25
- package/dist/components/common/toolbar.js +10 -21
- package/dist/components/common/vertical-toolbar.js +10 -21
- package/dist/components/container.js +94 -66
- package/dist/components/context.js +10 -6
- package/dist/components/editor/constants.js +8 -6
- package/dist/components/editor/editor.js +77 -62
- package/dist/components/editor/feature-action-panel.js +50 -47
- package/dist/components/editor/feature-styles.js +42 -37
- package/dist/components/editor/handle-style.js +39 -37
- package/dist/components/filters/components.js +10 -21
- package/dist/components/filters/filter-panels/filter-panel-with-field-select.js +27 -19
- package/dist/components/filters/filter-panels/multi-select-filter-panel.js +18 -18
- package/dist/components/filters/filter-panels/new-filter-panel.js +23 -19
- package/dist/components/filters/filter-panels/polygon-filter-panel.js +28 -21
- package/dist/components/filters/filter-panels/range-filter-panel.js +18 -18
- package/dist/components/filters/filter-panels/single-select-filter-panel.js +18 -18
- package/dist/components/filters/filter-panels/time-range-filter-panel.js +24 -19
- package/dist/components/filters/filter-panels/types.js +6 -0
- package/dist/components/filters/index.js +17 -11
- package/dist/components/filters/multi-select-filter.js +9 -3
- package/dist/components/filters/polygon-filter.js +19 -10
- package/dist/components/filters/range-filter.js +9 -4
- package/dist/components/filters/single-select-filter.js +9 -3
- package/dist/components/filters/time-range-filter.js +18 -7
- package/dist/components/filters/time-widget.js +51 -42
- package/dist/components/filters/types.js +6 -0
- package/dist/components/geocoder/geocoder.js +134 -100
- package/dist/components/geocoder-panel.js +79 -57
- package/dist/components/index.js +591 -356
- package/dist/components/injector.js +58 -42
- package/dist/components/kepler-gl.js +171 -82
- package/dist/components/map/coordinate-info.js +13 -4
- package/dist/components/map/layer-hover-info.js +46 -39
- package/dist/components/map/layer-selector-panel.js +30 -17
- package/dist/components/map/locale-panel.js +43 -23
- package/dist/components/map/map-control-panel.js +43 -30
- package/dist/components/map/map-control-toolbar.js +11 -21
- package/dist/components/map/map-control-tooltip.js +13 -6
- package/dist/components/map/map-control.js +28 -27
- package/dist/components/map/map-draw-panel.js +48 -23
- package/dist/components/map/map-legend-panel.js +138 -77
- package/dist/components/map/map-legend.js +82 -55
- package/dist/components/map/map-popover.js +58 -42
- package/dist/components/map/split-map-button.js +40 -25
- package/dist/components/map/toggle-3d-button.js +37 -22
- package/dist/components/map-container.js +164 -144
- package/dist/components/maps-layout.js +29 -25
- package/dist/components/modal-container.js +116 -89
- package/dist/components/modals/add-map-style-modal.js +66 -46
- package/dist/components/modals/cloud-tile.js +36 -36
- package/dist/components/modals/data-table-modal.js +96 -60
- package/dist/components/modals/delete-data-modal.js +20 -24
- package/dist/components/modals/error-display.js +10 -3
- package/dist/components/modals/export-data-modal.js +59 -57
- package/dist/components/modals/export-image-modal.js +28 -31
- package/dist/components/modals/export-map-modal/components.js +27 -27
- package/dist/components/modals/export-map-modal/export-html-map.js +27 -28
- package/dist/components/modals/export-map-modal/export-json-map.js +43 -30
- package/dist/components/modals/export-map-modal/export-map-modal.js +41 -34
- package/dist/components/modals/image-modal-container.js +19 -14
- package/dist/components/modals/load-data-modal.js +35 -31
- package/dist/components/modals/load-storage-map.js +79 -44
- package/dist/components/modals/loading-dialog.js +18 -24
- package/dist/components/modals/modal-dialog.js +7 -3
- package/dist/components/modals/modal-tabs.js +29 -29
- package/dist/components/modals/overwrite-map-modal.js +28 -29
- package/dist/components/modals/provider-modal-container.js +32 -35
- package/dist/components/modals/save-map-modal.js +51 -47
- package/dist/components/modals/share-map-modal.js +63 -55
- package/dist/components/modals/status-panel.js +25 -24
- package/dist/components/modals/storage-map-viewer.js +43 -38
- package/dist/components/notification-panel/notification-item.js +46 -41
- package/dist/components/notification-panel.js +32 -35
- package/dist/components/performance.js +36 -11
- package/dist/components/plot-container.js +76 -60
- package/dist/components/side-panel/cloud-storage-dropdown.js +10 -4
- package/dist/components/side-panel/common/dataset-info.js +13 -20
- package/dist/components/side-panel/common/dataset-tag.js +49 -31
- package/dist/components/side-panel/common/dataset-title.js +91 -44
- package/dist/components/side-panel/common/source-data-catalog.js +26 -28
- package/dist/components/side-panel/common/source-data-selector.js +51 -37
- package/dist/components/side-panel/common/types.js +6 -0
- package/dist/components/side-panel/custom-panel.js +9 -5
- package/dist/components/side-panel/filter-manager.js +32 -30
- package/dist/components/side-panel/filter-panel/filter-panel-header.js +29 -32
- package/dist/components/side-panel/filter-panel/filter-panel.js +58 -53
- package/dist/components/side-panel/interaction-manager.js +12 -5
- package/dist/components/side-panel/interaction-panel/brush-config.js +19 -23
- package/dist/components/side-panel/interaction-panel/interaction-panel.js +58 -41
- package/dist/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +83 -47
- package/dist/components/side-panel/interaction-panel/tooltip-config.js +46 -30
- package/dist/components/side-panel/layer-manager.js +132 -211
- package/dist/components/side-panel/layer-panel/add-layer-button.js +156 -0
- package/dist/components/side-panel/layer-panel/color-dimension-scale-selector.js +11 -4
- package/dist/components/side-panel/layer-panel/color-palette.js +29 -41
- package/dist/components/side-panel/layer-panel/color-range-selector.js +164 -162
- package/dist/components/side-panel/layer-panel/color-selector.js +71 -60
- package/dist/components/side-panel/layer-panel/column-selector.js +27 -28
- package/dist/components/side-panel/layer-panel/custom-markers-config-group.js +7 -3
- package/dist/components/side-panel/layer-panel/custom-palette.js +72 -48
- package/dist/components/side-panel/layer-panel/custom-picker.js +41 -40
- package/dist/components/side-panel/layer-panel/dataset-layer-group.js +87 -0
- package/dist/components/side-panel/layer-panel/dataset-layer-section.js +69 -0
- package/dist/components/side-panel/layer-panel/dataset-section.js +91 -0
- package/dist/components/side-panel/layer-panel/dimension-scale-selector.js +16 -8
- package/dist/components/side-panel/layer-panel/hex-column-config.js +34 -12
- package/dist/components/side-panel/layer-panel/layer-aggregation-resolution.js +10 -2
- package/dist/components/side-panel/layer-panel/layer-column-config.js +26 -42
- package/dist/components/side-panel/layer-panel/layer-config-group.js +86 -52
- package/dist/components/side-panel/layer-panel/layer-configurator.js +249 -158
- package/dist/components/side-panel/layer-panel/layer-list.js +168 -0
- package/dist/components/side-panel/layer-panel/layer-panel-header.js +70 -74
- package/dist/components/side-panel/layer-panel/layer-panel.js +58 -55
- package/dist/components/side-panel/layer-panel/layer-type-dropdown-list.js +22 -28
- package/dist/components/side-panel/layer-panel/layer-type-list-item.js +18 -22
- package/dist/components/side-panel/layer-panel/layer-type-selector.js +30 -35
- package/dist/components/side-panel/layer-panel/layer-visibility-by-zoom.js +40 -35
- package/dist/components/side-panel/layer-panel/panel-view-list-toggle.js +123 -0
- package/dist/components/side-panel/layer-panel/single-color-palette.js +45 -77
- package/dist/components/side-panel/layer-panel/text-label-panel.js +45 -41
- package/dist/components/side-panel/layer-panel/vis-config-by-field-selector.js +51 -60
- package/dist/components/side-panel/layer-panel/vis-config-slider.js +163 -52
- package/dist/components/side-panel/layer-panel/vis-config-switch.js +27 -38
- package/dist/components/side-panel/map-manager.js +45 -38
- package/dist/components/side-panel/map-style-panel/map-layer-selector.js +31 -28
- package/dist/components/side-panel/map-style-panel/map-style-selector.js +24 -26
- package/dist/components/side-panel/panel-dropdown.js +34 -34
- package/dist/components/side-panel/panel-header-action.js +43 -51
- package/dist/components/side-panel/panel-header.js +105 -78
- package/dist/components/side-panel/panel-tab.js +20 -24
- package/dist/components/side-panel/panel-title.js +17 -22
- package/dist/components/side-panel/panel-toggle.js +21 -33
- package/dist/components/side-panel/side-bar.js +53 -44
- package/dist/components/side-panel.js +79 -68
- package/dist/components/types.js +6 -0
- package/dist/connect/keplergl-connect.js +14 -5
- package/dist/connect/with-local-selector.js +38 -33
- package/dist/constants/action-types.js +14 -5
- package/dist/constants/color-palette.js +23 -12
- package/dist/constants/color-ranges.js +31 -32
- package/dist/constants/custom-color-ranges.js +14 -9
- package/dist/constants/default-settings.js +265 -162
- package/dist/constants/index.js +103 -95
- package/dist/constants/keyevent.js +7 -3
- package/dist/constants/tooltip.js +10 -7
- package/dist/constants/user-feedbacks.js +6 -5
- package/dist/constants/user-guides.js +20 -12
- package/dist/deckgl-layers/3d-building-layer/3d-building-layer.js +33 -30
- package/dist/deckgl-layers/3d-building-layer/3d-building-utils.js +43 -10
- package/dist/deckgl-layers/3d-building-layer/types.js +6 -0
- package/dist/deckgl-layers/cluster-layer/cluster-layer.js +75 -54
- package/dist/deckgl-layers/column-layer/enhanced-column-layer.js +34 -31
- package/dist/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +38 -38
- package/dist/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +38 -38
- package/dist/deckgl-layers/layer-utils/cluster-utils.js +26 -12
- package/dist/deckgl-layers/layer-utils/cpu-aggregator.js +152 -90
- package/dist/deckgl-layers/layer-utils/shader-utils.js +5 -1
- package/dist/deckgl-layers/line-layer/line-layer.js +40 -31
- package/dist/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +32 -27
- package/dist/deckgl-layers/svg-icon-layer/svg-icon-layer.js +42 -36
- package/dist/index.js +23 -4
- package/dist/layers/aggregation-layer.js +126 -76
- package/dist/layers/arc-layer/arc-layer-icon.js +27 -27
- package/dist/layers/arc-layer/arc-layer.js +85 -56
- package/dist/layers/base-layer.js +459 -288
- package/dist/layers/cluster-layer/cluster-layer-icon.js +27 -27
- package/dist/layers/cluster-layer/cluster-layer.js +45 -34
- package/dist/layers/default-layer-icon.js +27 -27
- package/dist/layers/geojson-layer/geojson-layer-icon.js +27 -27
- package/dist/layers/geojson-layer/geojson-layer.js +105 -60
- package/dist/layers/geojson-layer/geojson-utils.js +68 -39
- package/dist/layers/grid-layer/grid-layer-icon.js +27 -27
- package/dist/layers/grid-layer/grid-layer.js +42 -31
- package/dist/layers/grid-layer/grid-utils.js +15 -12
- package/dist/layers/h3-hexagon-layer/h3-hexagon-layer-icon.js +27 -27
- package/dist/layers/h3-hexagon-layer/h3-hexagon-layer.js +92 -49
- package/dist/layers/h3-hexagon-layer/h3-utils.js +22 -11
- package/dist/layers/heatmap-layer/heatmap-layer-icon.js +27 -27
- package/dist/layers/heatmap-layer/heatmap-layer.js +81 -59
- package/dist/layers/hexagon-layer/hexagon-layer-icon.js +27 -27
- package/dist/layers/hexagon-layer/hexagon-layer.js +43 -31
- package/dist/layers/hexagon-layer/hexagon-utils.js +15 -3
- package/dist/layers/icon-layer/icon-info-modal.js +28 -24
- package/dist/layers/icon-layer/icon-layer-icon.js +27 -27
- package/dist/layers/icon-layer/icon-layer.js +115 -63
- package/dist/layers/index.js +39 -38
- package/dist/layers/layer-factory.js +83 -69
- package/dist/layers/layer-text-label.js +15 -9
- package/dist/layers/layer-update.js +21 -12
- package/dist/layers/line-layer/line-layer-icon.js +27 -27
- package/dist/layers/line-layer/line-layer.js +84 -63
- package/dist/layers/mapbox-utils.js +54 -48
- package/dist/layers/mapboxgl-layer.js +68 -45
- package/dist/layers/point-layer/point-layer-icon.js +27 -27
- package/dist/layers/point-layer/point-layer.js +100 -60
- package/dist/layers/s2-geometry-layer/s2-geometry-layer.js +86 -45
- package/dist/layers/s2-geometry-layer/s2-layer-icon.js +27 -27
- package/dist/layers/s2-geometry-layer/s2-utils.js +18 -5
- package/dist/layers/scenegraph-layer/scenegraph-info-modal.js +15 -21
- package/dist/layers/scenegraph-layer/scenegraph-layer-icon.js +27 -27
- package/dist/layers/scenegraph-layer/scenegraph-layer.js +85 -54
- package/dist/layers/trip-layer/trip-info-modal.js +16 -21
- package/dist/layers/trip-layer/trip-layer-icon.js +27 -27
- package/dist/layers/trip-layer/trip-layer.js +115 -58
- package/dist/layers/trip-layer/trip-utils.js +51 -28
- package/dist/layers/types.js +6 -3
- package/dist/localization/formatted-message.js +12 -8
- package/dist/localization/index.js +14 -8
- package/dist/localization/locales.js +12 -7
- package/dist/localization/messages.js +29 -0
- package/dist/localization/translations/ca.js +455 -0
- package/dist/localization/translations/cn.js +458 -0
- package/dist/localization/translations/en.js +483 -0
- package/dist/localization/translations/es.js +455 -0
- package/dist/localization/translations/fi.js +427 -0
- package/dist/localization/translations/ja.js +456 -0
- package/dist/localization/translations/pt.js +427 -0
- package/dist/localization/translations/ru.js +464 -0
- package/dist/middleware/index.js +5 -2
- package/dist/processors/data-processor.js +217 -149
- package/dist/processors/file-handler.js +284 -210
- package/dist/processors/index.js +25 -97
- package/dist/processors/types.js +6 -0
- package/dist/reducers/combined-updaters.js +48 -40
- package/dist/reducers/composer-helpers.js +34 -32
- package/dist/reducers/composers.js +12 -25
- package/dist/reducers/core.js +46 -19
- package/dist/reducers/index.js +52 -24
- package/dist/reducers/map-state-updaters.js +64 -61
- package/dist/reducers/map-state.js +26 -31
- package/dist/reducers/map-style-updaters.js +149 -116
- package/dist/reducers/map-style.js +26 -31
- package/dist/reducers/provider-state-updaters.js +151 -121
- package/dist/reducers/provider-state.js +25 -32
- package/dist/reducers/root.js +52 -45
- package/dist/reducers/types.js +6 -0
- package/dist/reducers/ui-state-updaters.js +231 -138
- package/dist/reducers/ui-state.js +27 -32
- package/dist/reducers/vis-state-merger.js +212 -143
- package/dist/reducers/vis-state-selectors.js +12 -5
- package/dist/reducers/vis-state-updaters.js +706 -490
- package/dist/reducers/vis-state.js +25 -32
- package/dist/schemas/dataset-schema.js +59 -39
- package/dist/schemas/index.js +45 -38
- package/dist/schemas/map-state-schema.js +24 -28
- package/dist/schemas/map-style-schema.js +48 -34
- package/dist/schemas/schema-manager.js +71 -46
- package/dist/schemas/schema-utils.js +15 -11
- package/dist/schemas/schema.js +37 -35
- package/dist/schemas/versions.js +9 -5
- package/dist/schemas/vis-state-schema.js +312 -112
- package/dist/styles/base.js +646 -367
- package/dist/styles/index.js +5 -1
- package/dist/styles/media-breakpoints.js +36 -27
- package/dist/tasks/tasks.js +50 -22
- package/dist/templates/export-map-html.js +6 -3
- package/dist/utils/aggregate-utils.js +27 -23
- package/dist/utils/color-utils.js +62 -44
- package/dist/utils/custom-scales.js +7 -1
- package/dist/utils/data-scale-utils.js +18 -14
- package/dist/utils/data-utils.js +148 -110
- package/dist/utils/dataset-utils.js +91 -75
- package/dist/utils/dom-to-image.js +97 -19
- package/dist/utils/dom-utils.js +116 -34
- package/dist/utils/export-utils.js +122 -81
- package/dist/utils/filter-utils.js +335 -242
- package/dist/utils/gl-utils.js +12 -22
- package/dist/utils/gpu-filter-utils.js +70 -61
- package/dist/utils/index.js +220 -64
- package/dist/utils/interaction-utils.js +52 -34
- package/dist/utils/layer-utils.js +65 -60
- package/dist/utils/locale-utils.js +21 -23
- package/dist/utils/map-info-utils.js +3 -2
- package/dist/utils/map-style-utils/mapbox-gl-style-editor.js +85 -86
- package/dist/utils/map-style-utils/mapbox-utils.js +5 -3
- package/dist/utils/mapbox-utils.js +5 -2
- package/dist/utils/notifications-utils.js +42 -43
- package/dist/utils/observe-dimensions.js +44 -39
- package/dist/utils/projection-utils.js +20 -9
- package/dist/utils/searcher-utils.js +4 -1
- package/dist/utils/split-map-utils.js +34 -38
- package/dist/utils/table-utils/data-container-interface.js +6 -0
- package/dist/utils/table-utils/data-container-utils.js +36 -29
- package/dist/utils/table-utils/data-row.js +79 -7
- package/dist/utils/table-utils/index.js +2 -1
- package/dist/utils/table-utils/indexed-data-container.js +113 -81
- package/dist/utils/table-utils/kepler-table.js +200 -99
- package/dist/utils/table-utils/row-data-container.js +109 -74
- package/dist/utils/utils.js +94 -50
- package/package.json +60 -11
- package/src/actions/action-wrapper.ts +183 -0
- package/src/actions/actions.ts +260 -0
- package/src/actions/identity-actions.ts +116 -0
- package/src/actions/map-state-actions.ts +116 -0
- package/src/actions/map-style-actions.ts +243 -0
- package/src/actions/provider-actions.ts +218 -0
- package/src/actions/ui-state-actions.ts +490 -0
- package/src/actions/vis-state-actions.ts +1279 -0
- package/src/cloud-providers/index.ts +22 -0
- package/src/cloud-providers/provider.ts +277 -0
- package/src/components/bottom-widget.tsx +275 -0
- package/src/components/common/action-panel.tsx +207 -0
- package/src/components/common/animation-control/animation-control.tsx +157 -0
- package/src/components/common/animation-control/animation-controller.ts +249 -0
- package/src/components/common/animation-control/animation-speed-slider.tsx +86 -0
- package/src/components/common/animation-control/floating-time-display.tsx +209 -0
- package/src/components/common/animation-control/playback-controls.tsx +316 -0
- package/src/components/common/animation-control/speed-control.tsx +71 -0
- package/src/components/common/checkbox.tsx +137 -0
- package/src/components/common/color-legend.tsx +203 -0
- package/src/components/common/data-table/button.tsx +54 -0
- package/src/components/common/data-table/cell-size.ts +185 -0
- package/src/components/common/data-table/grid.tsx +57 -0
- package/src/components/common/data-table/index.tsx +693 -0
- package/src/components/common/data-table/option-dropdown.tsx +122 -0
- package/src/components/common/dataset-label.tsx +48 -0
- package/src/components/common/error-boundary.tsx +43 -0
- package/src/components/common/field-selector.tsx +237 -0
- package/src/components/common/field-token.tsx +60 -0
- package/src/components/common/file-uploader/file-drop.tsx +208 -0
- package/src/components/common/file-uploader/file-upload-progress.tsx +123 -0
- package/src/components/common/file-uploader/file-upload.tsx +319 -0
- package/src/components/common/file-uploader/upload-button.tsx +88 -0
- package/src/components/common/histogram-plot.tsx +125 -0
- package/src/components/common/icons/add.tsx +37 -0
- package/src/components/common/icons/anchor_window.tsx +49 -0
- package/src/components/common/icons/arrow-down-alt.tsx +37 -0
- package/src/components/common/icons/arrow-down-solid.tsx +37 -0
- package/src/components/common/icons/arrow-down.tsx +40 -0
- package/src/components/common/icons/arrow-left.tsx +42 -0
- package/src/components/common/icons/arrow-right.tsx +40 -0
- package/src/components/common/icons/arrow-up-alt.tsx +40 -0
- package/src/components/common/icons/arrow-up-solid.tsx +37 -0
- package/src/components/common/icons/arrow-up.tsx +40 -0
- package/src/components/common/icons/base.tsx +95 -0
- package/src/components/common/icons/bug.tsx +40 -0
- package/src/components/common/icons/cancel.tsx +37 -0
- package/src/components/common/icons/checkmark.tsx +39 -0
- package/src/components/common/icons/chevron-right.js +1 -1
- package/src/components/common/icons/clipboard.tsx +40 -0
- package/src/components/common/icons/clock.tsx +38 -0
- package/src/components/common/icons/close.tsx +43 -0
- package/src/components/common/icons/code-alt.tsx +37 -0
- package/src/components/common/icons/copy.tsx +38 -0
- package/src/components/common/icons/crosshairs.tsx +37 -0
- package/src/components/common/icons/cube-3d.tsx +39 -0
- package/src/components/common/icons/cursor-click.tsx +43 -0
- package/src/components/common/icons/data-table.tsx +40 -0
- package/src/components/common/icons/db.tsx +40 -0
- package/src/components/common/icons/delete.tsx +39 -0
- package/src/components/common/icons/docs.tsx +40 -0
- package/src/components/common/icons/drag-n-drop.tsx +38 -0
- package/src/components/common/icons/draw-polygon.tsx +51 -0
- package/src/components/common/icons/email.tsx +39 -0
- package/src/components/common/icons/expand.tsx +39 -0
- package/src/components/common/icons/eye-seen.tsx +38 -0
- package/src/components/common/icons/eye-unseen.tsx +38 -0
- package/src/components/common/icons/file-type.tsx +71 -0
- package/src/components/common/icons/file.tsx +37 -0
- package/src/components/common/icons/files.tsx +37 -0
- package/src/components/common/icons/filter-funnel.tsx +37 -0
- package/src/components/common/icons/free-window.tsx +48 -0
- package/src/components/common/icons/gear.tsx +40 -0
- package/src/components/common/icons/hash.tsx +37 -0
- package/src/components/common/icons/histogram.tsx +42 -0
- package/src/components/common/icons/index.tsx +98 -0
- package/src/components/common/icons/info.tsx +48 -0
- package/src/components/common/icons/layers.tsx +37 -0
- package/src/components/common/icons/left-arrow.tsx +37 -0
- package/src/components/common/icons/legend.tsx +37 -0
- package/src/components/common/icons/line-chart.tsx +40 -0
- package/src/components/common/icons/login.tsx +41 -0
- package/src/components/common/icons/logout.tsx +38 -0
- package/src/components/common/icons/map-icon.tsx +62 -0
- package/src/components/common/icons/map.tsx +62 -0
- package/src/components/common/icons/messages.tsx +37 -0
- package/src/components/common/icons/minus.tsx +39 -0
- package/src/components/common/icons/order-by-dataset.tsx +49 -0
- package/src/components/common/icons/order-by-list.tsx +39 -0
- package/src/components/common/icons/pause.tsx +37 -0
- package/src/components/common/icons/picture.tsx +37 -0
- package/src/components/common/icons/pin.tsx +42 -0
- package/src/components/common/icons/play.tsx +37 -0
- package/src/components/common/icons/polygon.tsx +65 -0
- package/src/components/common/icons/rectangle.tsx +66 -0
- package/src/components/common/icons/reduce.tsx +42 -0
- package/src/components/common/icons/reset.tsx +37 -0
- package/src/components/common/icons/rocket.tsx +37 -0
- package/src/components/common/icons/save.tsx +38 -0
- package/src/components/common/icons/save2.tsx +42 -0
- package/src/components/common/icons/search.tsx +38 -0
- package/src/components/common/icons/settings.tsx +39 -0
- package/src/components/common/icons/share.tsx +37 -0
- package/src/components/common/icons/split.tsx +57 -0
- package/src/components/common/icons/square-select.tsx +38 -0
- package/src/components/common/icons/swap-horizontal.js +1 -1
- package/src/components/common/icons/table.tsx +41 -0
- package/src/components/common/icons/trash.tsx +45 -0
- package/src/components/common/icons/upload.tsx +37 -0
- package/src/components/common/icons/vert-dots.tsx +44 -0
- package/src/components/common/icons/vert-three-dots.tsx +39 -0
- package/src/components/common/icons/warning.tsx +40 -0
- package/src/components/common/image-preview.tsx +118 -0
- package/src/components/common/info-helper.tsx +90 -0
- package/src/components/common/item-selector/accessor.ts +45 -0
- package/src/components/common/item-selector/chickleted-input.tsx +153 -0
- package/src/components/common/item-selector/dropdown-list.tsx +269 -0
- package/src/components/common/item-selector/item-selector-submenu.js +1 -1
- package/src/components/common/item-selector/item-selector.d.ts +24 -27
- package/src/components/common/item-selector/item-selector.tsx +372 -0
- package/src/components/common/item-selector/typeahead.tsx +533 -0
- package/src/components/common/line-chart.tsx +170 -0
- package/src/components/common/loading-spinner.tsx +75 -0
- package/src/components/common/logo.tsx +88 -0
- package/src/components/common/map-layer-selector.tsx +64 -0
- package/src/components/common/modal.tsx +238 -0
- package/src/components/common/portaled.tsx +312 -0
- package/src/components/common/progress-bar.tsx +74 -0
- package/src/components/common/range-brush.tsx +276 -0
- package/src/components/common/range-plot.tsx +145 -0
- package/src/components/common/range-slider.tsx +320 -0
- package/src/components/common/slider/mouse-event.ts +122 -0
- package/src/components/common/slider/slider-bar-handle.tsx +106 -0
- package/src/components/common/slider/slider-handle.tsx +210 -0
- package/src/components/common/slider/slider.tsx +234 -0
- package/src/components/common/styled-components.tsx +708 -0
- package/src/components/common/switch.tsx +47 -0
- package/src/components/common/time-range-slider-time-title.tsx +87 -0
- package/src/components/common/time-range-slider.tsx +171 -0
- package/src/components/common/time-slider-marker.tsx +187 -0
- package/src/components/common/tippy-tooltip.tsx +130 -0
- package/src/components/common/toolbar-item.tsx +99 -0
- package/src/components/common/toolbar.tsx +49 -0
- package/src/components/common/vertical-toolbar.tsx +35 -0
- package/src/components/container.d.ts +8 -0
- package/src/components/container.tsx +188 -0
- package/src/components/context.ts +32 -0
- package/src/components/editor/editor.tsx +231 -0
- package/src/components/editor/feature-action-panel.tsx +155 -0
- package/src/components/editor/feature-styles.ts +75 -0
- package/src/components/editor/handle-style.ts +89 -0
- package/src/components/filters/filter-panels/filter-panel-with-field-select.tsx +118 -0
- package/src/components/filters/filter-panels/multi-select-filter-panel.tsx +63 -0
- package/src/components/filters/filter-panels/new-filter-panel.tsx +100 -0
- package/src/components/filters/filter-panels/polygon-filter-panel.tsx +84 -0
- package/src/components/filters/filter-panels/range-filter-panel.tsx +63 -0
- package/src/components/filters/filter-panels/single-select-filter-panel.tsx +63 -0
- package/src/components/filters/filter-panels/time-range-filter-panel.tsx +92 -0
- package/src/components/filters/filter-panels/types.ts +39 -0
- package/src/components/filters/multi-select-filter.tsx +37 -0
- package/src/components/filters/polygon-filter.tsx +74 -0
- package/src/components/filters/range-filter.tsx +44 -0
- package/src/components/filters/single-select-filter.tsx +50 -0
- package/src/components/filters/time-range-filter.tsx +76 -0
- package/src/components/filters/time-widget.tsx +240 -0
- package/src/components/filters/types.ts +78 -0
- package/src/components/geocoder/geocoder.tsx +307 -0
- package/src/components/geocoder-panel.tsx +199 -0
- package/src/components/index.ts +262 -0
- package/src/components/injector.d.ts +33 -0
- package/src/components/injector.tsx +171 -0
- package/src/components/kepler-gl.d.ts +1 -2
- package/src/components/kepler-gl.tsx +579 -0
- package/src/components/map/coordinate-info.tsx +58 -0
- package/src/components/map/layer-hover-info.tsx +192 -0
- package/src/components/map/layer-selector-panel.tsx +121 -0
- package/src/components/map/locale-panel.tsx +110 -0
- package/src/components/map/map-control-panel.tsx +141 -0
- package/src/components/map/map-control-tooltip.tsx +45 -0
- package/src/components/map/map-control.tsx +138 -0
- package/src/components/map/map-draw-panel.tsx +145 -0
- package/src/components/map/map-legend-panel.tsx +167 -0
- package/src/components/map/map-legend.tsx +283 -0
- package/src/components/map/map-popover.tsx +266 -0
- package/src/components/map/split-map-button.tsx +98 -0
- package/src/components/map/toggle-3d-button.tsx +90 -0
- package/src/components/map-container.tsx +541 -0
- package/src/components/maps-layout.tsx +44 -0
- package/src/components/modal-container.tsx +556 -0
- package/src/components/modals/add-map-style-modal.tsx +303 -0
- package/src/components/modals/cloud-tile.tsx +181 -0
- package/src/components/modals/data-table-modal.tsx +241 -0
- package/src/components/modals/delete-data-modal.tsx +55 -0
- package/src/components/modals/error-display.tsx +43 -0
- package/src/components/modals/export-data-modal.tsx +201 -0
- package/src/components/modals/export-image-modal.tsx +155 -0
- package/src/components/modals/export-map-modal/export-html-map.tsx +164 -0
- package/src/components/modals/export-map-modal/export-json-map.tsx +112 -0
- package/src/components/modals/export-map-modal/export-map-modal.tsx +109 -0
- package/src/components/modals/image-modal-container.tsx +85 -0
- package/src/components/modals/load-data-modal.tsx +120 -0
- package/src/components/modals/load-storage-map.tsx +414 -0
- package/src/components/modals/loading-dialog.tsx +77 -0
- package/src/components/modals/modal-tabs.tsx +137 -0
- package/src/components/modals/overwrite-map-modal.tsx +113 -0
- package/src/components/modals/provider-modal-container.tsx +61 -0
- package/src/components/modals/save-map-modal.tsx +277 -0
- package/src/components/modals/share-map-modal.tsx +217 -0
- package/src/components/modals/status-panel.tsx +106 -0
- package/src/components/modals/storage-map-viewer.tsx +190 -0
- package/src/components/notification-panel/notification-item.tsx +143 -0
- package/src/components/notification-panel.tsx +75 -0
- package/src/components/plot-container.tsx +237 -0
- package/src/components/side-panel/common/dataset-info.tsx +46 -0
- package/src/components/side-panel/common/dataset-tag.tsx +86 -0
- package/src/components/side-panel/common/dataset-title.tsx +186 -0
- package/src/components/side-panel/common/source-data-catalog.tsx +67 -0
- package/src/components/side-panel/common/source-data-selector.tsx +90 -0
- package/src/components/side-panel/common/types.ts +76 -0
- package/src/components/side-panel/filter-manager.tsx +120 -0
- package/src/components/side-panel/filter-panel/filter-panel-header.tsx +96 -0
- package/src/components/side-panel/filter-panel/filter-panel.tsx +125 -0
- package/src/components/side-panel/interaction-manager.tsx +59 -0
- package/src/components/side-panel/interaction-panel/brush-config.tsx +58 -0
- package/src/components/side-panel/interaction-panel/interaction-panel.tsx +124 -0
- package/src/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.tsx +243 -0
- package/src/components/side-panel/interaction-panel/tooltip-config.tsx +238 -0
- package/src/components/side-panel/layer-manager.tsx +242 -0
- package/src/components/side-panel/layer-panel/add-layer-button.tsx +208 -0
- package/src/components/side-panel/layer-panel/color-dimension-scale-selector.js +1 -1
- package/src/components/side-panel/layer-panel/color-palette.tsx +98 -0
- package/src/components/side-panel/layer-panel/color-range-selector.tsx +377 -0
- package/src/components/side-panel/layer-panel/color-selector.tsx +200 -0
- package/src/components/side-panel/layer-panel/column-selector.tsx +102 -0
- package/src/components/side-panel/layer-panel/custom-markers-config-group.js +1 -1
- package/src/components/side-panel/layer-panel/custom-palette.tsx +297 -0
- package/src/components/side-panel/layer-panel/custom-picker.tsx +99 -0
- package/src/components/side-panel/layer-panel/dataset-layer-group.tsx +99 -0
- package/src/components/side-panel/layer-panel/dataset-layer-section.tsx +100 -0
- package/src/components/side-panel/layer-panel/dataset-section.tsx +125 -0
- package/src/components/side-panel/layer-panel/dimension-scale-selector.tsx +64 -0
- package/src/components/side-panel/layer-panel/layer-column-config.tsx +115 -0
- package/src/components/side-panel/layer-panel/layer-config-group.tsx +256 -0
- package/src/components/side-panel/layer-panel/layer-list.tsx +191 -0
- package/src/components/side-panel/layer-panel/layer-panel-header.tsx +272 -0
- package/src/components/side-panel/layer-panel/layer-panel.tsx +196 -0
- package/src/components/side-panel/layer-panel/layer-type-dropdown-list.tsx +118 -0
- package/src/components/side-panel/layer-panel/layer-type-list-item.tsx +92 -0
- package/src/components/side-panel/layer-panel/layer-type-selector.tsx +115 -0
- package/src/components/side-panel/layer-panel/layer-visibility-by-zoom.js +1 -1
- package/src/components/side-panel/layer-panel/panel-view-list-toggle.tsx +132 -0
- package/src/components/side-panel/layer-panel/single-color-palette.tsx +94 -0
- package/src/components/side-panel/layer-panel/text-label-panel.tsx +187 -0
- package/src/components/side-panel/layer-panel/vis-config-by-field-selector.tsx +179 -0
- package/src/components/side-panel/layer-panel/vis-config-slider.tsx +237 -0
- package/src/components/side-panel/layer-panel/vis-config-switch.tsx +86 -0
- package/src/components/side-panel/map-manager.tsx +123 -0
- package/src/components/side-panel/map-style-panel/map-layer-selector.tsx +145 -0
- package/src/components/side-panel/map-style-panel/map-style-selector.tsx +122 -0
- package/src/components/side-panel/panel-dropdown.tsx +53 -0
- package/src/components/side-panel/panel-header-action.tsx +114 -0
- package/src/components/side-panel/panel-header.tsx +386 -0
- package/src/components/side-panel/panel-tab.tsx +79 -0
- package/src/components/side-panel/panel-title.tsx +35 -0
- package/src/components/side-panel/panel-toggle.tsx +72 -0
- package/src/components/side-panel/side-bar.tsx +140 -0
- package/src/components/side-panel.tsx +261 -0
- package/src/components/types.ts +41 -0
- package/src/connect/keplergl-connect.ts +48 -0
- package/src/connect/with-local-selector.tsx +70 -0
- package/src/constants/action-types.ts +188 -0
- package/src/constants/color-ranges.ts +87 -0
- package/src/constants/default-settings.ts +1049 -0
- package/src/deckgl-layers/3d-building-layer/3d-building-layer.ts +57 -0
- package/src/deckgl-layers/3d-building-layer/3d-building-utils.ts +211 -0
- package/src/deckgl-layers/3d-building-layer/types.ts +29 -0
- package/src/deckgl-layers/column-layer/enhanced-column-layer.ts +63 -0
- package/src/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.ts +68 -0
- package/src/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.ts +68 -0
- package/src/deckgl-layers/layer-utils/cluster-utils.ts +78 -0
- package/src/deckgl-layers/layer-utils/cpu-aggregator.ts +672 -0
- package/src/deckgl-layers/layer-utils/shader-utils.ts +41 -0
- package/src/deckgl-layers/line-layer/line-layer.ts +126 -0
- package/src/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.ts +63 -0
- package/src/deckgl-layers/svg-icon-layer/svg-icon-layer.ts +96 -0
- package/src/index.d.ts +1 -0
- package/src/layers/aggregation-layer.ts +402 -0
- package/src/layers/arc-layer/arc-layer-icon.tsx +67 -0
- package/src/layers/arc-layer/arc-layer.ts +294 -0
- package/src/layers/base-layer.ts +1743 -0
- package/src/layers/cluster-layer/cluster-layer.ts +162 -0
- package/src/layers/geojson-layer/geojson-layer-icon.tsx +68 -0
- package/src/layers/geojson-layer/geojson-layer.ts +461 -0
- package/src/layers/geojson-layer/geojson-utils.ts +200 -0
- package/src/layers/grid-layer/grid-layer-icon.tsx +53 -0
- package/src/layers/grid-layer/grid-layer.ts +153 -0
- package/src/layers/grid-layer/grid-utils.ts +84 -0
- package/src/layers/h3-hexagon-layer/h3-hexagon-layer.ts +339 -0
- package/src/layers/h3-hexagon-layer/h3-utils.ts +67 -0
- package/src/layers/heatmap-layer/heatmap-layer.ts +255 -0
- package/src/layers/hexagon-layer/hexagon-layer.ts +156 -0
- package/src/layers/hexagon-layer/hexagon-utils.ts +64 -0
- package/src/layers/icon-layer/icon-info-modal.tsx +155 -0
- package/src/layers/icon-layer/icon-layer.ts +392 -0
- package/src/layers/index.ts +77 -0
- package/src/layers/layer-factory.ts +695 -0
- package/src/layers/layer-text-label.ts +62 -0
- package/src/layers/layer-update.ts +70 -0
- package/src/layers/line-layer/line-layer.ts +222 -0
- package/src/layers/mapbox-utils.ts +204 -0
- package/src/layers/mapboxgl-layer.ts +176 -0
- package/src/layers/point-layer/point-layer.ts +504 -0
- package/src/layers/s2-geometry-layer/s2-geometry-layer.ts +369 -0
- package/src/layers/s2-geometry-layer/s2-utils.ts +42 -0
- package/src/layers/scenegraph-layer/scenegraph-layer.ts +237 -0
- package/src/layers/trip-layer/trip-layer.ts +356 -0
- package/src/layers/trip-layer/trip-utils.ts +177 -0
- package/src/localization/formatted-message.tsx +42 -0
- package/src/localization/index.ts +29 -0
- package/src/localization/locales.ts +53 -0
- package/src/localization/messages.ts +40 -0
- package/src/localization/translations/ca.ts +476 -0
- package/src/localization/translations/cn.ts +477 -0
- package/src/localization/translations/en.ts +504 -0
- package/src/localization/translations/es.ts +477 -0
- package/src/localization/translations/fi.ts +448 -0
- package/src/localization/translations/ja.ts +477 -0
- package/src/localization/translations/pt.ts +449 -0
- package/src/localization/translations/ru.ts +488 -0
- package/src/middleware/index.ts +35 -0
- package/src/processors/data-processor.ts +723 -0
- package/src/processors/file-handler.ts +248 -0
- package/src/processors/index.ts +22 -0
- package/src/processors/types.ts +22 -0
- package/src/reducers/combined-updaters.ts +216 -0
- package/src/reducers/composer-helpers.ts +75 -0
- package/src/reducers/core.ts +111 -0
- package/src/reducers/index.ts +116 -0
- package/src/reducers/map-state-updaters.ts +271 -0
- package/src/reducers/map-state.ts +47 -0
- package/src/reducers/map-style-updaters.ts +640 -0
- package/src/reducers/map-style.ts +53 -0
- package/src/reducers/provider-state-updaters.ts +454 -0
- package/src/reducers/provider-state.ts +53 -0
- package/src/reducers/root.ts +231 -0
- package/src/reducers/types.ts +18 -0
- package/src/reducers/ui-state-updaters.ts +926 -0
- package/src/reducers/ui-state.ts +75 -0
- package/src/reducers/vis-state-merger.ts +627 -0
- package/src/reducers/vis-state-selectors.ts +37 -0
- package/src/reducers/vis-state-updaters.ts +2568 -0
- package/src/reducers/vis-state.ts +157 -0
- package/src/schemas/dataset-schema.ts +141 -0
- package/src/schemas/index.ts +52 -0
- package/src/schemas/schema-manager.ts +446 -0
- package/src/schemas/schema.ts +124 -0
- package/src/schemas/vis-state-schema.ts +761 -0
- package/src/styles/base.ts +1642 -0
- package/src/styles/media-breakpoints.ts +56 -0
- package/src/typedefs/deckgl.d.ts +25 -0
- package/src/utils/aggregate-utils.ts +71 -0
- package/src/utils/color-utils.ts +134 -0
- package/src/utils/data-scale-utils.ts +73 -0
- package/src/utils/data-utils.ts +459 -0
- package/src/utils/dataset-utils.ts +261 -0
- package/src/utils/dom-to-image.ts +533 -0
- package/src/utils/dom-utils.ts +354 -0
- package/src/utils/export-utils.ts +265 -0
- package/src/utils/filter-utils.ts +1185 -0
- package/src/utils/gpu-filter-utils.ts +249 -0
- package/src/utils/index.ts +69 -0
- package/src/utils/interaction-utils.ts +212 -0
- package/src/utils/layer-utils.ts +249 -0
- package/src/utils/map-style-utils/mapbox-gl-style-editor.ts +227 -0
- package/src/utils/notifications-utils.ts +89 -0
- package/src/utils/observe-dimensions.ts +127 -0
- package/src/utils/split-map-utils.ts +104 -0
- package/src/utils/table-utils/data-container-utils.ts +90 -0
- package/src/utils/table-utils/data-row.ts +110 -0
- package/src/utils/table-utils/indexed-data-container.ts +184 -0
- package/src/utils/table-utils/kepler-table.ts +639 -0
- package/src/utils/table-utils/row-data-container.ts +178 -0
- package/src/utils/utils.ts +228 -0
- package/dist/components/common/icons/arrow-down-solid .js +0 -64
- package/dist/localization/en.js +0 -494
- package/src/actions/action-wrapper.js +0 -183
- package/src/actions/actions.d.ts +0 -104
- package/src/actions/actions.js +0 -178
- package/src/actions/identity-actions.d.ts +0 -53
- package/src/actions/identity-actions.js +0 -83
- package/src/actions/index.d.ts +0 -23
- package/src/actions/map-state-actions.d.ts +0 -46
- package/src/actions/map-state-actions.js +0 -90
- package/src/actions/map-style-actions.d.ts +0 -116
- package/src/actions/map-style-actions.js +0 -135
- package/src/actions/provider-actions.d.ts +0 -203
- package/src/actions/provider-actions.js +0 -94
- package/src/actions/ui-state-actions.d.ts +0 -200
- package/src/actions/ui-state-actions.js +0 -272
- package/src/actions/vis-state-actions.d.ts +0 -502
- package/src/actions/vis-state-actions.js +0 -919
- package/src/cloud-providers/index.d.ts +0 -53
- package/src/cloud-providers/index.js +0 -21
- package/src/cloud-providers/provider.js +0 -233
- package/src/components/bottom-widget.d.ts +0 -33
- package/src/components/bottom-widget.js +0 -235
- package/src/components/common/action-panel.d.ts +0 -24
- package/src/components/common/action-panel.js +0 -177
- package/src/components/common/animation-control/animation-control.js +0 -155
- package/src/components/common/animation-control/animation-controller.js +0 -224
- package/src/components/common/animation-control/animation-speed-slider.js +0 -79
- package/src/components/common/animation-control/floating-time-display.js +0 -192
- package/src/components/common/animation-control/playback-controls.js +0 -278
- package/src/components/common/animation-control/speed-control.js +0 -71
- package/src/components/common/checkbox.js +0 -128
- package/src/components/common/color-legend.js +0 -198
- package/src/components/common/data-table/button.js +0 -47
- package/src/components/common/data-table/cell-size.js +0 -180
- package/src/components/common/data-table/grid.js +0 -55
- package/src/components/common/data-table/index.js +0 -620
- package/src/components/common/data-table/option-dropdown.js +0 -110
- package/src/components/common/dataset-label.js +0 -40
- package/src/components/common/error-boundary.js +0 -43
- package/src/components/common/field-selector.js +0 -233
- package/src/components/common/field-token.js +0 -56
- package/src/components/common/file-uploader/file-drop.d.ts +0 -19
- package/src/components/common/file-uploader/file-drop.js +0 -196
- package/src/components/common/file-uploader/file-upload-progress.d.ts +0 -11
- package/src/components/common/file-uploader/file-upload-progress.js +0 -110
- package/src/components/common/file-uploader/file-upload.d.ts +0 -22
- package/src/components/common/file-uploader/file-upload.js +0 -301
- package/src/components/common/file-uploader/upload-button.d.ts.wip +0 -11
- package/src/components/common/file-uploader/upload-button.js +0 -83
- package/src/components/common/histogram-plot.js +0 -102
- package/src/components/common/icons/add.js +0 -43
- package/src/components/common/icons/anchor_window.js +0 -53
- package/src/components/common/icons/arrow-down-alt.js +0 -43
- package/src/components/common/icons/arrow-down-solid .js +0 -43
- package/src/components/common/icons/arrow-down.js +0 -46
- package/src/components/common/icons/arrow-left.js +0 -48
- package/src/components/common/icons/arrow-right.js +0 -46
- package/src/components/common/icons/arrow-up-alt.js +0 -46
- package/src/components/common/icons/arrow-up-solid.js +0 -43
- package/src/components/common/icons/arrow-up.js +0 -46
- package/src/components/common/icons/base.js +0 -90
- package/src/components/common/icons/bug.js +0 -46
- package/src/components/common/icons/cancel.js +0 -43
- package/src/components/common/icons/checkmark.js +0 -45
- package/src/components/common/icons/clipboard.js +0 -46
- package/src/components/common/icons/clock.js +0 -44
- package/src/components/common/icons/close.js +0 -49
- package/src/components/common/icons/code-alt.js +0 -43
- package/src/components/common/icons/copy.js +0 -44
- package/src/components/common/icons/crosshairs.js +0 -43
- package/src/components/common/icons/cube-3d.js +0 -45
- package/src/components/common/icons/cursor-click.js +0 -49
- package/src/components/common/icons/data-table.js +0 -45
- package/src/components/common/icons/db.js +0 -45
- package/src/components/common/icons/delete.js +0 -44
- package/src/components/common/icons/docs.js +0 -46
- package/src/components/common/icons/drag-n-drop.js +0 -44
- package/src/components/common/icons/draw-polygon.js +0 -60
- package/src/components/common/icons/email.js +0 -45
- package/src/components/common/icons/expand.js +0 -45
- package/src/components/common/icons/eye-seen.js +0 -44
- package/src/components/common/icons/eye-unseen.js +0 -44
- package/src/components/common/icons/file-type.js +0 -57
- package/src/components/common/icons/file.js +0 -43
- package/src/components/common/icons/files.js +0 -42
- package/src/components/common/icons/filter-funnel.js +0 -43
- package/src/components/common/icons/free-window.js +0 -53
- package/src/components/common/icons/gear.js +0 -45
- package/src/components/common/icons/hash.js +0 -43
- package/src/components/common/icons/histogram.js +0 -47
- package/src/components/common/icons/index.js +0 -96
- package/src/components/common/icons/info.js +0 -54
- package/src/components/common/icons/layers.js +0 -43
- package/src/components/common/icons/left-arrow.js +0 -43
- package/src/components/common/icons/legend.js +0 -43
- package/src/components/common/icons/line-chart.js +0 -45
- package/src/components/common/icons/login.js +0 -46
- package/src/components/common/icons/logout.js +0 -43
- package/src/components/common/icons/map-icon.js +0 -69
- package/src/components/common/icons/map.js +0 -69
- package/src/components/common/icons/messages.js +0 -43
- package/src/components/common/icons/minus.js +0 -45
- package/src/components/common/icons/pause.js +0 -43
- package/src/components/common/icons/picture.js +0 -43
- package/src/components/common/icons/pin.js +0 -43
- package/src/components/common/icons/play.js +0 -43
- package/src/components/common/icons/polygon.js +0 -74
- package/src/components/common/icons/rectangle.js +0 -75
- package/src/components/common/icons/reduce.js +0 -48
- package/src/components/common/icons/reset.js +0 -43
- package/src/components/common/icons/rocket.js +0 -43
- package/src/components/common/icons/save.js +0 -44
- package/src/components/common/icons/save2.js +0 -47
- package/src/components/common/icons/search.js +0 -44
- package/src/components/common/icons/settings.js +0 -45
- package/src/components/common/icons/share.js +0 -43
- package/src/components/common/icons/split.js +0 -63
- package/src/components/common/icons/square-select.js +0 -44
- package/src/components/common/icons/table.js +0 -46
- package/src/components/common/icons/trash.js +0 -51
- package/src/components/common/icons/upload.js +0 -44
- package/src/components/common/icons/vert-dots.js +0 -50
- package/src/components/common/icons/vert-three-dots.js +0 -45
- package/src/components/common/icons/warning.js +0 -46
- package/src/components/common/image-preview.js +0 -111
- package/src/components/common/info-helper.js +0 -84
- package/src/components/common/item-selector/accessor.js +0 -45
- package/src/components/common/item-selector/chickleted-input.js +0 -143
- package/src/components/common/item-selector/dropdown-list.js +0 -258
- package/src/components/common/item-selector/item-selector.js +0 -360
- package/src/components/common/item-selector/typeahead.js +0 -507
- package/src/components/common/line-chart.js +0 -134
- package/src/components/common/loading-spinner.js +0 -64
- package/src/components/common/logo.js +0 -92
- package/src/components/common/map-layer-selector.d.ts +0 -10
- package/src/components/common/map-layer-selector.js +0 -54
- package/src/components/common/modal.js +0 -233
- package/src/components/common/portaled.js +0 -264
- package/src/components/common/progress-bar.d.ts +0 -13
- package/src/components/common/progress-bar.js +0 -49
- package/src/components/common/range-brush.js +0 -256
- package/src/components/common/range-plot.js +0 -139
- package/src/components/common/range-slider.js +0 -299
- package/src/components/common/slider/mouse-event.js +0 -97
- package/src/components/common/slider/slider-bar-handle.js +0 -97
- package/src/components/common/slider/slider-handle.js +0 -181
- package/src/components/common/slider/slider.js +0 -213
- package/src/components/common/styled-components.js +0 -657
- package/src/components/common/switch.js +0 -50
- package/src/components/common/time-range-slider-time-title.js +0 -76
- package/src/components/common/time-range-slider.js +0 -163
- package/src/components/common/time-slider-marker.js +0 -168
- package/src/components/common/toolbar-item.d.ts +0 -14
- package/src/components/common/toolbar-item.js +0 -83
- package/src/components/common/toolbar.js +0 -45
- package/src/components/common/vertical-toolbar.js +0 -35
- package/src/components/container.js +0 -173
- package/src/components/context.d.ts +0 -10
- package/src/components/context.js +0 -32
- package/src/components/editor/editor.js +0 -218
- package/src/components/editor/feature-action-panel.js +0 -143
- package/src/components/editor/feature-styles.js +0 -75
- package/src/components/editor/handle-style.js +0 -89
- package/src/components/filters/filter-panels/filter-panel-types.d.ts +0 -28
- package/src/components/filters/filter-panels/filter-panel-with-field-select.js +0 -124
- package/src/components/filters/filter-panels/multi-select-filter-panel.js +0 -75
- package/src/components/filters/filter-panels/new-filter-panel.js +0 -99
- package/src/components/filters/filter-panels/polygon-filter-panel.js +0 -96
- package/src/components/filters/filter-panels/range-filter-panel.js +0 -75
- package/src/components/filters/filter-panels/single-select-filter-panel.js +0 -75
- package/src/components/filters/filter-panels/time-range-filter-panel.js +0 -95
- package/src/components/filters/multi-select-filter.js +0 -36
- package/src/components/filters/polygon-filter.d.ts +0 -13
- package/src/components/filters/polygon-filter.js +0 -73
- package/src/components/filters/range-filter.js +0 -43
- package/src/components/filters/single-select-filter.js +0 -49
- package/src/components/filters/time-range-filter.js +0 -68
- package/src/components/filters/time-widget.js +0 -228
- package/src/components/geocoder/geocoder.d.ts +0 -33
- package/src/components/geocoder/geocoder.js +0 -272
- package/src/components/geocoder-panel.js +0 -191
- package/src/components/index.js +0 -247
- package/src/components/injector.js +0 -161
- package/src/components/kepler-gl.js +0 -518
- package/src/components/map/coordinate-info.js +0 -53
- package/src/components/map/layer-hover-info.d.ts +0 -12
- package/src/components/map/layer-hover-info.js +0 -185
- package/src/components/map/layer-selector-panel.d.ts +0 -16
- package/src/components/map/layer-selector-panel.js +0 -106
- package/src/components/map/locale-panel.d.ts +0 -12
- package/src/components/map/locale-panel.js +0 -91
- package/src/components/map/map-control-panel.d.ts +0 -11
- package/src/components/map/map-control-panel.js +0 -98
- package/src/components/map/map-control-tooltip.d.ts +0 -8
- package/src/components/map/map-control-tooltip.js +0 -40
- package/src/components/map/map-control.d.ts +0 -37
- package/src/components/map/map-control.js +0 -100
- package/src/components/map/map-draw-panel.d.ts +0 -16
- package/src/components/map/map-draw-panel.js +0 -125
- package/src/components/map/map-legend-panel.d.ts +0 -20
- package/src/components/map/map-legend-panel.js +0 -100
- package/src/components/map/map-legend.d.ts +0 -58
- package/src/components/map/map-legend.js +0 -228
- package/src/components/map/map-popover.d.ts +0 -28
- package/src/components/map/map-popover.js +0 -250
- package/src/components/map/split-map-button.d.ts +0 -19
- package/src/components/map/split-map-button.js +0 -82
- package/src/components/map/toggle-3d-button.d.ts +0 -16
- package/src/components/map/toggle-3d-button.js +0 -75
- package/src/components/map-container.d.ts +0 -18
- package/src/components/map-container.js +0 -499
- package/src/components/maps-layout.d.ts +0 -5
- package/src/components/maps-layout.js +0 -40
- package/src/components/modal-container.d.ts +0 -37
- package/src/components/modal-container.js +0 -543
- package/src/components/modals/add-map-style-modal.js +0 -298
- package/src/components/modals/cloud-tile.js +0 -147
- package/src/components/modals/data-table-modal.js +0 -217
- package/src/components/modals/delete-data-modal.js +0 -48
- package/src/components/modals/error-display.js +0 -39
- package/src/components/modals/export-data-modal.js +0 -193
- package/src/components/modals/export-image-modal.d.ts +0 -21
- package/src/components/modals/export-image-modal.js +0 -144
- package/src/components/modals/export-map-modal/export-html-map.d.ts +0 -21
- package/src/components/modals/export-map-modal/export-html-map.js +0 -145
- package/src/components/modals/export-map-modal/export-json-map.js +0 -100
- package/src/components/modals/export-map-modal/export-map-modal.js +0 -114
- package/src/components/modals/image-modal-container.d.ts +0 -13
- package/src/components/modals/image-modal-container.js +0 -76
- package/src/components/modals/load-data-modal.d.ts +0 -30
- package/src/components/modals/load-data-modal.js +0 -94
- package/src/components/modals/load-storage-map.js +0 -381
- package/src/components/modals/loading-dialog.js +0 -69
- package/src/components/modals/modal-tabs.js +0 -126
- package/src/components/modals/overwrite-map-modal.d.ts +0 -18
- package/src/components/modals/overwrite-map-modal.js +0 -97
- package/src/components/modals/provider-modal-container.d.ts +0 -12
- package/src/components/modals/provider-modal-container.js +0 -60
- package/src/components/modals/save-map-modal.d.ts +0 -32
- package/src/components/modals/save-map-modal.js +0 -244
- package/src/components/modals/share-map-modal.js +0 -208
- package/src/components/modals/status-panel.js +0 -95
- package/src/components/modals/storage-map-viewer.js +0 -177
- package/src/components/notification-panel/notification-item.js +0 -132
- package/src/components/notification-panel.js +0 -72
- package/src/components/plot-container.js +0 -228
- package/src/components/side-panel/common/dataset-info.js +0 -45
- package/src/components/side-panel/common/dataset-tag.js +0 -55
- package/src/components/side-panel/common/dataset-title.js +0 -146
- package/src/components/side-panel/common/source-data-catalog.js +0 -61
- package/src/components/side-panel/common/source-data-selector.js +0 -79
- package/src/components/side-panel/filter-manager.js +0 -105
- package/src/components/side-panel/filter-panel/filter-panel-header.js +0 -83
- package/src/components/side-panel/filter-panel/filter-panel.js +0 -126
- package/src/components/side-panel/interaction-manager.js +0 -46
- package/src/components/side-panel/interaction-panel/brush-config.js +0 -51
- package/src/components/side-panel/interaction-panel/interaction-panel.js +0 -115
- package/src/components/side-panel/interaction-panel/tooltip-config/tooltip-chicklet.js +0 -199
- package/src/components/side-panel/interaction-panel/tooltip-config.js +0 -190
- package/src/components/side-panel/layer-manager.js +0 -290
- package/src/components/side-panel/layer-panel/color-palette.js +0 -90
- package/src/components/side-panel/layer-panel/color-range-selector.js +0 -353
- package/src/components/side-panel/layer-panel/color-selector.js +0 -196
- package/src/components/side-panel/layer-panel/column-selector.js +0 -70
- package/src/components/side-panel/layer-panel/custom-palette.js +0 -296
- package/src/components/side-panel/layer-panel/custom-picker.js +0 -88
- package/src/components/side-panel/layer-panel/dimension-scale-selector.js +0 -48
- package/src/components/side-panel/layer-panel/layer-column-config.js +0 -113
- package/src/components/side-panel/layer-panel/layer-config-group.js +0 -237
- package/src/components/side-panel/layer-panel/layer-panel-header.js +0 -236
- package/src/components/side-panel/layer-panel/layer-panel.js +0 -171
- package/src/components/side-panel/layer-panel/layer-type-dropdown-list.js +0 -105
- package/src/components/side-panel/layer-panel/layer-type-list-item.js +0 -83
- package/src/components/side-panel/layer-panel/layer-type-selector.js +0 -89
- package/src/components/side-panel/layer-panel/single-color-palette.js +0 -98
- package/src/components/side-panel/layer-panel/text-label-panel.js +0 -179
- package/src/components/side-panel/layer-panel/vis-config-by-field-selector.js +0 -163
- package/src/components/side-panel/layer-panel/vis-config-slider.js +0 -82
- package/src/components/side-panel/layer-panel/vis-config-switch.js +0 -87
- package/src/components/side-panel/map-manager.js +0 -114
- package/src/components/side-panel/map-style-panel/map-layer-selector.js +0 -128
- package/src/components/side-panel/map-style-panel/map-style-selector.js +0 -111
- package/src/components/side-panel/panel-dropdown.js +0 -53
- package/src/components/side-panel/panel-header-action.js +0 -106
- package/src/components/side-panel/panel-header.js +0 -321
- package/src/components/side-panel/panel-tab.js +0 -62
- package/src/components/side-panel/panel-title.js +0 -32
- package/src/components/side-panel/panel-toggle.js +0 -70
- package/src/components/side-panel/side-bar.js +0 -136
- package/src/components/side-panel.d.ts +0 -33
- package/src/components/side-panel.js +0 -253
- package/src/connect/keplergl-connect.js +0 -47
- package/src/connect/with-local-selector.d.ts +0 -11
- package/src/connect/with-local-selector.js +0 -67
- package/src/constants/action-types.d.ts +0 -135
- package/src/constants/action-types.js +0 -184
- package/src/constants/color-ranges.js +0 -72
- package/src/constants/default-settings.js +0 -994
- package/src/deckgl-layers/3d-building-layer/3d-building-layer.js +0 -56
- package/src/deckgl-layers/3d-building-layer/3d-building-utils.js +0 -192
- package/src/deckgl-layers/column-layer/enhanced-column-layer.js +0 -63
- package/src/deckgl-layers/grid-layer/enhanced-cpu-grid-layer.js +0 -70
- package/src/deckgl-layers/hexagon-layer/enhanced-hexagon-layer.js +0 -70
- package/src/deckgl-layers/layer-utils/cluster-utils.js +0 -76
- package/src/deckgl-layers/layer-utils/cpu-aggregator.js +0 -583
- package/src/deckgl-layers/layer-utils/shader-utils.js +0 -41
- package/src/deckgl-layers/line-layer/line-layer.js +0 -122
- package/src/deckgl-layers/svg-icon-layer/scatterplot-icon-layer.js +0 -57
- package/src/deckgl-layers/svg-icon-layer/svg-icon-layer.js +0 -85
- package/src/layers/aggregation-layer.js +0 -356
- package/src/layers/arc-layer/arc-layer-icon.js +0 -67
- package/src/layers/arc-layer/arc-layer.js +0 -221
- package/src/layers/base-layer.js +0 -1545
- package/src/layers/cluster-layer/cluster-layer.js +0 -125
- package/src/layers/geojson-layer/geojson-layer-icon.js +0 -68
- package/src/layers/geojson-layer/geojson-layer.js +0 -344
- package/src/layers/geojson-layer/geojson-utils.js +0 -179
- package/src/layers/grid-layer/grid-layer-icon.js +0 -53
- package/src/layers/grid-layer/grid-layer.js +0 -95
- package/src/layers/grid-layer/grid-utils.js +0 -71
- package/src/layers/h3-hexagon-layer/h3-hexagon-layer.js +0 -264
- package/src/layers/h3-hexagon-layer/h3-utils.js +0 -65
- package/src/layers/heatmap-layer/heatmap-layer.js +0 -226
- package/src/layers/hexagon-layer/hexagon-layer.js +0 -95
- package/src/layers/hexagon-layer/hexagon-utils.js +0 -63
- package/src/layers/icon-layer/icon-info-modal.js +0 -155
- package/src/layers/icon-layer/icon-layer.js +0 -324
- package/src/layers/index.d.ts +0 -128
- package/src/layers/index.js +0 -72
- package/src/layers/layer-factory.d.ts +0 -149
- package/src/layers/layer-factory.js +0 -480
- package/src/layers/layer-text-label.js +0 -62
- package/src/layers/layer-update.js +0 -71
- package/src/layers/line-layer/line-layer.js +0 -161
- package/src/layers/mapbox-utils.js +0 -195
- package/src/layers/mapboxgl-layer.js +0 -154
- package/src/layers/point-layer/point-layer.js +0 -414
- package/src/layers/s2-geometry-layer/s2-geometry-layer.js +0 -265
- package/src/layers/s2-geometry-layer/s2-utils.js +0 -36
- package/src/layers/scenegraph-layer/scenegraph-layer.js +0 -182
- package/src/layers/trip-layer/trip-layer.js +0 -295
- package/src/layers/trip-layer/trip-utils.js +0 -169
- package/src/localization/en.js +0 -504
- package/src/localization/formatted-message.js +0 -33
- package/src/localization/index.js +0 -32
- package/src/localization/locales.js +0 -46
- package/src/middleware/index.js +0 -34
- package/src/processors/data-processor.d.ts +0 -57
- package/src/processors/data-processor.js +0 -684
- package/src/processors/file-handler.d.ts +0 -46
- package/src/processors/file-handler.js +0 -220
- package/src/processors/index.js +0 -44
- package/src/reducers/combined-updaters.d.ts +0 -26
- package/src/reducers/combined-updaters.js +0 -198
- package/src/reducers/composer-helpers.d.ts +0 -32
- package/src/reducers/composer-helpers.js +0 -70
- package/src/reducers/core.d.ts +0 -25
- package/src/reducers/core.js +0 -97
- package/src/reducers/index.d.ts +0 -118
- package/src/reducers/index.js +0 -53
- package/src/reducers/map-state-updaters.d.ts +0 -64
- package/src/reducers/map-state-updaters.js +0 -224
- package/src/reducers/map-state.js +0 -47
- package/src/reducers/map-style-updaters.d.ts +0 -76
- package/src/reducers/map-style-updaters.js +0 -541
- package/src/reducers/map-style.js +0 -53
- package/src/reducers/provider-state-updaters.d.ts +0 -88
- package/src/reducers/provider-state-updaters.js +0 -428
- package/src/reducers/provider-state.js +0 -53
- package/src/reducers/root.js +0 -230
- package/src/reducers/types.d.ts +0 -10
- package/src/reducers/ui-state-updaters.d.ts +0 -198
- package/src/reducers/ui-state-updaters.js +0 -766
- package/src/reducers/ui-state.js +0 -73
- package/src/reducers/vis-state-merger.d.ts +0 -78
- package/src/reducers/vis-state-merger.js +0 -557
- package/src/reducers/vis-state-selectors.js +0 -35
- package/src/reducers/vis-state-updaters.d.ts +0 -534
- package/src/reducers/vis-state-updaters.js +0 -2137
- package/src/reducers/vis-state.js +0 -155
- package/src/schemas/dataset-schema.js +0 -141
- package/src/schemas/index.d.ts +0 -24
- package/src/schemas/index.js +0 -42
- package/src/schemas/schema-manager.d.ts +0 -229
- package/src/schemas/schema-manager.js +0 -228
- package/src/schemas/schema.d.ts +0 -47
- package/src/schemas/schema.js +0 -90
- package/src/schemas/versions.d.ts +0 -23
- package/src/schemas/vis-state-schema.js +0 -754
- package/src/styles/base.js +0 -1620
- package/src/styles/media-breakpoints.js +0 -47
- package/src/typedefs/README.md +0 -3
- package/src/typedefs/deck.gl__core.d.ts +0 -64
- package/src/typedefs/deck.gl__mesh-layers.d.ts +0 -33
- package/src/utils/aggregate-utils.js +0 -71
- package/src/utils/color-utils.js +0 -115
- package/src/utils/data-scale-utils.d.ts +0 -26
- package/src/utils/data-scale-utils.js +0 -61
- package/src/utils/data-utils.d.ts +0 -46
- package/src/utils/data-utils.js +0 -447
- package/src/utils/dataset-utils.d.ts +0 -10
- package/src/utils/dataset-utils.js +0 -255
- package/src/utils/dom-to-image.js +0 -533
- package/src/utils/dom-utils.js +0 -354
- package/src/utils/export-utils.js +0 -247
- package/src/utils/filter-utils.d.ts +0 -192
- package/src/utils/filter-utils.js +0 -1114
- package/src/utils/gpu-filter-utils.d.ts +0 -28
- package/src/utils/gpu-filter-utils.js +0 -253
- package/src/utils/index.d.ts +0 -5
- package/src/utils/index.js +0 -55
- package/src/utils/interaction-utils.d.ts +0 -36
- package/src/utils/interaction-utils.js +0 -185
- package/src/utils/layer-utils.d.ts +0 -78
- package/src/utils/layer-utils.js +0 -206
- package/src/utils/map-style-utils/mapbox-gl-style-editor.js +0 -201
- package/src/utils/notifications-utils.js +0 -83
- package/src/utils/observe-dimensions.d.ts +0 -18
- package/src/utils/observe-dimensions.js +0 -115
- package/src/utils/split-map-utils.js +0 -104
- package/src/utils/table-utils/data-container-utils.d.ts +0 -43
- package/src/utils/table-utils/data-container-utils.js +0 -61
- package/src/utils/table-utils/data-row.d.ts +0 -65
- package/src/utils/table-utils/data-row.js +0 -54
- package/src/utils/table-utils/index.d.ts +0 -1
- package/src/utils/table-utils/indexed-data-container.d.ts +0 -26
- package/src/utils/table-utils/indexed-data-container.js +0 -152
- package/src/utils/table-utils/kepler-table.d.ts +0 -114
- package/src/utils/table-utils/kepler-table.js +0 -508
- package/src/utils/table-utils/row-data-container.d.ts +0 -30
- package/src/utils/table-utils/row-data-container.js +0 -151
- package/src/utils/utils.js +0 -202
- /package/src/actions/{index.js → index.ts} +0 -0
- /package/src/components/common/data-table/{canvas.js → canvas.tsx} +0 -0
- /package/src/components/editor/{constants.js → constants.ts} +0 -0
- /package/src/components/filters/{components.js → components.ts} +0 -0
- /package/src/components/filters/{index.js → index.ts} +0 -0
- /package/src/components/map/{map-control-toolbar.js → map-control-toolbar.tsx} +0 -0
- /package/src/components/modals/export-map-modal/{components.js → components.tsx} +0 -0
- /package/src/components/modals/{modal-dialog.js → modal-dialog.tsx} +0 -0
- /package/src/components/side-panel/{cloud-storage-dropdown.js → cloud-storage-dropdown.tsx} +0 -0
- /package/src/components/side-panel/{custom-panel.js → custom-panel.tsx} +0 -0
- /package/src/components/side-panel/layer-panel/{layer-configurator.js → layer-configurator.tsx} +0 -0
- /package/src/constants/{color-palette.js → color-palette.ts} +0 -0
- /package/src/constants/{custom-color-ranges.js → custom-color-ranges.ts} +0 -0
- /package/src/constants/{index.js → index.ts} +0 -0
- /package/src/constants/{keyevent.js → keyevent.ts} +0 -0
- /package/src/constants/{tooltip.js → tooltip.ts} +0 -0
- /package/src/constants/{user-feedbacks.js → user-feedbacks.ts} +0 -0
- /package/src/constants/{user-guides.js → user-guides.ts} +0 -0
- /package/src/layers/cluster-layer/{cluster-layer-icon.js → cluster-layer-icon.tsx} +0 -0
- /package/src/layers/{default-layer-icon.js → default-layer-icon.tsx} +0 -0
- /package/src/layers/h3-hexagon-layer/{h3-hexagon-layer-icon.js → h3-hexagon-layer-icon.tsx} +0 -0
- /package/src/layers/heatmap-layer/{heatmap-layer-icon.js → heatmap-layer-icon.tsx} +0 -0
- /package/src/layers/hexagon-layer/{hexagon-layer-icon.js → hexagon-layer-icon.tsx} +0 -0
- /package/src/layers/icon-layer/{icon-layer-icon.js → icon-layer-icon.tsx} +0 -0
- /package/src/layers/line-layer/{line-layer-icon.js → line-layer-icon.tsx} +0 -0
- /package/src/layers/point-layer/{point-layer-icon.js → point-layer-icon.tsx} +0 -0
- /package/src/layers/s2-geometry-layer/{s2-layer-icon.js → s2-layer-icon.tsx} +0 -0
- /package/src/layers/scenegraph-layer/{scenegraph-info-modal.js → scenegraph-info-modal.tsx} +0 -0
- /package/src/layers/scenegraph-layer/{scenegraph-layer-icon.js → scenegraph-layer-icon.tsx} +0 -0
- /package/src/layers/trip-layer/{trip-info-modal.js → trip-info-modal.tsx} +0 -0
- /package/src/layers/trip-layer/{trip-layer-icon.js → trip-layer-icon.tsx} +0 -0
- /package/src/layers/{types.js → types.ts} +0 -0
- /package/src/reducers/{composers.js → composers.ts} +0 -0
- /package/src/schemas/{map-state-schema.js → map-state-schema.ts} +0 -0
- /package/src/schemas/{map-style-schema.js → map-style-schema.ts} +0 -0
- /package/src/schemas/{schema-utils.js → schema-utils.ts} +0 -0
- /package/src/schemas/{versions.js → versions.ts} +0 -0
- /package/src/styles/{index.js → index.ts} +0 -0
- /package/src/tasks/{tasks.js → tasks.ts} +0 -0
- /package/src/templates/{export-map-html.js → export-map-html.ts} +0 -0
- /package/src/utils/{gl-utils.js → gl-utils.ts} +0 -0
- /package/src/utils/{locale-utils.js → locale-utils.ts} +0 -0
- /package/src/utils/{map-info-utils.js → map-info-utils.ts} +0 -0
- /package/src/utils/map-style-utils/{mapbox-utils.js → mapbox-utils.ts} +0 -0
- /package/src/utils/{mapbox-utils.js → mapbox-utils.ts} +0 -0
- /package/src/utils/{projection-utils.js → projection-utils.ts} +0 -0
- /package/src/utils/{searcher-utils.js → searcher-utils.ts} +0 -0
- /package/src/utils/table-utils/{data-container-interface.d.ts → data-container-interface.ts} +0 -0
- /package/src/utils/table-utils/{index.js → index.ts} +0 -0
|
@@ -0,0 +1,1279 @@
|
|
|
1
|
+
// Copyright (c) 2022 Uber Technologies, Inc.
|
|
2
|
+
//
|
|
3
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
4
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
5
|
+
// in the Software without restriction, including without limitation the rights
|
|
6
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
7
|
+
// copies of the Software, and to permit persons to whom the Software is
|
|
8
|
+
// furnished to do so, subject to the following conditions:
|
|
9
|
+
//
|
|
10
|
+
// The above copyright notice and this permission notice shall be included in
|
|
11
|
+
// all copies or substantial portions of the Software.
|
|
12
|
+
//
|
|
13
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
14
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
15
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
16
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
17
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
18
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19
|
+
// THE SOFTWARE.
|
|
20
|
+
|
|
21
|
+
// vis-state-reducer
|
|
22
|
+
import ActionTypes from 'constants/action-types';
|
|
23
|
+
import {AddDataToMapPayload} from '../actions/actions';
|
|
24
|
+
import {FileCacheItem} from '../processors/types';
|
|
25
|
+
import {Layer, LayerBaseConfig, LayerVisConfig} from 'layers';
|
|
26
|
+
import {Feature, InteractionConfig} from 'reducers/vis-state-updaters';
|
|
27
|
+
import {ValueOf, Merge, RGBColor, NestedPartial} from '../reducers/types';
|
|
28
|
+
import {ColorUI} from 'layers/layer-factory';
|
|
29
|
+
// TODO - import LoaderObject type from @loaders.gl/core when supported
|
|
30
|
+
// TODO - import LoadOptions type from @loaders.gl/core when supported
|
|
31
|
+
|
|
32
|
+
export type LayerConfigChangeUpdaterAction = {
|
|
33
|
+
oldLayer: Layer;
|
|
34
|
+
newConfig: Partial<LayerBaseConfig>;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* Update layer base config: dataId, label, column, isVisible
|
|
38
|
+
* @param oldLayer - layer to be updated
|
|
39
|
+
* @param newConfig - new config to be merged with old config
|
|
40
|
+
* @returns action
|
|
41
|
+
* @public
|
|
42
|
+
*/
|
|
43
|
+
export function layerConfigChange(
|
|
44
|
+
oldLayer: Layer,
|
|
45
|
+
newConfig: Partial<LayerBaseConfig>
|
|
46
|
+
): Merge<LayerConfigChangeUpdaterAction, {type: typeof ActionTypes.LAYER_CONFIG_CHANGE}> {
|
|
47
|
+
return {
|
|
48
|
+
type: ActionTypes.LAYER_CONFIG_CHANGE,
|
|
49
|
+
oldLayer,
|
|
50
|
+
newConfig
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
export type LayerTextLabelChangeUpdaterAction = {
|
|
54
|
+
oldLayer: Layer;
|
|
55
|
+
idx: number | 'all';
|
|
56
|
+
prop: string;
|
|
57
|
+
value: any;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Update layer text label
|
|
62
|
+
* @param oldLayer - layer to be updated
|
|
63
|
+
* @param idx -`idx` of text label to be updated
|
|
64
|
+
* @param prop - `prop` of text label, e,g, `anchor`, `alignment`, `color`, `size`, `field`
|
|
65
|
+
* @param value - new value
|
|
66
|
+
* @returns action
|
|
67
|
+
* @public
|
|
68
|
+
*/
|
|
69
|
+
export function layerTextLabelChange(
|
|
70
|
+
oldLayer: Layer,
|
|
71
|
+
idx: number | 'all',
|
|
72
|
+
prop: string,
|
|
73
|
+
value: any
|
|
74
|
+
): Merge<LayerTextLabelChangeUpdaterAction, {type: typeof ActionTypes.LAYER_TEXT_LABEL_CHANGE}> {
|
|
75
|
+
return {
|
|
76
|
+
type: ActionTypes.LAYER_TEXT_LABEL_CHANGE,
|
|
77
|
+
oldLayer,
|
|
78
|
+
idx,
|
|
79
|
+
prop,
|
|
80
|
+
value
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
export type LayerTypeChangeUpdaterAction = {
|
|
84
|
+
oldLayer: Layer;
|
|
85
|
+
newType: string;
|
|
86
|
+
};
|
|
87
|
+
/**
|
|
88
|
+
* Update layer type. Previews layer config will be copied if applicable.
|
|
89
|
+
* @param oldLayer - layer to be updated
|
|
90
|
+
* @param newType - new type
|
|
91
|
+
* @returns action
|
|
92
|
+
* @public
|
|
93
|
+
*/
|
|
94
|
+
export function layerTypeChange(
|
|
95
|
+
oldLayer: Layer,
|
|
96
|
+
newType: string
|
|
97
|
+
): Merge<LayerTypeChangeUpdaterAction, {type: typeof ActionTypes.LAYER_TYPE_CHANGE}> {
|
|
98
|
+
return {
|
|
99
|
+
type: ActionTypes.LAYER_TYPE_CHANGE,
|
|
100
|
+
oldLayer,
|
|
101
|
+
newType
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
export type LayerVisualChannelConfigChangeUpdaterAction = {
|
|
105
|
+
oldLayer: Layer;
|
|
106
|
+
newConfig: Partial<LayerBaseConfig>;
|
|
107
|
+
channel: string;
|
|
108
|
+
};
|
|
109
|
+
/**
|
|
110
|
+
* Update layer visual channel
|
|
111
|
+
* @memberof visStateActions
|
|
112
|
+
* @param oldLayer - layer to be updated
|
|
113
|
+
* @param newConfig - new visual channel config
|
|
114
|
+
* @param channel - channel to be updated
|
|
115
|
+
* @returns action
|
|
116
|
+
* @public
|
|
117
|
+
*/
|
|
118
|
+
export function layerVisualChannelConfigChange(
|
|
119
|
+
oldLayer: Layer,
|
|
120
|
+
newConfig: Partial<LayerBaseConfig>,
|
|
121
|
+
channel: string
|
|
122
|
+
): Merge<
|
|
123
|
+
LayerVisualChannelConfigChangeUpdaterAction,
|
|
124
|
+
{type: typeof ActionTypes.LAYER_VISUAL_CHANNEL_CHANGE}
|
|
125
|
+
> {
|
|
126
|
+
return {
|
|
127
|
+
type: ActionTypes.LAYER_VISUAL_CHANNEL_CHANGE,
|
|
128
|
+
oldLayer,
|
|
129
|
+
newConfig,
|
|
130
|
+
channel
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
export type LayerVisConfigChangeUpdaterAction = {
|
|
134
|
+
oldLayer: Layer;
|
|
135
|
+
newVisConfig: Partial<LayerVisConfig>;
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Update layer `visConfig`
|
|
139
|
+
* @memberof visStateActions
|
|
140
|
+
* @param oldLayer - layer to be updated
|
|
141
|
+
* @param newVisConfig - new visConfig as a key value map: e.g. `{opacity: 0.8}`
|
|
142
|
+
* @returns action
|
|
143
|
+
* @public
|
|
144
|
+
*/
|
|
145
|
+
export function layerVisConfigChange(
|
|
146
|
+
oldLayer: Layer,
|
|
147
|
+
newVisConfig: Partial<LayerVisConfig>
|
|
148
|
+
): Merge<LayerVisConfigChangeUpdaterAction, {type: typeof ActionTypes.LAYER_VIS_CONFIG_CHANGE}> {
|
|
149
|
+
return {
|
|
150
|
+
type: ActionTypes.LAYER_VIS_CONFIG_CHANGE,
|
|
151
|
+
oldLayer,
|
|
152
|
+
newVisConfig
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
export type LayerColorUIChangeUpdaterAction = {
|
|
156
|
+
oldLayer: Layer;
|
|
157
|
+
prop: string;
|
|
158
|
+
newConfig: NestedPartial<ColorUI>;
|
|
159
|
+
};
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Set the color palette ui for layer color
|
|
163
|
+
* @memberof visStateActions
|
|
164
|
+
* @param oldLayer - layer to be updated
|
|
165
|
+
* @param prop - which color prop
|
|
166
|
+
* @param newConfig - to be merged
|
|
167
|
+
* @returns action
|
|
168
|
+
* @public
|
|
169
|
+
*/
|
|
170
|
+
export function layerColorUIChange(
|
|
171
|
+
oldLayer: Layer,
|
|
172
|
+
prop: string,
|
|
173
|
+
newConfig: NestedPartial<ColorUI>
|
|
174
|
+
): Merge<LayerColorUIChangeUpdaterAction, {type: typeof ActionTypes.LAYER_COLOR_UI_CHANGE}> {
|
|
175
|
+
return {
|
|
176
|
+
type: ActionTypes.LAYER_COLOR_UI_CHANGE,
|
|
177
|
+
oldLayer,
|
|
178
|
+
prop,
|
|
179
|
+
newConfig
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export type UpdateLayerBlendingUpdaterAction = {
|
|
184
|
+
mode: 'additive' | 'normal' | 'subtractive';
|
|
185
|
+
};
|
|
186
|
+
/**
|
|
187
|
+
* Update layer blending mode
|
|
188
|
+
* @memberof visStateActions
|
|
189
|
+
* @param mode one of `additive`, `normal` and `subtractive`
|
|
190
|
+
* @returns action
|
|
191
|
+
* @public
|
|
192
|
+
*/
|
|
193
|
+
export function updateLayerBlending(
|
|
194
|
+
mode: 'additive' | 'normal' | 'subtractive'
|
|
195
|
+
): Merge<UpdateLayerBlendingUpdaterAction, {type: typeof ActionTypes.UPDATE_LAYER_BLENDING}> {
|
|
196
|
+
return {
|
|
197
|
+
type: ActionTypes.UPDATE_LAYER_BLENDING,
|
|
198
|
+
mode
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export type InteractionConfigChangeUpdaterAction = {
|
|
203
|
+
config: ValueOf<InteractionConfig>;
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* Update `interactionConfig`
|
|
207
|
+
* @memberof visStateActions
|
|
208
|
+
* @param config - new config as key value map: `{tooltip: {enabled: true}}`
|
|
209
|
+
* @returns action
|
|
210
|
+
* @public
|
|
211
|
+
*/
|
|
212
|
+
export function interactionConfigChange(
|
|
213
|
+
config: ValueOf<InteractionConfig>
|
|
214
|
+
): Merge<
|
|
215
|
+
InteractionConfigChangeUpdaterAction,
|
|
216
|
+
{type: typeof ActionTypes.INTERACTION_CONFIG_CHANGE}
|
|
217
|
+
> {
|
|
218
|
+
return {
|
|
219
|
+
type: ActionTypes.INTERACTION_CONFIG_CHANGE,
|
|
220
|
+
config
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
export type SetFilterUpdaterAction = {
|
|
225
|
+
idx: number;
|
|
226
|
+
prop: string;
|
|
227
|
+
value: any;
|
|
228
|
+
valueIndex?: number;
|
|
229
|
+
};
|
|
230
|
+
/**
|
|
231
|
+
* Update filter property
|
|
232
|
+
* @memberof visStateActions
|
|
233
|
+
* @param idx -`idx` of filter to be updated
|
|
234
|
+
* @param prop - `prop` of filter, e,g, `dataId`, `name`, `value`
|
|
235
|
+
* @param value - new value
|
|
236
|
+
* @param valueIndex - dataId index
|
|
237
|
+
* @returns action
|
|
238
|
+
* @public
|
|
239
|
+
*/
|
|
240
|
+
export function setFilter(
|
|
241
|
+
idx: number,
|
|
242
|
+
prop: string,
|
|
243
|
+
value: any,
|
|
244
|
+
valueIndex?: number
|
|
245
|
+
): Merge<SetFilterUpdaterAction, {type: typeof ActionTypes.SET_FILTER}> {
|
|
246
|
+
return {
|
|
247
|
+
type: ActionTypes.SET_FILTER,
|
|
248
|
+
idx,
|
|
249
|
+
prop,
|
|
250
|
+
value,
|
|
251
|
+
valueIndex
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
export type SetFilterAnimationTimeUpdaterAction = {
|
|
256
|
+
idx: number;
|
|
257
|
+
prop: string;
|
|
258
|
+
value: any;
|
|
259
|
+
valueIndex?: number;
|
|
260
|
+
};
|
|
261
|
+
/**
|
|
262
|
+
* Same as Update filter
|
|
263
|
+
* @memberof visStateActions
|
|
264
|
+
* @param idx -`idx` of filter to be updated
|
|
265
|
+
* @param prop - `prop` of filter, e,g, `dataId`, `name`, `value`
|
|
266
|
+
* @param value - new value
|
|
267
|
+
* @param valueIndex - dataId index
|
|
268
|
+
* @returns action
|
|
269
|
+
* @public
|
|
270
|
+
*/
|
|
271
|
+
export function setFilterAnimationTime(
|
|
272
|
+
idx: number,
|
|
273
|
+
prop: string,
|
|
274
|
+
value: any,
|
|
275
|
+
valueIndex?: number
|
|
276
|
+
): Merge<
|
|
277
|
+
SetFilterAnimationTimeUpdaterAction,
|
|
278
|
+
{type: typeof ActionTypes.SET_FILTER_ANIMATION_TIME}
|
|
279
|
+
> {
|
|
280
|
+
return {
|
|
281
|
+
type: ActionTypes.SET_FILTER_ANIMATION_TIME,
|
|
282
|
+
idx,
|
|
283
|
+
prop,
|
|
284
|
+
value,
|
|
285
|
+
valueIndex
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
export type SetFilterAnimationWindowUpdaterAction = {
|
|
290
|
+
id: string;
|
|
291
|
+
animationWindow: string;
|
|
292
|
+
};
|
|
293
|
+
/**
|
|
294
|
+
* Same as Update filter
|
|
295
|
+
* @memberof visStateActions
|
|
296
|
+
* @public
|
|
297
|
+
*/
|
|
298
|
+
export function setFilterAnimationWindow({
|
|
299
|
+
id,
|
|
300
|
+
animationWindow
|
|
301
|
+
}: SetFilterAnimationWindowUpdaterAction): Merge<
|
|
302
|
+
SetFilterAnimationWindowUpdaterAction,
|
|
303
|
+
{type: typeof ActionTypes.SET_FILTER_ANIMATION_WINDOW}
|
|
304
|
+
> {
|
|
305
|
+
return {
|
|
306
|
+
type: ActionTypes.SET_FILTER_ANIMATION_WINDOW,
|
|
307
|
+
id,
|
|
308
|
+
animationWindow
|
|
309
|
+
};
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
export type AddFilterUpdaterAction = {
|
|
313
|
+
dataId?: string | null;
|
|
314
|
+
};
|
|
315
|
+
/**
|
|
316
|
+
* Add a new filter
|
|
317
|
+
* @memberof visStateActions
|
|
318
|
+
* @param dataId - dataset `id` this new filter is associated with
|
|
319
|
+
* @returns action
|
|
320
|
+
* @public
|
|
321
|
+
*/
|
|
322
|
+
export function addFilter(
|
|
323
|
+
dataId: string | null
|
|
324
|
+
): Merge<AddFilterUpdaterAction, {type: typeof ActionTypes.ADD_FILTER}> {
|
|
325
|
+
return {
|
|
326
|
+
type: ActionTypes.ADD_FILTER,
|
|
327
|
+
dataId
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
export type AddLayerUpdaterAction = {
|
|
332
|
+
config?: object;
|
|
333
|
+
datasetId?: string;
|
|
334
|
+
};
|
|
335
|
+
/**
|
|
336
|
+
* Add a new layer
|
|
337
|
+
* @memberof visStateActions
|
|
338
|
+
* @param config - new layer config
|
|
339
|
+
* @param datasetId - dataset id used for creating an empty layer
|
|
340
|
+
* @returns action
|
|
341
|
+
* @public
|
|
342
|
+
*/
|
|
343
|
+
export function addLayer(
|
|
344
|
+
config?: object,
|
|
345
|
+
datasetId?: string
|
|
346
|
+
): Merge<AddLayerUpdaterAction, {type: typeof ActionTypes.ADD_LAYER}> {
|
|
347
|
+
return {
|
|
348
|
+
type: ActionTypes.ADD_LAYER,
|
|
349
|
+
config,
|
|
350
|
+
datasetId
|
|
351
|
+
};
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
export type ReorderLayerUpdaterAction = {
|
|
355
|
+
order: number[];
|
|
356
|
+
};
|
|
357
|
+
/**
|
|
358
|
+
* Reorder layer, order is an array of layer indexes, index 0 will be the one at the bottom
|
|
359
|
+
* @memberof visStateActions
|
|
360
|
+
* @param order an array of layer indexes
|
|
361
|
+
* @returns action
|
|
362
|
+
* @public
|
|
363
|
+
* @example
|
|
364
|
+
*
|
|
365
|
+
* // bring `layers[1]` below `layers[0]`, the sequence layers will be rendered is `1`, `0`, `2`, `3`.
|
|
366
|
+
* // `1` will be at the bottom, `3` will be at the top.
|
|
367
|
+
* this.props.dispatch(reorderLayer([1, 0, 2, 3]));
|
|
368
|
+
*/
|
|
369
|
+
export function reorderLayer(
|
|
370
|
+
order: number[]
|
|
371
|
+
): Merge<ReorderLayerUpdaterAction, {type: typeof ActionTypes.REORDER_LAYER}> {
|
|
372
|
+
return {
|
|
373
|
+
type: ActionTypes.REORDER_LAYER,
|
|
374
|
+
order
|
|
375
|
+
};
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
export type RemoveFilterUpdaterAction = {
|
|
379
|
+
idx: number;
|
|
380
|
+
};
|
|
381
|
+
/**
|
|
382
|
+
* Remove a filter from `visState.filters`, once a filter is removed, data will be re-filtered and layer will be updated
|
|
383
|
+
* @memberof visStateActions
|
|
384
|
+
* @param idx idx of filter to be removed
|
|
385
|
+
* @returns action
|
|
386
|
+
* @public
|
|
387
|
+
*/
|
|
388
|
+
export function removeFilter(
|
|
389
|
+
idx: number
|
|
390
|
+
): Merge<RemoveFilterUpdaterAction, {type: typeof ActionTypes.REMOVE_FILTER}> {
|
|
391
|
+
return {
|
|
392
|
+
type: ActionTypes.REMOVE_FILTER,
|
|
393
|
+
idx
|
|
394
|
+
};
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
export type RemoveLayerUpdaterAction = {
|
|
398
|
+
idx: number;
|
|
399
|
+
};
|
|
400
|
+
/**
|
|
401
|
+
* Remove a layer
|
|
402
|
+
* @memberof visStateActions
|
|
403
|
+
* @param idx idx of layer to be removed
|
|
404
|
+
* @returns action
|
|
405
|
+
* @public
|
|
406
|
+
*/
|
|
407
|
+
export function removeLayer(
|
|
408
|
+
idx: number
|
|
409
|
+
): Merge<RemoveLayerUpdaterAction, {type: typeof ActionTypes.REMOVE_LAYER}> {
|
|
410
|
+
return {
|
|
411
|
+
type: ActionTypes.REMOVE_LAYER,
|
|
412
|
+
idx
|
|
413
|
+
};
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
export type DuplicateLayerUpdaterAction = {
|
|
417
|
+
idx: number;
|
|
418
|
+
};
|
|
419
|
+
/**
|
|
420
|
+
* Duplicate a layer
|
|
421
|
+
* @memberof visStateActions
|
|
422
|
+
* @param idx idx of layer to be duplicated
|
|
423
|
+
* @returns action
|
|
424
|
+
* @public
|
|
425
|
+
*/
|
|
426
|
+
export function duplicateLayer(
|
|
427
|
+
idx: number
|
|
428
|
+
): Merge<DuplicateLayerUpdaterAction, {type: typeof ActionTypes.DUPLICATE_LAYER}> {
|
|
429
|
+
return {
|
|
430
|
+
type: ActionTypes.DUPLICATE_LAYER,
|
|
431
|
+
idx
|
|
432
|
+
};
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
export type RemoveDatasetUpdaterAction = {
|
|
436
|
+
dataId: string;
|
|
437
|
+
};
|
|
438
|
+
/**
|
|
439
|
+
* Remove a dataset and all layers, filters, tooltip configs that based on it
|
|
440
|
+
* @memberof visStateActions
|
|
441
|
+
* @param dataId dataset id
|
|
442
|
+
* @returns action
|
|
443
|
+
* @public
|
|
444
|
+
*/
|
|
445
|
+
export function removeDataset(
|
|
446
|
+
dataId: string
|
|
447
|
+
): Merge<RemoveDatasetUpdaterAction, {type: typeof ActionTypes.REMOVE_DATASET}> {
|
|
448
|
+
return {
|
|
449
|
+
type: ActionTypes.REMOVE_DATASET,
|
|
450
|
+
dataId
|
|
451
|
+
};
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
export type ShowDatasetTableUpdaterAction = {
|
|
455
|
+
dataId: string;
|
|
456
|
+
};
|
|
457
|
+
/**
|
|
458
|
+
* Display dataset table in a modal
|
|
459
|
+
* @memberof visStateActions
|
|
460
|
+
* @param dataId dataset id to show in table
|
|
461
|
+
* @returns action
|
|
462
|
+
* @public
|
|
463
|
+
*/
|
|
464
|
+
export function showDatasetTable(
|
|
465
|
+
dataId: string
|
|
466
|
+
): Merge<ShowDatasetTableUpdaterAction, {type: typeof ActionTypes.SHOW_DATASET_TABLE}> {
|
|
467
|
+
return {
|
|
468
|
+
type: ActionTypes.SHOW_DATASET_TABLE,
|
|
469
|
+
dataId
|
|
470
|
+
};
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
export type UpdateDatasetColorUpdater = {
|
|
474
|
+
dataId: string;
|
|
475
|
+
newColor: RGBColor;
|
|
476
|
+
};
|
|
477
|
+
/**
|
|
478
|
+
* Update dataset color to custom by means of color picker
|
|
479
|
+
* @memberof visStateActions
|
|
480
|
+
* @param dataId dataset `id` this custom color is associated with
|
|
481
|
+
* @param newColor custom color in RGBformat
|
|
482
|
+
* @returns action
|
|
483
|
+
* @public
|
|
484
|
+
*/
|
|
485
|
+
export function updateTableColor(
|
|
486
|
+
dataId: string,
|
|
487
|
+
newColor: RGBColor
|
|
488
|
+
): Merge<UpdateDatasetColorUpdater, {type: typeof ActionTypes.UPDATE_TABLE_COLOR}> {
|
|
489
|
+
return {
|
|
490
|
+
type: ActionTypes.UPDATE_TABLE_COLOR,
|
|
491
|
+
dataId,
|
|
492
|
+
newColor
|
|
493
|
+
};
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
export type SortTableColumnUpdaterAction = {
|
|
497
|
+
dataId: string;
|
|
498
|
+
column: string;
|
|
499
|
+
mode?: string;
|
|
500
|
+
};
|
|
501
|
+
/**
|
|
502
|
+
* Sort dataset column, for table display
|
|
503
|
+
* @memberof visStateActions
|
|
504
|
+
* @param dataId
|
|
505
|
+
* @param column
|
|
506
|
+
* @param mode
|
|
507
|
+
* @returns action
|
|
508
|
+
* @public
|
|
509
|
+
*/
|
|
510
|
+
export function sortTableColumn(
|
|
511
|
+
dataId: string,
|
|
512
|
+
column: string,
|
|
513
|
+
mode?: string
|
|
514
|
+
): Merge<SortTableColumnUpdaterAction, {type: typeof ActionTypes.SORT_TABLE_COLUMN}> {
|
|
515
|
+
return {
|
|
516
|
+
type: ActionTypes.SORT_TABLE_COLUMN,
|
|
517
|
+
dataId,
|
|
518
|
+
column,
|
|
519
|
+
mode
|
|
520
|
+
};
|
|
521
|
+
}
|
|
522
|
+
|
|
523
|
+
export type PinTableColumnUpdaterAction = {
|
|
524
|
+
dataId: string;
|
|
525
|
+
column: string;
|
|
526
|
+
};
|
|
527
|
+
/**
|
|
528
|
+
* Pin dataset column, for table display
|
|
529
|
+
* @param dataId
|
|
530
|
+
* @param column
|
|
531
|
+
* @returns action
|
|
532
|
+
* @public
|
|
533
|
+
*/
|
|
534
|
+
export function pinTableColumn(
|
|
535
|
+
dataId: string,
|
|
536
|
+
column: string
|
|
537
|
+
): Merge<PinTableColumnUpdaterAction, {type: typeof ActionTypes.PIN_TABLE_COLUMN}> {
|
|
538
|
+
return {
|
|
539
|
+
type: ActionTypes.PIN_TABLE_COLUMN,
|
|
540
|
+
dataId,
|
|
541
|
+
column
|
|
542
|
+
};
|
|
543
|
+
}
|
|
544
|
+
|
|
545
|
+
export type CopyTableColumnUpdaterAction = {
|
|
546
|
+
dataId: string;
|
|
547
|
+
column: string;
|
|
548
|
+
};
|
|
549
|
+
/**
|
|
550
|
+
* Copy column, for table display
|
|
551
|
+
* @param dataId
|
|
552
|
+
* @param column
|
|
553
|
+
* @returns action
|
|
554
|
+
* @public
|
|
555
|
+
*/
|
|
556
|
+
export function copyTableColumn(
|
|
557
|
+
dataId: string,
|
|
558
|
+
column: string
|
|
559
|
+
): Merge<CopyTableColumnUpdaterAction, {type: typeof ActionTypes.COPY_TABLE_COLUMN}> {
|
|
560
|
+
return {
|
|
561
|
+
type: ActionTypes.COPY_TABLE_COLUMN,
|
|
562
|
+
dataId,
|
|
563
|
+
column
|
|
564
|
+
};
|
|
565
|
+
}
|
|
566
|
+
|
|
567
|
+
export type AddDataToMapUpdaterOptions = {
|
|
568
|
+
centrMap?: boolean;
|
|
569
|
+
readOnly?: boolean;
|
|
570
|
+
keepExistingConfig?: boolean;
|
|
571
|
+
};
|
|
572
|
+
|
|
573
|
+
export type UpdateVisDataUpdaterAction = {
|
|
574
|
+
datasets: AddDataToMapPayload['datasets'];
|
|
575
|
+
options: AddDataToMapPayload['options'];
|
|
576
|
+
config: AddDataToMapPayload['config'];
|
|
577
|
+
} & AddDataToMapPayload;
|
|
578
|
+
// * @param dataset.info -info of a dataset
|
|
579
|
+
// * @param dataset.info.id - id of this dataset. If config is defined, `id` should matches the `dataId` in config.
|
|
580
|
+
// * @param dataset.info.label - A display name of this dataset
|
|
581
|
+
// * @param dataset.data - ***required** The data object, in a tabular format with 2 properties `fields` and `rows`
|
|
582
|
+
// * @param dataset.data.fields - ***required** Array of fields,
|
|
583
|
+
// * @param dataset.data.fields.name - ***required** Name of the field,
|
|
584
|
+
// * @param dataset.data.rows - ***required** Array of rows, in a tabular format with `fields` and `rows`
|
|
585
|
+
/**
|
|
586
|
+
* Add new dataset to `visState`, with option to load a map config along with the datasets
|
|
587
|
+
* @memberof visStateActions
|
|
588
|
+
* @param datasets - ***required** datasets can be a dataset or an array of datasets
|
|
589
|
+
* Each dataset object needs to have `info` and `data` property.
|
|
590
|
+
* @param {object} options
|
|
591
|
+
* @param options.centerMap `default: true` if `centerMap` is set to `true` kepler.gl will
|
|
592
|
+
* place the map view within the data points boundaries
|
|
593
|
+
* @param options.readOnly `default: false` if `readOnly` is set to `true`
|
|
594
|
+
* the left setting panel will be hidden
|
|
595
|
+
* @param config this object will contain the full kepler.gl instance configuration {mapState, mapStyle, visState}
|
|
596
|
+
* @returns action
|
|
597
|
+
* @public
|
|
598
|
+
*/
|
|
599
|
+
export function updateVisData(
|
|
600
|
+
datasets: AddDataToMapPayload['datasets'],
|
|
601
|
+
options: AddDataToMapPayload['options'],
|
|
602
|
+
config: AddDataToMapPayload['config']
|
|
603
|
+
): Merge<UpdateVisDataUpdaterAction, {type: typeof ActionTypes.UPDATE_VIS_DATA}> {
|
|
604
|
+
return {
|
|
605
|
+
type: ActionTypes.UPDATE_VIS_DATA,
|
|
606
|
+
datasets,
|
|
607
|
+
options,
|
|
608
|
+
config
|
|
609
|
+
};
|
|
610
|
+
}
|
|
611
|
+
|
|
612
|
+
export type RenameDatasetUpdaterAction = {
|
|
613
|
+
dataId: string;
|
|
614
|
+
label: string;
|
|
615
|
+
};
|
|
616
|
+
/**
|
|
617
|
+
* Rename an existing dataset in `visState`
|
|
618
|
+
* @memberof visStateActions
|
|
619
|
+
* @param dataId - ***required** Id of the dataset to update
|
|
620
|
+
* @param label - ***required** New name for the dataset
|
|
621
|
+
* @returns action
|
|
622
|
+
* @public
|
|
623
|
+
*/
|
|
624
|
+
export function renameDataset(
|
|
625
|
+
dataId: string,
|
|
626
|
+
label: string
|
|
627
|
+
): Merge<RenameDatasetUpdaterAction, {type: typeof ActionTypes.RENAME_DATASET}> {
|
|
628
|
+
return {
|
|
629
|
+
type: ActionTypes.RENAME_DATASET,
|
|
630
|
+
dataId,
|
|
631
|
+
label
|
|
632
|
+
};
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
export type ToggleFilterAnimationUpdaterAction = {
|
|
636
|
+
idx: number;
|
|
637
|
+
};
|
|
638
|
+
/**
|
|
639
|
+
* Start and end filter animation
|
|
640
|
+
* @memberof visStateActions
|
|
641
|
+
* @param {Number} idx of filter
|
|
642
|
+
* @returns action
|
|
643
|
+
* @public
|
|
644
|
+
*/
|
|
645
|
+
export function toggleFilterAnimation(
|
|
646
|
+
idx: number
|
|
647
|
+
): Merge<ToggleFilterAnimationUpdaterAction, {type: typeof ActionTypes.TOGGLE_FILTER_ANIMATION}> {
|
|
648
|
+
return {
|
|
649
|
+
type: ActionTypes.TOGGLE_FILTER_ANIMATION,
|
|
650
|
+
idx
|
|
651
|
+
};
|
|
652
|
+
}
|
|
653
|
+
|
|
654
|
+
export type UpdateFilterAnimationSpeedUpdaterAction = {
|
|
655
|
+
idx: number;
|
|
656
|
+
speed: number;
|
|
657
|
+
};
|
|
658
|
+
/**
|
|
659
|
+
* Change filter animation speed
|
|
660
|
+
* @memberof visStateActions
|
|
661
|
+
* @param idx - `idx` of filter
|
|
662
|
+
* @param speed - `speed` to change it to. `speed` is a multiplier
|
|
663
|
+
* @returns action
|
|
664
|
+
* @public
|
|
665
|
+
*/
|
|
666
|
+
export function updateFilterAnimationSpeed(
|
|
667
|
+
idx: number,
|
|
668
|
+
speed: number
|
|
669
|
+
): Merge<
|
|
670
|
+
UpdateFilterAnimationSpeedUpdaterAction,
|
|
671
|
+
{type: typeof ActionTypes.UPDATE_FILTER_ANIMATION_SPEED}
|
|
672
|
+
> {
|
|
673
|
+
return {
|
|
674
|
+
type: ActionTypes.UPDATE_FILTER_ANIMATION_SPEED,
|
|
675
|
+
idx,
|
|
676
|
+
speed
|
|
677
|
+
};
|
|
678
|
+
}
|
|
679
|
+
|
|
680
|
+
export type SetLayerAnimationTimeUpdaterAction = {
|
|
681
|
+
value: number;
|
|
682
|
+
};
|
|
683
|
+
/**
|
|
684
|
+
* Reset animation
|
|
685
|
+
* @memberof visStateActions
|
|
686
|
+
* @param value - Current value of the slider
|
|
687
|
+
* @returns action
|
|
688
|
+
* @public
|
|
689
|
+
*/
|
|
690
|
+
export function setLayerAnimationTime(
|
|
691
|
+
value: number
|
|
692
|
+
): Merge<SetLayerAnimationTimeUpdaterAction, {type: typeof ActionTypes.SET_LAYER_ANIMATION_TIME}> {
|
|
693
|
+
return {
|
|
694
|
+
type: ActionTypes.SET_LAYER_ANIMATION_TIME,
|
|
695
|
+
value
|
|
696
|
+
};
|
|
697
|
+
}
|
|
698
|
+
|
|
699
|
+
export type UpdateLayerAnimationSpeedUpdaterAction = {
|
|
700
|
+
speed: number;
|
|
701
|
+
};
|
|
702
|
+
/**
|
|
703
|
+
* update trip layer animation speed
|
|
704
|
+
* @memberof visStateActions
|
|
705
|
+
* @param speed - `speed` to change it to. `speed` is a multiplier
|
|
706
|
+
* @returns action
|
|
707
|
+
* @public
|
|
708
|
+
*/
|
|
709
|
+
export function updateLayerAnimationSpeed(
|
|
710
|
+
speed: number
|
|
711
|
+
): Merge<
|
|
712
|
+
UpdateLayerAnimationSpeedUpdaterAction,
|
|
713
|
+
{type: typeof ActionTypes.UPDATE_LAYER_ANIMATION_SPEED}
|
|
714
|
+
> {
|
|
715
|
+
return {
|
|
716
|
+
type: ActionTypes.UPDATE_LAYER_ANIMATION_SPEED,
|
|
717
|
+
speed
|
|
718
|
+
};
|
|
719
|
+
}
|
|
720
|
+
export type ToggleLayerAnimationUpdaterAction = {};
|
|
721
|
+
/**
|
|
722
|
+
* start end end layer animation
|
|
723
|
+
* @memberof visStateActions
|
|
724
|
+
* @returns action
|
|
725
|
+
* @public
|
|
726
|
+
*/
|
|
727
|
+
export function toggleLayerAnimation(): Merge<
|
|
728
|
+
ToggleLayerAnimationUpdaterAction,
|
|
729
|
+
{type: typeof ActionTypes.TOGGLE_LAYER_ANIMATION}
|
|
730
|
+
> {
|
|
731
|
+
return {
|
|
732
|
+
type: ActionTypes.TOGGLE_LAYER_ANIMATION
|
|
733
|
+
};
|
|
734
|
+
}
|
|
735
|
+
|
|
736
|
+
export type ToggleLayerAnimationControlUpdaterAction = {};
|
|
737
|
+
/**
|
|
738
|
+
* hide and show layer animation control
|
|
739
|
+
* @memberof visStateActions
|
|
740
|
+
* @returns action
|
|
741
|
+
* @public
|
|
742
|
+
*/
|
|
743
|
+
export function toggleLayerAnimationControl(): Merge<
|
|
744
|
+
ToggleLayerAnimationControlUpdaterAction,
|
|
745
|
+
{type: typeof ActionTypes.TOGGLE_LAYER_ANIMATION_CONTROL}
|
|
746
|
+
> {
|
|
747
|
+
return {
|
|
748
|
+
type: ActionTypes.TOGGLE_LAYER_ANIMATION_CONTROL
|
|
749
|
+
};
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
export type EnlargeFilterUpdaterAction = {
|
|
753
|
+
idx: number;
|
|
754
|
+
};
|
|
755
|
+
/**
|
|
756
|
+
* Show larger time filter at bottom for time playback (apply to time filter only)
|
|
757
|
+
* @memberof visStateActions
|
|
758
|
+
* @param idx - index of filter to enlarge
|
|
759
|
+
* @returns action
|
|
760
|
+
* @public
|
|
761
|
+
*/
|
|
762
|
+
export function enlargeFilter(
|
|
763
|
+
idx: number
|
|
764
|
+
): Merge<EnlargeFilterUpdaterAction, {type: typeof ActionTypes.ENLARGE_FILTER}> {
|
|
765
|
+
return {
|
|
766
|
+
type: ActionTypes.ENLARGE_FILTER,
|
|
767
|
+
idx
|
|
768
|
+
};
|
|
769
|
+
}
|
|
770
|
+
|
|
771
|
+
export type ToggleFilterFeatureUpdaterAction = {
|
|
772
|
+
idx: number;
|
|
773
|
+
};
|
|
774
|
+
/**
|
|
775
|
+
* Show/hide filter feature on map
|
|
776
|
+
* @memberof visStateActions
|
|
777
|
+
* @param idx - index of filter feature to show/hide
|
|
778
|
+
* @return action
|
|
779
|
+
*/
|
|
780
|
+
export function toggleFilterFeature(
|
|
781
|
+
idx: number
|
|
782
|
+
): Merge<ToggleFilterFeatureUpdaterAction, {type: typeof ActionTypes.TOGGLE_FILTER_FEATURE}> {
|
|
783
|
+
return {
|
|
784
|
+
type: ActionTypes.TOGGLE_FILTER_FEATURE,
|
|
785
|
+
idx
|
|
786
|
+
};
|
|
787
|
+
}
|
|
788
|
+
|
|
789
|
+
export type OnLayerHoverUpdaterAction = {
|
|
790
|
+
info: {picked?: boolean} | null;
|
|
791
|
+
};
|
|
792
|
+
/**
|
|
793
|
+
* Trigger layer hover event with hovered object
|
|
794
|
+
* @memberof visStateActions
|
|
795
|
+
* @param info - Object hovered, returned by deck.gl
|
|
796
|
+
* @returns action
|
|
797
|
+
* @public
|
|
798
|
+
*/
|
|
799
|
+
export function onLayerHover(
|
|
800
|
+
info: {picked?: boolean} | null
|
|
801
|
+
): Merge<OnLayerHoverUpdaterAction, {type: typeof ActionTypes.LAYER_HOVER}> {
|
|
802
|
+
return {
|
|
803
|
+
type: ActionTypes.LAYER_HOVER,
|
|
804
|
+
info
|
|
805
|
+
};
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
export type OnLayerClickUpdaterAction = {
|
|
809
|
+
info: {picked?: boolean} | null;
|
|
810
|
+
};
|
|
811
|
+
/**
|
|
812
|
+
* Trigger layer click event with clicked object
|
|
813
|
+
* @memberof visStateActions
|
|
814
|
+
* @param info - Object clicked, returned by deck.gl
|
|
815
|
+
* @returns action
|
|
816
|
+
* @public
|
|
817
|
+
*/
|
|
818
|
+
export function onLayerClick(
|
|
819
|
+
info: {picked?: boolean} | null
|
|
820
|
+
): Merge<OnLayerClickUpdaterAction, {type: typeof ActionTypes.LAYER_CLICK}> {
|
|
821
|
+
return {
|
|
822
|
+
type: ActionTypes.LAYER_CLICK,
|
|
823
|
+
info
|
|
824
|
+
};
|
|
825
|
+
}
|
|
826
|
+
|
|
827
|
+
export type OnMapClickUpdaterAction = {};
|
|
828
|
+
/**
|
|
829
|
+
* Trigger map click event, unselect clicked object
|
|
830
|
+
* @memberof visStateActions
|
|
831
|
+
* @returns action
|
|
832
|
+
* @public
|
|
833
|
+
*/
|
|
834
|
+
export function onMapClick(): Merge<OnMapClickUpdaterAction, {type: typeof ActionTypes.MAP_CLICK}> {
|
|
835
|
+
return {
|
|
836
|
+
type: ActionTypes.MAP_CLICK
|
|
837
|
+
};
|
|
838
|
+
}
|
|
839
|
+
|
|
840
|
+
export type OnMouseMoveUpdaterAction = {
|
|
841
|
+
evt;
|
|
842
|
+
};
|
|
843
|
+
/**
|
|
844
|
+
* Trigger map mouse moveevent, payload would be
|
|
845
|
+
* React-map-gl PointerEvent
|
|
846
|
+
* https://uber.github.io/react-map-gl/#/documentation/api-reference/pointer-event
|
|
847
|
+
*
|
|
848
|
+
* @memberof visStateActions
|
|
849
|
+
* @param evt - PointerEvent
|
|
850
|
+
* @returns action
|
|
851
|
+
* @public
|
|
852
|
+
*/
|
|
853
|
+
export function onMouseMove(
|
|
854
|
+
evt
|
|
855
|
+
): Merge<OnMouseMoveUpdaterAction, {type: typeof ActionTypes.MOUSE_MOVE}> {
|
|
856
|
+
return {
|
|
857
|
+
type: ActionTypes.MOUSE_MOVE,
|
|
858
|
+
evt
|
|
859
|
+
};
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
export type ToggleLayerForMapUpdaterAction = {
|
|
863
|
+
mapIndex: number;
|
|
864
|
+
layerId: string;
|
|
865
|
+
};
|
|
866
|
+
/**
|
|
867
|
+
* Toggle visibility of a layer in a split map
|
|
868
|
+
* @memberof visStateActions
|
|
869
|
+
* @param mapIndex - index of the split map
|
|
870
|
+
* @param layerId - id of the layer
|
|
871
|
+
* @returns action
|
|
872
|
+
* @public
|
|
873
|
+
*/
|
|
874
|
+
export function toggleLayerForMap(
|
|
875
|
+
mapIndex: number,
|
|
876
|
+
layerId: string
|
|
877
|
+
): Merge<ToggleLayerForMapUpdaterAction, {type: typeof ActionTypes.TOGGLE_LAYER_FOR_MAP}> {
|
|
878
|
+
return {
|
|
879
|
+
type: ActionTypes.TOGGLE_LAYER_FOR_MAP,
|
|
880
|
+
mapIndex,
|
|
881
|
+
layerId
|
|
882
|
+
};
|
|
883
|
+
}
|
|
884
|
+
|
|
885
|
+
export type SetFilterPlotUpdaterAction = {
|
|
886
|
+
idx: number;
|
|
887
|
+
newProp: object;
|
|
888
|
+
valueIndex?: number;
|
|
889
|
+
};
|
|
890
|
+
/**
|
|
891
|
+
* Set the property of a filter plot
|
|
892
|
+
* @memberof visStateActions
|
|
893
|
+
* @param idx
|
|
894
|
+
* @param newProp key value mapping of new prop `{yAxis: 'histogram'}`
|
|
895
|
+
* @param valueIndex dataId index
|
|
896
|
+
* @returns action
|
|
897
|
+
* @public
|
|
898
|
+
*/
|
|
899
|
+
export function setFilterPlot(
|
|
900
|
+
idx: number,
|
|
901
|
+
newProp: object,
|
|
902
|
+
valueIndex?: number
|
|
903
|
+
): Merge<SetFilterPlotUpdaterAction, {type: typeof ActionTypes.SET_FILTER_PLOT}> {
|
|
904
|
+
return {
|
|
905
|
+
type: ActionTypes.SET_FILTER_PLOT,
|
|
906
|
+
idx,
|
|
907
|
+
newProp,
|
|
908
|
+
valueIndex
|
|
909
|
+
};
|
|
910
|
+
}
|
|
911
|
+
|
|
912
|
+
export type SetMapInfoUpdaterAction = {
|
|
913
|
+
info: any;
|
|
914
|
+
};
|
|
915
|
+
/**
|
|
916
|
+
* Set the property of a filter plot
|
|
917
|
+
* @memberof visStateActions
|
|
918
|
+
* @param info
|
|
919
|
+
* @returns action
|
|
920
|
+
* @public
|
|
921
|
+
*/
|
|
922
|
+
export function setMapInfo(
|
|
923
|
+
info: any
|
|
924
|
+
): Merge<SetMapInfoUpdaterAction, {type: typeof ActionTypes.SET_MAP_INFO}> {
|
|
925
|
+
return {
|
|
926
|
+
type: ActionTypes.SET_MAP_INFO,
|
|
927
|
+
info
|
|
928
|
+
};
|
|
929
|
+
}
|
|
930
|
+
|
|
931
|
+
export type LoadFilesUpdaterAction = {
|
|
932
|
+
files: File[];
|
|
933
|
+
onFinish?(result: any): any;
|
|
934
|
+
};
|
|
935
|
+
/**
|
|
936
|
+
* Trigger file loading dispatch `addDataToMap` if succeed, or `loadFilesErr` if failed
|
|
937
|
+
* @memberof visStateActions
|
|
938
|
+
* @param files array of fileblob
|
|
939
|
+
* @returns action
|
|
940
|
+
* @public
|
|
941
|
+
*/
|
|
942
|
+
export function loadFiles(
|
|
943
|
+
files: File[],
|
|
944
|
+
onFinish?: (result: any) => any
|
|
945
|
+
): Merge<LoadFilesUpdaterAction, {type: typeof ActionTypes.LOAD_FILES}> {
|
|
946
|
+
return {
|
|
947
|
+
type: ActionTypes.LOAD_FILES,
|
|
948
|
+
files,
|
|
949
|
+
onFinish
|
|
950
|
+
};
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
/**
|
|
954
|
+
* Called with next file to load
|
|
955
|
+
* @memberof visStateActions
|
|
956
|
+
* @returns action
|
|
957
|
+
* @public
|
|
958
|
+
*/
|
|
959
|
+
export function loadNextFile(): {type: typeof ActionTypes.LOAD_NEXT_FILE} {
|
|
960
|
+
return {
|
|
961
|
+
type: ActionTypes.LOAD_NEXT_FILE
|
|
962
|
+
};
|
|
963
|
+
}
|
|
964
|
+
|
|
965
|
+
export type loadFilesSuccessUpdaterAction = {
|
|
966
|
+
result: FileCacheItem[];
|
|
967
|
+
};
|
|
968
|
+
/**
|
|
969
|
+
* called when all files are processed and loaded
|
|
970
|
+
* @memberof visStateActions
|
|
971
|
+
* @param result
|
|
972
|
+
* @returns action
|
|
973
|
+
*/
|
|
974
|
+
export function loadFilesSuccess(
|
|
975
|
+
result: FileCacheItem[]
|
|
976
|
+
): Merge<loadFilesSuccessUpdaterAction, {type: typeof ActionTypes.LOAD_FILES_SUCCESS}> {
|
|
977
|
+
return {
|
|
978
|
+
type: ActionTypes.LOAD_FILES_SUCCESS,
|
|
979
|
+
result
|
|
980
|
+
};
|
|
981
|
+
}
|
|
982
|
+
|
|
983
|
+
export type LoadFileStepSuccessAction = {
|
|
984
|
+
fileName: string;
|
|
985
|
+
fileCache: FileCacheItem[];
|
|
986
|
+
};
|
|
987
|
+
/**
|
|
988
|
+
* called when successfully loaded one file, ready to move on to the next one
|
|
989
|
+
* @memberof visStateActions
|
|
990
|
+
* @param result
|
|
991
|
+
* @returns action
|
|
992
|
+
*/
|
|
993
|
+
export function loadFileStepSuccess({
|
|
994
|
+
fileName,
|
|
995
|
+
fileCache
|
|
996
|
+
}: {
|
|
997
|
+
fileName: string;
|
|
998
|
+
fileCache: FileCacheItem[];
|
|
999
|
+
}): Merge<LoadFileStepSuccessAction, {type: typeof ActionTypes.LOAD_FILE_STEP_SUCCESS}> {
|
|
1000
|
+
return {
|
|
1001
|
+
type: ActionTypes.LOAD_FILE_STEP_SUCCESS,
|
|
1002
|
+
fileName,
|
|
1003
|
+
fileCache
|
|
1004
|
+
};
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
export type LoadFilesErrUpdaterAction = {
|
|
1008
|
+
fileName: string;
|
|
1009
|
+
error: any;
|
|
1010
|
+
};
|
|
1011
|
+
/**
|
|
1012
|
+
* Trigger loading file error
|
|
1013
|
+
* @memberof visStateActions
|
|
1014
|
+
* @param error
|
|
1015
|
+
* @returns action
|
|
1016
|
+
* @public
|
|
1017
|
+
*/
|
|
1018
|
+
|
|
1019
|
+
export function loadFilesErr(
|
|
1020
|
+
fileName: string,
|
|
1021
|
+
error: any
|
|
1022
|
+
): Merge<LoadFilesErrUpdaterAction, {type: typeof ActionTypes.LOAD_FILES_ERR}> {
|
|
1023
|
+
return {
|
|
1024
|
+
type: ActionTypes.LOAD_FILES_ERR,
|
|
1025
|
+
fileName,
|
|
1026
|
+
error
|
|
1027
|
+
};
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
export type SetFeaturesUpdaterAction = {
|
|
1031
|
+
features: Feature[];
|
|
1032
|
+
};
|
|
1033
|
+
/**
|
|
1034
|
+
* Store features to state
|
|
1035
|
+
* @memberof visStateActions
|
|
1036
|
+
* @param features
|
|
1037
|
+
* @returns action
|
|
1038
|
+
*/
|
|
1039
|
+
export function setFeatures(
|
|
1040
|
+
features: Feature[]
|
|
1041
|
+
): Merge<SetFeaturesUpdaterAction, {type: typeof ActionTypes.SET_FEATURES}> {
|
|
1042
|
+
return {
|
|
1043
|
+
type: ActionTypes.SET_FEATURES,
|
|
1044
|
+
features
|
|
1045
|
+
};
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
export type SetPolygonFilterLayerUpdaterAction = {
|
|
1049
|
+
layer: Layer;
|
|
1050
|
+
feature: Feature;
|
|
1051
|
+
};
|
|
1052
|
+
/**
|
|
1053
|
+
* It will apply the provide feature as filter to the given layer.
|
|
1054
|
+
* If the given feature is already applied as filter to the layer, it will remove the layer from the filter
|
|
1055
|
+
* @memberof visStateActions
|
|
1056
|
+
* @param layer
|
|
1057
|
+
* @param feature
|
|
1058
|
+
* @returns action
|
|
1059
|
+
*/
|
|
1060
|
+
export function setPolygonFilterLayer(
|
|
1061
|
+
layer: Layer,
|
|
1062
|
+
feature: Feature
|
|
1063
|
+
): Merge<SetPolygonFilterLayerUpdaterAction, {type: typeof ActionTypes.SET_POLYGON_FILTER_LAYER}> {
|
|
1064
|
+
return {
|
|
1065
|
+
type: ActionTypes.SET_POLYGON_FILTER_LAYER,
|
|
1066
|
+
layer,
|
|
1067
|
+
feature
|
|
1068
|
+
};
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
export type SetSelectedFeatureUpdaterAction = {
|
|
1072
|
+
feature: Feature;
|
|
1073
|
+
};
|
|
1074
|
+
/**
|
|
1075
|
+
* Set the current feature to be edited/deleted
|
|
1076
|
+
* @memberof visStateActions
|
|
1077
|
+
* @param feature
|
|
1078
|
+
* @returns action
|
|
1079
|
+
*/
|
|
1080
|
+
export function setSelectedFeature(
|
|
1081
|
+
feature: Feature
|
|
1082
|
+
): Merge<SetSelectedFeatureUpdaterAction, {type: typeof ActionTypes.SET_SELECTED_FEATURE}> {
|
|
1083
|
+
return {
|
|
1084
|
+
type: ActionTypes.SET_SELECTED_FEATURE,
|
|
1085
|
+
feature
|
|
1086
|
+
};
|
|
1087
|
+
}
|
|
1088
|
+
|
|
1089
|
+
export type DeleteFeatureUpdaterAction = {
|
|
1090
|
+
feature: Feature;
|
|
1091
|
+
};
|
|
1092
|
+
/**
|
|
1093
|
+
* Delete the given feature
|
|
1094
|
+
* @memberof visStateActions
|
|
1095
|
+
* @param feature
|
|
1096
|
+
* @returns action
|
|
1097
|
+
*/
|
|
1098
|
+
export function deleteFeature(
|
|
1099
|
+
feature: Feature
|
|
1100
|
+
): Merge<DeleteFeatureUpdaterAction, {type: typeof ActionTypes.DELETE_FEATURE}> {
|
|
1101
|
+
return {
|
|
1102
|
+
type: ActionTypes.DELETE_FEATURE,
|
|
1103
|
+
feature
|
|
1104
|
+
};
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1107
|
+
export type SetEditorModeUpdaterAction = {
|
|
1108
|
+
mode: string;
|
|
1109
|
+
};
|
|
1110
|
+
/** Set the map mode
|
|
1111
|
+
* @memberof visStateActions
|
|
1112
|
+
* @param mode one of EDITOR_MODES
|
|
1113
|
+
* @returns action
|
|
1114
|
+
* @public
|
|
1115
|
+
* @example
|
|
1116
|
+
* import {setMapMode} from 'kepler.gl/actions';
|
|
1117
|
+
* import {EDITOR_MODES} from 'kepler.gl/constants';
|
|
1118
|
+
*
|
|
1119
|
+
* this.props.dispatch(setMapMode(EDITOR_MODES.DRAW_POLYGON));
|
|
1120
|
+
*/
|
|
1121
|
+
export function setEditorMode(
|
|
1122
|
+
mode: string
|
|
1123
|
+
): Merge<SetEditorModeUpdaterAction, {type: typeof ActionTypes.SET_EDITOR_MODE}> {
|
|
1124
|
+
return {
|
|
1125
|
+
type: ActionTypes.SET_EDITOR_MODE,
|
|
1126
|
+
mode
|
|
1127
|
+
};
|
|
1128
|
+
}
|
|
1129
|
+
|
|
1130
|
+
export type ApplyCPUFilterUpdaterAction = {
|
|
1131
|
+
dataId: string | string[];
|
|
1132
|
+
};
|
|
1133
|
+
/**
|
|
1134
|
+
* Trigger CPU filter of selected dataset
|
|
1135
|
+
* @memberof visStateActions
|
|
1136
|
+
* @param dataId - single dataId or an array of dataIds
|
|
1137
|
+
* @returns action
|
|
1138
|
+
* @public
|
|
1139
|
+
*/
|
|
1140
|
+
export function applyCPUFilter(
|
|
1141
|
+
dataId: string | string[]
|
|
1142
|
+
): Merge<ApplyCPUFilterUpdaterAction, {type: typeof ActionTypes.APPLY_CPU_FILTER}> {
|
|
1143
|
+
return {
|
|
1144
|
+
type: ActionTypes.APPLY_CPU_FILTER,
|
|
1145
|
+
dataId
|
|
1146
|
+
};
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
export type ToggleEditorVisibilityUpdaterAction = {};
|
|
1150
|
+
/**
|
|
1151
|
+
* Toggle editor layer visibility
|
|
1152
|
+
* @memberof visStateActions
|
|
1153
|
+
* @return action
|
|
1154
|
+
*/
|
|
1155
|
+
export function toggleEditorVisibility(): Merge<
|
|
1156
|
+
ToggleEditorVisibilityUpdaterAction,
|
|
1157
|
+
{type: typeof ActionTypes.TOGGLE_EDITOR_VISIBILITY}
|
|
1158
|
+
> {
|
|
1159
|
+
return {
|
|
1160
|
+
type: ActionTypes.TOGGLE_EDITOR_VISIBILITY
|
|
1161
|
+
};
|
|
1162
|
+
}
|
|
1163
|
+
|
|
1164
|
+
type FileContent = {
|
|
1165
|
+
fileName: string;
|
|
1166
|
+
header: string[];
|
|
1167
|
+
data: any;
|
|
1168
|
+
};
|
|
1169
|
+
export type NextFileBatchUpdaterAction = {
|
|
1170
|
+
payload: {
|
|
1171
|
+
gen: AsyncGenerator<FileContent>;
|
|
1172
|
+
fileName: string;
|
|
1173
|
+
progress?: any;
|
|
1174
|
+
accumulated?: any;
|
|
1175
|
+
onFinish: (result: any) => any;
|
|
1176
|
+
};
|
|
1177
|
+
};
|
|
1178
|
+
/**
|
|
1179
|
+
* Process the next file batch
|
|
1180
|
+
* @memberof visStateActions
|
|
1181
|
+
* @param payload - batch payload
|
|
1182
|
+
* @return action
|
|
1183
|
+
*/
|
|
1184
|
+
export function nextFileBatch(
|
|
1185
|
+
payload: NextFileBatchUpdaterAction['payload']
|
|
1186
|
+
): Merge<NextFileBatchUpdaterAction, {type: typeof ActionTypes.NEXT_FILE_BATCH}> {
|
|
1187
|
+
return {
|
|
1188
|
+
type: ActionTypes.NEXT_FILE_BATCH,
|
|
1189
|
+
payload
|
|
1190
|
+
};
|
|
1191
|
+
}
|
|
1192
|
+
|
|
1193
|
+
export type ProcessFileContentUpdaterAction = {
|
|
1194
|
+
payload: {
|
|
1195
|
+
content: FileContent;
|
|
1196
|
+
fileCache: FileCacheItem[];
|
|
1197
|
+
};
|
|
1198
|
+
};
|
|
1199
|
+
/**
|
|
1200
|
+
* Process the file content
|
|
1201
|
+
* @memberof visStateActions
|
|
1202
|
+
* @param payload - the file content
|
|
1203
|
+
* @return action
|
|
1204
|
+
*/
|
|
1205
|
+
export function processFileContent(
|
|
1206
|
+
payload: ProcessFileContentUpdaterAction['payload']
|
|
1207
|
+
): Merge<ProcessFileContentUpdaterAction, {type: typeof ActionTypes.PROCESS_FILE_CONTENT}> {
|
|
1208
|
+
return {
|
|
1209
|
+
type: ActionTypes.PROCESS_FILE_CONTENT,
|
|
1210
|
+
payload
|
|
1211
|
+
};
|
|
1212
|
+
}
|
|
1213
|
+
|
|
1214
|
+
export type SetLayerAnimationTimeConfigAction = {
|
|
1215
|
+
config: {
|
|
1216
|
+
timezone?: string;
|
|
1217
|
+
timeFormat?: string;
|
|
1218
|
+
};
|
|
1219
|
+
};
|
|
1220
|
+
/**
|
|
1221
|
+
* Set layer animation time format and timezone
|
|
1222
|
+
* @memberof visStateActions
|
|
1223
|
+
* @param config - {timeFormat: string, timezone: string}
|
|
1224
|
+
* @return action
|
|
1225
|
+
*/
|
|
1226
|
+
export function setLayerAnimationTimeConfig(
|
|
1227
|
+
config: SetLayerAnimationTimeConfigAction['config']
|
|
1228
|
+
): Merge<
|
|
1229
|
+
SetLayerAnimationTimeConfigAction,
|
|
1230
|
+
{type: typeof ActionTypes.SET_LAYER_ANIMATION_TIME_CONFIG}
|
|
1231
|
+
> {
|
|
1232
|
+
return {
|
|
1233
|
+
type: ActionTypes.SET_LAYER_ANIMATION_TIME_CONFIG,
|
|
1234
|
+
config
|
|
1235
|
+
};
|
|
1236
|
+
}
|
|
1237
|
+
|
|
1238
|
+
export type SetFilterAnimationTimeConfigAction = {
|
|
1239
|
+
idx: number;
|
|
1240
|
+
config: {
|
|
1241
|
+
timezone?: string;
|
|
1242
|
+
timeFormat?: string;
|
|
1243
|
+
};
|
|
1244
|
+
};
|
|
1245
|
+
/**
|
|
1246
|
+
* Set Filter animation time format and timezone
|
|
1247
|
+
* @memberof visStateActions
|
|
1248
|
+
* @param idx
|
|
1249
|
+
* @param config
|
|
1250
|
+
* @return action
|
|
1251
|
+
*/
|
|
1252
|
+
export function setFilterAnimationTimeConfig(
|
|
1253
|
+
idx: SetFilterAnimationTimeConfigAction['idx'],
|
|
1254
|
+
config: SetFilterAnimationTimeConfigAction['config']
|
|
1255
|
+
): Merge<
|
|
1256
|
+
SetFilterAnimationTimeConfigAction,
|
|
1257
|
+
{type: typeof ActionTypes.SET_FILTER_ANIMATION_TIME_CONFIG}
|
|
1258
|
+
> {
|
|
1259
|
+
return {
|
|
1260
|
+
type: ActionTypes.SET_FILTER_ANIMATION_TIME_CONFIG,
|
|
1261
|
+
idx,
|
|
1262
|
+
config
|
|
1263
|
+
};
|
|
1264
|
+
}
|
|
1265
|
+
|
|
1266
|
+
/**
|
|
1267
|
+
* This declaration is needed to group actions in docs
|
|
1268
|
+
*/
|
|
1269
|
+
/**
|
|
1270
|
+
* Actions handled mostly by `visState` reducer.
|
|
1271
|
+
* They manage how data is processed, filtered and displayed on the map by operates on layers,
|
|
1272
|
+
* filters and interaction settings.
|
|
1273
|
+
*
|
|
1274
|
+
* @public
|
|
1275
|
+
*/
|
|
1276
|
+
/* eslint-disable no-unused-vars */
|
|
1277
|
+
// @ts-ignore
|
|
1278
|
+
const visStateActions = null;
|
|
1279
|
+
/* eslint-enable no-unused-vars */
|