geonetwork-ui 2.9.0-dev.3c71d72bf → 2.9.0-dev.4a9fc97f2
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/fesm2022/geonetwork-ui.mjs +93 -60
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/index.d.ts +5 -3
- package/index.d.ts.map +1 -1
- package/package.json +6 -6
- package/src/libs/feature/dataviz/src/lib/chart-view/chart-view.component.html +8 -10
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +2 -2
- package/src/libs/feature/record/src/lib/gpf-api-dl/gpf-api-dl.component.html +4 -4
- package/src/libs/feature/record/src/lib/map-view/map-view.component.html +9 -18
- package/src/libs/feature/record/src/lib/map-view/map-view.component.ts +64 -8
- package/src/libs/feature/router/src/lib/default/router.module.ts +3 -3
- package/src/libs/feature/router/src/lib/default/router.service.ts +2 -2
- package/src/libs/ui/elements/src/lib/api-card/api-card.component.html +2 -2
- package/src/libs/ui/elements/src/lib/application-banner/application-banner.component.ts +2 -3
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.html +1 -1
- package/src/libs/ui/elements/src/lib/metadata-contact/metadata-contact.component.ts +3 -3
- package/src/libs/ui/elements/src/lib/record-api-form/record-api-form.component.html +1 -1
- package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html +1 -1
- package/src/libs/ui/map/src/lib/map-utils.ts +1 -1
- package/src/libs/util/app-config/src/lib/app-config.ts +8 -2
- package/src/libs/util/app-config/src/lib/fixtures.ts +1 -0
- package/src/libs/util/app-config/src/lib/model.ts +1 -0
- package/src/libs/util/shared/src/lib/gn-ui-version.ts +5 -4
- package/src/libs/util/shared/src/lib/services/theme.service.ts +9 -23
- package/tailwind.base.config.js +3 -2
- package/translations/de.json +3 -2
- package/translations/en.json +2 -1
- package/translations/es.json +1 -0
- package/translations/fr.json +2 -1
- package/translations/it.json +2 -1
- package/translations/nl.json +1 -0
- package/translations/pt.json +1 -0
- package/translations/sk.json +2 -1
|
@@ -11,6 +11,7 @@ import {
|
|
|
11
11
|
} from '@angular/core'
|
|
12
12
|
import { MapUtilsService } from '../../../../../../libs/feature/map/src'
|
|
13
13
|
import { getLinkId, getLinkLabel } from '../../../../../../libs/util/shared/src'
|
|
14
|
+
import { WmsEndpoint, LayerStyle } from '@camptocamp/ogc-client'
|
|
14
15
|
import {
|
|
15
16
|
BehaviorSubject,
|
|
16
17
|
combineLatest,
|
|
@@ -40,6 +41,7 @@ import {
|
|
|
40
41
|
createViewFromLayer,
|
|
41
42
|
MapContext,
|
|
42
43
|
MapContextLayer,
|
|
44
|
+
MapContextLayerWms,
|
|
43
45
|
SourceLoadErrorEvent,
|
|
44
46
|
} from '@geospatial-sdk/core'
|
|
45
47
|
import {
|
|
@@ -77,6 +79,7 @@ marker('map.dropdown.placeholder')
|
|
|
77
79
|
marker('wfs.feature.limit')
|
|
78
80
|
marker('dataset.error.restrictedAccess')
|
|
79
81
|
marker('map.select.style')
|
|
82
|
+
marker('map.style.default')
|
|
80
83
|
|
|
81
84
|
@Component({
|
|
82
85
|
selector: 'gn-ui-map-view',
|
|
@@ -231,6 +234,14 @@ export class MapViewComponent implements AfterViewInit {
|
|
|
231
234
|
})
|
|
232
235
|
)
|
|
233
236
|
|
|
237
|
+
isWmsStyleMode$ = this.selectedSourceLink$.pipe(
|
|
238
|
+
map(
|
|
239
|
+
(src) => src?.type === 'service' && src?.accessServiceProtocol === 'wms'
|
|
240
|
+
),
|
|
241
|
+
distinctUntilChanged(),
|
|
242
|
+
shareReplay(1)
|
|
243
|
+
)
|
|
244
|
+
|
|
234
245
|
styleLinks$ = this.selectedSourceLink$.pipe(
|
|
235
246
|
switchMap((src) => {
|
|
236
247
|
if (
|
|
@@ -262,6 +273,22 @@ export class MapViewComponent implements AfterViewInit {
|
|
|
262
273
|
})
|
|
263
274
|
)
|
|
264
275
|
}
|
|
276
|
+
if (
|
|
277
|
+
src &&
|
|
278
|
+
src.type === 'service' &&
|
|
279
|
+
src.accessServiceProtocol === 'wms'
|
|
280
|
+
) {
|
|
281
|
+
return from(new WmsEndpoint(src.url.toString()).isReady()).pipe(
|
|
282
|
+
map((endpoint) => {
|
|
283
|
+
const layer = endpoint.getLayerByName(src.name)
|
|
284
|
+
return layer?.styles || []
|
|
285
|
+
}),
|
|
286
|
+
catchError((error) => {
|
|
287
|
+
this.handleError(error)
|
|
288
|
+
return of([])
|
|
289
|
+
})
|
|
290
|
+
)
|
|
291
|
+
}
|
|
265
292
|
return of([])
|
|
266
293
|
}),
|
|
267
294
|
tap((styles) => {
|
|
@@ -274,33 +301,57 @@ export class MapViewComponent implements AfterViewInit {
|
|
|
274
301
|
shareReplay(1)
|
|
275
302
|
)
|
|
276
303
|
|
|
277
|
-
styleDropdownChoices$ =
|
|
278
|
-
|
|
304
|
+
styleDropdownChoices$ = combineLatest([
|
|
305
|
+
this.styleLinks$,
|
|
306
|
+
this.isWmsStyleMode$,
|
|
307
|
+
]).pipe(
|
|
308
|
+
map(([links, isWmsStyleMode]) =>
|
|
279
309
|
links.length
|
|
280
310
|
? links.map((link, index) => ({
|
|
281
|
-
label:
|
|
311
|
+
label: isWmsStyleMode
|
|
312
|
+
? (link as LayerStyle).title || (link as LayerStyle).name
|
|
313
|
+
: getLinkLabel(link as DatasetOnlineResource),
|
|
282
314
|
value: index,
|
|
283
315
|
}))
|
|
284
316
|
: [
|
|
285
317
|
{
|
|
286
|
-
label: '
|
|
318
|
+
label: this.translateService.instant('map.style.default'),
|
|
287
319
|
value: 0,
|
|
288
320
|
},
|
|
289
321
|
]
|
|
290
322
|
)
|
|
291
323
|
)
|
|
292
324
|
|
|
325
|
+
selectedWmsStyleName$ = combineLatest([
|
|
326
|
+
this.styleLinks$,
|
|
327
|
+
this.isWmsStyleMode$,
|
|
328
|
+
this.selectedStyleId$.pipe(distinctUntilChanged()),
|
|
329
|
+
]).pipe(
|
|
330
|
+
map(([styles, isWmsStyleMode, styleIdx]) =>
|
|
331
|
+
isWmsStyleMode && Array.isArray(styles)
|
|
332
|
+
? (styles[styleIdx] as LayerStyle)?.name
|
|
333
|
+
: undefined
|
|
334
|
+
)
|
|
335
|
+
)
|
|
336
|
+
|
|
293
337
|
selectedLink$ = combineLatest([
|
|
294
338
|
this.selectedSourceLink$,
|
|
295
339
|
this.styleLinks$,
|
|
296
340
|
this.selectedStyleId$.pipe(distinctUntilChanged()),
|
|
341
|
+
this.isWmsStyleMode$,
|
|
297
342
|
]).pipe(
|
|
298
|
-
map(([src, styles, styleIdx]) =>
|
|
343
|
+
map(([src, styles, styleIdx, isWmsStyleMode]) =>
|
|
344
|
+
!isWmsStyleMode && styles.length ? styles[styleIdx] : src
|
|
345
|
+
),
|
|
299
346
|
shareReplay(1)
|
|
300
347
|
)
|
|
301
348
|
|
|
302
|
-
currentLayers$ = combineLatest([
|
|
303
|
-
|
|
349
|
+
currentLayers$ = combineLatest([
|
|
350
|
+
this.selectedLink$,
|
|
351
|
+
this.excludeWfs$,
|
|
352
|
+
this.selectedWmsStyleName$,
|
|
353
|
+
]).pipe(
|
|
354
|
+
switchMap(([link, excludeWfs, wmsStyleName]) => {
|
|
304
355
|
if (!link) {
|
|
305
356
|
return of([])
|
|
306
357
|
}
|
|
@@ -315,6 +366,11 @@ export class MapViewComponent implements AfterViewInit {
|
|
|
315
366
|
return of([])
|
|
316
367
|
}
|
|
317
368
|
return this.getLayerFromLink(link).pipe(
|
|
369
|
+
map((layer) =>
|
|
370
|
+
wmsStyleName && layer.type === 'wms'
|
|
371
|
+
? { ...layer, style: wmsStyleName }
|
|
372
|
+
: layer
|
|
373
|
+
),
|
|
318
374
|
map((layer) => [layer]),
|
|
319
375
|
catchError((e) => {
|
|
320
376
|
this.handleError(e)
|
|
@@ -394,7 +450,7 @@ export class MapViewComponent implements AfterViewInit {
|
|
|
394
450
|
url: link.url.toString(),
|
|
395
451
|
type: 'wms',
|
|
396
452
|
name: link.name,
|
|
397
|
-
})
|
|
453
|
+
} as MapContextLayerWms)
|
|
398
454
|
} else if (
|
|
399
455
|
link.type === 'service' &&
|
|
400
456
|
link.accessServiceProtocol === 'tms'
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { ModuleWithProviders, NgModule
|
|
1
|
+
import { inject, ModuleWithProviders, NgModule } from '@angular/core'
|
|
2
2
|
import { RouteReuseStrategy } from '@angular/router'
|
|
3
|
-
import { EffectsModule } from '@ngrx/effects'
|
|
4
3
|
import {
|
|
5
4
|
FullRouterStateSerializer,
|
|
6
5
|
routerReducer,
|
|
@@ -11,8 +10,9 @@ import { ROUTER_STATE_KEY } from './constants'
|
|
|
11
10
|
import { RouterService } from './router.service'
|
|
12
11
|
import { SearchRouteReuseStrategy } from './SearchRouteReuseStrategy'
|
|
13
12
|
import { RouterFacade } from './state/router.facade'
|
|
14
|
-
import { RouterEffects } from './state/router.effects'
|
|
15
13
|
import { ROUTER_CONFIG, RouterConfigModel } from './router.config'
|
|
14
|
+
import { RouterEffects } from './state/router.effects'
|
|
15
|
+
import { EffectsModule } from '@ngrx/effects'
|
|
16
16
|
|
|
17
17
|
@NgModule({
|
|
18
18
|
imports: [
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { inject, Injectable } from '@angular/core'
|
|
2
2
|
import {
|
|
3
3
|
ROUTER_ROUTE_DATASET,
|
|
4
4
|
ROUTER_ROUTE_ORGANIZATION,
|
|
5
|
+
ROUTER_ROUTE_REUSE,
|
|
5
6
|
ROUTER_ROUTE_SEARCH,
|
|
6
7
|
ROUTER_ROUTE_SERVICE,
|
|
7
|
-
ROUTER_ROUTE_REUSE,
|
|
8
8
|
} from '.'
|
|
9
9
|
import { Router, Routes } from '@angular/router'
|
|
10
10
|
import { ROUTER_CONFIG, RouterConfigModel } from './router.config'
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
<div class="flex flex-row gap-2.5 items-center pt-1">
|
|
65
65
|
@if (link.accessServiceProtocol !== 'GPFDL') {
|
|
66
66
|
<span
|
|
67
|
-
class="bg-primary
|
|
67
|
+
class="bg-primary/50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors"
|
|
68
68
|
[ngClass]="{
|
|
69
69
|
'!bg-primary': currentlyActive,
|
|
70
70
|
}"
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
}
|
|
77
77
|
@if (link.accessServiceProtocol === 'GPFDL') {
|
|
78
78
|
<span
|
|
79
|
-
class="bg-primary
|
|
79
|
+
class="bg-primary/50 uppercase inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded text-primary-lightest group-hover:bg-primary transition-colors"
|
|
80
80
|
[ngClass]="{
|
|
81
81
|
'!bg-primary': currentlyActive,
|
|
82
82
|
}"
|
|
@@ -45,13 +45,12 @@ export class ApplicationBannerComponent {
|
|
|
45
45
|
this.icon = 'matWarning'
|
|
46
46
|
break
|
|
47
47
|
case 'light':
|
|
48
|
-
this.msgClass =
|
|
49
|
-
'bg-primary-opacity-10 border-primary-lightest text-black'
|
|
48
|
+
this.msgClass = 'bg-primary/10 border-primary-lightest text-black'
|
|
50
49
|
this.icon = 'matInfoOutline'
|
|
51
50
|
break
|
|
52
51
|
case 'secondary':
|
|
53
52
|
default:
|
|
54
|
-
this.msgClass = 'bg-primary
|
|
53
|
+
this.msgClass = 'bg-primary/50 border-primary-darker text-black'
|
|
55
54
|
this.icon = 'matWarningAmberOutline'
|
|
56
55
|
break
|
|
57
56
|
}
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
class="!w-5 !h-5 !text-[20px] opacity-75 shrink-0"
|
|
86
86
|
name="matPersonOutline"
|
|
87
87
|
></ng-icon>
|
|
88
|
-
<div class="flex flex-col ml-2">
|
|
88
|
+
<div class="flex flex-col ml-2" data-cy="contact-full-name">
|
|
89
89
|
<p class="text-sm">
|
|
90
90
|
{{ contacts[0]?.firstName || '' }}
|
|
91
91
|
{{ contacts[0]?.lastName || '' }}
|
|
@@ -52,9 +52,9 @@ export class MetadataContactComponent {
|
|
|
52
52
|
|
|
53
53
|
get contacts() {
|
|
54
54
|
return (
|
|
55
|
-
(this.metadata.kind === '
|
|
56
|
-
? this.metadata.
|
|
57
|
-
: this.metadata.
|
|
55
|
+
(this.metadata.kind === 'service'
|
|
56
|
+
? this.metadata.contacts
|
|
57
|
+
: this.metadata.contactsForResource) || []
|
|
58
58
|
)
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
</div>
|
|
7
7
|
<button
|
|
8
8
|
(click)="resetUrl()"
|
|
9
|
-
class="bg-primary
|
|
9
|
+
class="bg-primary/50 inline-flex items-center justify-center px-2 py-1 text-13 font-medium leading-none text-white rounded capitalize text-primary-lightest hover:bg-primary transition-colors"
|
|
10
10
|
>
|
|
11
11
|
<p class="text-[13px] uppercase" translate>
|
|
12
12
|
record.metadata.api.form.reset
|
package/src/libs/ui/elements/src/lib/service-capabilities/service-capabilities.component.html
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
@if (apiLinks.length > 0) {
|
|
2
2
|
<div style="height: 652px" id="preview">
|
|
3
|
-
<div class="bg-primary
|
|
3
|
+
<div class="bg-primary/10 overflow-visible" style="height: 420px">
|
|
4
4
|
<div class="container-lg px-4 lg:mx-auto">
|
|
5
5
|
<div>
|
|
6
6
|
<div class="gn-ui-section-title mb-6" translate>
|
|
@@ -50,7 +50,7 @@ export function dragPanCondition(
|
|
|
50
50
|
|
|
51
51
|
export function mouseWheelZoomCondition(
|
|
52
52
|
this: MouseWheelZoom,
|
|
53
|
-
event: MapBrowserEvent<
|
|
53
|
+
event: MapBrowserEvent<WheelEvent>
|
|
54
54
|
) {
|
|
55
55
|
if (!platformModifierKeyOnly(event) && event.type === 'wheel') {
|
|
56
56
|
this.getMap().dispatchEvent('mapmuted')
|
|
@@ -70,8 +70,11 @@ export function getCustomTranslations(langCode: string): CustomTranslations {
|
|
|
70
70
|
|
|
71
71
|
let appConfigLoaded = false
|
|
72
72
|
|
|
73
|
-
export function loadAppConfig() {
|
|
74
|
-
|
|
73
|
+
export function loadAppConfig(configUrl = 'assets/configuration/default.toml') {
|
|
74
|
+
console.log(
|
|
75
|
+
`[geonetwork-ui] Loading application configuration from ${configUrl}`
|
|
76
|
+
)
|
|
77
|
+
return fetch(configUrl)
|
|
75
78
|
.then((resp) => {
|
|
76
79
|
if (!resp.ok) throw new Error('Configuration file could not be loaded')
|
|
77
80
|
return resp.text()
|
|
@@ -229,6 +232,7 @@ export function loadAppConfig() {
|
|
|
229
232
|
'record_kind_quick_filter',
|
|
230
233
|
'filter_geometry_data',
|
|
231
234
|
'filter_geometry_url',
|
|
235
|
+
'do_not_use_default_search_preset',
|
|
232
236
|
'search_preset',
|
|
233
237
|
'advanced_filters',
|
|
234
238
|
'limit',
|
|
@@ -252,6 +256,8 @@ export function loadAppConfig() {
|
|
|
252
256
|
parsedSearchSection.record_kind_quick_filter,
|
|
253
257
|
FILTER_GEOMETRY_DATA: parsedSearchSection.filter_geometry_data,
|
|
254
258
|
FILTER_GEOMETRY_URL: parsedSearchSection.filter_geometry_url,
|
|
259
|
+
DO_NOT_USE_DEFAULT_SEARCH_PRESET:
|
|
260
|
+
!!parsedSearchSection.do_not_use_default_search_preset,
|
|
255
261
|
SEARCH_PRESET: parsedSearchParams.map((param) => ({
|
|
256
262
|
sort: param.sort,
|
|
257
263
|
name: param.name,
|
|
@@ -40,6 +40,7 @@ fonts_stylesheet_url = "https://fonts.googleapis.com/css2?family=Open+Sans"
|
|
|
40
40
|
[search]
|
|
41
41
|
record_kind_quick_filter = false
|
|
42
42
|
filter_geometry_url = 'https://my.domain.org/geom.json'
|
|
43
|
+
do_not_use_default_search_preset = false
|
|
43
44
|
advanced_filters = ['publicationYear', 'documentStandard', 'inspireKeyword', 'topic', 'license']
|
|
44
45
|
|
|
45
46
|
[[search_preset]]
|
|
@@ -2,7 +2,8 @@ import packageJson from '../../../../../package.json'
|
|
|
2
2
|
|
|
3
3
|
export const GEONETWORK_UI_VERSION = packageJson.version
|
|
4
4
|
|
|
5
|
-
export const GEONETWORK_UI_TAG_NAME =
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
export const GEONETWORK_UI_TAG_NAME = GEONETWORK_UI_VERSION.split(
|
|
6
|
+
'-'
|
|
7
|
+
)[1]?.startsWith('dev')
|
|
8
|
+
? 'main'
|
|
9
|
+
: `v${packageJson.version}`
|
|
@@ -10,26 +10,6 @@ export class ThemeService {
|
|
|
10
10
|
return document.documentElement.style.getPropertyValue(`--color-${name}`)
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
static generateBgOpacityClasses(
|
|
14
|
-
colorName,
|
|
15
|
-
colorValue,
|
|
16
|
-
opacities = [0, 10, 25, 50, 75]
|
|
17
|
-
) {
|
|
18
|
-
const color = chroma(colorValue)
|
|
19
|
-
const styleElement = document.createElement('style')
|
|
20
|
-
styleElement.innerHTML = opacities.reduce((cssRules, opacity) => {
|
|
21
|
-
cssRules += `.bg-${colorName}-opacity-${opacity}{background-color:${color
|
|
22
|
-
.alpha(opacity / 100)
|
|
23
|
-
.css()};}`
|
|
24
|
-
|
|
25
|
-
cssRules += `.hover-bg-${colorName}-opacity-${opacity}:hover {background-color:${color
|
|
26
|
-
.alpha(opacity / 100)
|
|
27
|
-
.css()};}`
|
|
28
|
-
return cssRules
|
|
29
|
-
}, '')
|
|
30
|
-
document.getElementsByTagName('head')[0].appendChild(styleElement)
|
|
31
|
-
}
|
|
32
|
-
|
|
33
13
|
static applyCssVariables(
|
|
34
14
|
primaryColor: string,
|
|
35
15
|
secondaryColor: string,
|
|
@@ -39,13 +19,19 @@ export class ThemeService {
|
|
|
39
19
|
titleFont?: string,
|
|
40
20
|
fontsStylesheetUrl?: string
|
|
41
21
|
) {
|
|
42
|
-
const applyColor = (name: string, color) => {
|
|
22
|
+
const applyColor = (name: string, color, includeRawValues?: boolean) => {
|
|
43
23
|
document.documentElement.style.setProperty(`--color-${name}`, color.css())
|
|
24
|
+
if (includeRawValues) {
|
|
25
|
+
document.documentElement.style.setProperty(
|
|
26
|
+
`--color-raw-${name}`,
|
|
27
|
+
color.css().replace(/^rgba?\((.*)\)/, '$1')
|
|
28
|
+
)
|
|
29
|
+
}
|
|
44
30
|
}
|
|
45
31
|
|
|
46
32
|
const black = chroma('black')
|
|
47
33
|
const white = chroma('white')
|
|
48
|
-
applyColor('primary', chroma(primaryColor))
|
|
34
|
+
applyColor('primary', chroma(primaryColor), true)
|
|
49
35
|
applyColor(
|
|
50
36
|
'primary-lighter',
|
|
51
37
|
chroma.scale([primaryColor, white]).mode('lab')(0.3)
|
|
@@ -70,7 +56,7 @@ export class ThemeService {
|
|
|
70
56
|
'primary-black',
|
|
71
57
|
chroma.scale([primaryColor, black]).mode('lab')(0.85)
|
|
72
58
|
)
|
|
73
|
-
applyColor('secondary', chroma(secondaryColor))
|
|
59
|
+
applyColor('secondary', chroma(secondaryColor), true)
|
|
74
60
|
applyColor(
|
|
75
61
|
'secondary-lighter',
|
|
76
62
|
chroma.scale([secondaryColor, white]).mode('lab')(0.3)
|
package/tailwind.base.config.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/** @type {import('tailwindcss').Config} */
|
|
1
2
|
module.exports = {
|
|
2
3
|
theme: {
|
|
3
4
|
extend: {
|
|
@@ -8,14 +9,14 @@ module.exports = {
|
|
|
8
9
|
'primary-white': 'var(--color-primary-white)',
|
|
9
10
|
'primary-lightest': 'var(--color-primary-lightest)',
|
|
10
11
|
'primary-lighter': 'var(--color-primary-lighter)',
|
|
11
|
-
primary: 'var(--color-primary)',
|
|
12
|
+
primary: 'rgb(var(--color-raw-primary) / <alpha-value>)', // supports opacity
|
|
12
13
|
'primary-darker': 'var(--color-primary-darker)',
|
|
13
14
|
'primary-darkest': 'var(--color-primary-darkest)',
|
|
14
15
|
'primary-black': 'var(--color-primary-black)',
|
|
15
16
|
'secondary-white': 'var(--color-secondary-white)',
|
|
16
17
|
'secondary-lightest': 'var(--color-secondary-lightest)',
|
|
17
18
|
'secondary-lighter': 'var(--color-secondary-lighter)',
|
|
18
|
-
secondary: 'var(--color-secondary)',
|
|
19
|
+
secondary: 'rgb(var(--color-raw-secondary) / <alpha-value>)', // supports opacity
|
|
19
20
|
'secondary-darker': 'var(--color-secondary-darker)',
|
|
20
21
|
'secondary-darkest': 'var(--color-secondary-darkest)',
|
|
21
22
|
'secondary-black': 'var(--color-secondary-black)',
|
package/translations/de.json
CHANGED
|
@@ -382,6 +382,7 @@
|
|
|
382
382
|
"map.ogc.urlInput.hint": "Die URL des OGC API-Dienstes eingeben",
|
|
383
383
|
"map.select.layer": "Datenquelle",
|
|
384
384
|
"map.select.style": "Style",
|
|
385
|
+
"map.style.default": "Standard",
|
|
385
386
|
"map.wfs.urlInput.hint": "Die WFS URL eingeben",
|
|
386
387
|
"map.wms.urlInput.hint": "Die WMS URL eingeben",
|
|
387
388
|
"multiselect.filter.placeholder": "Suche",
|
|
@@ -604,6 +605,7 @@
|
|
|
604
605
|
"search.filters.producerOrg": "Herausgeber",
|
|
605
606
|
"search.filters.publicationYear": "Veröffentlichungsjahr",
|
|
606
607
|
"search.filters.publisherOrg": "Vertreiber",
|
|
608
|
+
"search.filters.recordKind": "",
|
|
607
609
|
"search.filters.recordKind.all": "Alle",
|
|
608
610
|
"search.filters.recordKind.dataset": "Datensätze",
|
|
609
611
|
"search.filters.recordKind.reuse": "Wiederverwendungen",
|
|
@@ -642,7 +644,6 @@
|
|
|
642
644
|
"service.metadata.spatialExtent": "Räumliche Ausdehnung",
|
|
643
645
|
"share.tab.permalink": "Teilen",
|
|
644
646
|
"share.tab.webComponent": "Integrieren",
|
|
645
|
-
"stac.filter.reset": "Filter zurücksetzen",
|
|
646
647
|
"stac.filter.enable": "",
|
|
647
648
|
"stac.filter.reset": "",
|
|
648
649
|
"stac.results.noResults": "Ihre Suchfilter lieferten keine Ergebnisse",
|
|
@@ -663,7 +664,7 @@
|
|
|
663
664
|
"wfs.feature.limit": "Zu viele Features, um den WFS-Layer anzuzeigen!",
|
|
664
665
|
"wfs.featuretype.notfound": "Kein passender Feature-Typ wurde im Dienst gefunden",
|
|
665
666
|
"wfs.geojsongml.notsupported": "Dieser Dienst unterstützt das GeoJSON- oder GML-Format nicht",
|
|
666
|
-
"wfs.unreachable.cors": "Der Dienst
|
|
667
|
+
"wfs.unreachable.cors": "Der Remote-Dienst ist nicht für den Datenempfang (CORS) konfiguriert",
|
|
667
668
|
"wfs.unreachable.http": "Der Dienst hat einen HTTP-Fehler zurückgegeben",
|
|
668
669
|
"wfs.unreachable.unknown": "Der Dienst konnte nicht erreicht werden"
|
|
669
670
|
}
|
package/translations/en.json
CHANGED
|
@@ -382,6 +382,7 @@
|
|
|
382
382
|
"map.ogc.urlInput.hint": "Enter OGC API service URL",
|
|
383
383
|
"map.select.layer": "Data source",
|
|
384
384
|
"map.select.style": "Style",
|
|
385
|
+
"map.style.default": "Default",
|
|
385
386
|
"map.wfs.urlInput.hint": "Enter WFS service URL",
|
|
386
387
|
"map.wms.urlInput.hint": "Enter WMS service URL",
|
|
387
388
|
"multiselect.filter.placeholder": "Search",
|
|
@@ -663,7 +664,7 @@
|
|
|
663
664
|
"wfs.feature.limit": "Too many features to display the WFS layer!",
|
|
664
665
|
"wfs.featuretype.notfound": "No matching feature type was found in the service",
|
|
665
666
|
"wfs.geojsongml.notsupported": "This service does not support the GeoJSON or GML format",
|
|
666
|
-
"wfs.unreachable.cors": "The service
|
|
667
|
+
"wfs.unreachable.cors": "The remote service is not configured to allow data retrieval (CORS)",
|
|
667
668
|
"wfs.unreachable.http": "The service returned an HTTP error",
|
|
668
669
|
"wfs.unreachable.unknown": "The service could not be reached"
|
|
669
670
|
}
|
package/translations/es.json
CHANGED
package/translations/fr.json
CHANGED
|
@@ -382,6 +382,7 @@
|
|
|
382
382
|
"map.ogc.urlInput.hint": "Entrez l'URL du service OGC API",
|
|
383
383
|
"map.select.layer": "Source de données",
|
|
384
384
|
"map.select.style": "Style",
|
|
385
|
+
"map.style.default": "Par défaut",
|
|
385
386
|
"map.wfs.urlInput.hint": "Entrez l'URL du service WFS",
|
|
386
387
|
"map.wms.urlInput.hint": "Entrez l'URL du service WMS",
|
|
387
388
|
"multiselect.filter.placeholder": "Rechercher",
|
|
@@ -663,7 +664,7 @@
|
|
|
663
664
|
"wfs.feature.limit": "Trop d'objets pour afficher la couche WFS !",
|
|
664
665
|
"wfs.featuretype.notfound": "La classe d'objets n'a pas été trouvée dans le service",
|
|
665
666
|
"wfs.geojsongml.notsupported": "Le service ne supporte pas le format GeoJSON ou GML",
|
|
666
|
-
"wfs.unreachable.cors": "Le service n'est pas
|
|
667
|
+
"wfs.unreachable.cors": "Le service distant n'est pas configuré pour autoriser la consommation des données (CORS)",
|
|
667
668
|
"wfs.unreachable.http": "Le service a retourné une erreur HTTP",
|
|
668
669
|
"wfs.unreachable.unknown": "Le service n'est pas accessible"
|
|
669
670
|
}
|
package/translations/it.json
CHANGED
|
@@ -382,6 +382,7 @@
|
|
|
382
382
|
"map.ogc.urlInput.hint": "Inserisci URL del servizio OGC API",
|
|
383
383
|
"map.select.layer": "Sorgente dati",
|
|
384
384
|
"map.select.style": "Style",
|
|
385
|
+
"map.style.default": "Predefinito",
|
|
385
386
|
"map.wfs.urlInput.hint": "Inserisci URL del servizio WFS",
|
|
386
387
|
"map.wms.urlInput.hint": "Inserisci URL del servizio WMS",
|
|
387
388
|
"multiselect.filter.placeholder": "Cerca",
|
|
@@ -663,7 +664,7 @@
|
|
|
663
664
|
"wfs.feature.limit": "Troppi oggetti per visualizzare il WFS layer!",
|
|
664
665
|
"wfs.featuretype.notfound": "La classe di oggetto non è stata trovata nel servizio",
|
|
665
666
|
"wfs.geojsongml.notsupported": "Il servizio non supporta il formato GeoJSON o GML",
|
|
666
|
-
"wfs.unreachable.cors": "Il servizio non è
|
|
667
|
+
"wfs.unreachable.cors": "Il servizio remoto non è configurato per consentire il consumo di dati (CORS)",
|
|
667
668
|
"wfs.unreachable.http": "Il servizio ha restituito un errore HTTP",
|
|
668
669
|
"wfs.unreachable.unknown": "Il servizio non è accessibile"
|
|
669
670
|
}
|
package/translations/nl.json
CHANGED
package/translations/pt.json
CHANGED
package/translations/sk.json
CHANGED
|
@@ -382,6 +382,7 @@
|
|
|
382
382
|
"map.ogc.urlInput.hint": "",
|
|
383
383
|
"map.select.layer": "Zdroj dát",
|
|
384
384
|
"map.select.style": "",
|
|
385
|
+
"map.style.default": "Predvolené",
|
|
385
386
|
"map.wfs.urlInput.hint": "Zadajte URL adresu služby WFS",
|
|
386
387
|
"map.wms.urlInput.hint": "Zadajte URL adresu služby WMS",
|
|
387
388
|
"multiselect.filter.placeholder": "Hľadať",
|
|
@@ -663,7 +664,7 @@
|
|
|
663
664
|
"wfs.feature.limit": "",
|
|
664
665
|
"wfs.featuretype.notfound": "V službe nebol nájdený žiadny zodpovedajúci typ funkcie",
|
|
665
666
|
"wfs.geojsongml.notsupported": "Táto služba nepodporuje formát GeoJSON alebo GML",
|
|
666
|
-
"wfs.unreachable.cors": "
|
|
667
|
+
"wfs.unreachable.cors": "Vzdialená služba nie je nakonfigurovaná tak, aby povoľovala spotrebu dát (CORS)",
|
|
667
668
|
"wfs.unreachable.http": "Služba vrátila chybu HTTP",
|
|
668
669
|
"wfs.unreachable.unknown": "So službou sa nedalo spojiť"
|
|
669
670
|
}
|