Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
260 commits
Select commit Hold shift + click to select a range
11fe191
Merge branch 'next' into vue3/migrate-plugin-gfi
dopenguin Feb 23, 2026
978d718
fix(gfi): remove legacy manual plugin prefix for console
oeninghe-dataport Mar 2, 2026
6d60086
docs: fix shared locales hint
oeninghe-dataport Mar 2, 2026
6182677
docs: fix shared locales hint
oeninghe-dataport Mar 2, 2026
439ae45
docs: fix shared locales hint
oeninghe-dataport Mar 2, 2026
aa854c8
Merge remote-tracking branch 'origin/next' into vue3/migrate-plugin-gfi
oeninghe-dataport Apr 13, 2026
a0daad3
Merge remote-tracking branch 'origin/next' into vue3/migrate-plugin-gfi
oeninghe-dataport Apr 15, 2026
63a5d72
docs(gfi): remove duplicate ToDo hint
oeninghe-dataport Apr 15, 2026
55ff02a
docs(gfi): use typedoc-linking to layout nineRegions
oeninghe-dataport Apr 15, 2026
c2edb52
feat(core): introduce InterfacePluginOptions
oeninghe-dataport Apr 15, 2026
79852f3
refactor(gfi): introduce new composable usePluginStoreWatcher
oeninghe-dataport Apr 15, 2026
9f25413
fix(core): consider hoveredFeature set from plugin again
oeninghe-dataport Apr 16, 2026
d15b2c2
chore(core): markers: fix double star in comment
oeninghe-dataport Apr 16, 2026
4dfe6af
test(snowbox): enable bindWithCoreHoverSelect for gfi plugin
oeninghe-dataport Apr 16, 2026
875a35c
fix(gfi): wrap text for empty view in feature list
oeninghe-dataport Apr 16, 2026
ec689f1
fix(gfi): highlight selected feature with bindMarkers
oeninghe-dataport Apr 21, 2026
a6e5698
test(snowbox): disable separate geometry display as bindMarkers is used
oeninghe-dataport Apr 21, 2026
ef16d0b
Merge remote-tracking branch 'origin/next' into vue3/migrate-plugin-gfi
oeninghe-dataport Apr 21, 2026
3271a30
test(iceberg): add GFI plugin w/ configuration options
oeninghe-dataport Apr 21, 2026
c7a096d
chore(snowbox): move comment to be at the right spot again
oeninghe-dataport Apr 21, 2026
03243fe
fix(gfi): add plugin options to MapConfiguration
oeninghe-dataport Apr 21, 2026
92c938c
fix(gfi): show export button only if export is configured
oeninghe-dataport Apr 21, 2026
758e48e
Merge branch 'next' into vue3/migrate-plugin-gfi
dopenguin Apr 21, 2026
b13d946
docs(gfi): fix typo in src/plugins/gfi/types.ts
oeninghe-dataport May 4, 2026
78cf7ea
refactor(gfi): simplify v-else-if for gfiUI
oeninghe-dataport May 4, 2026
5c52f98
docs(gfi): improve inter-docs linking
oeninghe-dataport May 4, 2026
2bc62e3
docs(gfi): improve inter-docs linking
oeninghe-dataport May 4, 2026
30369fe
docs(gfi): improve wording for gfi types
oeninghe-dataport May 4, 2026
71e0fe9
fix(gfi): remove superfluous gfiFailedSymbol
oeninghe-dataport May 4, 2026
de7c0a2
docs(gfi): explain where geometry property name default is derived from
oeninghe-dataport May 5, 2026
049b529
docs(core): improve wording in src/core/utils/map/setupMarkers.ts
oeninghe-dataport May 13, 2026
c49b158
fix(gfi): use correct heading level for featureList
oeninghe-dataport May 13, 2026
68760f7
fix(gfi): align feature buttons to top-right corner
oeninghe-dataport May 13, 2026
37e1612
refactor(gfi): replace hardcoded `'gfi'` with `PluginId`
oeninghe-dataport May 13, 2026
acc27d6
feat: add info about shown and total items to pagination
oeninghe-dataport May 13, 2026
e50c423
fix(gfi): adapt KERN style properly
oeninghe-dataport May 13, 2026
e462655
docs(gfi): replace irregular whitespace with regular
oeninghe-dataport May 5, 2026
2516299
docs(gfi): noted that text format for gfi is probably not standardized
oeninghe-dataport May 5, 2026
6bebd40
docs(gfi): use JSDoc syntax for default value
oeninghe-dataport May 5, 2026
92593c1
refactor(gfi): remove legacy code from vue2
oeninghe-dataport May 13, 2026
cf97607
style: introduce ESLint rule perfectionist/sort-named-imports
oeninghe-dataport May 13, 2026
f46aa79
chore(gfi): remove migrated type HighlightStyle from vue2 code
oeninghe-dataport May 13, 2026
b8fb5a2
fix(gfi): add missing import of PluginId to GfiUI
oeninghe-dataport May 13, 2026
985bc02
fix: using more KERN variables for KernPagination
oeninghe-dataport May 13, 2026
18d2a1a
fix: use english for english shared locales
oeninghe-dataport May 13, 2026
4f9d2e1
fix(gfi): use correct Vue-deep reference in GfiUI
oeninghe-dataport May 18, 2026
e8f3597
Merge remote-tracking branch 'origin/next' into vue3/migrate-plugin-gfi
oeninghe-dataport May 18, 2026
c89b58b
fix(gfi): the CustomHighlightStyle keys are optional
oeninghe-dataport May 18, 2026
fa787b1
refactor(gfi): move tooltip to new plugin composable
oeninghe-dataport May 18, 2026
07d6066
docs(gfi): hide internal types
oeninghe-dataport May 18, 2026
0bbd0fb
docs(gfi): improve docs for format in GfiLayerConfiguration
oeninghe-dataport May 18, 2026
db2a657
docs(gfi): improve inter-docs linking
oeninghe-dataport May 18, 2026
9edf830
refactor(core): add util `findLayer`
oeninghe-dataport May 18, 2026
d1be583
docs(gfi): fix typo
oeninghe-dataport May 18, 2026
f112666
refactor: make former getRefStore a composable
oeninghe-dataport May 18, 2026
7b08d89
chore: remove superfluous CSS rules in pagination
oeninghe-dataport May 18, 2026
b7280b0
refactor(gfi): use UI CSS in the right places and w/ KERN
oeninghe-dataport May 18, 2026
3b0c6f5
chore(gfi): remove superfluous TODO
oeninghe-dataport May 18, 2026
c598a80
fix(gfi): adapt styling of feature list items to KERN + previous POLAR
oeninghe-dataport May 18, 2026
92f446f
test(snowbox): remove legacy eigengrau color variable
oeninghe-dataport May 18, 2026
62062f0
docs(gfi): fix return value type of showTooltip
oeninghe-dataport May 18, 2026
ea8c02d
docs(gfi): improve docs of feature to text serializing
oeninghe-dataport May 18, 2026
f1ffdb6
docs(gfi): remove redundant sentence
oeninghe-dataport May 18, 2026
f835925
style(gfi): remove linter-failing whitespace
oeninghe-dataport May 18, 2026
bff6bdc
docs(gfi): plugin loading order does not matter anymore
oeninghe-dataport May 18, 2026
9d95f73
docs(gfi): fix typo
oeninghe-dataport May 18, 2026
e82b7c6
docs(gfi): improve inter-docs linking
oeninghe-dataport May 18, 2026
7f05d42
docs(gfi): fix typo
oeninghe-dataport May 18, 2026
635a1e7
docs(gfi): improve inter-docs linking
oeninghe-dataport May 18, 2026
2336f7e
docs(gfi): improve inter-docs typing for directSelect
oeninghe-dataport May 18, 2026
a6607c6
fix(gfi): debounce getFeatureInfo request again
oeninghe-dataport May 18, 2026
3a9843a
Merge remote-tracking branch 'origin/next' into vue3/migrate-plugin-gfi
oeninghe-dataport May 18, 2026
1087c8d
feat: add gfi to generic client
oeninghe-dataport May 18, 2026
8d17a09
test(snowbox): configure isSelectable for gfi to match markers
oeninghe-dataport May 18, 2026
1a360e9
fix(gfi): add hover state on keyboard focus
oeninghe-dataport May 19, 2026
1370962
fix(gfi): refresh feature list on vector source changes
oeninghe-dataport May 19, 2026
37588de
fix: markers remember their selection on clusters
oeninghe-dataport May 19, 2026
271ad09
chore(gfi): remove legacy code
oeninghe-dataport May 19, 2026
4a80f42
Merge branch 'next' into vue3/migrate-plugin-gfi
oeninghe-dataport Jun 2, 2026
fb59311
Merge remote-tracking branch 'origin/next' into vue3/migrate-plugin-gfi
oeninghe-dataport Jun 16, 2026
ab14bb0
chore(gfi): add link to spec for gfi wms in text format
oeninghe-dataport Jun 16, 2026
ed87486
docs: remove (incorrect) hint on the defined default value
oeninghe-dataport Jun 17, 2026
c7c6b35
refactor(gfi): replace logical OR w/ type assertion
oeninghe-dataport Jun 17, 2026
1f639d8
refactor(gfi): improve type annotations for updateTooltip
oeninghe-dataport Jun 17, 2026
67eafe4
refactor(gfi): strengthen updateTooltip parameter type
oeninghe-dataport Jun 17, 2026
65ec115
refactor: remove superfluous type annotation in KernPagination
oeninghe-dataport Jun 17, 2026
1ab845c
refactor(gfi): use implicit props binding for GfiFeature
oeninghe-dataport Jun 17, 2026
7c49b21
refactor(gfi): remove unused prop in GfiFeature
oeninghe-dataport Jun 17, 2026
db7493f
refactor(gfi): use combination of class-styles in template for featur…
oeninghe-dataport Jun 17, 2026
d3d97d6
perf(gfi): use shallowRef's for OpenLayers references
oeninghe-dataport Jun 22, 2026
13e685a
feat(gfi): add optional title-prepended icon
oeninghe-dataport Jun 23, 2026
35610a2
refactor(gfi): remove unused css fragment
oeninghe-dataport Jun 23, 2026
cdeda5b
refactor(gfi): remove options object pattern for internal composables
oeninghe-dataport Jun 23, 2026
4f6c62e
fix(gfi): consider default renderType
oeninghe-dataport Jun 23, 2026
bf3c65d
feat(gfi): add enrichedPaginatedFeatures to list store
oeninghe-dataport Jun 23, 2026
1547b7b
refactor(gfi): remove extra blank line in feature UI
oeninghe-dataport Jun 24, 2026
091af04
fix: adapt KERN variables to @kern-ux/native@^2.6.2
oeninghe-dataport Jun 26, 2026
d1f3a92
fix(gfi): hide exportProperty within properties
oeninghe-dataport Jun 26, 2026
0a16793
fix(gfi): remove margin to match other independent-rendered plugins
oeninghe-dataport Jun 26, 2026
5c8f0c4
fix(gfi): use icon buttons at the top for navigation between features
oeninghe-dataport Jun 26, 2026
9cbbcf4
refactor(gfi): inline `serializeFeature`
oeninghe-dataport Jun 26, 2026
b0fc61e
docs(gfi): add inter-linking for gfiLayer properties
oeninghe-dataport Jun 26, 2026
940cf78
docs(gfi): add inter-docs linking for featureList
oeninghe-dataport Jun 26, 2026
0623319
refactor: shorten props reference in pagination template
oeninghe-dataport Jun 26, 2026
a20e34b
feat(gfi): allow clearing a coordinate source on closing dialog
oeninghe-dataport Jul 1, 2026
b760b14
feat(gfi)!: add configuration for selectionDiff in multiSelect
oeninghe-dataport Jul 1, 2026
7b84459
test(snowbox): add "Go to Kiel" button for easier testing of Kiel layers
oeninghe-dataport Jul 1, 2026
36db39c
refactor: add getter for masked interactions to core
oeninghe-dataport Jul 1, 2026
4bc6e2b
fix(gfi): update default plugin icon
oeninghe-dataport Jul 1, 2026
a071a5d
fix(gfi): move pagination to header
oeninghe-dataport Jul 1, 2026
a3b965e
test(snowbox): add Meldemichel tooltip logic
oeninghe-dataport Jul 1, 2026
0000a4f
fix: pagination offers different pages now
oeninghe-dataport Jul 1, 2026
b002d7b
fix: adapt spacing in pagination to match old behaviour
oeninghe-dataport Jul 1, 2026
6445501
feat(gfi): allow configurable feature title in detail window
oeninghe-dataport Jul 2, 2026
374117e
docs(gfi): fix formatting of literal value
oeninghe-dataport Jul 2, 2026
48bdc5a
Merge branch 'next' into vue3/migrate-plugin-gfi
oeninghe-dataport Jul 2, 2026
7f19cac
Merge branch 'next' into vue3/migrate-plugin-gfi
oeninghe-dataport Jul 9, 2026
b099e3f
fix(gfi): align icon with title in gfi UI
oeninghe-dataport Jul 17, 2026
bf29efb
fix(gfi): unified padding for gfi feature list
oeninghe-dataport Jul 17, 2026
236c0fc
fix(gfi): replace PolarIconButton with KernButton
oeninghe-dataport Jul 17, 2026
014198b
fix(gfi): adapt hover and selection behaviour to POLAR@2
oeninghe-dataport Jul 20, 2026
dc2dc75
fix: pagination buttons have the same height
oeninghe-dataport Jul 20, 2026
d321f67
fix(core): tooltip headers have reduced margins
oeninghe-dataport Jul 20, 2026
3b72e2d
perf: add caching to getCluster
oeninghe-dataport Jul 21, 2026
87c843a
perf: do not deep-watch OL objects in useOlVectorSources
oeninghe-dataport Jul 21, 2026
43f7344
perf(gfi): lazy hover calculation
oeninghe-dataport Jul 21, 2026
7555797
docs(core): add hint to evaluate maskedInteractions
oeninghe-dataport Jul 21, 2026
178001a
refactor(gfi): extract setSelectedFeature in featureList
oeninghe-dataport Jul 21, 2026
debe186
perf(gfi): use `markRaw` with OpenLayers objects
oeninghe-dataport Jul 28, 2026
97254a4
test(snowbox): use larger clusterDistance to match MML
oeninghe-dataport Jul 28, 2026
07b7bad
Merge branch 'next' into vue3/migrate-plugin-gfi
oeninghe-dataport Jul 28, 2026
6c762b2
refactor: rename `idx` to `index`
oeninghe-dataport Jul 28, 2026
82d2196
fix(gfi): filter selectable features with zoom changes
oeninghe-dataport Jul 28, 2026
d38a39f
docs(core): reword docs for selectedFeature
oeninghe-dataport Aug 4, 2026
857e712
docs(core): explain the usage of `.ol-overlay-container.ol-selectable`
oeninghe-dataport Aug 4, 2026
7e1352d
test(snowbox): re-add swallowed ending newline
oeninghe-dataport Aug 4, 2026
dcb4fc9
refactor(gfi): remove watcher on selectedFeatures
oeninghe-dataport Aug 5, 2026
7d5c9de
refactor(gfi): extract bindWithCoreHoverSelect to separate composable
oeninghe-dataport Aug 6, 2026
419440a
fix(gfi): add missing focus style for tabbing
warm-coolguy Aug 21, 2026
9746027
fix(gfi): vertically center dots
warm-coolguy Aug 21, 2026
aef7401
refactor(gfi): reuse a getter with defaulting
warm-coolguy Aug 21, 2026
c9f5c48
refactor(gfi): remove dead button css
warm-coolguy Aug 21, 2026
92e65c6
Update src/plugins/gfi/components/GfiFeature.ce.vue
warm-coolguy Aug 21, 2026
d665358
refactor(gfi): by default don't mention export file type
warm-coolguy Aug 21, 2026
529d89a
Merge branch 'vue3/migrate-plugin-gfi' of https://github.com/Dataport…
warm-coolguy Aug 21, 2026
522ef45
feat(gfi): show different icons and aria-label on list availability
warm-coolguy Aug 21, 2026
62087b3
chore(gfi): clean-up
warm-coolguy Aug 24, 2026
a4e2377
refactor(gfi): hex2oklch
warm-coolguy Aug 24, 2026
4e0d752
refactor(gfi): refactor CSS
warm-coolguy Aug 24, 2026
e97dbfa
Merge branch 'next' into vue3/migrate-plugin-gfi
oeninghe-dataport Aug 24, 2026
e53cf17
Merge branch 'next' into vue3/migrate-plugin-gfi
warm-coolguy Aug 24, 2026
1991c40
fix(gfi): remove horizontal scrollbar on feat list
warm-coolguy Aug 25, 2026
1726b87
fix(gfi): firewatch now immediate to prevent misaligned start
warm-coolguy Aug 26, 2026
bf4df41
refactor(core): don't re-export libs
warm-coolguy Aug 26, 2026
75e3cc5
Merge branch 'next' into vue3/migrate-plugin-gfi
dopenguin Aug 26, 2026
84fef4a
refactor(gfi): remove superseded getLayer action
dopenguin Aug 26, 2026
4bf0599
refactor: remove unused options object
dopenguin Aug 26, 2026
c9387f9
Merge branch 'next' into vue3/migrate-plugin-gfi
dopenguin Aug 26, 2026
c6898b3
Merge branch 'next' into vue3/migrate-plugin-gfi
dopenguin Aug 26, 2026
906b3c9
fix(gfi): alter css further
warm-coolguy Aug 26, 2026
1d849db
feat(gfi): align dots with center instead baseline
warm-coolguy Aug 26, 2026
775c463
feat(gfi): make it look bettaaaa
warm-coolguy Aug 26, 2026
fda3c43
feat(gfi): add entry index to UI
warm-coolguy Aug 28, 2026
419aeaa
Merge branch 'next' into vue3/migrate-plugin-gfi
warm-coolguy Aug 28, 2026
355a5f6
Update src/plugins/gfi/types.ts
warm-coolguy Aug 28, 2026
cdee148
refactor(gfi): alter types
warm-coolguy Aug 28, 2026
73311af
Merge branch 'vue3/migrate-plugin-gfi' of https://github.com/Dataport…
warm-coolguy Aug 28, 2026
68b2a39
Update src/plugins/gfi/types.ts
warm-coolguy Aug 28, 2026
f3f30fc
Apply batched suggestions from code review
warm-coolguy Aug 28, 2026
b07fb38
fix(gfi): purge extendedMasterportalapiMarkers name
warm-coolguy Aug 28, 2026
d1927e4
Merge branch 'vue3/migrate-plugin-gfi' of https://github.com/Dataport…
warm-coolguy Aug 28, 2026
089e9e9
refactor(gfi): pull functionality to utils
warm-coolguy Aug 28, 2026
0462963
refactor(gfi): model fallback as @defaultValue
warm-coolguy Aug 28, 2026
132a1fd
feat(core)!: rework markers for cluster usage
oeninghe-dataport Aug 7, 2026
fd89b2f
Merge branch 'next' into vue3/gfi-rework-markers
oeninghe-dataport Aug 28, 2026
6f32647
refactor(gfi): remove surplus css rule
warm-coolguy Aug 28, 2026
0d62eb5
refactor: use reusable component in favour of plain html
dopenguin Aug 28, 2026
317b901
docs(gfi): explain localization of gfi properties
oeninghe-dataport Aug 28, 2026
d2b1d8b
feat(gfi): allow `maxFeatures` to be set per-layer
oeninghe-dataport Aug 28, 2026
b70c705
docs(gfi): fix text object example for `FeatureList`
oeninghe-dataport Aug 28, 2026
32f2ad6
docs(gfi): simplify docs for list-exported store
oeninghe-dataport Aug 28, 2026
8f77898
docs(gfi): improve inter-docs linking
oeninghe-dataport Aug 28, 2026
e464287
refactor(gfi): use simplified type MultiSelect for useMultiSelection
oeninghe-dataport Aug 28, 2026
fbf90bc
perf(gfi): do not pass feature as property to GfiFeature
oeninghe-dataport Aug 28, 2026
2b99209
refactor(gfi): introduce unfounded paranoia
warm-coolguy Aug 31, 2026
5858470
refactor(gfi): introduce unfounded paranoia 2: electric boogaloo
warm-coolguy Aug 31, 2026
213c094
refactor(gfi): code-golf useBindWithCoreHoverSelect
oeninghe-dataport Sep 2, 2026
282cd2d
refactor(gfi): add type-annotation to getIndex helper
oeninghe-dataport Sep 2, 2026
bdcc77d
refactor(gfi): rename the internal type Feature to FeaturePair
oeninghe-dataport Sep 2, 2026
41c590e
refactor(gfi): use es-toolkit helper pickBy
oeninghe-dataport Sep 2, 2026
b8c9bdd
refactor(gfi): use es-toolkit helpers pickBy and mapValues
oeninghe-dataport Sep 2, 2026
c7035c7
refactor(gfi): rename geojsonFeature to geoJsonFeature
oeninghe-dataport Sep 2, 2026
599ad6e
refactor(gfi): useSelectedFeatures code-golf setter olFeature
oeninghe-dataport Sep 2, 2026
393a091
fix(gfi): waitMs may be set to zero now
oeninghe-dataport Sep 2, 2026
122a567
refactor(gfi): type `exportProperty`
oeninghe-dataport Sep 2, 2026
215853e
refactor(gfi): extract type ShowTooltip
oeninghe-dataport Sep 2, 2026
87d9aae
fix(gfi): intermediate solution was superseded by callOnMapSelect
oeninghe-dataport Sep 2, 2026
840859c
feat(gfi): verify that activeLayersRef's target has the correct type
oeninghe-dataport Sep 2, 2026
7dc54da
refactor(gfi): activeLayerList>activeLayers/activeLayers>activeLayerIds
oeninghe-dataport Sep 2, 2026
a514702
refactor: fix returnType of useOlVectorSources
oeninghe-dataport Sep 2, 2026
4f71db9
refactor(gfi): remove superfluous `.filter`
oeninghe-dataport Sep 2, 2026
c100941
refactor(gfi): move markRaw to the correct level
oeninghe-dataport Sep 2, 2026
5b5c451
docs(gfi): explain inclusive/exclusive indices
oeninghe-dataport Sep 2, 2026
81800b3
Merge branch 'vue3/migrate-plugin-gfi' into vue3/gfi-rework-markers
oeninghe-dataport Sep 2, 2026
395e201
Merge pull request #921 from Dataport/vue3/gfi-rework-markers
oeninghe-dataport Sep 2, 2026
1690646
Update src/plugins/gfi/composables/useFeatureDisplayLayer.ts
warm-coolguy Sep 2, 2026
c33c9e0
Update src/plugins/gfi/composables/useFeatureDisplayLayer.ts
warm-coolguy Sep 2, 2026
174fb98
Update src/plugins/gfi/composables/useMultiSelection.ts
warm-coolguy Sep 2, 2026
1d4c06b
refactor(gfi): make code better
warm-coolguy Sep 2, 2026
09e255d
Merge branch 'vue3/migrate-plugin-gfi' of https://github.com/Dataport…
warm-coolguy Sep 2, 2026
35a97d3
refactor(gfi): made code different
warm-coolguy Sep 2, 2026
8f2cf2e
Update src/plugins/gfi/types.ts
warm-coolguy Sep 2, 2026
20abf54
Update src/plugins/gfi/types.ts
warm-coolguy Sep 2, 2026
7a5f597
docs(gfi): make feature parameter type explicit to GeoJsonFeature
oeninghe-dataport Sep 2, 2026
b82e200
refactor(gfi): allow ImageWMS in getWmsGfiUrl
oeninghe-dataport Sep 2, 2026
9b3b479
docs(gfi): improve inter-docs linking
oeninghe-dataport Sep 2, 2026
fa4f103
Merge branch 'vue3/gfi-rework-markers' into vue3/migrate-plugin-gfi
oeninghe-dataport Sep 2, 2026
ddf71fc
feat(gfi): re-implement noActiveLayer
oeninghe-dataport Sep 2, 2026
770b5a7
Merge branch 'next' into vue3/migrate-plugin-gfi
oeninghe-dataport Sep 2, 2026
dc73a97
fix(gfi): geometry defaults to false to be backwards-compatible
oeninghe-dataport Sep 2, 2026
467a77f
fix(gfi): show a hint in iconMenu if window is invisible
oeninghe-dataport Sep 4, 2026
1b69443
fix(gfi): auto-select first feature for "real-GFI" case
oeninghe-dataport Sep 4, 2026
0c2bbb5
docs(gfi): remove left-over merge-conflict markers
oeninghe-dataport Sep 4, 2026
39ca3a1
fix(gfi): show only `window: true` layers in featureList
oeninghe-dataport Sep 4, 2026
5fce744
fix(gfi): do not assume geometryName === 'geometry'
oeninghe-dataport Sep 4, 2026
568f49a
feat: add lib function watchArray
oeninghe-dataport Jul 29, 2026
1cf9ca5
fix(gfi): icon for featureList is optional
oeninghe-dataport Sep 4, 2026
fe1a784
fix(gfi): hasActiveWindowLayers is now OL-reactive
oeninghe-dataport Sep 4, 2026
21180da
chore: add feature printer to snowbox
warm-coolguy Sep 4, 2026
ac59984
Merge branch 'vue3/migrate-plugin-gfi' of https://github.com/Dataport…
warm-coolguy Sep 4, 2026
22ff997
fix(gfi): close featureInformation properly w/ close button
oeninghe-dataport Sep 4, 2026
8d15b9f
fix(gfi): call updateVisibleLayers also on configuration changes
oeninghe-dataport Sep 4, 2026
65ce234
fix(gfi): show only `window: true` layers in featureList, the right way
oeninghe-dataport Sep 4, 2026
7642fa3
fix(gfi): run getNestedFeatures for geoJson with coordinate
oeninghe-dataport Sep 4, 2026
a063a4a
fix(gfi): write geoJsonFeatures as a whole object, as it is shallowRef
oeninghe-dataport Sep 4, 2026
950629c
fix(gfi): auto-select feature w/ toggleSelection
oeninghe-dataport Sep 4, 2026
cfb4a34
fix(gfi): use POLAR highlight style instead of masterportalapi
oeninghe-dataport Sep 4, 2026
73e84c8
fix(gfi): use maxFeatures on features instead of layers
oeninghe-dataport Sep 7, 2026
9976c06
refactor(gfi): remove unused `maxFeatures` parameter
oeninghe-dataport Sep 7, 2026
1f4222e
fix(gfi): only request GFI for visible layers
oeninghe-dataport Sep 7, 2026
cd6969f
Merge branch 'next' into vue3/migrate-plugin-gfi
warm-coolguy Sep 9, 2026
03a265a
feat(gfi): add point style for featureDisplayLayer
oeninghe-dataport Sep 10, 2026
3083177
chore(gfi): add TODO
warm-coolguy Sep 11, 2026
fd71ac8
fix(gfi): select via bindWithCoreHoverSelect only if layer is windowed
oeninghe-dataport Sep 11, 2026
7893e3f
fix(gfi): hide filtered features w/ geojson gfi
oeninghe-dataport Sep 11, 2026
e60fce7
chore: make client higher to get proper lighthouse results
warm-coolguy Sep 11, 2026
c333905
Merge branch 'vue3/migrate-plugin-gfi' of https://github.com/Dataport…
warm-coolguy Sep 11, 2026
e52263d
docs(gfi): add hint that bindWithCoreHoverSelect relates to markers
oeninghe-dataport Sep 11, 2026
7e85909
fix(core): marker centers on cluster now, not feature
oeninghe-dataport Sep 11, 2026
67653e6
fix(core): fix 7e85909fe by considering cluster features change onZoom
oeninghe-dataport Sep 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions examples/iceberg/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
import kernExtraIcons from 'virtual:kern-extra-icons'
import { computed, ref } from 'vue'

