@mapsight/ui 7.1.0 → 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 +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/index.d.ts +3 -2
- package/dist/components/feature-list/index.d.ts.map +1 -1
- package/dist/components/feature-list/index.js +30 -42
- 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 +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 +3 -2
- package/dist/components/layer-switcher/LayerSwitcherContainer.d.ts.map +1 -1
- package/dist/components/layer-switcher/LayerSwitcherContainer.js +2 -2
- 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/index.d.ts +1 -1
- 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 +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/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/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -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 +8 -6
- package/dist/store/reducers.d.ts.map +1 -1
- package/dist/store/selectors.d.ts +10 -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 +19 -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 +23 -0
- package/src/scss/blocks/_filter-toggle-control.scss +15 -0
- package/src/scss/default.scss +1 -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;
|