@mapsight/ui 7.1.0 → 7.2.1
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 +95 -2
- package/dist/components/app.d.ts +1 -1
- package/dist/components/app.d.ts.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/index.d.ts +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/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/useFeatureListItemGroups.js +1 -1
- package/dist/components/feature-list/hooks/useFeatureListItemGroups.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 +33 -42
- package/dist/components/feature-list/index.js.map +1 -1
- package/dist/components/feature-list/layer-switcher-control.d.ts +4 -0
- package/dist/components/feature-list/layer-switcher-control.d.ts.map +1 -0
- package/dist/components/feature-list/layer-switcher-control.js +11 -0
- package/dist/components/feature-list/layer-switcher-control.js.map +1 -0
- 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 +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 +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/with-sticky-header.d.ts +1 -1
- package/dist/components/feature-selection-info/with-sticky-header.d.ts.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 +1 -1
- 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/LayerSwitcher.d.ts +1 -1
- package/dist/components/layer-switcher/LayerSwitcherContainer.d.ts +4 -2
- package/dist/components/layer-switcher/LayerSwitcherContainer.d.ts.map +1 -1
- package/dist/components/layer-switcher/LayerSwitcherContainer.js +10 -4
- package/dist/components/layer-switcher/LayerSwitcherContainer.js.map +1 -1
- package/dist/components/layer-switcher/LayerSwitcherEntry.d.ts +1 -1
- package/dist/components/layer-switcher/SplitBaseLayerSwitcher.d.ts +26 -0
- package/dist/components/layer-switcher/SplitBaseLayerSwitcher.d.ts.map +1 -0
- package/dist/components/layer-switcher/SplitBaseLayerSwitcher.js +48 -0
- package/dist/components/layer-switcher/SplitBaseLayerSwitcher.js.map +1 -0
- package/dist/components/layer-switcher/index.d.ts +1 -1
- package/dist/components/layer-switcher/index.d.ts.map +1 -1
- package/dist/components/layer-switcher/index.js +1 -0
- 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/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 +1 -1
- package/dist/components/main-panel/context.d.ts.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/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/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-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/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/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-overlay.d.ts +1 -1
- package/dist/components/map-overlay/measure-distance-overlay.d.ts.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/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/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 +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/tooltip.d.ts +1 -1
- package/dist/components/map-synced-interlay/tooltip.d.ts.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 +1 -1
- package/dist/components/map.d.ts.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/result-entry.d.ts +1 -1
- package/dist/components/search/result-entry.d.ts.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/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 +1 -1
- package/dist/components/switcher/SwitcherEntry.d.ts.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 +1 -1
- package/dist/components/tag-switcher/TagSwitcher.d.ts.map +1 -1
- package/dist/components/tag-switcher/createTagSwitcherEntry.d.ts +1 -1
- package/dist/components/tag-switcher/createTagSwitcherHeader.d.ts +1 -1
- package/dist/components/tag-switcher/index.d.ts +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 +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/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/viewport-button.d.ts +1 -1
- package/dist/components/view-toggle-button/viewport-button.d.ts.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 +7 -9
- 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 +197 -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/i18n/de.d.ts.map +1 -1
- package/dist/helpers/i18n/de.js +3 -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 +3 -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/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -2
- package/dist/index.js.map +1 -1
- package/dist/plugins/browser-defaults.d.ts +2 -0
- package/dist/plugins/browser-defaults.d.ts.map +1 -1
- package/dist/plugins/browser-defaults.js +5 -0
- 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/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/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/store/actions.d.ts.map +1 -1
- package/dist/store/actions.js +6 -1
- package/dist/store/actions.js.map +1 -1
- package/dist/store/reducers.d.ts +75 -6
- package/dist/store/reducers.d.ts.map +1 -1
- package/dist/store/selectors.d.ts +75 -17
- package/dist/store/selectors.d.ts.map +1 -1
- package/dist/store/selectors.js +9 -1
- package/dist/store/selectors.js.map +1 -1
- package/dist/types.d.ts +21 -5
- package/dist/types.d.ts.map +1 -1
- package/package.json +24 -8
- package/src/scss/blocks/_features-sorting.scss +0 -13
- package/src/scss/blocks/_filter-button.scss +39 -8
- package/src/scss/blocks/_filter-toggle-control.scss +15 -0
- package/src/scss/default.scss +1 -0
- package/src/scss/themes/2022-03.scss +66 -0
- 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.tsx +0 -232
- 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 -16
- 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 -98
- 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 -22
- 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.tsx +0 -76
- 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.ts +0 -34
- package/src/js/components/layer-switcher/LayerSwitcherContainer.tsx +0 -88
- package/src/js/components/layer-switcher/LayerSwitcherEntry.ts +0 -152
- package/src/js/components/layer-switcher/index.ts +0 -42
- 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.tsx +0 -71
- 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.ts +0 -15
- 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.tsx +0 -55
- 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.tsx +0 -164
- 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.tsx +0 -56
- package/src/js/components/tag-switcher/createTagSwitcherEntry.ts +0 -39
- package/src/js/components/tag-switcher/createTagSwitcherHeader.ts +0 -47
- package/src/js/components/tag-switcher/index.ts +0 -17
- 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.ts +0 -42
- package/src/js/components/view-toggle-button/mobile-button.tsx +0 -13
- package/src/js/components/view-toggle-button/view-toggle-button.jsx +0 -74
- package/src/js/components/view-toggle-button/viewport-button.tsx +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/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 -47
- package/src/js/hooks/usePrevious.ts +0 -15
- package/src/js/hooks/useStickyHeader.ts +0 -50
- 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 -320
- 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 -223
- 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 -91
- 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 -142
- 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 -154
- package/src/js/plugins/common/render-await-list-feature-sources-loaded.ts +0 -109
- 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 -27
- package/src/js/renderer/server-string.tsx +0 -17
- package/src/js/server-handler.js +0 -39
- package/src/js/store/actions.ts +0 -662
- package/src/js/store/reducers.ts +0 -491
- package/src/js/store/selectors.ts +0 -483
- package/src/js/types.ts +0 -405
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;
|
|
@@ -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 "@reduxjs/toolkit";
|
|
3
|
-
import {applyMiddleware} from "@reduxjs/toolkit";
|
|
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: AnyAction) => {
|
|
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
|
-
}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
STATUS_ERROR,
|
|
3
|
-
STATUS_LOADING,
|
|
4
|
-
} from "@mapsight/core/lib/feature-sources/selectors";
|
|
5
|
-
|
|
6
|
-
import {
|
|
7
|
-
STATUS_ACTIVE,
|
|
8
|
-
STATUS_INACTIVE,
|
|
9
|
-
} from "../../components/switcher/SwitcherEntry";
|
|
10
|
-
import {
|
|
11
|
-
VIEW_DESKTOP,
|
|
12
|
-
VIEW_FULLSCREEN,
|
|
13
|
-
VIEW_MAP_ONLY,
|
|
14
|
-
VIEW_MOBILE,
|
|
15
|
-
ZOOM_IN,
|
|
16
|
-
ZOOM_OUT,
|
|
17
|
-
} from "../../config/constants/app";
|
|
18
|
-
|
|
19
|
-
/* eslint quote-props: 0 */
|
|
20
|
-
|
|
21
|
-
const de: Record<string, string> = {
|
|
22
|
-
open: "öffnen",
|
|
23
|
-
close: "schließen",
|
|
24
|
-
reset: "zurücksetzen",
|
|
25
|
-
show: "anzeigen",
|
|
26
|
-
from: "von",
|
|
27
|
-
nextEntry: "Vorheriger Eintrag",
|
|
28
|
-
prevEntry: "Nächster Eintrag",
|
|
29
|
-
|
|
30
|
-
"ui.query-input.reset": "Suche zurücksetzen",
|
|
31
|
-
|
|
32
|
-
"ui.feature-details.share-link.head": "Link teilen...",
|
|
33
|
-
"ui.feature-details.share-link.place": "Link zum ausgewählten Ort:",
|
|
34
|
-
"ui.feature-details.share-link.close": "Link-teilen-Dialog schließen",
|
|
35
|
-
|
|
36
|
-
"ui.feature-details.content-inner.error": "Fehler beim Laden der Details.",
|
|
37
|
-
"ui.feature-details.content-inner.gotoPage": "Direkt zur Seite springen",
|
|
38
|
-
"ui.feature-details.content-inner.loading": "Lade Details …",
|
|
39
|
-
|
|
40
|
-
"ui.main-panel.list-toggle.open": "Liste öffnen",
|
|
41
|
-
"ui.main-panel.list-toggle.close": "Liste schließen",
|
|
42
|
-
|
|
43
|
-
"ui.feature-list.sorting.byDistance":
|
|
44
|
-
"Meldungen nach Entfernung sortieren:",
|
|
45
|
-
"ui.feature-list.sorting.choose": "Standort wählen ...",
|
|
46
|
-
"ui.feature-list.sorting.own": "eigenen Standort verwenden",
|
|
47
|
-
"ui.feature-list.sorting.announcements": "Meldungen sortieren …",
|
|
48
|
-
|
|
49
|
-
"ui.feature-list.content.noListSelected": "keine Liste gewählt",
|
|
50
|
-
"ui.feature-list.content.noEntries": "keine Einträge",
|
|
51
|
-
"ui.feature-details.content.title": "Bezeichnung",
|
|
52
|
-
"ui.feature-details.content.description": "Bemerkung",
|
|
53
|
-
|
|
54
|
-
"ui.feature-list.query-input.search": "Textsuche in Liste darunter",
|
|
55
|
-
"ui.feature-list.query-input.placeholder": "In Liste suchen …",
|
|
56
|
-
|
|
57
|
-
"ui.time-filter.span": "Vorschauzeitraum festlegen",
|
|
58
|
-
|
|
59
|
-
"ui.search.send": "Suchen",
|
|
60
|
-
|
|
61
|
-
"ui.search.result.error": "Fehler beim Laden der Suchergebnisse",
|
|
62
|
-
"ui.search.result.empty": "Keine Ergebnisse gefunden",
|
|
63
|
-
|
|
64
|
-
"ui.search.query-input.label": "Straße oder Ort",
|
|
65
|
-
"ui.search.query-input.placeholder": "Straße oder Ort ...",
|
|
66
|
-
|
|
67
|
-
"ui.feature-selection-info.close": "Informationsdialog schließen",
|
|
68
|
-
|
|
69
|
-
"ui.map-overlay.search.open": "Suche öffnen",
|
|
70
|
-
"ui.map-overlay.search.close": "Suche schließen",
|
|
71
|
-
"ui.map-overlay.search.modal.label": "Suchfunktion",
|
|
72
|
-
"ui.map-overlay.search.modal.headline": "Suche",
|
|
73
|
-
|
|
74
|
-
"ui.map-overlay.logo.copyright": "Diese Kartenanwendung nutzt Mapsight",
|
|
75
|
-
|
|
76
|
-
"ui.map-overlay.info.modal.label": "Quellenangaben und Informationen",
|
|
77
|
-
"ui.map-overlay.info.modal.headline": "Quellenangaben und Informationen",
|
|
78
|
-
"ui.map-overlay.info.closeSources":
|
|
79
|
-
"Quellenangaben und Informationen schließen",
|
|
80
|
-
"ui.map-overlay.info.legend": "Legende",
|
|
81
|
-
"ui.map-overlay.info.closeLegend": "Legende schließen",
|
|
82
|
-
"ui.map-overlay.info.open":
|
|
83
|
-
"Quellenangaben und weitere Informationen öffnen",
|
|
84
|
-
|
|
85
|
-
"ui.map-overlay.layer-switcher.modal.label": "Ebenenauswahl",
|
|
86
|
-
"ui.map-overlay.layer-switcher.layers": "Ebenen",
|
|
87
|
-
"ui.map-overlay.layer-switcher.closeLayers": "Ebenenauswahl schließen",
|
|
88
|
-
"ui.map-overlay.layer-switcher.openLayers": "Ebenenauswahl öffnen",
|
|
89
|
-
|
|
90
|
-
// HOWTO: wrap the metadata one base layer of the project with something like
|
|
91
|
-
// withLegend(_metadata, `<article><h1>${translate('ui.map.usage.heading')}</h1>${translate('ui.map.usage.html')}</article>`)
|
|
92
|
-
// change 'ui.map-overlay.info.legend' according to the use case, ie. set it to "Tastaturbedienung" if there are no other legends, or to "Legende und Tastaturbedienung" if there are such further legends
|
|
93
|
-
// additinally adapt 'ui.map-overlay.info.open'
|
|
94
|
-
"ui.map.usage.heading": "Tastaturbedienung der Karte",
|
|
95
|
-
"ui.map.usage.html":
|
|
96
|
-
'<dl class="ms3-map-usage">' +
|
|
97
|
-
'<dt><kbd aria-label="Cursor rechts">→</kbd></dt><dd>nach rechts verschieben</dd>' +
|
|
98
|
-
'<dt><kbd aria-label="Cursor links">←</kbd></dt><dd>nach links verschieben</dd>' +
|
|
99
|
-
'<dt><kbd aria-label="Cursor runter">↓</kbd></dt><dd>nach unten verschieben</dd>' +
|
|
100
|
-
'<dt><kbd aria-label="Cursor hoch">↑</kbd></dt><dd>nach oben verschieben</dd>' +
|
|
101
|
-
"<dt><kbd>+</kbd></dt><dd>hineinzoomen</dd>" +
|
|
102
|
-
"<dt><kbd>-</kbd></dt><dd>herauszoomen</dd>" +
|
|
103
|
-
"</dl>",
|
|
104
|
-
"ui.map.visuallyhidden":
|
|
105
|
-
"Dieser Bereich der Webseite zeigt eine Landkarte.",
|
|
106
|
-
|
|
107
|
-
[`ui.view-toggle-button.ariaLabel${VIEW_MAP_ONLY}`]: "Zur Karte wechseln",
|
|
108
|
-
[`ui.view-toggle-button.ariaLabel${VIEW_FULLSCREEN}`]:
|
|
109
|
-
"Zum Vollbild wechseln",
|
|
110
|
-
[`ui.view-toggle-button.ariaLabel${VIEW_DESKTOP}`]: "Vollbild schließen",
|
|
111
|
-
[`ui.view-toggle-button.ariaLabel${VIEW_MOBILE}`]: "Zur Liste wechseln",
|
|
112
|
-
|
|
113
|
-
[`ui.view-toggle-button.label${VIEW_MAP_ONLY}`]: "Karte",
|
|
114
|
-
[`ui.view-toggle-button.label${VIEW_FULLSCREEN}`]: "Vollbild",
|
|
115
|
-
[`ui.view-toggle-button.label${VIEW_DESKTOP}`]: "Vollbild",
|
|
116
|
-
[`ui.view-toggle-button.label${VIEW_MOBILE}`]: "Liste",
|
|
117
|
-
|
|
118
|
-
[`ui.zoom-button.ariaLabel${ZOOM_OUT}`]: "Karte verkleinern",
|
|
119
|
-
[`ui.zoom-button.ariaLabel${ZOOM_IN}`]: "Karte vergrößern",
|
|
120
|
-
[`ui.zoom-button.label${ZOOM_OUT}`]: "Verkleinern",
|
|
121
|
-
[`ui.zoom-button.label${ZOOM_IN}`]: "Vergrößern",
|
|
122
|
-
|
|
123
|
-
[`ui.switcher.entry.label${STATUS_ERROR}`]: "Fehler beim Laden",
|
|
124
|
-
[`ui.switcher.entry.label${STATUS_LOADING}`]: "Lädt",
|
|
125
|
-
[`ui.switcher.entry.label${STATUS_ACTIVE}`]: "Aktiv",
|
|
126
|
-
[`ui.switcher.entry.label${STATUS_INACTIVE}`]: "Inaktiv",
|
|
127
|
-
|
|
128
|
-
"ui.user-geo-location-button.label": "Zum eigenen Standort springen",
|
|
129
|
-
"ui.user-geo-location-button.ariaLabel": "Zum eigenen Standort springen",
|
|
130
|
-
|
|
131
|
-
"ui.pagination.nextPage": ">",
|
|
132
|
-
"ui.pagination.prevPage": "<",
|
|
133
|
-
"ui.pagination.nextPageLabel": "Zur nächsten Seite blättern",
|
|
134
|
-
"ui.pagination.prevPageLabel": "Zur vorherigen Seite blättern",
|
|
135
|
-
"ui.pagination.goToSelectedPageLabel": "Sie sind aktuell auf Seite {page}",
|
|
136
|
-
"ui.pagination.goToPageLabel": "Zur Seite {page} blättern",
|
|
137
|
-
|
|
138
|
-
"ui.share-position-link.title": "Ort teilen",
|
|
139
|
-
"ui.share-position-link.instructions":
|
|
140
|
-
"Klicken Sie auf die Karte um einen Ort zu teilen.",
|
|
141
|
-
"ui.share-position-link.shareTitle": "Markierten Ort teilen",
|
|
142
|
-
"ui.share-position-link.shareButtonLabel": "Markierten Ort teilen",
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
export default de;
|