import GfiConfig from './components/GfiConfig.vue'
import IcebergMap from './components/IcebergMap.vue'
import LayoutChooser from './components/LayoutChooser.vue'
import TaskMenu from './components/TaskMenu.vue'
Expand All @@ -55,6 +56,11 @@ const configTasks = [
label: 'Layout wählen',
component: LayoutChooser,
},
{
id: 'configure-gfi',
label: 'GFI konfigurieren',
component: GfiConfig,
},
]
const tasks = computed(() => [
'menu',
Expand Down
86 changes: 86 additions & 0 deletions examples/iceberg/components/GfiConfig.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
<template>
<fieldset class="kern-fieldset">
<legend class="kern-label">
Wie soll die Auswahl für das GFI-Plugin ablaufen?
</legend>
<div class="kern-fieldset__body">
<div
v-for="mode of selectionModes"
:key="mode.value"
class="kern-form-check"
>
<input
:id="`${id}-${mode.value}`"
v-model="selectionMode"
class="kern-form-check__radio"
:name="`${id}-layout`"
type="radio"
:value="mode.value"
/>
<label :for="`${id}-${mode.value}`" class="kern-label">
{{ mode.label }}
</label>
</div>
</div>
</fieldset>
</template>

<script setup lang="ts">
import type { MapConfiguration } from '@polar/polar'

import { isEqual } from 'es-toolkit'
import { computed, useId } from 'vue'

import { useIcebergStore } from '../stores/iceberg'

const id = useId()
const store = useIcebergStore()

const selectionModes = [
{
value: 'direct',
label: 'Direkte Auswahl',
config: {
directSelect: true,
},
},
{
value: 'multi',
label: 'Mehrfachauswahl',
config: {
directSelect: true,
multiSelect: {
mode: 'box',
},
},
},
{
value: 'pins',
label: 'Auswahl über das Pins-Plugin',
config: {
coordinateSources: [
{
plugin: 'pins',
key: 'coordinate',
},
],
},
},
] satisfies {
value: 'direct' | 'multi' | 'pins'
label: string
config: Partial<MapConfiguration['gfi']>
}[]

const selectionMode = computed({
get: () =>
selectionModes.find((mode) =>
isEqual(mode.config, store.mapConfiguration.gfi)
)?.value || 'direct',
set: (value) => {
store.mapConfiguration.gfi = selectionModes.find(
(mode) => mode.value === value
)?.config as MapConfiguration['gfi']
},
})
</script>
11 changes: 11 additions & 0 deletions examples/iceberg/components/IcebergMap.vue
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,7 @@ import pluginAttributions from '@polar/polar/plugins/attributions'
import pluginExport from '@polar/polar/plugins/export'
import pluginFilter from '@polar/polar/plugins/filter'
import pluginFullscreen from '@polar/polar/plugins/fullscreen'
import pluginGfi from '@polar/polar/plugins/gfi'
import pluginIconMenu from '@polar/polar/plugins/iconMenu'
import pluginLayerChooser from '@polar/polar/plugins/layerChooser'
import pluginPins from '@polar/polar/plugins/pins'
Expand Down Expand Up @@ -130,6 +131,16 @@ watch(map, (map) => {
layoutTag: 'TOP_LEFT',
searchMethods: [],
}),
pluginGfi({
displayComponent: true,
layoutTag: 'TOP_LEFT',
layers: {
'1454': {
window: true,
geometry: true,
},
},
}),
pluginPins({
coordinateSources: [{ plugin: 'addressSearch', key: 'chosenAddress' }],
boundary: {
Expand Down
8 changes: 4 additions & 4 deletions examples/iceberg/components/TaskMenu.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@
</div>
<ul class="kern-task-list__list">
<li
v-for="(task, idx) of configTasks"
:key="idx"
v-for="(task, index) of configTasks"
:key="index"
class="kern-task-list__item"
>
<span class="kern-number">{{ idx + 1 }}</span>
<div :id="`task${idx + 1}-title`" class="kern-task-list__title">
<span class="kern-number">{{ index + 1 }}</span>
<div :id="`task${index + 1}-title`" class="kern-task-list__title">
<a
href="#"
class="kern-link kern-link--stretched"
Expand Down
5 changes: 4 additions & 1 deletion examples/iceberg/stores/iceberg.ts
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@ export const useIcebergStore = defineStore('iceberg', () => {
name: 'Ausgleichsflächen',
styleId: 'panda',
visibility: true,
minZoom: 5,
},
{
id: '1693',
Expand Down Expand Up @@ -69,6 +68,7 @@ export const useIcebergStore = defineStore('iceberg', () => {
visibility: true,
type: 'mask',
name: 'snowbox.layers.mml',
minZoom: 5,
},
],
startCenter: [565874, 5934140],
Expand Down Expand Up @@ -132,6 +132,9 @@ export const useIcebergStore = defineStore('iceberg', () => {
displayComponent: true,
layoutTag: 'TOP_RIGHT',
},
gfi: {
directSelect: true,
} as MapConfiguration['gfi'],
markers: {
layers: [
{
Expand Down
25 changes: 25 additions & 0 deletions examples/snowbox/debug-assistant.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { getStore } from '@polar/polar'

function initializeDebugAssistant() {
const map = document.getElementById('snowbox')
const coreStore = getStore(map, 'core')
const activePluginIds = coreStore.activePluginIds

window.map = map
window.olMap = coreStore.map
window.coreStore = coreStore
window.activePluginIds = activePluginIds
for (const pluginId of activePluginIds) {
window[`${pluginId}Store`] = coreStore.getPluginStore(pluginId)
}
}

// We want to load as late as possible.
// Especially, the timeout stuff from snowbox code should be done when doing this.
setTimeout(() => {
initializeDebugAssistant()

// 7 seconds may be long sometimes, inform the developer about it.
// eslint-disable-next-line no-console
console.info('POLAR debug assistant was successfully initialized')
}, 7000)
7 changes: 5 additions & 2 deletions examples/snowbox/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate, max-age=0" />
<link rel="stylesheet" href="@polar/polar/polar.css" />
<script type="module" defer src="index.js"></script>
<script type="module" defer src="debug-assistant.js"></script>
<style>
/* style just for example page, not directly related to POLAR */
:root {
--not-quite-white: #f2f3f4;
--map-height: 600px;
--map-height: 800px;
}

body {
font-family: sans-serif;
padding: 2em;
background: var(--not-quite-white);
color: var(--eigengrau);
}

h1 {
Expand Down Expand Up @@ -61,6 +61,7 @@ <h1>POLAR map client</h1>
</select>
</label>
<button id="color-scheme-switcher">Switch to dark mode</button>
<button id="kiel-teleport">Go to Kiel</button>
<div>
Coordinates of currently selected feature: <span id="selected-feature-coordinates"></span>
</div>
Expand All @@ -73,5 +74,7 @@ <h2>Second map</h2>
<button id="secondMap">Add a map client</button>
<button id="secondMapClean">Remove all map clients below</button>
<div id="secondMapContainer"></div>
<h2>Spam Zone</h2>
<div id="gfi-features"></div>
</body>
</html>
Loading
Loading