@mapsight/ui 7.0.3 → 7.2.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 +91 -2
- package/dist/components/app.d.ts +2 -2
- package/dist/components/app.d.ts.map +1 -1
- package/dist/components/app.js +7 -7
- package/dist/components/app.js.map +1 -1
- package/dist/components/feature-details-content/feature-details-content.d.ts +1 -1
- package/dist/components/feature-details-content/feature-details-content.d.ts.map +1 -1
- package/dist/components/feature-details-content/feature-details-content.js +2 -2
- package/dist/components/feature-details-content/feature-details-content.js.map +1 -1
- package/dist/components/feature-details-content/index.d.ts +4 -6
- package/dist/components/feature-details-content/index.js +6 -7
- package/dist/components/feature-details-content/index.js.map +1 -1
- package/dist/components/feature-details-content/share-feature-link-modal.d.ts +1 -1
- package/dist/components/feature-details-content/share-feature-link-modal.d.ts.map +1 -1
- package/dist/components/feature-list/context.d.ts +12 -4
- package/dist/components/feature-list/context.d.ts.map +1 -1
- package/dist/components/feature-list/context.js.map +1 -1
- package/dist/components/feature-list/empty-message.d.ts +1 -1
- package/dist/components/feature-list/empty-message.d.ts.map +1 -1
- package/dist/components/feature-list/filter.d.ts +1 -1
- package/dist/components/feature-list/filter.d.ts.map +1 -1
- package/dist/components/feature-list/filter.js +2 -2
- package/dist/components/feature-list/filter.js.map +1 -1
- package/dist/components/feature-list/footer.d.ts +1 -1
- package/dist/components/feature-list/footer.d.ts.map +1 -1
- package/dist/components/feature-list/hooks/useAutoloadFeatureSource.d.ts.map +1 -1
- package/dist/components/feature-list/hooks/useAutoloadFeatureSource.js +12 -3
- package/dist/components/feature-list/hooks/useAutoloadFeatureSource.js.map +1 -1
- package/dist/components/feature-list/hooks/useFeatureListState.d.ts.map +1 -1
- package/dist/components/feature-list/hooks/useFeatureListState.js +7 -2
- package/dist/components/feature-list/hooks/useFeatureListState.js.map +1 -1
- package/dist/components/feature-list/hooks/useRestoreDocumentScroll.js +1 -1
- package/dist/components/feature-list/hooks/useRestoreDocumentScroll.js.map +1 -1
- package/dist/components/feature-list/hooks/useSelectFeature.js +6 -6
- package/dist/components/feature-list/hooks/useSelectFeature.js.map +1 -1
- package/dist/components/feature-list/index.d.ts +3 -2
- package/dist/components/feature-list/index.d.ts.map +1 -1
- package/dist/components/feature-list/index.js +34 -46
- package/dist/components/feature-list/index.js.map +1 -1
- package/dist/components/feature-list/pagination.d.ts +1 -1
- package/dist/components/feature-list/pagination.d.ts.map +1 -1
- package/dist/components/feature-list/query-input.d.ts +1 -1
- package/dist/components/feature-list/query-input.d.ts.map +1 -1
- package/dist/components/feature-list/tag-switcher-control.d.ts +4 -0
- package/dist/components/feature-list/tag-switcher-control.d.ts.map +1 -0
- package/dist/components/feature-list/tag-switcher-control.js +10 -0
- package/dist/components/feature-list/tag-switcher-control.js.map +1 -0
- package/dist/components/feature-list-cycling/button.d.ts +1 -1
- package/dist/components/feature-list-cycling/button.d.ts.map +1 -1
- package/dist/components/feature-list-cycling/dot.d.ts +1 -1
- package/dist/components/feature-list-cycling/dot.d.ts.map +1 -1
- package/dist/components/feature-list-cycling/feature-list-cycling.d.ts +1 -1
- package/dist/components/feature-list-cycling/feature-list-cycling.d.ts.map +1 -1
- package/dist/components/feature-list-cycling/index.d.ts +4 -6
- package/dist/components/feature-list-cycling/index.js +1 -1
- package/dist/components/feature-list-cycling/index.js.map +1 -1
- package/dist/components/feature-list-item/icon.d.ts +8 -6
- package/dist/components/feature-list-item/icon.d.ts.map +1 -1
- package/dist/components/feature-list-item/icon.js +5 -13
- package/dist/components/feature-list-item/icon.js.map +1 -1
- package/dist/components/feature-list-item/index.d.ts +1 -1
- package/dist/components/feature-list-item/index.d.ts.map +1 -1
- package/dist/components/feature-list-sorting/feature-list-sorting.d.ts +1 -1
- package/dist/components/feature-list-sorting/feature-list-sorting.d.ts.map +1 -1
- package/dist/components/feature-list-sorting/feature-list-sorting.js +3 -12
- package/dist/components/feature-list-sorting/feature-list-sorting.js.map +1 -1
- package/dist/components/feature-list-sorting/index.d.ts +4 -16
- package/dist/components/feature-list-sorting/index.d.ts.map +1 -1
- package/dist/components/feature-list-sorting/index.js +6 -7
- package/dist/components/feature-list-sorting/index.js.map +1 -1
- package/dist/components/feature-list-sorting/status-indicator.d.ts +1 -1
- package/dist/components/feature-list-sorting/status-indicator.d.ts.map +1 -1
- package/dist/components/feature-select-button.d.ts +1 -1
- package/dist/components/feature-select-button.d.ts.map +1 -1
- package/dist/components/feature-selection-info/close-button.d.ts +1 -1
- package/dist/components/feature-selection-info/close-button.d.ts.map +1 -1
- package/dist/components/feature-selection-info/container.d.ts +1 -1
- package/dist/components/feature-selection-info/container.d.ts.map +1 -1
- package/dist/components/feature-selection-info/header.d.ts +1 -1
- package/dist/components/feature-selection-info/header.d.ts.map +1 -1
- package/dist/components/feature-selection-info/index.d.ts +1 -1
- package/dist/components/feature-selection-info/index.d.ts.map +1 -1
- package/dist/components/feature-selection-info/index.js +2 -2
- package/dist/components/feature-selection-info/index.js.map +1 -1
- package/dist/components/feature-selection-info/with-sticky-header.d.ts +10 -7
- package/dist/components/feature-selection-info/with-sticky-header.d.ts.map +1 -1
- package/dist/components/feature-selection-info/with-sticky-header.js +4 -4
- package/dist/components/feature-selection-info/with-sticky-header.js.map +1 -1
- package/dist/components/feature-selection-info/without-sticky-header.d.ts +1 -1
- package/dist/components/feature-selection-info/without-sticky-header.d.ts.map +1 -1
- package/dist/components/filter-toggle-control/FilterToggleControl.d.ts +12 -0
- package/dist/components/filter-toggle-control/FilterToggleControl.d.ts.map +1 -0
- package/dist/components/filter-toggle-control/FilterToggleControl.js +20 -0
- package/dist/components/filter-toggle-control/FilterToggleControl.js.map +1 -0
- package/dist/components/helping/app-channel.d.ts +1 -1
- package/dist/components/helping/app-channel.d.ts.map +1 -1
- package/dist/components/helping/app-context.d.ts +2 -2
- package/dist/components/helping/app-context.d.ts.map +1 -1
- package/dist/components/instance.d.ts +1 -1
- package/dist/components/instance.d.ts.map +1 -1
- package/dist/components/layer-switcher/GroupedLayerSwitcher.d.ts +1 -1
- package/dist/components/layer-switcher/GroupedLayerSwitcher.js +1 -1
- package/dist/components/layer-switcher/GroupedLayerSwitcher.js.map +1 -1
- package/dist/components/layer-switcher/LayerSwitcher.d.ts +13 -12
- package/dist/components/layer-switcher/LayerSwitcher.d.ts.map +1 -1
- package/dist/components/layer-switcher/LayerSwitcher.js +1 -1
- package/dist/components/layer-switcher/LayerSwitcher.js.map +1 -1
- package/dist/components/layer-switcher/LayerSwitcherContainer.d.ts +16 -0
- package/dist/components/layer-switcher/LayerSwitcherContainer.d.ts.map +1 -0
- package/dist/components/layer-switcher/{LayerSwticherContainer.js → LayerSwitcherContainer.js} +4 -8
- package/dist/components/layer-switcher/LayerSwitcherContainer.js.map +1 -0
- package/dist/components/layer-switcher/LayerSwitcherEntry.d.ts +28 -12
- package/dist/components/layer-switcher/LayerSwitcherEntry.d.ts.map +1 -1
- package/dist/components/layer-switcher/LayerSwitcherEntry.js +33 -35
- package/dist/components/layer-switcher/LayerSwitcherEntry.js.map +1 -1
- package/dist/components/layer-switcher/index.d.ts +9 -2
- package/dist/components/layer-switcher/index.d.ts.map +1 -1
- package/dist/components/layer-switcher/index.js +12 -21
- package/dist/components/layer-switcher/index.js.map +1 -1
- package/dist/components/layout/additional-container/content.d.ts +1 -1
- package/dist/components/layout/additional-container/content.d.ts.map +1 -1
- package/dist/components/layout/additional-container/index.d.ts +1 -1
- package/dist/components/layout/additional-container/index.d.ts.map +1 -1
- package/dist/components/layout/additional-container/marginal.d.ts +1 -1
- package/dist/components/layout/additional-container/marginal.d.ts.map +1 -1
- package/dist/components/layout/main-container.d.ts +1 -1
- package/dist/components/layout/main-container.d.ts.map +1 -1
- package/dist/components/layout/map-row.d.ts +1 -1
- package/dist/components/layout/map-row.d.ts.map +1 -1
- package/dist/components/layout/title-bar.d.ts +1 -1
- package/dist/components/layout/title-bar.d.ts.map +1 -1
- package/dist/components/layout/wrapper.d.ts +1 -1
- package/dist/components/layout/wrapper.d.ts.map +1 -1
- package/dist/components/layout/wrapper.js +1 -1
- package/dist/components/layout/wrapper.js.map +1 -1
- package/dist/components/link-share.d.ts +1 -1
- package/dist/components/link-share.d.ts.map +1 -1
- package/dist/components/main-panel/container.d.ts +1 -1
- package/dist/components/main-panel/container.d.ts.map +1 -1
- package/dist/components/main-panel/context.d.ts +6 -5
- package/dist/components/main-panel/context.d.ts.map +1 -1
- package/dist/components/main-panel/context.js +5 -13
- package/dist/components/main-panel/context.js.map +1 -1
- package/dist/components/main-panel/index.d.ts +1 -1
- package/dist/components/main-panel/index.d.ts.map +1 -1
- package/dist/components/main-panel/list-toggle-button.d.ts +1 -1
- package/dist/components/main-panel/list-toggle-button.d.ts.map +1 -1
- package/dist/components/main-panel/list-toggle-button.js +2 -2
- package/dist/components/main-panel/list-toggle-button.js.map +1 -1
- package/dist/components/map-overlay/attribution-entries.d.ts +1 -1
- package/dist/components/map-overlay/attribution-entries.d.ts.map +1 -1
- package/dist/components/map-overlay/attribution.d.ts +1 -1
- package/dist/components/map-overlay/attribution.d.ts.map +1 -1
- package/dist/components/map-overlay/attribution.js +1 -1
- package/dist/components/map-overlay/attribution.js.map +1 -1
- package/dist/components/map-overlay/combined-buttons.d.ts +1 -1
- package/dist/components/map-overlay/combined-buttons.d.ts.map +1 -1
- package/dist/components/map-overlay/index.d.ts +1 -1
- package/dist/components/map-overlay/index.d.ts.map +1 -1
- package/dist/components/map-overlay/info-overlay-left.d.ts +1 -1
- package/dist/components/map-overlay/info-overlay-left.d.ts.map +1 -1
- package/dist/components/map-overlay/info-overlay-left.js +2 -2
- package/dist/components/map-overlay/info-overlay-left.js.map +1 -1
- package/dist/components/map-overlay/info-overlay-modal.d.ts +1 -1
- package/dist/components/map-overlay/info-overlay-modal.d.ts.map +1 -1
- package/dist/components/map-overlay/info-overlay-right.d.ts +1 -1
- package/dist/components/map-overlay/info-overlay-right.d.ts.map +1 -1
- package/dist/components/map-overlay/info-overlay-right.js +2 -2
- package/dist/components/map-overlay/info-overlay-right.js.map +1 -1
- package/dist/components/map-overlay/layer-switcher-overlay.d.ts +1 -1
- package/dist/components/map-overlay/layer-switcher-overlay.d.ts.map +1 -1
- package/dist/components/map-overlay/legend.d.ts +1 -1
- package/dist/components/map-overlay/legend.d.ts.map +1 -1
- package/dist/components/map-overlay/legend.js +1 -1
- package/dist/components/map-overlay/legend.js.map +1 -1
- package/dist/components/map-overlay/logo.d.ts +1 -1
- package/dist/components/map-overlay/logo.d.ts.map +1 -1
- package/dist/components/map-overlay/measure-distance-button.d.ts +1 -1
- package/dist/components/map-overlay/measure-distance-button.d.ts.map +1 -1
- package/dist/components/map-overlay/measure-distance-button.js +1 -1
- package/dist/components/map-overlay/measure-distance-button.js.map +1 -1
- package/dist/components/map-overlay/measure-distance-overlay.d.ts +1 -1
- package/dist/components/map-overlay/measure-distance-overlay.d.ts.map +1 -1
- package/dist/components/map-overlay/mini-legend.js +2 -2
- package/dist/components/map-overlay/mini-legend.js.map +1 -1
- package/dist/components/map-overlay/region-selector.js +2 -2
- package/dist/components/map-overlay/region-selector.js.map +1 -1
- package/dist/components/map-overlay/search-overlay.d.ts +1 -1
- package/dist/components/map-overlay/search-overlay.d.ts.map +1 -1
- package/dist/components/map-overlay/search-overlay.js +1 -1
- package/dist/components/map-overlay/search-overlay.js.map +1 -1
- package/dist/components/map-overlay/share-position-link-button.d.ts +1 -1
- package/dist/components/map-overlay/share-position-link-button.d.ts.map +1 -1
- package/dist/components/map-overlay/share-position-link-button.js +1 -1
- package/dist/components/map-overlay/share-position-link-button.js.map +1 -1
- package/dist/components/map-overlay/tool-overlay.d.ts +1 -1
- package/dist/components/map-overlay/tool-overlay.d.ts.map +1 -1
- package/dist/components/map-overlay/zoom-buttons.d.ts +1 -1
- package/dist/components/map-overlay/zoom-buttons.d.ts.map +1 -1
- package/dist/components/map-synced-interlay/index.d.ts +3 -6
- package/dist/components/map-synced-interlay/index.d.ts.map +1 -1
- package/dist/components/map-synced-interlay/index.js +5 -6
- package/dist/components/map-synced-interlay/index.js.map +1 -1
- package/dist/components/map-synced-interlay/map-synced-interlay.d.ts +1 -1
- package/dist/components/map-synced-interlay/map-synced-interlay.d.ts.map +1 -1
- package/dist/components/map-synced-interlay/map-synced-interlay.js +1 -1
- package/dist/components/map-synced-interlay/map-synced-interlay.js.map +1 -1
- package/dist/components/map-synced-interlay/tooltip.d.ts +1 -1
- package/dist/components/map-synced-interlay/tooltip.d.ts.map +1 -1
- package/dist/components/map-synced-interlay/tooltip.js +1 -1
- package/dist/components/map-synced-interlay/tooltip.js.map +1 -1
- package/dist/components/map-wrapper.d.ts +3 -3
- package/dist/components/map-wrapper.d.ts.map +1 -1
- package/dist/components/map-wrapper.js +4 -7
- package/dist/components/map-wrapper.js.map +1 -1
- package/dist/components/map.d.ts +6 -5
- package/dist/components/map.d.ts.map +1 -1
- package/dist/components/map.js +15 -5
- package/dist/components/map.js.map +1 -1
- package/dist/components/mapsight-icon/mapsight-icon.d.ts +10 -0
- package/dist/components/mapsight-icon/mapsight-icon.d.ts.map +1 -0
- package/dist/components/mapsight-icon/mapsight-icon.js +33 -0
- package/dist/components/mapsight-icon/mapsight-icon.js.map +1 -0
- package/dist/components/modal.d.ts +1 -1
- package/dist/components/modal.d.ts.map +1 -1
- package/dist/components/query-input-with-label.d.ts +1 -1
- package/dist/components/query-input-with-label.d.ts.map +1 -1
- package/dist/components/search/index.d.ts +1 -1
- package/dist/components/search/index.d.ts.map +1 -1
- package/dist/components/search/index.js +2 -2
- package/dist/components/search/index.js.map +1 -1
- package/dist/components/search/result-entry.d.ts +1 -1
- package/dist/components/search/result-entry.d.ts.map +1 -1
- package/dist/components/search/result-entry.js +1 -1
- package/dist/components/search/result-entry.js.map +1 -1
- package/dist/components/search/result.d.ts +1 -1
- package/dist/components/search/result.d.ts.map +1 -1
- package/dist/components/search/result.js +1 -1
- package/dist/components/search/result.js.map +1 -1
- package/dist/components/switcher/GroupedSwitcher.d.ts +1 -1
- package/dist/components/switcher/GroupedSwitcher.d.ts.map +1 -1
- package/dist/components/switcher/Switcher.d.ts +1 -1
- package/dist/components/switcher/Switcher.d.ts.map +1 -1
- package/dist/components/switcher/SwitcherButton.d.ts +1 -1
- package/dist/components/switcher/SwitcherButton.d.ts.map +1 -1
- package/dist/components/switcher/SwitcherEntry.d.ts +21 -3
- package/dist/components/switcher/SwitcherEntry.d.ts.map +1 -1
- package/dist/components/switcher/SwitcherEntry.js +8 -9
- package/dist/components/switcher/SwitcherEntry.js.map +1 -1
- package/dist/components/switcher/SwitcherHeader.d.ts +1 -1
- package/dist/components/switcher/SwitcherHeader.d.ts.map +1 -1
- package/dist/components/switcher/SwitcherStatusIcon.d.ts +1 -1
- package/dist/components/switcher/SwitcherStatusIcon.d.ts.map +1 -1
- package/dist/components/tag-switcher/TagSwitcher.d.ts +3 -3
- package/dist/components/tag-switcher/TagSwitcher.d.ts.map +1 -1
- package/dist/components/tag-switcher/TagSwitcher.js.map +1 -1
- package/dist/components/tag-switcher/createTagSwitcherEntry.d.ts +13 -11
- package/dist/components/tag-switcher/createTagSwitcherEntry.d.ts.map +1 -1
- package/dist/components/tag-switcher/createTagSwitcherEntry.js +6 -12
- package/dist/components/tag-switcher/createTagSwitcherEntry.js.map +1 -1
- package/dist/components/tag-switcher/createTagSwitcherHeader.d.ts +12 -10
- package/dist/components/tag-switcher/createTagSwitcherHeader.d.ts.map +1 -1
- package/dist/components/tag-switcher/createTagSwitcherHeader.js +5 -5
- package/dist/components/tag-switcher/createTagSwitcherHeader.js.map +1 -1
- package/dist/components/tag-switcher/index.d.ts +3 -6
- package/dist/components/tag-switcher/index.d.ts.map +1 -1
- package/dist/components/tag-switcher/index.js +6 -7
- package/dist/components/tag-switcher/index.js.map +1 -1
- package/dist/components/time-filter.d.ts +1 -1
- package/dist/components/time-filter.d.ts.map +1 -1
- package/dist/components/view-toggle-button/desktop-button.d.ts +1 -1
- package/dist/components/view-toggle-button/desktop-button.d.ts.map +1 -1
- package/dist/components/view-toggle-button/index.d.ts +7 -6
- package/dist/components/view-toggle-button/index.d.ts.map +1 -1
- package/dist/components/view-toggle-button/index.js +8 -8
- package/dist/components/view-toggle-button/index.js.map +1 -1
- package/dist/components/view-toggle-button/mobile-button.d.ts +1 -1
- package/dist/components/view-toggle-button/mobile-button.d.ts.map +1 -1
- package/dist/components/view-toggle-button/mobile-button.js.map +1 -1
- package/dist/components/view-toggle-button/view-toggle-button.d.ts +1 -1
- package/dist/components/view-toggle-button/view-toggle-button.d.ts.map +1 -1
- package/dist/components/view-toggle-button/view-toggle-button.js +1 -1
- package/dist/components/view-toggle-button/view-toggle-button.js.map +1 -1
- package/dist/components/view-toggle-button/viewport-button.d.ts +1 -1
- package/dist/components/view-toggle-button/viewport-button.d.ts.map +1 -1
- package/dist/components/view-toggle-button/viewport-button.js.map +1 -1
- package/dist/config/feature/sources.d.ts +8 -5
- package/dist/config/feature/sources.d.ts.map +1 -1
- package/dist/config/feature/sources.js +10 -0
- package/dist/config/feature/sources.js.map +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/map/featureInteractions.js.map +1 -1
- package/dist/config/map/layers.d.ts +16 -13
- package/dist/config/map/layers.d.ts.map +1 -1
- package/dist/config/map/layers.js.map +1 -1
- package/dist/config/schema/index.d.ts +195 -0
- package/dist/config/schema/index.d.ts.map +1 -0
- package/dist/config/schema/index.js +26 -0
- package/dist/config/schema/index.js.map +1 -0
- package/dist/config/schema/validate.d.ts +8 -0
- package/dist/config/schema/validate.d.ts.map +1 -0
- package/dist/config/schema/validate.js +7 -0
- package/dist/config/schema/validate.js.map +1 -0
- package/dist/controllers/defaults.d.ts.map +1 -1
- package/dist/controllers/defaults.js +5 -0
- package/dist/controllers/defaults.js.map +1 -1
- package/dist/filters/tag-filter.d.ts +7 -0
- package/dist/filters/tag-filter.d.ts.map +1 -1
- package/dist/filters/tag-filter.js +10 -0
- package/dist/filters/tag-filter.js.map +1 -1
- package/dist/filters/time-filter.d.ts +9 -0
- package/dist/filters/time-filter.d.ts.map +1 -1
- package/dist/filters/time-filter.js +10 -0
- package/dist/filters/time-filter.js.map +1 -1
- package/dist/helpers/components.d.ts +1 -1
- package/dist/helpers/components.d.ts.map +1 -1
- package/dist/helpers/create-action-watcher.d.ts +1 -1
- package/dist/helpers/create-action-watcher.d.ts.map +1 -1
- package/dist/helpers/create-action-watcher.js +1 -1
- package/dist/helpers/create-action-watcher.js.map +1 -1
- package/dist/helpers/i18n/de.d.ts.map +1 -1
- package/dist/helpers/i18n/de.js +1 -0
- package/dist/helpers/i18n/de.js.map +1 -1
- package/dist/helpers/i18n/en.d.ts.map +1 -1
- package/dist/helpers/i18n/en.js +1 -0
- package/dist/helpers/i18n/en.js.map +1 -1
- package/dist/helpers/sort-features-by-distance.d.ts +2 -7
- package/dist/helpers/sort-features-by-distance.d.ts.map +1 -1
- package/dist/helpers/sort-features-by-distance.js +27 -39
- package/dist/helpers/sort-features-by-distance.js.map +1 -1
- package/dist/hooks/useMapsightIcon.d.ts +8 -0
- package/dist/hooks/useMapsightIcon.d.ts.map +1 -0
- package/dist/hooks/useMapsightIcon.js +50 -0
- package/dist/hooks/useMapsightIcon.js.map +1 -0
- package/dist/hooks/useMountable.d.ts +2 -2
- package/dist/hooks/useMountable.d.ts.map +1 -1
- package/dist/hooks/useMountable.js +6 -0
- package/dist/hooks/useMountable.js.map +1 -1
- package/dist/hooks/useStickyHeader.d.ts +3 -3
- package/dist/hooks/useStickyHeader.d.ts.map +1 -1
- package/dist/hooks/useStickyHeader.js +3 -3
- package/dist/hooks/useStickyHeader.js.map +1 -1
- package/dist/hooks/useUpdateMapSizeCallback.d.ts +1 -1
- package/dist/hooks/useUpdateMapSizeCallback.d.ts.map +1 -1
- package/dist/hooks/useUpdateMapSizeOnRender.d.ts +1 -1
- package/dist/hooks/useUpdateMapSizeOnRender.d.ts.map +1 -1
- package/dist/hooks/useUpdateMapSizeOnTransitionEnd.d.ts +1 -1
- package/dist/hooks/useUpdateMapSizeOnTransitionEnd.d.ts.map +1 -1
- package/dist/hooks/useUpdateMapSizeOnViewChange.d.ts +1 -1
- package/dist/hooks/useUpdateMapSizeOnViewChange.d.ts.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -5
- package/dist/index.js.map +1 -1
- package/dist/plugins/browser/app-title.d.ts +1 -1
- package/dist/plugins/browser/app-title.d.ts.map +1 -1
- package/dist/plugins/browser/feature-deep-link.d.ts +1 -1
- package/dist/plugins/browser/feature-deep-link.d.ts.map +1 -1
- package/dist/plugins/browser/feature-deep-link.js.map +1 -1
- package/dist/plugins/browser/local-storage.d.ts +1 -1
- package/dist/plugins/browser/local-storage.d.ts.map +1 -1
- package/dist/plugins/browser/native-fullscreen.d.ts +2 -2
- package/dist/plugins/browser/native-fullscreen.d.ts.map +1 -1
- package/dist/plugins/browser/no-scroll.d.ts +3 -4
- package/dist/plugins/browser/no-scroll.d.ts.map +1 -1
- package/dist/plugins/browser/no-scroll.js.map +1 -1
- package/dist/plugins/browser/partial-content-changed-event.d.ts +1 -1
- package/dist/plugins/browser/partial-content-changed-event.d.ts.map +1 -1
- package/dist/plugins/browser/piwik-track-feature-selection-event.d.ts +1 -1
- package/dist/plugins/browser/piwik-track-feature-selection-event.d.ts.map +1 -1
- package/dist/plugins/browser/piwik-track-fullscreen-toggle-event.d.ts +1 -1
- package/dist/plugins/browser/piwik-track-fullscreen-toggle-event.d.ts.map +1 -1
- package/dist/plugins/browser/search.d.ts +1 -1
- package/dist/plugins/browser/search.d.ts.map +1 -1
- package/dist/plugins/browser/share-position-link.d.ts +1 -1
- package/dist/plugins/browser/share-position-link.d.ts.map +1 -1
- package/dist/plugins/browser/share-position-link.js +1 -1
- package/dist/plugins/browser/share-position-link.js.map +1 -1
- package/dist/plugins/browser/toggle-mobile-views.d.ts +1 -1
- package/dist/plugins/browser/toggle-mobile-views.d.ts.map +1 -1
- package/dist/plugins/browser/user-geolocation.d.ts +1 -1
- package/dist/plugins/browser/user-geolocation.d.ts.map +1 -1
- package/dist/plugins/browser/user-geolocation.js +7 -6
- package/dist/plugins/browser/user-geolocation.js.map +1 -1
- package/dist/plugins/browser/views.d.ts +1 -1
- package/dist/plugins/browser/views.d.ts.map +1 -1
- package/dist/plugins/browser-defaults.d.ts +15 -13
- package/dist/plugins/browser-defaults.d.ts.map +1 -1
- package/dist/plugins/browser-defaults.js +18 -13
- package/dist/plugins/browser-defaults.js.map +1 -1
- package/dist/plugins/common/combined-visible-layers.d.ts +15 -0
- package/dist/plugins/common/combined-visible-layers.d.ts.map +1 -0
- package/dist/plugins/common/combined-visible-layers.js +63 -0
- package/dist/plugins/common/combined-visible-layers.js.map +1 -0
- package/dist/plugins/common/feature-selection-details-url.d.ts +1 -1
- package/dist/plugins/common/feature-selection-details-url.d.ts.map +1 -1
- package/dist/plugins/common/measure-distance.d.ts +1 -1
- package/dist/plugins/common/measure-distance.d.ts.map +1 -1
- package/dist/plugins/common/measure-distance.js +1 -1
- package/dist/plugins/common/measure-distance.js.map +1 -1
- package/dist/plugins/common/ol-proxy.d.ts +1 -1
- package/dist/plugins/common/ol-proxy.d.ts.map +1 -1
- package/dist/plugins/common/render-await-feature-details-loaded.d.ts +1 -1
- package/dist/plugins/common/render-await-feature-details-loaded.d.ts.map +1 -1
- package/dist/plugins/common/render-await-feature-details-loaded.js +2 -1
- package/dist/plugins/common/render-await-feature-details-loaded.js.map +1 -1
- package/dist/plugins/common/render-await-list-feature-sources-loaded.d.ts +1 -1
- package/dist/plugins/common/render-await-list-feature-sources-loaded.d.ts.map +1 -1
- package/dist/plugins/common/render-await-list-feature-sources-loaded.js +2 -1
- package/dist/plugins/common/render-await-list-feature-sources-loaded.js.map +1 -1
- package/dist/plugins/common/runtime-icon-style.d.ts +12 -0
- package/dist/plugins/common/runtime-icon-style.d.ts.map +1 -0
- package/dist/plugins/common/runtime-icon-style.js +58 -0
- package/dist/plugins/common/runtime-icon-style.js.map +1 -0
- package/dist/plugins/server/feature-deep-link.d.ts +1 -1
- package/dist/plugins/server/feature-deep-link.d.ts.map +1 -1
- package/dist/plugins/server-defaults.d.ts +4 -4
- package/dist/plugins/server-defaults.d.ts.map +1 -1
- package/dist/plugins/server-defaults.js +4 -4
- package/dist/plugins/server-defaults.js.map +1 -1
- package/dist/react-modal-app-element.d.ts +6 -0
- package/dist/react-modal-app-element.d.ts.map +1 -0
- package/dist/react-modal-app-element.js +9 -0
- package/dist/react-modal-app-element.js.map +1 -0
- package/dist/renderer/browser-dom.d.ts.map +1 -1
- package/dist/renderer/browser-dom.js +6 -2
- package/dist/renderer/browser-dom.js.map +1 -1
- package/dist/renderer/server-string.js +2 -2
- package/dist/renderer/server-string.js.map +1 -1
- package/dist/store/actions.d.ts +4 -2
- package/dist/store/actions.d.ts.map +1 -1
- package/dist/store/actions.js +7 -2
- package/dist/store/actions.js.map +1 -1
- package/dist/store/reducers.d.ts +224 -9
- package/dist/store/reducers.d.ts.map +1 -1
- package/dist/store/reducers.js +1 -1
- package/dist/store/reducers.js.map +1 -1
- package/dist/store/selectors.d.ts +267 -243
- package/dist/store/selectors.d.ts.map +1 -1
- package/dist/store/selectors.js +58 -69
- package/dist/store/selectors.js.map +1 -1
- package/dist/types.d.ts +65 -36
- package/dist/types.d.ts.map +1 -1
- package/package.json +26 -11
- package/src/scss/blocks/_features-sorting.scss +0 -13
- package/src/scss/blocks/_filter-button.scss +23 -0
- package/src/scss/blocks/_filter-toggle-control.scss +15 -0
- package/src/scss/default.scss +1 -0
- package/dist/components/layer-switcher/LayerSwticherContainer.d.ts +0 -4
- package/dist/components/layer-switcher/LayerSwticherContainer.d.ts.map +0 -1
- package/dist/components/layer-switcher/LayerSwticherContainer.js.map +0 -1
- package/src/img/mapsight-ui/check-empty.svg +0 -1
- package/src/img/mapsight-ui/check.svg +0 -2
- package/src/img/mapsight-ui/close-list.svg +0 -1
- package/src/img/mapsight-ui/close.svg +0 -1
- package/src/img/mapsight-ui/error.svg +0 -1
- package/src/img/mapsight-ui/fullscreen-close.svg +0 -1
- package/src/img/mapsight-ui/fullscreen.svg +0 -1
- package/src/img/mapsight-ui/geo-active.svg +0 -1
- package/src/img/mapsight-ui/geo-error.svg +0 -1
- package/src/img/mapsight-ui/geo-inactive.svg +0 -1
- package/src/img/mapsight-ui/info.svg +0 -1
- package/src/img/mapsight-ui/layers.svg +0 -1
- package/src/img/mapsight-ui/loading.svg +0 -1
- package/src/img/mapsight-ui/map.svg +0 -1
- package/src/img/mapsight-ui/measure-distance.svg +0 -7
- package/src/img/mapsight-ui/open-list.svg +0 -1
- package/src/img/mapsight-ui/place-marker.svg +0 -4
- package/src/img/mapsight-ui/print.svg +0 -4
- package/src/img/mapsight-ui/reset-active.svg +0 -1
- package/src/img/mapsight-ui/reset.svg +0 -1
- package/src/img/mapsight-ui/search.svg +0 -1
- package/src/img/mapsight-ui/sharing.svg +0 -7
- package/src/img/mapsight-ui/sort-active.svg +0 -1
- package/src/img/mapsight-ui/sort.svg +0 -1
- package/src/img/mapsight-ui/watermark.svg +0 -1
- package/src/img/mapsight-ui/zoom-in.svg +0 -3
- package/src/img/mapsight-ui/zoom-out.svg +0 -3
- package/src/js/components/app.jsx +0 -237
- package/src/js/components/close-overlay-button.tsx +0 -27
- package/src/js/components/feature-details-content/feature-details-content-inner.tsx +0 -116
- package/src/js/components/feature-details-content/feature-details-content.jsx +0 -185
- package/src/js/components/feature-details-content/index.js +0 -20
- package/src/js/components/feature-details-content/share-feature-link-modal.jsx +0 -56
- package/src/js/components/feature-list/content.jsx +0 -42
- package/src/js/components/feature-list/context.tsx +0 -47
- package/src/js/components/feature-list/empty-message.jsx +0 -15
- package/src/js/components/feature-list/filter.jsx +0 -35
- package/src/js/components/feature-list/footer.jsx +0 -5
- package/src/js/components/feature-list/grouped-content.jsx +0 -74
- package/src/js/components/feature-list/header.jsx +0 -7
- package/src/js/components/feature-list/hooks/useAutoloadFeatureSource.ts +0 -25
- package/src/js/components/feature-list/hooks/useFeatureListFeatureSource.ts +0 -22
- package/src/js/components/feature-list/hooks/useFeatureListItemGroups.ts +0 -127
- package/src/js/components/feature-list/hooks/useFeatureListState.ts +0 -90
- package/src/js/components/feature-list/hooks/useKeyboardNavigation.js +0 -112
- package/src/js/components/feature-list/hooks/useMakeHeaderSticky.js +0 -40
- package/src/js/components/feature-list/hooks/usePaginatedFilteredFeatures.ts +0 -129
- package/src/js/components/feature-list/hooks/useRestoreDocumentScroll.js +0 -12
- package/src/js/components/feature-list/hooks/useSelectFeature.js +0 -88
- package/src/js/components/feature-list/index.jsx +0 -278
- package/src/js/components/feature-list/pagination.tsx +0 -57
- package/src/js/components/feature-list/query-input.jsx +0 -14
- package/src/js/components/feature-list-cycling/button.jsx +0 -13
- package/src/js/components/feature-list-cycling/dot.jsx +0 -43
- package/src/js/components/feature-list-cycling/feature-list-cycling.jsx +0 -153
- package/src/js/components/feature-list-cycling/index.js +0 -82
- package/src/js/components/feature-list-item/head.jsx +0 -131
- package/src/js/components/feature-list-item/hooks/useFeatureListItemScrollAndFocus.js +0 -51
- package/src/js/components/feature-list-item/hooks/useFeatureListItemState.ts +0 -75
- package/src/js/components/feature-list-item/icon.jsx +0 -35
- package/src/js/components/feature-list-item/index.jsx +0 -168
- package/src/js/components/feature-list-sorting/feature-list-sorting.tsx +0 -144
- package/src/js/components/feature-list-sorting/index.js +0 -25
- package/src/js/components/feature-list-sorting/status-indicator.jsx +0 -10
- package/src/js/components/feature-select-button.jsx +0 -70
- package/src/js/components/feature-selection-info/close-button.jsx +0 -64
- package/src/js/components/feature-selection-info/container.jsx +0 -9
- package/src/js/components/feature-selection-info/header.tsx +0 -27
- package/src/js/components/feature-selection-info/index.tsx +0 -81
- package/src/js/components/feature-selection-info/with-sticky-header.jsx +0 -61
- package/src/js/components/feature-selection-info/without-sticky-header.jsx +0 -19
- package/src/js/components/feature-selection-info/wrapper.jsx +0 -43
- package/src/js/components/helping/app-channel.tsx +0 -99
- package/src/js/components/helping/app-context.tsx +0 -32
- package/src/js/components/helping/visibility-wrapper.jsx +0 -23
- package/src/js/components/instance.tsx +0 -48
- package/src/js/components/layer-switcher/GroupedLayerSwitcher.js +0 -47
- package/src/js/components/layer-switcher/LayerSwitcher.js +0 -27
- package/src/js/components/layer-switcher/LayerSwitcherEntry.js +0 -132
- package/src/js/components/layer-switcher/LayerSwticherContainer.jsx +0 -80
- package/src/js/components/layer-switcher/index.js +0 -47
- package/src/js/components/layout/additional-container/content.jsx +0 -10
- package/src/js/components/layout/additional-container/index.jsx +0 -5
- package/src/js/components/layout/additional-container/marginal.jsx +0 -10
- package/src/js/components/layout/main-container.jsx +0 -5
- package/src/js/components/layout/map-row.jsx +0 -5
- package/src/js/components/layout/title-bar.tsx +0 -25
- package/src/js/components/layout/wrapper.jsx +0 -28
- package/src/js/components/link-share.jsx +0 -78
- package/src/js/components/main-panel/container.tsx +0 -23
- package/src/js/components/main-panel/context.jsx +0 -62
- package/src/js/components/main-panel/index.tsx +0 -46
- package/src/js/components/main-panel/list-toggle-button.jsx +0 -43
- package/src/js/components/map-overlay/area.jsx +0 -17
- package/src/js/components/map-overlay/attribution-entries.tsx +0 -33
- package/src/js/components/map-overlay/attribution.tsx +0 -25
- package/src/js/components/map-overlay/combined-buttons.jsx +0 -5
- package/src/js/components/map-overlay/index.jsx +0 -5
- package/src/js/components/map-overlay/info-overlay-left.jsx +0 -51
- package/src/js/components/map-overlay/info-overlay-modal.tsx +0 -49
- package/src/js/components/map-overlay/info-overlay-right.jsx +0 -46
- package/src/js/components/map-overlay/layer-switcher-overlay.tsx +0 -100
- package/src/js/components/map-overlay/legend.tsx +0 -22
- package/src/js/components/map-overlay/logo.jsx +0 -11
- package/src/js/components/map-overlay/measure-distance-button.tsx +0 -116
- package/src/js/components/map-overlay/measure-distance-overlay.jsx +0 -56
- package/src/js/components/map-overlay/mini-legend.jsx +0 -103
- package/src/js/components/map-overlay/region-selector.jsx +0 -63
- package/src/js/components/map-overlay/search-overlay.jsx +0 -79
- package/src/js/components/map-overlay/share-position-link-button.tsx +0 -144
- package/src/js/components/map-overlay/tool-overlay.tsx +0 -28
- package/src/js/components/map-overlay/user-geo-location-button.jsx +0 -89
- package/src/js/components/map-overlay/zoom-button.jsx +0 -98
- package/src/js/components/map-overlay/zoom-buttons.jsx +0 -26
- package/src/js/components/map-synced-interlay/index.js +0 -17
- package/src/js/components/map-synced-interlay/map-synced-interlay.jsx +0 -22
- package/src/js/components/map-synced-interlay/tooltip-content.tsx +0 -22
- package/src/js/components/map-synced-interlay/tooltip.tsx +0 -199
- package/src/js/components/map-wrapper.tsx +0 -65
- package/src/js/components/map.jsx +0 -37
- package/src/js/components/modal.tsx +0 -40
- package/src/js/components/query-input-with-label.tsx +0 -71
- package/src/js/components/query-input.tsx +0 -81
- package/src/js/components/search/index.jsx +0 -83
- package/src/js/components/search/query-input.jsx +0 -20
- package/src/js/components/search/result-entry.jsx +0 -63
- package/src/js/components/search/result.jsx +0 -71
- package/src/js/components/switcher/GroupedSwitcher.jsx +0 -42
- package/src/js/components/switcher/Switcher.jsx +0 -54
- package/src/js/components/switcher/SwitcherButton.jsx +0 -23
- package/src/js/components/switcher/SwitcherEntry.jsx +0 -143
- package/src/js/components/switcher/SwitcherHeader.jsx +0 -58
- package/src/js/components/switcher/SwitcherStatusIcon.jsx +0 -36
- package/src/js/components/tag-switcher/TagSwitcher.jsx +0 -57
- package/src/js/components/tag-switcher/createTagSwitcherEntry.js +0 -41
- package/src/js/components/tag-switcher/createTagSwitcherHeader.js +0 -34
- package/src/js/components/tag-switcher/index.js +0 -20
- package/src/js/components/time-filter.jsx +0 -187
- package/src/js/components/view-toggle-button/desktop-button.jsx +0 -13
- package/src/js/components/view-toggle-button/index.js +0 -39
- package/src/js/components/view-toggle-button/mobile-button.jsx +0 -13
- package/src/js/components/view-toggle-button/view-toggle-button.jsx +0 -74
- package/src/js/components/view-toggle-button/viewport-button.jsx +0 -13
- package/src/js/config/constants/app.ts +0 -16
- package/src/js/config/constants/controllers.ts +0 -11
- package/src/js/config/feature/selections.ts +0 -13
- package/src/js/config/feature/sources.ts +0 -77
- package/src/js/config/index.ts +0 -133
- package/src/js/config/map/featureInteractions.ts +0 -53
- package/src/js/config/map/interactions.ts +0 -15
- package/src/js/config/map/layers.ts +0 -190
- package/src/js/controllers/defaults.ts +0 -36
- package/src/js/embed/browser.ts +0 -89
- package/src/js/embed/node.ts +0 -57
- package/src/js/filters/tag-filter.ts +0 -135
- package/src/js/filters/time-filter.ts +0 -53
- package/src/js/global.d.ts +0 -7
- package/src/js/helpers/components.ts +0 -66
- package/src/js/helpers/create-action-watcher.ts +0 -35
- package/src/js/helpers/events.ts +0 -11
- package/src/js/helpers/get-feature-property.ts +0 -14
- package/src/js/helpers/i18n/de.ts +0 -145
- package/src/js/helpers/i18n/en.ts +0 -140
- package/src/js/helpers/i18n/index.ts +0 -41
- package/src/js/helpers/makeReplaceableComponent.ts +0 -0
- package/src/js/helpers/mod-classes.ts +0 -47
- package/src/js/helpers/react.ts +0 -14
- package/src/js/helpers/scroll-to-element-top.ts +0 -16
- package/src/js/helpers/sort-features-by-distance.ts +0 -102
- package/src/js/helpers/sticky.js +0 -143
- package/src/js/hooks/useCallbackRef.ts +0 -14
- package/src/js/hooks/useControllableState.ts +0 -50
- package/src/js/hooks/useDebounce.ts +0 -32
- package/src/js/hooks/useHandleEscapeKeyDown.ts +0 -27
- package/src/js/hooks/useMapsightPanel.ts +0 -40
- package/src/js/hooks/useMountable.ts +0 -38
- package/src/js/hooks/usePrevious.ts +0 -15
- package/src/js/hooks/useStickyHeader.ts +0 -51
- package/src/js/hooks/useUpdateMapSizeCallback.ts +0 -32
- package/src/js/hooks/useUpdateMapSizeOnRender.ts +0 -16
- package/src/js/hooks/useUpdateMapSizeOnTransitionEnd.ts +0 -40
- package/src/js/hooks/useUpdateMapSizeOnViewChange.ts +0 -36
- package/src/js/index.ts +0 -319
- package/src/js/plugins/browser/app-title.ts +0 -36
- package/src/js/plugins/browser/debug.ts +0 -37
- package/src/js/plugins/browser/feature-deep-link.ts +0 -222
- package/src/js/plugins/browser/local-storage.ts +0 -79
- package/src/js/plugins/browser/native-fullscreen.ts +0 -81
- package/src/js/plugins/browser/no-scroll.ts +0 -90
- package/src/js/plugins/browser/partial-content-changed-event.ts +0 -23
- package/src/js/plugins/browser/piwik-track-feature-selection-event.ts +0 -75
- package/src/js/plugins/browser/piwik-track-fullscreen-toggle-event.ts +0 -46
- package/src/js/plugins/browser/search.ts +0 -42
- package/src/js/plugins/browser/share-position-link.ts +0 -463
- package/src/js/plugins/browser/toggle-mobile-views.ts +0 -60
- package/src/js/plugins/browser/user-geolocation.ts +0 -134
- package/src/js/plugins/browser/views.ts +0 -141
- package/src/js/plugins/browser-defaults.ts +0 -101
- package/src/js/plugins/common/feature-selection-details-url.ts +0 -135
- package/src/js/plugins/common/lang.ts +0 -17
- package/src/js/plugins/common/measure-distance.ts +0 -223
- package/src/js/plugins/common/ol-proxy.ts +0 -68
- package/src/js/plugins/common/render-await-feature-details-loaded.ts +0 -153
- package/src/js/plugins/common/render-await-list-feature-sources-loaded.ts +0 -108
- package/src/js/plugins/server/feature-deep-link.ts +0 -67
- package/src/js/plugins/server-defaults.ts +0 -36
- package/src/js/renderer/browser-dom.tsx +0 -23
- package/src/js/renderer/server-string.tsx +0 -17
- package/src/js/server-handler.js +0 -39
- package/src/js/store/actions.ts +0 -648
- package/src/js/store/reducers.ts +0 -491
- package/src/js/store/selectors.ts +0 -449
- package/src/js/types.ts +0 -381
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import type {ProjectionLike} from "ol/proj";
|
|
2
|
-
|
|
3
|
-
import type {
|
|
4
|
-
Description,
|
|
5
|
-
LayerMetaData,
|
|
6
|
-
OptionValue,
|
|
7
|
-
Options,
|
|
8
|
-
} from "@mapsight/core/lib/map/types";
|
|
9
|
-
|
|
10
|
-
import type {MapsightStyleFunctionEnv} from "@mapsight/lib-ol/style/styleFunction";
|
|
11
|
-
|
|
12
|
-
import {FEATURE_SELECTIONS, FEATURE_SOURCES} from "../constants/controllers";
|
|
13
|
-
import {
|
|
14
|
-
FEATURE_SELECTION_HIGHLIGHT,
|
|
15
|
-
FEATURE_SELECTION_SELECT,
|
|
16
|
-
} from "../feature/selections";
|
|
17
|
-
|
|
18
|
-
export function features(
|
|
19
|
-
featureSourceId: string,
|
|
20
|
-
visible = false,
|
|
21
|
-
interactive = false,
|
|
22
|
-
_metaData: LayerMetaData = {},
|
|
23
|
-
style: string | MapsightStyleFunctionEnv = "features",
|
|
24
|
-
sourceOptions?: Options,
|
|
25
|
-
): Description {
|
|
26
|
-
return {
|
|
27
|
-
type: "VectorLayer",
|
|
28
|
-
options: {
|
|
29
|
-
visible: visible,
|
|
30
|
-
style: style as OptionValue,
|
|
31
|
-
//updateWhileAnimating: true,
|
|
32
|
-
//updateWhileInteracting: true,
|
|
33
|
-
renderBuffer: 200,
|
|
34
|
-
source: {
|
|
35
|
-
type: "VectorFeatureSource",
|
|
36
|
-
options: {
|
|
37
|
-
featureSourceId,
|
|
38
|
-
featureSourcesControllerName: FEATURE_SOURCES,
|
|
39
|
-
featureSelectionsControllerName: FEATURE_SELECTIONS,
|
|
40
|
-
...sourceOptions,
|
|
41
|
-
},
|
|
42
|
-
},
|
|
43
|
-
selections: !interactive
|
|
44
|
-
? {}
|
|
45
|
-
: {
|
|
46
|
-
//'second-touch': FEATURE_SELECTION_SELECT,
|
|
47
|
-
//touch: FEATURE_SELECTION_HIGHLIGHT,
|
|
48
|
-
mousedown: FEATURE_SELECTION_SELECT,
|
|
49
|
-
touch: FEATURE_SELECTION_SELECT,
|
|
50
|
-
mouseover: FEATURE_SELECTION_HIGHLIGHT,
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
metaData: _metaData,
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export function interactiveFeatures(
|
|
58
|
-
featureSourceId,
|
|
59
|
-
visible = false,
|
|
60
|
-
_metaData = {},
|
|
61
|
-
style: string | MapsightStyleFunctionEnv = "features",
|
|
62
|
-
sourceOptions?: Options,
|
|
63
|
-
) {
|
|
64
|
-
return features(
|
|
65
|
-
featureSourceId,
|
|
66
|
-
visible,
|
|
67
|
-
true,
|
|
68
|
-
_metaData,
|
|
69
|
-
style,
|
|
70
|
-
sourceOptions,
|
|
71
|
-
);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
export function userGeolocation(
|
|
75
|
-
featureSourceId: string,
|
|
76
|
-
visible = false,
|
|
77
|
-
_metaData: LayerMetaData = {},
|
|
78
|
-
style: string | MapsightStyleFunctionEnv = "userGeolocation",
|
|
79
|
-
sourceOptions?: Options,
|
|
80
|
-
) {
|
|
81
|
-
const base = features(
|
|
82
|
-
featureSourceId,
|
|
83
|
-
visible,
|
|
84
|
-
false,
|
|
85
|
-
_metaData,
|
|
86
|
-
style,
|
|
87
|
-
sourceOptions,
|
|
88
|
-
);
|
|
89
|
-
|
|
90
|
-
return {
|
|
91
|
-
...base,
|
|
92
|
-
options: {
|
|
93
|
-
...base.options,
|
|
94
|
-
updateWhileAnimating: true,
|
|
95
|
-
updateWhileInteracting: true,
|
|
96
|
-
renderBuffer: 400,
|
|
97
|
-
},
|
|
98
|
-
};
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export function osm(url: string, visible = false, _metaData = {}) {
|
|
102
|
-
return {
|
|
103
|
-
type: "TileLayer",
|
|
104
|
-
metaData: _metaData,
|
|
105
|
-
options: {
|
|
106
|
-
source: {
|
|
107
|
-
type: "OsmSource",
|
|
108
|
-
options: {url},
|
|
109
|
-
},
|
|
110
|
-
visible,
|
|
111
|
-
},
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
export function wms(
|
|
116
|
-
url: string,
|
|
117
|
-
params = {},
|
|
118
|
-
projection: ProjectionLike = "ESPG:3857",
|
|
119
|
-
visible = false,
|
|
120
|
-
_metaData: LayerMetaData = {},
|
|
121
|
-
opacity?: number,
|
|
122
|
-
) {
|
|
123
|
-
return {
|
|
124
|
-
type: "TileLayer",
|
|
125
|
-
metaData: _metaData,
|
|
126
|
-
options: {
|
|
127
|
-
source: {
|
|
128
|
-
type: "TileWMSSource",
|
|
129
|
-
options: {
|
|
130
|
-
projection,
|
|
131
|
-
url,
|
|
132
|
-
params,
|
|
133
|
-
},
|
|
134
|
-
},
|
|
135
|
-
visible,
|
|
136
|
-
opacity,
|
|
137
|
-
},
|
|
138
|
-
};
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
// TODO metadata auftrennen in metaData, withAttribution() und withLegend()
|
|
142
|
-
export function metaData(
|
|
143
|
-
title: string,
|
|
144
|
-
attribution: string | null = null,
|
|
145
|
-
visibleInLayerSwitcher = false,
|
|
146
|
-
visibleInExternalLayerSwitcher = false,
|
|
147
|
-
isBaseLayer = false,
|
|
148
|
-
group: string | null = null,
|
|
149
|
-
lockedInLayerSwitcher = undefined,
|
|
150
|
-
): LayerMetaData {
|
|
151
|
-
return {
|
|
152
|
-
title,
|
|
153
|
-
attribution: attribution ?? undefined,
|
|
154
|
-
visibleInLayerSwitcher,
|
|
155
|
-
visibleInExternalLayerSwitcher,
|
|
156
|
-
group: group ?? undefined,
|
|
157
|
-
isBaseLayer,
|
|
158
|
-
lockedInLayerSwitcher, // users can't change layer's visbility TODO this has to be implemented
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
export function metaDataWithAttribution(
|
|
163
|
-
_metaData: LayerMetaData = {},
|
|
164
|
-
attribution: string,
|
|
165
|
-
): LayerMetaData {
|
|
166
|
-
return {
|
|
167
|
-
..._metaData,
|
|
168
|
-
attribution: attribution,
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
export function metaDataWithLegend(
|
|
173
|
-
_metaData: LayerMetaData = {},
|
|
174
|
-
legend,
|
|
175
|
-
): LayerMetaData {
|
|
176
|
-
return {
|
|
177
|
-
..._metaData,
|
|
178
|
-
legend: legend,
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
|
|
182
|
-
export function metaDataWithMiniLegend(
|
|
183
|
-
_metaData: LayerMetaData = {},
|
|
184
|
-
miniLegend,
|
|
185
|
-
): LayerMetaData {
|
|
186
|
-
return {
|
|
187
|
-
..._metaData,
|
|
188
|
-
miniLegend: miniLegend,
|
|
189
|
-
};
|
|
190
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type {BaseController} from "@mapsight/core/lib/base/controller";
|
|
2
|
-
import {FeatureSelectionsController} from "@mapsight/core/lib/feature-selections/controller";
|
|
3
|
-
import {FeatureSourcesController} from "@mapsight/core/lib/feature-sources/controller";
|
|
4
|
-
import {FilterController} from "@mapsight/core/lib/filter/controller";
|
|
5
|
-
import {ListController} from "@mapsight/core/lib/list/controller";
|
|
6
|
-
import {MapController} from "@mapsight/core/lib/map/controller";
|
|
7
|
-
import {ProjectionsController} from "@mapsight/core/lib/projections/controller";
|
|
8
|
-
import {UserGeolocationController} from "@mapsight/core/lib/user-geolocation/controller";
|
|
9
|
-
|
|
10
|
-
import * as c from "../config/constants/controllers";
|
|
11
|
-
import {createTagFilterFunction} from "../filters/tag-filter";
|
|
12
|
-
import timeFilter from "../filters/time-filter";
|
|
13
|
-
import type {MapsightUiContext} from "../types";
|
|
14
|
-
|
|
15
|
-
export function createDefaultControllers(
|
|
16
|
-
context: MapsightUiContext,
|
|
17
|
-
): Record<string, BaseController> {
|
|
18
|
-
const mapController = new MapController(c.MAP);
|
|
19
|
-
mapController.setStyleFunction(context.styleFunction);
|
|
20
|
-
|
|
21
|
-
return {
|
|
22
|
-
[c.PROJECTIONS]: new ProjectionsController(c.PROJECTIONS),
|
|
23
|
-
[c.MAP]: mapController,
|
|
24
|
-
[c.FEATURE_LIST]: new ListController(c.FEATURE_LIST),
|
|
25
|
-
[c.TIME_FILTER]: new FilterController(c.TIME_FILTER, timeFilter),
|
|
26
|
-
[c.TAG_FILTER]: new FilterController(
|
|
27
|
-
c.TAG_FILTER,
|
|
28
|
-
createTagFilterFunction(),
|
|
29
|
-
),
|
|
30
|
-
[c.USER_GEOLOCATION]: new UserGeolocationController(c.USER_GEOLOCATION),
|
|
31
|
-
[c.FEATURE_SOURCES]: new FeatureSourcesController(c.FEATURE_SOURCES),
|
|
32
|
-
[c.FEATURE_SELECTIONS]: new FeatureSelectionsController(
|
|
33
|
-
c.FEATURE_SELECTIONS,
|
|
34
|
-
),
|
|
35
|
-
};
|
|
36
|
-
}
|
package/src/js/embed/browser.ts
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import merge from "lodash/merge";
|
|
2
|
-
|
|
3
|
-
import type {MapsightStyleFunction} from "@mapsight/lib-ol/style/styleFunction";
|
|
4
|
-
|
|
5
|
-
import {create} from "../index";
|
|
6
|
-
import browserDomRenderer from "../renderer/browser-dom";
|
|
7
|
-
import type {CreateOptions, MapsightUiRenderFunction} from "../types";
|
|
8
|
-
|
|
9
|
-
type Options = {
|
|
10
|
-
/** style function */
|
|
11
|
-
styleFunction: MapsightStyleFunction;
|
|
12
|
-
|
|
13
|
-
/** base mapsight core config */
|
|
14
|
-
baseMapsightConfig: object;
|
|
15
|
-
|
|
16
|
-
/**create options */
|
|
17
|
-
createOptions: CreateOptions;
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Browser embed
|
|
22
|
-
*
|
|
23
|
-
* @param container the container element to render the app into
|
|
24
|
-
* @param options
|
|
25
|
-
* @returns render function
|
|
26
|
-
*/
|
|
27
|
-
export default function browserEmbed(
|
|
28
|
-
container: HTMLElement,
|
|
29
|
-
options: Options,
|
|
30
|
-
): MapsightUiRenderFunction<any> | undefined {
|
|
31
|
-
const {
|
|
32
|
-
styleFunction,
|
|
33
|
-
baseMapsightConfig = {},
|
|
34
|
-
createOptions = {},
|
|
35
|
-
} = options;
|
|
36
|
-
|
|
37
|
-
const {dehydratedStateAttributeName = "data-dehydrated-state"} =
|
|
38
|
-
createOptions;
|
|
39
|
-
|
|
40
|
-
createOptions.renderer = createOptions.renderer || browserDomRenderer;
|
|
41
|
-
|
|
42
|
-
if (
|
|
43
|
-
!createOptions.reHydratedState &&
|
|
44
|
-
dehydratedStateAttributeName &&
|
|
45
|
-
container
|
|
46
|
-
) {
|
|
47
|
-
pullDeHydratedStateFromContainer(
|
|
48
|
-
createOptions,
|
|
49
|
-
dehydratedStateAttributeName,
|
|
50
|
-
container,
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
createOptions.uiState = merge({}, createOptions.uiState || {});
|
|
54
|
-
|
|
55
|
-
const {render} = create(
|
|
56
|
-
container,
|
|
57
|
-
styleFunction,
|
|
58
|
-
baseMapsightConfig,
|
|
59
|
-
createOptions,
|
|
60
|
-
);
|
|
61
|
-
|
|
62
|
-
// initial render
|
|
63
|
-
if (render !== undefined) {
|
|
64
|
-
render({});
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return render;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
function pullDeHydratedStateFromContainer(
|
|
71
|
-
createOptions: CreateOptions,
|
|
72
|
-
dehydratedStateAttributeName: string,
|
|
73
|
-
container: HTMLElement,
|
|
74
|
-
): void {
|
|
75
|
-
const stateJson = container.getAttribute(dehydratedStateAttributeName);
|
|
76
|
-
if (stateJson === null) {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
try {
|
|
81
|
-
createOptions.reHydratedState = JSON.parse(stateJson);
|
|
82
|
-
container.setAttribute(dehydratedStateAttributeName, "");
|
|
83
|
-
} catch (e) {
|
|
84
|
-
console.error(
|
|
85
|
-
"mapsight ui: error reading dehydrated state from container",
|
|
86
|
-
e,
|
|
87
|
-
);
|
|
88
|
-
}
|
|
89
|
-
}
|
package/src/js/embed/node.ts
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import type {MapsightStyleFunction} from "@mapsight/lib-ol/style/styleFunction";
|
|
2
|
-
|
|
3
|
-
import {create} from "..";
|
|
4
|
-
import serverStringRenderer from "../renderer/server-string";
|
|
5
|
-
import type {CreateOptions} from "../types";
|
|
6
|
-
|
|
7
|
-
type Options = {
|
|
8
|
-
/** style function */
|
|
9
|
-
styleFunction: MapsightStyleFunction;
|
|
10
|
-
|
|
11
|
-
/** base mapsight core config */
|
|
12
|
-
baseMapsightConfig: object;
|
|
13
|
-
|
|
14
|
-
/**create options */
|
|
15
|
-
createOptions: CreateOptions;
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
type Result = {
|
|
19
|
-
store: any;
|
|
20
|
-
// (function(*=): undefined)
|
|
21
|
-
render(...something: Array<any>): void;
|
|
22
|
-
// (function(*=): Promise<undefined>)
|
|
23
|
-
renderAsync(...something: Array<any>): Promise<void>;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Node embed
|
|
28
|
-
*
|
|
29
|
-
* @returns embed reference
|
|
30
|
-
*/
|
|
31
|
-
export default function nodeEmbed(options: Options): Result {
|
|
32
|
-
const {
|
|
33
|
-
styleFunction,
|
|
34
|
-
baseMapsightConfig = {},
|
|
35
|
-
createOptions = {},
|
|
36
|
-
} = options;
|
|
37
|
-
|
|
38
|
-
createOptions.renderer = createOptions.renderer ?? serverStringRenderer;
|
|
39
|
-
|
|
40
|
-
const ctx = create(null, styleFunction, baseMapsightConfig, createOptions);
|
|
41
|
-
|
|
42
|
-
function render(renderProps = {}) {
|
|
43
|
-
if (ctx.render) {
|
|
44
|
-
ctx.render(renderProps);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
async function renderAsync(renderProps = {}) {
|
|
49
|
-
if (ctx.renderAsync) {
|
|
50
|
-
await ctx.renderAsync(renderProps);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// for node we do not render but return an object with
|
|
55
|
-
// references to store and async render function
|
|
56
|
-
return {store: ctx.store, render, renderAsync};
|
|
57
|
-
}
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import type {FilterFunction} from "@mapsight/core/lib/filter/types";
|
|
2
|
-
|
|
3
|
-
import getPath from "@mapsight/lib-js/object/getPath";
|
|
4
|
-
|
|
5
|
-
import type {MapsightUiFeature} from "../types";
|
|
6
|
-
|
|
7
|
-
type CacheEntry = {
|
|
8
|
-
features: Array<MapsightUiFeature>;
|
|
9
|
-
filtered: Array<MapsightUiFeature>;
|
|
10
|
-
visibleTags: Record<string, Array<string>>;
|
|
11
|
-
visibleTagGroups: Record<string, boolean>;
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Creates a cached tag filter function
|
|
16
|
-
*/
|
|
17
|
-
export function createTagFilterFunction(): FilterFunction {
|
|
18
|
-
const cache: Record<string, CacheEntry> = {};
|
|
19
|
-
|
|
20
|
-
return function tagFilterFunction(_features, filterState, featureSourceId) {
|
|
21
|
-
// FIXME: unify types for Features in core and ui
|
|
22
|
-
const features = _features as MapsightUiFeature[];
|
|
23
|
-
|
|
24
|
-
// early return if parameters are missing
|
|
25
|
-
if (!featureSourceId || !filterState || !features) {
|
|
26
|
-
return features;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
// show all features, if no tag is selected
|
|
30
|
-
const visibleTags = getPath(filterState, [
|
|
31
|
-
"visibleTags",
|
|
32
|
-
featureSourceId,
|
|
33
|
-
]) as Record<string, string[]>;
|
|
34
|
-
const visibleTagGroups = getPath(filterState, [
|
|
35
|
-
"visibleTagGroups",
|
|
36
|
-
featureSourceId,
|
|
37
|
-
]) as Record<string, boolean>;
|
|
38
|
-
if (!visibleTags && !visibleTagGroups) {
|
|
39
|
-
return features;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
let fromCache = cache[featureSourceId];
|
|
43
|
-
|
|
44
|
-
if (
|
|
45
|
-
fromCache === undefined ||
|
|
46
|
-
fromCache.features !== features ||
|
|
47
|
-
fromCache.visibleTags !== visibleTags ||
|
|
48
|
-
fromCache.visibleTagGroups !== visibleTagGroups
|
|
49
|
-
) {
|
|
50
|
-
const flattenedTags = transformTagMapsToArrays(
|
|
51
|
-
visibleTags,
|
|
52
|
-
visibleTagGroups,
|
|
53
|
-
);
|
|
54
|
-
|
|
55
|
-
fromCache = cache[featureSourceId] = {
|
|
56
|
-
// inputs:
|
|
57
|
-
features: features,
|
|
58
|
-
visibleTags: visibleTags,
|
|
59
|
-
visibleTagGroups: visibleTagGroups,
|
|
60
|
-
// output:
|
|
61
|
-
filtered: features.filter((feature) =>
|
|
62
|
-
flattenedTags.every(({group, tags}) =>
|
|
63
|
-
isFeatureMatchingFilter(feature, group, tags),
|
|
64
|
-
),
|
|
65
|
-
),
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return fromCache?.filtered;
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* @deprecated Do not use. This uses a global cache. Use export createTagFilterFunction instead to create local function per mapsight instance!
|
|
75
|
-
*/
|
|
76
|
-
const deprecatedTagFilterFunction = createTagFilterFunction();
|
|
77
|
-
export default deprecatedTagFilterFunction;
|
|
78
|
-
|
|
79
|
-
function transformTagMapsToArrays(
|
|
80
|
-
visibleTags: Record<string, Array<string>> | null = null,
|
|
81
|
-
visibleTagGroups: Record<string, boolean> | null = null,
|
|
82
|
-
) {
|
|
83
|
-
const result = {};
|
|
84
|
-
if (visibleTags) {
|
|
85
|
-
Object.keys(visibleTags).forEach((group) => {
|
|
86
|
-
const tags = getVisibleTagsForGroup(visibleTags, group);
|
|
87
|
-
if (tags.length) {
|
|
88
|
-
result[group] = tags;
|
|
89
|
-
}
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
if (visibleTagGroups) {
|
|
93
|
-
Object.keys(visibleTagGroups).forEach((group) => {
|
|
94
|
-
const isActive = !!visibleTagGroups[group];
|
|
95
|
-
|
|
96
|
-
if (isActive) {
|
|
97
|
-
result[group] = result[group] || true;
|
|
98
|
-
}
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
return Object.keys(result).map((group) => {
|
|
103
|
-
const tags = result[group];
|
|
104
|
-
return {group: group, tags: tags};
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
function getVisibleTagsForGroup(
|
|
109
|
-
visibleTags: Record<string, Array<string>>,
|
|
110
|
-
tagGroup: string,
|
|
111
|
-
) {
|
|
112
|
-
return Object.keys(visibleTags[tagGroup]!).filter(
|
|
113
|
-
(tag) => visibleTags[tagGroup]![tag] === true,
|
|
114
|
-
);
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
function isFeatureMatchingFilter(
|
|
118
|
-
feature: MapsightUiFeature,
|
|
119
|
-
group: string,
|
|
120
|
-
visibleTags: boolean | Array<string>,
|
|
121
|
-
): boolean {
|
|
122
|
-
const featureData = feature.properties?.tagGroups?.[group];
|
|
123
|
-
if (!featureData) {
|
|
124
|
-
return false;
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
const {andJunction, tags} = featureData;
|
|
128
|
-
if (visibleTags === true) {
|
|
129
|
-
return !!tags.length;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
return visibleTags[andJunction === true ? "every" : "some"](
|
|
133
|
-
(tag) => tags.indexOf(tag) > -1,
|
|
134
|
-
);
|
|
135
|
-
}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
import type {FilterFunction} from "@mapsight/core/lib/filter/types";
|
|
2
|
-
|
|
3
|
-
import {unreachable} from "@mapsight/lib-js/unreachable";
|
|
4
|
-
|
|
5
|
-
type TimeFilterState = {
|
|
6
|
-
options?: {
|
|
7
|
-
/** from datetime in ISO 8601 (Y-m-d\TH:i:sP) */
|
|
8
|
-
fromDate?: string;
|
|
9
|
-
/** to datetime in ISO 8601 (Y-m-d\TH:i:sP) */
|
|
10
|
-
toDate?: string;
|
|
11
|
-
/** if set to true the filter will filter even if neither from nor to date are set. */
|
|
12
|
-
allowEmpty?: boolean;
|
|
13
|
-
};
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
// TODO: document/collect magic property names
|
|
17
|
-
export interface FeatureWithWhen {
|
|
18
|
-
when?: object;
|
|
19
|
-
/** start datetime in ISO 8601 (Y-m-d\TH:i:sP) */
|
|
20
|
-
start: string;
|
|
21
|
-
/** end datetime in ISO 8601 (Y-m-d\TH:i:sP) */
|
|
22
|
-
end: string;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Feature filter to filter by when property in a time range.
|
|
27
|
-
* Features are expected to have a when object property with
|
|
28
|
-
* start and end datetimes.
|
|
29
|
-
*/
|
|
30
|
-
const timeFilter: FilterFunction = (features, filterState: TimeFilterState) => {
|
|
31
|
-
const filterOptions = filterState.options;
|
|
32
|
-
if (!filterOptions) {
|
|
33
|
-
return features;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const {fromDate, toDate, allowEmpty = false} = filterOptions;
|
|
37
|
-
if (!allowEmpty && !fromDate && !toDate) {
|
|
38
|
-
return features;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// TODO: document/collect magic property names (here: when.start, when.end)
|
|
42
|
-
const predicate = toDate
|
|
43
|
-
? (feature) =>
|
|
44
|
-
feature?.when?.start <= toDate &&
|
|
45
|
-
feature?.when?.end >= (fromDate || Date.now())
|
|
46
|
-
: fromDate
|
|
47
|
-
? (feature) => feature?.when?.end >= fromDate
|
|
48
|
-
: unreachable();
|
|
49
|
-
|
|
50
|
-
return features.filter(predicate);
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
export default timeFilter;
|
package/src/js/global.d.ts
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import type {ComponentType, ReactNode} from "react";
|
|
2
|
-
import {createContext, createElement, useCallback, useContext} from "react";
|
|
3
|
-
|
|
4
|
-
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
5
|
-
export interface ComponentProps {
|
|
6
|
-
// extendable
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
export type PropsWithFallback<P = unknown> = P & {
|
|
10
|
-
fallback?: ReactNode | undefined;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
/** @deprecated */
|
|
14
|
-
export type ComponentPropsWithFallback = {
|
|
15
|
-
MapOverlayModal: PropsWithFallback;
|
|
16
|
-
MapOverlayStart: PropsWithFallback;
|
|
17
|
-
MapOverlayEnd: PropsWithFallback;
|
|
18
|
-
MapOverlayTopLeft: PropsWithFallback;
|
|
19
|
-
MapOverlayTopRight: PropsWithFallback;
|
|
20
|
-
MapOverlayBottomLeft: PropsWithFallback;
|
|
21
|
-
MapOverlayBottomRight: PropsWithFallback;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
export type MapsightUiComponents = {
|
|
25
|
-
[N in keyof ComponentProps]?: ComponentType<ComponentProps[N]>;
|
|
26
|
-
} & {
|
|
27
|
-
[N in keyof ComponentPropsWithFallback]?: ComponentType<
|
|
28
|
-
ComponentPropsWithFallback[N]
|
|
29
|
-
>;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export const ComponentsContext = createContext<MapsightUiComponents>({});
|
|
33
|
-
ComponentsContext.displayName = "ComponentsContext";
|
|
34
|
-
|
|
35
|
-
/** @deprecated */
|
|
36
|
-
export function useContextComponentWithFallback<
|
|
37
|
-
N extends keyof ComponentPropsWithFallback,
|
|
38
|
-
>(
|
|
39
|
-
componentName: N,
|
|
40
|
-
): (fallback: ReactNode, props: ComponentPropsWithFallback[N]) => ReactNode {
|
|
41
|
-
const Comp = useContext(ComponentsContext)[componentName];
|
|
42
|
-
return useCallback(
|
|
43
|
-
(fallback, props) => {
|
|
44
|
-
if (Comp) {
|
|
45
|
-
return createElement(Comp, {...props, fallback});
|
|
46
|
-
}
|
|
47
|
-
return fallback;
|
|
48
|
-
},
|
|
49
|
-
[Comp],
|
|
50
|
-
);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
export function makeReplaceableComponent<N extends keyof ComponentProps>(
|
|
54
|
-
componentName: N,
|
|
55
|
-
Component: ComponentType<ComponentProps[N]>,
|
|
56
|
-
): ComponentType<ComponentProps[N]> {
|
|
57
|
-
const NewComp: ComponentType<ComponentProps[N]> = (props) => {
|
|
58
|
-
const CtxComp = useContext(ComponentsContext)[componentName];
|
|
59
|
-
if (CtxComp !== undefined) {
|
|
60
|
-
return createElement(CtxComp as any, props as any);
|
|
61
|
-
}
|
|
62
|
-
return createElement(Component as any, props as any);
|
|
63
|
-
};
|
|
64
|
-
NewComp.displayName = `MsUiReplaceable${componentName}`;
|
|
65
|
-
return NewComp;
|
|
66
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
// FIXME: use es once default export is fixed in @mapsight/lib-redux
|
|
2
|
-
import type {AnyAction, StoreEnhancer} from "redux";
|
|
3
|
-
import {applyMiddleware} from "redux";
|
|
4
|
-
|
|
5
|
-
import {isNonNullable} from "@mapsight/lib-js/nonNullable";
|
|
6
|
-
import flattenActions from "@mapsight/lib-redux/flatten-actions";
|
|
7
|
-
|
|
8
|
-
type Result = {
|
|
9
|
-
handler: null | ((action: AnyAction) => void);
|
|
10
|
-
enhancer: StoreEnhancer<{dispatch: unknown}>;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
// TODO: This is a candidate for lib-redux
|
|
14
|
-
export default function createActionWatcher(): Result {
|
|
15
|
-
const context: Partial<Result> = {
|
|
16
|
-
handler: null,
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
context.enhancer = applyMiddleware(
|
|
20
|
-
(_store) => (nextMiddleware) => (action) => {
|
|
21
|
-
const result = nextMiddleware(action);
|
|
22
|
-
|
|
23
|
-
if (isNonNullable(context.handler)) {
|
|
24
|
-
const {handler} = context;
|
|
25
|
-
flattenActions(action).map((singleAction) =>
|
|
26
|
-
handler(singleAction),
|
|
27
|
-
);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
return result;
|
|
31
|
-
},
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
return context as Result;
|
|
35
|
-
}
|
package/src/js/helpers/events.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Returns `true` if no modifier key is pressed for the event.
|
|
3
|
-
*/
|
|
4
|
-
export function isEventWithNoModKeys(event: {
|
|
5
|
-
altKey: boolean;
|
|
6
|
-
ctrlKey: boolean;
|
|
7
|
-
shiftKey: boolean;
|
|
8
|
-
metaKey: boolean;
|
|
9
|
-
}): boolean {
|
|
10
|
-
return !event.altKey && !event.ctrlKey && !event.metaKey && !event.shiftKey;
|
|
11
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import getPath from "@mapsight/lib-js/object/getPath";
|
|
2
|
-
|
|
3
|
-
import type {MapsightUiFeature, MapsightUiFeatureProperty} from "../types";
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Gets the property value by key, falling back to the specified fallback if value is not defined.
|
|
7
|
-
*/
|
|
8
|
-
export default function getFeatureProperty(
|
|
9
|
-
feature: MapsightUiFeature,
|
|
10
|
-
key: MapsightUiFeatureProperty,
|
|
11
|
-
fallback: unknown = null,
|
|
12
|
-
) {
|
|
13
|
-
return getPath(feature, ["properties", key], fallback);
|
|
14
|
-
}
|