geonetwork-ui 2.4.0 → 2.4.1-dev.2804667fa
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/esm2022/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.mjs +6 -62
- package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +19 -1
- package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +24 -17
- package/esm2022/libs/common/domain/src/lib/model/record/metadata.model.mjs +27 -1
- package/esm2022/libs/common/domain/src/lib/repository/records-repository.interface.mjs +1 -1
- package/esm2022/libs/data-access/gn4/src/openapi/api/records.api.service.mjs +7 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.actions.mjs +2 -1
- package/esm2022/libs/feature/editor/src/lib/+state/editor.effects.mjs +15 -14
- package/esm2022/libs/feature/editor/src/lib/+state/editor.facade.mjs +10 -4
- package/esm2022/libs/feature/editor/src/lib/+state/editor.reducer.mjs +6 -4
- package/esm2022/libs/feature/editor/src/lib/+state/editor.selectors.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/import-record/import-record.component.mjs +2 -2
- package/esm2022/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.mjs +45 -9
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.mjs +7 -12
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.mjs +16 -12
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.mjs +7 -13
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.mjs +36 -60
- package/esm2022/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/components/record-form/record-form.component.mjs +3 -3
- package/esm2022/libs/feature/editor/src/lib/fields.config.mjs +11 -15
- package/esm2022/libs/feature/editor/src/lib/services/editor.service.mjs +9 -5
- package/esm2022/libs/feature/search/src/lib/results-table/results-table-container.component.mjs +3 -4
- package/esm2022/libs/ui/dataviz/src/lib/figure/figure.component.mjs +3 -3
- package/esm2022/libs/ui/elements/src/index.mjs +3 -2
- package/esm2022/libs/ui/elements/src/lib/image-input/image-input.component.mjs +213 -0
- package/esm2022/libs/ui/elements/src/lib/ui-elements.module.mjs +19 -13
- package/esm2022/libs/ui/inputs/src/index.mjs +5 -6
- package/esm2022/libs/ui/inputs/src/lib/button/button.component.mjs +2 -1
- package/esm2022/libs/ui/inputs/src/lib/file-input/file-input.component.mjs +5 -5
- package/esm2022/libs/ui/inputs/src/lib/ui-inputs.module.mjs +19 -25
- package/esm2022/libs/ui/inputs/src/lib/url-input/url-input.component.mjs +6 -6
- package/esm2022/libs/ui/search/src/lib/results-table/results-table.component.mjs +3 -6
- package/esm2022/translations/de.json +47 -17
- package/esm2022/translations/en.json +27 -16
- package/esm2022/translations/es.json +45 -15
- package/esm2022/translations/fr.json +31 -20
- package/esm2022/translations/it.json +261 -231
- package/esm2022/translations/nl.json +45 -15
- package/esm2022/translations/pt.json +45 -15
- package/fesm2022/geonetwork-ui.mjs +1352 -1160
- package/fesm2022/geonetwork-ui.mjs.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.d.ts.map +1 -1
- package/libs/api/metadata-converter/src/lib/iso19139/write-parts.d.ts.map +1 -1
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts +3 -3
- package/libs/api/repository/src/lib/gn4/gn4-repository.d.ts.map +1 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts +2 -1
- package/libs/common/domain/src/lib/model/record/metadata.model.d.ts.map +1 -1
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts +3 -3
- package/libs/common/domain/src/lib/repository/records-repository.interface.d.ts.map +1 -1
- package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts +3 -0
- package/libs/data-access/gn4/src/openapi/api/records.api.service.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts +5 -2
- package/libs/feature/editor/src/lib/+state/editor.actions.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts +3 -2
- package/libs/feature/editor/src/lib/+state/editor.effects.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts +3 -2
- package/libs/feature/editor/src/lib/+state/editor.facade.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts +1 -1
- package/libs/feature/editor/src/lib/+state/editor.reducer.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts +1 -1
- package/libs/feature/editor/src/lib/+state/editor.selectors.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts +11 -2
- package/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts +1 -4
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts +5 -4
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts +1 -4
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts +1 -1
- package/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/fields.config.d.ts.map +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts +1 -1
- package/libs/feature/editor/src/lib/services/editor.service.d.ts.map +1 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts +0 -1
- package/libs/feature/search/src/lib/results-table/results-table-container.component.d.ts.map +1 -1
- package/libs/ui/elements/src/index.d.ts +2 -1
- package/libs/ui/elements/src/index.d.ts.map +1 -1
- package/libs/ui/elements/src/lib/image-input/image-input.component.d.ts.map +1 -0
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts +2 -1
- package/libs/ui/elements/src/lib/ui-elements.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/index.d.ts +4 -5
- package/libs/ui/inputs/src/index.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/button/button.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts +1 -1
- package/libs/ui/inputs/src/lib/file-input/file-input.component.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts +6 -7
- package/libs/ui/inputs/src/lib/ui-inputs.module.d.ts.map +1 -1
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts +2 -2
- package/libs/ui/inputs/src/lib/url-input/url-input.component.d.ts.map +1 -1
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts +1 -2
- package/libs/ui/search/src/lib/results-table/results-table.component.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/libs/api/metadata-converter/src/lib/iso19139/utils/update-frequency.mapper.ts +9 -62
- package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +18 -0
- package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +47 -28
- package/src/libs/common/domain/src/lib/model/record/metadata.model.ts +29 -7
- package/src/libs/common/domain/src/lib/repository/records-repository.interface.ts +4 -3
- package/src/libs/common/fixtures/src/lib/records.fixtures.ts +162 -0
- package/src/libs/data-access/gn4/src/openapi/api/records.api.service.ts +24 -4
- package/src/libs/feature/editor/src/lib/+state/editor.actions.ts +5 -1
- package/src/libs/feature/editor/src/lib/+state/editor.effects.ts +42 -31
- package/src/libs/feature/editor/src/lib/+state/editor.facade.ts +10 -9
- package/src/libs/feature/editor/src/lib/+state/editor.reducer.ts +12 -12
- package/src/libs/feature/editor/src/lib/+state/editor.selectors.ts +5 -5
- package/src/libs/feature/editor/src/lib/components/constraint-card/constraint-card.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/generic-keywords/generic-keywords.component.html +1 -1
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.html +31 -6
- package/src/libs/feature/editor/src/lib/components/online-service-resource-input/online-service-resource-input.component.ts +47 -2
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.html +1 -10
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-link-resources/form-field-online-link-resources.component.ts +1 -7
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.html +3 -18
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-online-resources/form-field-online-resources.component.ts +12 -8
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.html +0 -9
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-overviews/form-field-overviews.component.ts +3 -9
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-spatial-extent/form-field-spatial-extent.component.html +6 -6
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field-update-frequency/form-field-update-frequency.component.ts +46 -74
- package/src/libs/feature/editor/src/lib/components/record-form/form-field/form-field.component.html +4 -1
- package/src/libs/feature/editor/src/lib/components/record-form/record-form.component.html +3 -6
- package/src/libs/feature/editor/src/lib/fields.config.ts +10 -14
- package/src/libs/feature/editor/src/lib/services/editor.service.ts +18 -16
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.html +0 -1
- package/src/libs/feature/search/src/lib/results-table/results-table-container.component.ts +0 -3
- package/src/libs/ui/dataviz/src/lib/figure/figure.component.html +1 -0
- package/src/libs/ui/elements/src/index.ts +2 -1
- package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.html +4 -19
- package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.ts +13 -9
- package/src/libs/ui/elements/src/lib/ui-elements.module.ts +13 -10
- package/src/libs/ui/inputs/src/index.ts +4 -5
- package/src/libs/ui/inputs/src/lib/button/button.component.ts +2 -1
- package/src/libs/ui/inputs/src/lib/file-input/file-input.component.ts +1 -1
- package/src/libs/ui/inputs/src/lib/ui-inputs.module.ts +22 -25
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.html +5 -3
- package/src/libs/ui/inputs/src/lib/url-input/url-input.component.ts +1 -1
- package/src/libs/ui/search/src/lib/results-table/results-table.component.html +8 -4
- package/src/libs/ui/search/src/lib/results-table/results-table.component.ts +0 -1
- package/translations/de.json +47 -17
- package/translations/en.json +27 -16
- package/translations/es.json +45 -15
- package/translations/fr.json +31 -20
- package/translations/it.json +261 -231
- package/translations/nl.json +45 -15
- package/translations/pt.json +45 -15
- package/translations/sk.json +45 -15
- package/esm2022/libs/ui/inputs/src/lib/image-input/image-input.component.mjs +0 -214
- package/libs/ui/inputs/src/lib/image-input/image-input.component.d.ts.map +0 -1
- package/src/libs/api/metadata-converter/src/lib/dcat-ap/utils/update-frequency.mapper.ts +0 -67
- /package/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.d.ts +0 -0
- /package/src/libs/ui/{inputs → elements}/src/lib/image-input/image-input.component.css +0 -0
|
@@ -3,6 +3,7 @@ export { XmlDocument, XmlElement } from '@rgrove/parse-xml';
|
|
|
3
3
|
import GML32 from 'ol/format/GML32';
|
|
4
4
|
import GeoJSON from 'ol/format/GeoJSON';
|
|
5
5
|
import { parse as parse$1 } from 'ol/xml';
|
|
6
|
+
import { marker } from '@biesbjerg/ngx-translate-extract-marker';
|
|
6
7
|
import { format } from 'date-fns/format';
|
|
7
8
|
import { Namespace, Literal, lit, parse as parse$2, sym, BlankNode, graph } from 'rdflib';
|
|
8
9
|
import * as i0 from '@angular/core';
|
|
@@ -14,10 +15,9 @@ import { TranslateCompiler, TranslateLoader, TranslateModule, TranslateService }
|
|
|
14
15
|
import { TranslateMessageFormatCompiler } from 'ngx-translate-messageformat-compiler';
|
|
15
16
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
16
17
|
import { map as map$1, catchError, tap as tap$1, shareReplay, filter, startWith, withLatestFrom, switchMap as switchMap$1, take, mergeMap, throttleTime, distinctUntilChanged, debounceTime, finalize, first as first$1, share, pairwise, delay, defaultIfEmpty, toArray } from 'rxjs/operators';
|
|
17
|
-
import { marker } from '@biesbjerg/ngx-translate-extract-marker';
|
|
18
18
|
import * as i1$2 from '@angular/common';
|
|
19
19
|
import { CommonModule, NgOptimizedImage, DatePipe, NgIf, NgForOf } from '@angular/common';
|
|
20
|
-
import { of, map as map$2, lastValueFrom, Subject, switchMap, combineLatest, exhaustMap, throwError,
|
|
20
|
+
import { of, map as map$2, lastValueFrom, Subject, switchMap, combineLatest, from, exhaustMap, throwError, forkJoin, takeLast, firstValueFrom, merge, BehaviorSubject, fromEvent, animationFrameScheduler, ReplaySubject, Subscription, first, distinctUntilChanged as distinctUntilChanged$1, filter as filter$1, tap as tap$2, Observable, buffer, debounceTime as debounceTime$1, combineLatestWith, catchError as catchError$1, timer, takeUntil, EMPTY, mergeMap as mergeMap$1, startWith as startWith$1, withLatestFrom as withLatestFrom$1, shareReplay as shareReplay$1, pairwise as pairwise$1 } from 'rxjs';
|
|
21
21
|
import { lt, valid, coerce, satisfies, ltr } from 'semver';
|
|
22
22
|
import chroma from 'chroma-js';
|
|
23
23
|
import * as i1$3 from '@ngrx/store';
|
|
@@ -25,7 +25,7 @@ import { createAction, props, createReducer, on, createFeatureSelector, createSe
|
|
|
25
25
|
import EmblaCarousel from 'embla-carousel';
|
|
26
26
|
import * as i2$2 from '@ng-icons/core';
|
|
27
27
|
import { provideIcons, NgIcon, NgIconComponent, provideNgIconsConfig, NgIconsModule } from '@ng-icons/core';
|
|
28
|
-
import { iconoirNavArrowRight, iconoirNavArrowLeft, iconoirNavArrowDown, iconoirNavArrowUp, iconoirSearch, iconoirCalendar, iconoirLink, iconoirArrowUp,
|
|
28
|
+
import { iconoirNavArrowRight, iconoirNavArrowLeft, iconoirNavArrowDown, iconoirNavArrowUp, iconoirSearch, iconoirCalendar, iconoirLink, iconoirArrowUp, iconoirCloudUpload, iconoirFramePlusIn, iconoirMediaImage, iconoirMediaImageXmark, iconoirBin, iconoirPlus, iconoirUser, iconoirImport, iconoirLightBulbOn, iconoirArrowLeft, iconoirAttachment } from '@ng-icons/iconoir';
|
|
29
29
|
import { matExpandMore, matExpandLess, matAdd, matRemove, matClose, matContentCopy, matSearch, matStar, matStarBorder, matChevronLeft, matChevronRight, matArrowForward, matArrowBack, matCheck, matWarningAmber, matMoreHoriz, matFace, matQuestionMark, matMoodBad, matZoomOutMap, matOpenInNew, matMailOutline, matPersonOutline, matCheckCircleOutline, matMoreVert, matCorporateFare } from '@ng-icons/material-icons/baseline';
|
|
30
30
|
import * as i1$4 from '@angular/material/tooltip';
|
|
31
31
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
@@ -50,10 +50,10 @@ import * as i1$8 from '@angular/material/datepicker';
|
|
|
50
50
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
51
51
|
import * as i1$9 from '@angular/cdk/overlay';
|
|
52
52
|
import { CdkConnectedOverlay, OverlayModule, CdkOverlayOrigin } from '@angular/cdk/overlay';
|
|
53
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
54
|
-
import { MatInputModule } from '@angular/material/input';
|
|
55
53
|
import * as i1$a from '@angular/material/button-toggle';
|
|
56
54
|
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
55
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
56
|
+
import { MatInputModule } from '@angular/material/input';
|
|
57
57
|
import * as i1$b from '@angular/material/dialog';
|
|
58
58
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
59
59
|
import * as i2$3 from '@angular/material/tabs';
|
|
@@ -101,12 +101,12 @@ import axios from 'axios';
|
|
|
101
101
|
import * as i1$e from '@angular/platform-browser';
|
|
102
102
|
import { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';
|
|
103
103
|
import { Polygon } from 'ol/geom';
|
|
104
|
-
import * as
|
|
104
|
+
import * as i4$1 from '@angular/material/radio';
|
|
105
105
|
import { MatRadioModule } from '@angular/material/radio';
|
|
106
106
|
import { MatIconModule } from '@angular/material/icon';
|
|
107
|
-
import * as i4$
|
|
107
|
+
import * as i4$2 from '@angular/cdk/text-field';
|
|
108
108
|
import { TextFieldModule } from '@angular/cdk/text-field';
|
|
109
|
-
import * as i3$
|
|
109
|
+
import * as i3$2 from '@ngrx/router-store';
|
|
110
110
|
import { getRouterSelectors, routerReducer, StoreRouterConnectingModule, FullRouterStateSerializer } from '@ngrx/router-store';
|
|
111
111
|
import { navigation } from '@ngrx/router-store/data-persistence';
|
|
112
112
|
|
|
@@ -785,68 +785,110 @@ function getStatusFromStatusCode(statusCode) {
|
|
|
785
785
|
}
|
|
786
786
|
}
|
|
787
787
|
|
|
788
|
+
const RoleValues = [
|
|
789
|
+
'unspecified',
|
|
790
|
+
'other',
|
|
791
|
+
'author', // Party who authored the resource
|
|
792
|
+
'collaborator', // party who assists with the generation of the resource other than the principal investigator
|
|
793
|
+
'contributor', // party contributing to the resource
|
|
794
|
+
'custodian', // Party that accepts accountability and responsibility for the data and ensures appropriate care and maintenance of the resource
|
|
795
|
+
'distributor', // Party who distributes the resource
|
|
796
|
+
'editor', // party who reviewed or modified the resource to improve the content
|
|
797
|
+
'funder', // party providing monetary support for the resource
|
|
798
|
+
'mediator', // a class of entity that mediates access to the resource and for whom the resource is intended or useful
|
|
799
|
+
'originator', // Party who created the resource
|
|
800
|
+
'owner', // Party that owns the resource
|
|
801
|
+
'point_of_contact', // Party who can be contacted for acquiring knowledge about or acquisition of the resource
|
|
802
|
+
'principal_investigator', // Key party responsible for gathering information and conducting research
|
|
803
|
+
'processor', // Party who has processed the data in a manner such that the resource has been modified
|
|
804
|
+
'publisher', // Party who published the resource
|
|
805
|
+
'resource_provider', // Party that supplies the resource
|
|
806
|
+
'rights_holder', // party owning or managing rights over the resource
|
|
807
|
+
'sponsor', // party that sponsors the resource
|
|
808
|
+
'stakeholder', // party who has an interest in the resource or the use of the resource
|
|
809
|
+
'user', // Party who uses the resource
|
|
810
|
+
];
|
|
811
|
+
const RoleLabels = new Map([
|
|
812
|
+
['unspecified', marker('domain.contact.role.unspecified')],
|
|
813
|
+
['other', marker('domain.contact.role.other')],
|
|
814
|
+
['author', marker('domain.contact.role.author')],
|
|
815
|
+
['collaborator', marker('domain.contact.role.collaborator')],
|
|
816
|
+
['contributor', marker('domain.contact.role.contributor')],
|
|
817
|
+
['custodian', marker('domain.contact.role.custodian')],
|
|
818
|
+
['distributor', marker('domain.contact.role.distributor')],
|
|
819
|
+
['editor', marker('domain.contact.role.editor')],
|
|
820
|
+
['funder', marker('domain.contact.role.funder')],
|
|
821
|
+
['mediator', marker('domain.contact.role.mediator')],
|
|
822
|
+
['originator', marker('domain.contact.role.originator')],
|
|
823
|
+
['owner', marker('domain.contact.role.owner')],
|
|
824
|
+
['point_of_contact', marker('domain.contact.role.point_of_contact')],
|
|
825
|
+
[
|
|
826
|
+
'principal_investigator',
|
|
827
|
+
marker('domain.contact.role.principal_investigator'),
|
|
828
|
+
],
|
|
829
|
+
['processor', marker('domain.contact.role.processor')],
|
|
830
|
+
['publisher', marker('domain.contact.role.publisher')],
|
|
831
|
+
['resource_provider', marker('domain.contact.role.resource_provider')],
|
|
832
|
+
['rights_holder', marker('domain.contact.role.rights_holder')],
|
|
833
|
+
['sponsor', marker('domain.contact.role.sponsor')],
|
|
834
|
+
['stakeholder', marker('domain.contact.role.stakeholder')],
|
|
835
|
+
['user', marker('domain.contact.role.user')],
|
|
836
|
+
]);
|
|
837
|
+
|
|
838
|
+
marker('domain.record.updateFrequency.unknown');
|
|
839
|
+
marker('domain.record.updateFrequency.notPlanned');
|
|
840
|
+
marker('domain.record.updateFrequency.asNeeded');
|
|
841
|
+
marker('domain.record.updateFrequency.irregular');
|
|
842
|
+
marker('domain.record.updateFrequency.continual');
|
|
843
|
+
marker('domain.record.updateFrequency.periodic');
|
|
844
|
+
const updateFrequencyCodeValues = [
|
|
845
|
+
'unknown',
|
|
846
|
+
'notPlanned',
|
|
847
|
+
'asNeeded',
|
|
848
|
+
'irregular',
|
|
849
|
+
'continual',
|
|
850
|
+
'periodic',
|
|
851
|
+
'daily',
|
|
852
|
+
'weekly',
|
|
853
|
+
'fortnightly',
|
|
854
|
+
'semimonthly',
|
|
855
|
+
'monthly',
|
|
856
|
+
'quarterly',
|
|
857
|
+
'biannually',
|
|
858
|
+
'annually',
|
|
859
|
+
'biennially',
|
|
860
|
+
];
|
|
861
|
+
marker('domain.record.updateFrequency.day');
|
|
862
|
+
marker('domain.record.updateFrequency.week');
|
|
863
|
+
marker('domain.record.updateFrequency.month');
|
|
864
|
+
marker('domain.record.updateFrequency.year');
|
|
865
|
+
marker('domain.record.updateFrequency.daily');
|
|
866
|
+
marker('domain.record.updateFrequency.weekly');
|
|
867
|
+
marker('domain.record.updateFrequency.fortnightly');
|
|
868
|
+
marker('domain.record.updateFrequency.monthly');
|
|
869
|
+
marker('domain.record.updateFrequency.quarterly');
|
|
870
|
+
marker('domain.record.updateFrequency.biannually');
|
|
871
|
+
marker('domain.record.updateFrequency.annually');
|
|
872
|
+
marker('domain.record.updateFrequency.semimonthly');
|
|
873
|
+
marker('domain.record.updateFrequency.biennially');
|
|
874
|
+
marker('domain.record.status.completed');
|
|
875
|
+
marker('domain.record.status.ongoing');
|
|
876
|
+
marker('domain.record.status.under_development');
|
|
877
|
+
marker('domain.record.status.deprecated');
|
|
878
|
+
marker('domain.record.status.removed');
|
|
879
|
+
const RecordStatusValues = [
|
|
880
|
+
'completed',
|
|
881
|
+
'ongoing',
|
|
882
|
+
'under_development',
|
|
883
|
+
'deprecated',
|
|
884
|
+
'removed',
|
|
885
|
+
];
|
|
886
|
+
|
|
788
887
|
function getUpdateFrequencyFromFrequencyCode(frequencyCode) {
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
return 'unknown';
|
|
794
|
-
case 'irregular':
|
|
795
|
-
return 'irregular';
|
|
796
|
-
case 'notPlanned':
|
|
797
|
-
return 'notPlanned';
|
|
798
|
-
case 'continual':
|
|
799
|
-
return 'continual';
|
|
800
|
-
case 'periodic':
|
|
801
|
-
return 'periodic';
|
|
802
|
-
case 'daily':
|
|
803
|
-
return {
|
|
804
|
-
updatedTimes: 1,
|
|
805
|
-
per: 'day',
|
|
806
|
-
};
|
|
807
|
-
case 'weekly':
|
|
808
|
-
return {
|
|
809
|
-
updatedTimes: 1,
|
|
810
|
-
per: 'week',
|
|
811
|
-
};
|
|
812
|
-
case 'fortnightly':
|
|
813
|
-
return {
|
|
814
|
-
updatedTimes: 0.5,
|
|
815
|
-
per: 'week',
|
|
816
|
-
};
|
|
817
|
-
case 'semimonthly':
|
|
818
|
-
return {
|
|
819
|
-
updatedTimes: 2,
|
|
820
|
-
per: 'month',
|
|
821
|
-
};
|
|
822
|
-
case 'monthly':
|
|
823
|
-
return {
|
|
824
|
-
updatedTimes: 1,
|
|
825
|
-
per: 'month',
|
|
826
|
-
};
|
|
827
|
-
case 'quarterly':
|
|
828
|
-
return {
|
|
829
|
-
updatedTimes: 4,
|
|
830
|
-
per: 'year',
|
|
831
|
-
};
|
|
832
|
-
case 'biannually':
|
|
833
|
-
return {
|
|
834
|
-
updatedTimes: 2,
|
|
835
|
-
per: 'year',
|
|
836
|
-
};
|
|
837
|
-
case 'annually':
|
|
838
|
-
return {
|
|
839
|
-
updatedTimes: 1,
|
|
840
|
-
per: 'year',
|
|
841
|
-
};
|
|
842
|
-
case 'biennially':
|
|
843
|
-
return {
|
|
844
|
-
updatedTimes: 0.5,
|
|
845
|
-
per: 'year',
|
|
846
|
-
};
|
|
847
|
-
default:
|
|
848
|
-
return null;
|
|
849
|
-
}
|
|
888
|
+
return frequencyCode &&
|
|
889
|
+
updateFrequencyCodeValues.includes(frequencyCode)
|
|
890
|
+
? frequencyCode
|
|
891
|
+
: null;
|
|
850
892
|
}
|
|
851
893
|
|
|
852
894
|
const LANG_3_TO_2_MAPPER = {
|
|
@@ -1524,6 +1566,24 @@ function getMaintenanceFrequencyCode(updateFrequency) {
|
|
|
1524
1566
|
return 'continual';
|
|
1525
1567
|
case 'periodic':
|
|
1526
1568
|
return 'periodic';
|
|
1569
|
+
case 'daily':
|
|
1570
|
+
return 'daily';
|
|
1571
|
+
case 'weekly':
|
|
1572
|
+
return 'weekly';
|
|
1573
|
+
case 'fortnightly':
|
|
1574
|
+
return 'fortnightly';
|
|
1575
|
+
case 'monthly':
|
|
1576
|
+
return 'monthly';
|
|
1577
|
+
case 'quarterly':
|
|
1578
|
+
return 'quarterly';
|
|
1579
|
+
case 'biannually':
|
|
1580
|
+
return 'biannually';
|
|
1581
|
+
case 'annually':
|
|
1582
|
+
return 'annually';
|
|
1583
|
+
case 'semimonthly':
|
|
1584
|
+
return 'semimonthly';
|
|
1585
|
+
case 'biennially':
|
|
1586
|
+
return 'biennially';
|
|
1527
1587
|
}
|
|
1528
1588
|
}
|
|
1529
1589
|
function getISODuration(updateFrequency) {
|
|
@@ -7867,6 +7927,12 @@ class RecordsApiService {
|
|
|
7867
7927
|
queryParameters = this.addToHttpParams(queryParameters, hasAttachmentsOfSource, 'hasAttachmentsOfSource');
|
|
7868
7928
|
}
|
|
7869
7929
|
let headers = this.defaultHeaders;
|
|
7930
|
+
// to determine the Content-Type header
|
|
7931
|
+
const consumes = ['application/json;charset=UTF-8'];
|
|
7932
|
+
const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
|
|
7933
|
+
if (httpContentTypeSelected !== undefined) {
|
|
7934
|
+
headers = headers.set('Content-Type', httpContentTypeSelected);
|
|
7935
|
+
}
|
|
7870
7936
|
let httpHeaderAcceptSelected = options && options.httpHeaderAccept;
|
|
7871
7937
|
if (httpHeaderAcceptSelected === undefined) {
|
|
7872
7938
|
// to determine the Accept header
|
|
@@ -18672,6 +18738,7 @@ var de = {
|
|
|
18672
18738
|
"datahub.search.back": "Zurück",
|
|
18673
18739
|
"datahub.search.filter.all": "Alle",
|
|
18674
18740
|
"datahub.search.filter.generatedByAPI": "Generiert durch eine API",
|
|
18741
|
+
"datahub.search.filter.generatedByWfs": "",
|
|
18675
18742
|
"datahub.search.filter.others": "Andere",
|
|
18676
18743
|
"dataset.error.http": "Die Daten konnten aufgrund eines HTTP-Fehlers nicht geladen werden: \"{ info }\"",
|
|
18677
18744
|
"dataset.error.network": "Die Daten konnten aufgrund eines Netzwerkfehlers oder CORS-Beschränkungen nicht geladen werden: \"{ info }\"",
|
|
@@ -18704,16 +18771,25 @@ var de = {
|
|
|
18704
18771
|
"domain.record.status.ongoing": "Kontinuierliche Aktualisierung",
|
|
18705
18772
|
"domain.record.status.removed": "Entfernt",
|
|
18706
18773
|
"domain.record.status.under_development": "In Erstellung",
|
|
18707
|
-
"domain.record.updateFrequency.
|
|
18708
|
-
"domain.record.updateFrequency.
|
|
18709
|
-
"domain.record.updateFrequency.
|
|
18710
|
-
"domain.record.updateFrequency.
|
|
18711
|
-
"domain.record.updateFrequency.
|
|
18712
|
-
"domain.record.updateFrequency.
|
|
18713
|
-
"domain.record.updateFrequency.
|
|
18714
|
-
"domain.record.updateFrequency.
|
|
18715
|
-
"domain.record.updateFrequency.
|
|
18716
|
-
"domain.record.updateFrequency.
|
|
18774
|
+
"domain.record.updateFrequency.annually": "Daten werden jedes Jahr aktualisiert",
|
|
18775
|
+
"domain.record.updateFrequency.asNeeded": "Daten werden nach Bedarf aktualisiert",
|
|
18776
|
+
"domain.record.updateFrequency.biannually": "Daten werden zweimal im Jahr aktualisiert",
|
|
18777
|
+
"domain.record.updateFrequency.biennially": "Daten werden alle 2 Jahre aktualisiert",
|
|
18778
|
+
"domain.record.updateFrequency.continual": "Daten werden wiederholt und häufig aktualisiert",
|
|
18779
|
+
"domain.record.updateFrequency.daily": "Daten werden täglich aktualisiert",
|
|
18780
|
+
"domain.record.updateFrequency.day": "{count, plural, =0{0 Mal} one{Einmal} other{{count} Mal}} pro Tag",
|
|
18781
|
+
"domain.record.updateFrequency.fortnightly": "Daten werden alle zwei Wochen aktualisiert",
|
|
18782
|
+
"domain.record.updateFrequency.irregular": "Daten werden in unregelmäßigen Abständen aktualisiert",
|
|
18783
|
+
"domain.record.updateFrequency.month": "{count, plural, =0{0 Mal} one{Einmal} other{{count} Mal}} pro Monat",
|
|
18784
|
+
"domain.record.updateFrequency.monthly": "Daten werden monatlich aktualisiert",
|
|
18785
|
+
"domain.record.updateFrequency.notPlanned": "Es gibt keine Pläne, die Daten zu aktualisieren",
|
|
18786
|
+
"domain.record.updateFrequency.periodic": "Daten werden in regelmäßigen Abständen aktualisiert",
|
|
18787
|
+
"domain.record.updateFrequency.quarterly": "Daten werden alle drei Monate aktualisiert",
|
|
18788
|
+
"domain.record.updateFrequency.semimonthly": "Daten werden zweimal im Monat aktualisiert",
|
|
18789
|
+
"domain.record.updateFrequency.unknown": "Die Häufigkeit der Datenaktualisierung ist unbekannt",
|
|
18790
|
+
"domain.record.updateFrequency.week": "{count, plural, =0{0 Mal} one{Einmal} other{{count} Mal}} pro Woche",
|
|
18791
|
+
"domain.record.updateFrequency.weekly": "Daten werden wöchentlich aktualisiert",
|
|
18792
|
+
"domain.record.updateFrequency.year": "{count, plural, =0{0 Mal} one{Einmal} other{{count} Mal}} pro Jahr",
|
|
18717
18793
|
"downloads.format.unknown": "unbekannt",
|
|
18718
18794
|
"downloads.wfs.featuretype.not.found": "Der Layer wurde nicht gefunden",
|
|
18719
18795
|
dropFile: dropFile$6,
|
|
@@ -18749,7 +18825,6 @@ var de = {
|
|
|
18749
18825
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
18750
18826
|
"editor.record.form.field.contacts.noContact": "",
|
|
18751
18827
|
"editor.record.form.field.contactsForResource.noContact": "",
|
|
18752
|
-
"editor.record.form.field.draft.only.disabled": "Dieses Feld wird aktiviert, sobald die Daten veröffentlicht wurden.",
|
|
18753
18828
|
"editor.record.form.field.keywords": "Schlagwörter",
|
|
18754
18829
|
"editor.record.form.field.legalConstraints": "Rechtliche Einschränkung",
|
|
18755
18830
|
"editor.record.form.field.license": "Lizenz",
|
|
@@ -18759,6 +18834,9 @@ var de = {
|
|
|
18759
18834
|
"editor.record.form.field.onlineResource.dialogTitle": "",
|
|
18760
18835
|
"editor.record.form.field.onlineResource.edit.description": "",
|
|
18761
18836
|
"editor.record.form.field.onlineResource.edit.protocol": "",
|
|
18837
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Ebenenname",
|
|
18838
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Prozessname",
|
|
18839
|
+
"editor.record.form.field.onlineResource.edit.identifier.submit": "Link zum Dienst",
|
|
18762
18840
|
"editor.record.form.field.onlineResource.edit.title": "",
|
|
18763
18841
|
"editor.record.form.field.onlineResource.fileSize": "",
|
|
18764
18842
|
"editor.record.form.field.onlineResource.modify": "",
|
|
@@ -18775,6 +18853,7 @@ var de = {
|
|
|
18775
18853
|
"editor.record.form.field.spatialExtents": "",
|
|
18776
18854
|
"editor.record.form.field.temporalExtents": "Zeitlicher Umfang",
|
|
18777
18855
|
"editor.record.form.field.title": "Metadaten-Titel",
|
|
18856
|
+
"editor.record.form.field.title.placeholder": "Geben Sie einen Titel ein",
|
|
18778
18857
|
"editor.record.form.field.uniqueIdentifier": "Eindeutige Kennung (ID)",
|
|
18779
18858
|
"editor.record.form.field.updateFrequency": "Aktualisierungshäufigkeit",
|
|
18780
18859
|
"editor.record.form.license.cc-by": "",
|
|
@@ -18807,7 +18886,7 @@ var de = {
|
|
|
18807
18886
|
"editor.record.form.temporalExtents.addRange": "Zeitraum",
|
|
18808
18887
|
"editor.record.form.temporalExtents.date": "Datum",
|
|
18809
18888
|
"editor.record.form.temporalExtents.range": "Datumsbereich",
|
|
18810
|
-
"editor.record.form.updateFrequency.planned": "
|
|
18889
|
+
"editor.record.form.updateFrequency.planned": "Dieses Dataset wird regelmäßig aktualisiert.",
|
|
18811
18890
|
"editor.record.importFromExternalFile.failure.body": "",
|
|
18812
18891
|
"editor.record.importFromExternalFile.failure.title": "",
|
|
18813
18892
|
"editor.record.importFromExternalFile.success.body": "",
|
|
@@ -18835,9 +18914,9 @@ var de = {
|
|
|
18835
18914
|
"editor.record.resourceError.body": "",
|
|
18836
18915
|
"editor.record.resourceError.closeMessage": "",
|
|
18837
18916
|
"editor.record.resourceError.title": "",
|
|
18838
|
-
"editor.record.saveStatus.
|
|
18839
|
-
"editor.record.saveStatus.
|
|
18840
|
-
"editor.record.saveStatus.recordUpToDate": "
|
|
18917
|
+
"editor.record.saveStatus.draftWithChangesPending": "Gespeichert - nicht publizierte Unterschiede",
|
|
18918
|
+
"editor.record.saveStatus.recordNotPublished": "",
|
|
18919
|
+
"editor.record.saveStatus.recordUpToDate": "Gespeichert - auf dem neuesten Stand",
|
|
18841
18920
|
"editor.record.undo.confirmation.cancelText": "",
|
|
18842
18921
|
"editor.record.undo.confirmation.confirmText": "",
|
|
18843
18922
|
"editor.record.undo.confirmation.message": "",
|
|
@@ -18941,14 +19020,32 @@ var de = {
|
|
|
18941
19020
|
"record.metadata.api.form.closeButton": "Schließen",
|
|
18942
19021
|
"record.metadata.api.form.closeForm": "Formular schließen",
|
|
18943
19022
|
"record.metadata.api.form.create": "Ihre Anfrage erstellen",
|
|
19023
|
+
"record.metadata.api.form.crsTitle": "",
|
|
19024
|
+
"record.metadata.api.form.crsTooltip": "",
|
|
18944
19025
|
"record.metadata.api.form.customUrl": "Benutzerdefinierte URL",
|
|
19026
|
+
"record.metadata.api.form.filter": "",
|
|
19027
|
+
"record.metadata.api.form.filterDescription": "",
|
|
19028
|
+
"record.metadata.api.form.formatTitle": "",
|
|
19029
|
+
"record.metadata.api.form.formatTooltip": "",
|
|
19030
|
+
"record.metadata.api.form.items": "",
|
|
19031
|
+
"record.metadata.api.form.itemsDescription": "",
|
|
19032
|
+
"record.metadata.api.form.itemsTooltip": "",
|
|
18945
19033
|
"record.metadata.api.form.limit": "Anzahl der Datensätze",
|
|
18946
19034
|
"record.metadata.api.form.limit.all": "Alle",
|
|
19035
|
+
"record.metadata.api.form.nextPage": "",
|
|
19036
|
+
"record.metadata.api.form.nextPageTooltip": "",
|
|
18947
19037
|
"record.metadata.api.form.offset": "Anzahl des ersten Datensatzes",
|
|
18948
19038
|
"record.metadata.api.form.openForm": "Formular öffnen",
|
|
19039
|
+
"record.metadata.api.form.paginationDescription": "",
|
|
19040
|
+
"record.metadata.api.form.previousPage": "",
|
|
19041
|
+
"record.metadata.api.form.previousPageTooltip": "",
|
|
19042
|
+
"record.metadata.api.form.productTooltip": "",
|
|
18949
19043
|
"record.metadata.api.form.reset": "Zurücksetzen",
|
|
18950
|
-
"record.metadata.api.form.
|
|
19044
|
+
"record.metadata.api.form.resetTooltip": "",
|
|
18951
19045
|
"record.metadata.api.form.type": "Ausgabeformat",
|
|
19046
|
+
"record.metadata.api.form.zoneTitle": "",
|
|
19047
|
+
"record.metadata.api.form.zoneTooltip": "",
|
|
19048
|
+
"record.metadata.api.gpfdl": "",
|
|
18952
19049
|
"record.metadata.catalog": "Katalog",
|
|
18953
19050
|
"record.metadata.contact": "Kontakt",
|
|
18954
19051
|
"record.metadata.creation": "Erstellungsdatum",
|
|
@@ -19013,7 +19110,6 @@ var de = {
|
|
|
19013
19110
|
"record.tab.chart": "Diagramm",
|
|
19014
19111
|
"record.tab.data": "Tabelle",
|
|
19015
19112
|
"record.tab.map": "Karte",
|
|
19016
|
-
"record.was.created.time": "erstellte diesen Datensatz {time}",
|
|
19017
19113
|
records: records$6,
|
|
19018
19114
|
"results.layout.selectOne": "Layout auswählen",
|
|
19019
19115
|
"results.records.hits.displayedOn": "{displayed, plural, =0{Kein Datensatz.} one{1 Datensatz} other{{displayed} Datensätze }} {hits, plural, other{angezeigt von {hits} insgesamt.}}",
|
|
@@ -19237,6 +19333,7 @@ var en = {
|
|
|
19237
19333
|
"datahub.search.back": "Back",
|
|
19238
19334
|
"datahub.search.filter.all": "All",
|
|
19239
19335
|
"datahub.search.filter.generatedByAPI": "Generated by an API",
|
|
19336
|
+
"datahub.search.filter.generatedByWfs": "",
|
|
19240
19337
|
"datahub.search.filter.others": "Others",
|
|
19241
19338
|
"dataset.error.http": "The data could not be loaded because of an HTTP error: \"{ info }\"",
|
|
19242
19339
|
"dataset.error.network": "The data could not be loaded because of a network error or CORS limitations: \"{ info }\"",
|
|
@@ -19269,15 +19366,24 @@ var en = {
|
|
|
19269
19366
|
"domain.record.status.ongoing": "Ongoing",
|
|
19270
19367
|
"domain.record.status.removed": "Removed",
|
|
19271
19368
|
"domain.record.status.under_development": "Under development",
|
|
19272
|
-
"domain.record.updateFrequency.
|
|
19273
|
-
"domain.record.updateFrequency.
|
|
19369
|
+
"domain.record.updateFrequency.annually": "Data is updated every year",
|
|
19370
|
+
"domain.record.updateFrequency.asNeeded": "Data is updated as deemed necessary",
|
|
19371
|
+
"domain.record.updateFrequency.biannually": "Data is updated twice each year",
|
|
19372
|
+
"domain.record.updateFrequency.biennially": "Data is updated every 2 years",
|
|
19373
|
+
"domain.record.updateFrequency.continual": "Data is repeatedly and frequently updated",
|
|
19374
|
+
"domain.record.updateFrequency.daily": "Data is updated each day",
|
|
19274
19375
|
"domain.record.updateFrequency.day": "{count, plural, =0{0 times} one{Once} other{{count} times}} per day",
|
|
19275
|
-
"domain.record.updateFrequency.
|
|
19376
|
+
"domain.record.updateFrequency.fortnightly": "Data is updated every two weeks",
|
|
19377
|
+
"domain.record.updateFrequency.irregular": "Data is updated in intervals that are uneven in duration",
|
|
19276
19378
|
"domain.record.updateFrequency.month": "{count, plural, =0{0 times} one{Once} other{{count} times}} per month",
|
|
19277
|
-
"domain.record.updateFrequency.
|
|
19278
|
-
"domain.record.updateFrequency.
|
|
19279
|
-
"domain.record.updateFrequency.
|
|
19379
|
+
"domain.record.updateFrequency.monthly": "Data is updated each month",
|
|
19380
|
+
"domain.record.updateFrequency.notPlanned": "There are no plans to update the data",
|
|
19381
|
+
"domain.record.updateFrequency.periodic": "Data is updated at regular intervals",
|
|
19382
|
+
"domain.record.updateFrequency.quarterly": "Data is updated every three months",
|
|
19383
|
+
"domain.record.updateFrequency.semimonthly": "Data is updated twice a month",
|
|
19384
|
+
"domain.record.updateFrequency.unknown": "Frequency of maintenance for the data is not known",
|
|
19280
19385
|
"domain.record.updateFrequency.week": "{count, plural, =0{0 times} one{Once} other{{count} times}} per week",
|
|
19386
|
+
"domain.record.updateFrequency.weekly": "Data is updated on a weekly basis",
|
|
19281
19387
|
"domain.record.updateFrequency.year": "{count, plural, =0{0 times} one{Once} other{{count} times}} per year",
|
|
19282
19388
|
"downloads.format.unknown": "Unknown",
|
|
19283
19389
|
"downloads.wfs.featuretype.not.found": "The layer was not found",
|
|
@@ -19314,7 +19420,6 @@ var en = {
|
|
|
19314
19420
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
19315
19421
|
"editor.record.form.field.contacts.noContact": "Please provide at least one point of contact.",
|
|
19316
19422
|
"editor.record.form.field.contactsForResource.noContact": "Please provide at least one point of contact responsible for the data.",
|
|
19317
|
-
"editor.record.form.field.draft.only.disabled": "This field will be enabled once the dataset has been published",
|
|
19318
19423
|
"editor.record.form.field.keywords": "Keywords",
|
|
19319
19424
|
"editor.record.form.field.legalConstraints": "Legal constraint",
|
|
19320
19425
|
"editor.record.form.field.license": "License",
|
|
@@ -19324,6 +19429,9 @@ var en = {
|
|
|
19324
19429
|
"editor.record.form.field.onlineResource.dialogTitle": "Modify the dataset preview",
|
|
19325
19430
|
"editor.record.form.field.onlineResource.edit.description": "Description",
|
|
19326
19431
|
"editor.record.form.field.onlineResource.edit.protocol": "Protocol",
|
|
19432
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Layer name",
|
|
19433
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Process name",
|
|
19434
|
+
"editor.record.form.field.onlineResource.edit.identifier.submit": "Link to the service",
|
|
19327
19435
|
"editor.record.form.field.onlineResource.edit.title": "Title",
|
|
19328
19436
|
"editor.record.form.field.onlineResource.fileSize": "{sizeMB}MB",
|
|
19329
19437
|
"editor.record.form.field.onlineResource.modify": "Modify",
|
|
@@ -19340,6 +19448,7 @@ var en = {
|
|
|
19340
19448
|
"editor.record.form.field.spatialExtents": "Spatial extents",
|
|
19341
19449
|
"editor.record.form.field.temporalExtents": "Temporal extents",
|
|
19342
19450
|
"editor.record.form.field.title": "Metadata title",
|
|
19451
|
+
"editor.record.form.field.title.placeholder": "Enter a title",
|
|
19343
19452
|
"editor.record.form.field.uniqueIdentifier": "Unique identifier",
|
|
19344
19453
|
"editor.record.form.field.updateFrequency": "Update frequency",
|
|
19345
19454
|
"editor.record.form.license.cc-by": "Creative Commons CC-BY",
|
|
@@ -19372,7 +19481,7 @@ var en = {
|
|
|
19372
19481
|
"editor.record.form.temporalExtents.addRange": "Time period",
|
|
19373
19482
|
"editor.record.form.temporalExtents.date": "Date",
|
|
19374
19483
|
"editor.record.form.temporalExtents.range": "Date range",
|
|
19375
|
-
"editor.record.form.updateFrequency.planned": "
|
|
19484
|
+
"editor.record.form.updateFrequency.planned": "This dataset is updated regularly.",
|
|
19376
19485
|
"editor.record.importFromExternalFile.failure.body": "Failure",
|
|
19377
19486
|
"editor.record.importFromExternalFile.failure.title": "The dataset import failed: ",
|
|
19378
19487
|
"editor.record.importFromExternalFile.success.body": "Import successful",
|
|
@@ -19400,9 +19509,9 @@ var en = {
|
|
|
19400
19509
|
"editor.record.resourceError.body": "There was an issue with the dataset attachments:",
|
|
19401
19510
|
"editor.record.resourceError.closeMessage": "Understood",
|
|
19402
19511
|
"editor.record.resourceError.title": "Error with the dataset attachments",
|
|
19403
|
-
"editor.record.saveStatus.
|
|
19404
|
-
"editor.record.saveStatus.
|
|
19405
|
-
"editor.record.saveStatus.recordUpToDate": "
|
|
19512
|
+
"editor.record.saveStatus.draftWithChangesPending": "Saved - Unpublished differences",
|
|
19513
|
+
"editor.record.saveStatus.recordNotPublished": "Saved - not published",
|
|
19514
|
+
"editor.record.saveStatus.recordUpToDate": "Saved - Record up to date",
|
|
19406
19515
|
"editor.record.undo.confirmation.cancelText": "Keep the changes",
|
|
19407
19516
|
"editor.record.undo.confirmation.confirmText": "Discard the changes",
|
|
19408
19517
|
"editor.record.undo.confirmation.message": "Are you sure you want to cancel the pending changes on this dataset ?",
|
|
@@ -19506,13 +19615,13 @@ var en = {
|
|
|
19506
19615
|
"record.metadata.api.form.closeButton": "Close",
|
|
19507
19616
|
"record.metadata.api.form.closeForm": "Close the form",
|
|
19508
19617
|
"record.metadata.api.form.create": "Create your request",
|
|
19618
|
+
"record.metadata.api.form.crsTitle": "Coordinate System",
|
|
19619
|
+
"record.metadata.api.form.crsTooltip": "Dropdown for selecting a coordinate reference system",
|
|
19509
19620
|
"record.metadata.api.form.customUrl": "Custom URL",
|
|
19510
19621
|
"record.metadata.api.form.filter": "Filters",
|
|
19511
19622
|
"record.metadata.api.form.filterDescription": "Section for refining displayed elements",
|
|
19512
19623
|
"record.metadata.api.form.formatTitle": "Format",
|
|
19513
19624
|
"record.metadata.api.form.formatTooltip": "Dropdown for selecting a element format",
|
|
19514
|
-
"record.metadata.api.form.crsTitle": "Coordinate System",
|
|
19515
|
-
"record.metadata.api.form.crsTooltip": "Dropdown for selecting a coordinate reference system",
|
|
19516
19625
|
"record.metadata.api.form.items": "Available Items",
|
|
19517
19626
|
"record.metadata.api.form.itemsDescription": "List of items",
|
|
19518
19627
|
"record.metadata.api.form.itemsTooltip": "Scroll to view all available items",
|
|
@@ -19525,10 +19634,9 @@ var en = {
|
|
|
19525
19634
|
"record.metadata.api.form.paginationDescription": "Pagination of displayed items",
|
|
19526
19635
|
"record.metadata.api.form.previousPage": "Previous",
|
|
19527
19636
|
"record.metadata.api.form.previousPageTooltip": "Go to the previous page",
|
|
19637
|
+
"record.metadata.api.form.productTooltip": "",
|
|
19528
19638
|
"record.metadata.api.form.reset": "Reset",
|
|
19529
19639
|
"record.metadata.api.form.resetTooltip": "Reset all filters",
|
|
19530
|
-
"record.metadata.api.form.title": "Generate a custom URL",
|
|
19531
|
-
"record.metadata.api.form.title.gpf": "Download data",
|
|
19532
19640
|
"record.metadata.api.form.type": "Output format",
|
|
19533
19641
|
"record.metadata.api.form.zoneTitle": "Zone",
|
|
19534
19642
|
"record.metadata.api.form.zoneTooltip": "Dropdown for selecting a geographic zone",
|
|
@@ -19597,7 +19705,6 @@ var en = {
|
|
|
19597
19705
|
"record.tab.chart": "Chart",
|
|
19598
19706
|
"record.tab.data": "Table",
|
|
19599
19707
|
"record.tab.map": "Map",
|
|
19600
|
-
"record.was.created.time": "created this dataset {time}",
|
|
19601
19708
|
records: records$5,
|
|
19602
19709
|
"results.layout.selectOne": "Results layout",
|
|
19603
19710
|
"results.records.hits.displayedOn": "{displayed, plural, =0{No dataset.} one{1 } other{{displayed} }} {hits, plural, other{displayed on {hits} total.}}",
|
|
@@ -19821,6 +19928,7 @@ var es = {
|
|
|
19821
19928
|
"datahub.search.back": "",
|
|
19822
19929
|
"datahub.search.filter.all": "",
|
|
19823
19930
|
"datahub.search.filter.generatedByAPI": "",
|
|
19931
|
+
"datahub.search.filter.generatedByWfs": "",
|
|
19824
19932
|
"datahub.search.filter.others": "",
|
|
19825
19933
|
"dataset.error.http": "",
|
|
19826
19934
|
"dataset.error.network": "",
|
|
@@ -19853,16 +19961,25 @@ var es = {
|
|
|
19853
19961
|
"domain.record.status.ongoing": "",
|
|
19854
19962
|
"domain.record.status.removed": "",
|
|
19855
19963
|
"domain.record.status.under_development": "",
|
|
19856
|
-
"domain.record.updateFrequency.
|
|
19857
|
-
"domain.record.updateFrequency.
|
|
19858
|
-
"domain.record.updateFrequency.
|
|
19859
|
-
"domain.record.updateFrequency.
|
|
19860
|
-
"domain.record.updateFrequency.
|
|
19861
|
-
"domain.record.updateFrequency.
|
|
19862
|
-
"domain.record.updateFrequency.
|
|
19863
|
-
"domain.record.updateFrequency.
|
|
19864
|
-
"domain.record.updateFrequency.
|
|
19865
|
-
"domain.record.updateFrequency.
|
|
19964
|
+
"domain.record.updateFrequency.annually": "Los datos se actualizan cada año",
|
|
19965
|
+
"domain.record.updateFrequency.asNeeded": "Los datos se actualizan según sea necesario",
|
|
19966
|
+
"domain.record.updateFrequency.biannually": "Los datos se actualizan dos veces al año",
|
|
19967
|
+
"domain.record.updateFrequency.biennially": "Los datos se actualizan cada 2 años",
|
|
19968
|
+
"domain.record.updateFrequency.continual": "Los datos se actualizan repetidamente y con frecuencia",
|
|
19969
|
+
"domain.record.updateFrequency.daily": "Los datos se actualizan cada día",
|
|
19970
|
+
"domain.record.updateFrequency.day": "{count, plural, =0{0 veces} one{Una vez} other{{count} veces}} al día",
|
|
19971
|
+
"domain.record.updateFrequency.fortnightly": "Los datos se actualizan cada dos semanas",
|
|
19972
|
+
"domain.record.updateFrequency.irregular": "Los datos se actualizan en intervalos irregulares",
|
|
19973
|
+
"domain.record.updateFrequency.month": "{count, plural, =0{0 veces} one{Una vez} other{{count} veces}} al mes",
|
|
19974
|
+
"domain.record.updateFrequency.monthly": "Los datos se actualizan cada mes",
|
|
19975
|
+
"domain.record.updateFrequency.notPlanned": "No hay planes para actualizar los datos",
|
|
19976
|
+
"domain.record.updateFrequency.periodic": "Los datos se actualizan a intervalos regulares",
|
|
19977
|
+
"domain.record.updateFrequency.quarterly": "Los datos se actualizan cada tres meses",
|
|
19978
|
+
"domain.record.updateFrequency.semimonthly": "Los datos se actualizan dos veces al mes",
|
|
19979
|
+
"domain.record.updateFrequency.unknown": "La frecuencia de actualización de los datos es desconocida",
|
|
19980
|
+
"domain.record.updateFrequency.week": "{count, plural, =0{0 veces} one{Una vez} other{{count} veces}} a la semana",
|
|
19981
|
+
"domain.record.updateFrequency.weekly": "Los datos se actualizan semanalmente",
|
|
19982
|
+
"domain.record.updateFrequency.year": "{count, plural, =0{0 veces} one{Una vez} other{{count} veces}} al año",
|
|
19866
19983
|
"downloads.format.unknown": "",
|
|
19867
19984
|
"downloads.wfs.featuretype.not.found": "",
|
|
19868
19985
|
dropFile: dropFile$4,
|
|
@@ -19898,7 +20015,6 @@ var es = {
|
|
|
19898
20015
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
19899
20016
|
"editor.record.form.field.contacts.noContact": "",
|
|
19900
20017
|
"editor.record.form.field.contactsForResource.noContact": "",
|
|
19901
|
-
"editor.record.form.field.draft.only.disabled": "",
|
|
19902
20018
|
"editor.record.form.field.keywords": "",
|
|
19903
20019
|
"editor.record.form.field.legalConstraints": "",
|
|
19904
20020
|
"editor.record.form.field.license": "",
|
|
@@ -19908,6 +20024,9 @@ var es = {
|
|
|
19908
20024
|
"editor.record.form.field.onlineResource.dialogTitle": "",
|
|
19909
20025
|
"editor.record.form.field.onlineResource.edit.description": "",
|
|
19910
20026
|
"editor.record.form.field.onlineResource.edit.protocol": "",
|
|
20027
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Nombre de la capa",
|
|
20028
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Nombre del proceso",
|
|
20029
|
+
"editor.record.form.field.onlineResource.edit.identifier.submit": "Enlace al servicio",
|
|
19911
20030
|
"editor.record.form.field.onlineResource.edit.title": "",
|
|
19912
20031
|
"editor.record.form.field.onlineResource.fileSize": "",
|
|
19913
20032
|
"editor.record.form.field.onlineResource.modify": "",
|
|
@@ -19924,6 +20043,7 @@ var es = {
|
|
|
19924
20043
|
"editor.record.form.field.spatialExtents": "",
|
|
19925
20044
|
"editor.record.form.field.temporalExtents": "",
|
|
19926
20045
|
"editor.record.form.field.title": "",
|
|
20046
|
+
"editor.record.form.field.title.placeholder": "Introduzca un título",
|
|
19927
20047
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
19928
20048
|
"editor.record.form.field.updateFrequency": "",
|
|
19929
20049
|
"editor.record.form.license.cc-by": "",
|
|
@@ -19956,7 +20076,7 @@ var es = {
|
|
|
19956
20076
|
"editor.record.form.temporalExtents.addRange": "",
|
|
19957
20077
|
"editor.record.form.temporalExtents.date": "",
|
|
19958
20078
|
"editor.record.form.temporalExtents.range": "",
|
|
19959
|
-
"editor.record.form.updateFrequency.planned": "",
|
|
20079
|
+
"editor.record.form.updateFrequency.planned": "Este conjunto de datos se actualiza regularmente.",
|
|
19960
20080
|
"editor.record.importFromExternalFile.failure.body": "",
|
|
19961
20081
|
"editor.record.importFromExternalFile.failure.title": "",
|
|
19962
20082
|
"editor.record.importFromExternalFile.success.body": "",
|
|
@@ -19984,8 +20104,8 @@ var es = {
|
|
|
19984
20104
|
"editor.record.resourceError.body": "",
|
|
19985
20105
|
"editor.record.resourceError.closeMessage": "",
|
|
19986
20106
|
"editor.record.resourceError.title": "",
|
|
19987
|
-
"editor.record.saveStatus.asDraftOnly": "",
|
|
19988
20107
|
"editor.record.saveStatus.draftWithChangesPending": "",
|
|
20108
|
+
"editor.record.saveStatus.recordNotPublished": "",
|
|
19989
20109
|
"editor.record.saveStatus.recordUpToDate": "",
|
|
19990
20110
|
"editor.record.undo.confirmation.cancelText": "",
|
|
19991
20111
|
"editor.record.undo.confirmation.confirmText": "",
|
|
@@ -20090,14 +20210,32 @@ var es = {
|
|
|
20090
20210
|
"record.metadata.api.form.closeButton": "",
|
|
20091
20211
|
"record.metadata.api.form.closeForm": "",
|
|
20092
20212
|
"record.metadata.api.form.create": "",
|
|
20213
|
+
"record.metadata.api.form.crsTitle": "",
|
|
20214
|
+
"record.metadata.api.form.crsTooltip": "",
|
|
20093
20215
|
"record.metadata.api.form.customUrl": "",
|
|
20216
|
+
"record.metadata.api.form.filter": "",
|
|
20217
|
+
"record.metadata.api.form.filterDescription": "",
|
|
20218
|
+
"record.metadata.api.form.formatTitle": "",
|
|
20219
|
+
"record.metadata.api.form.formatTooltip": "",
|
|
20220
|
+
"record.metadata.api.form.items": "",
|
|
20221
|
+
"record.metadata.api.form.itemsDescription": "",
|
|
20222
|
+
"record.metadata.api.form.itemsTooltip": "",
|
|
20094
20223
|
"record.metadata.api.form.limit": "",
|
|
20095
20224
|
"record.metadata.api.form.limit.all": "",
|
|
20225
|
+
"record.metadata.api.form.nextPage": "",
|
|
20226
|
+
"record.metadata.api.form.nextPageTooltip": "",
|
|
20096
20227
|
"record.metadata.api.form.offset": "",
|
|
20097
20228
|
"record.metadata.api.form.openForm": "",
|
|
20229
|
+
"record.metadata.api.form.paginationDescription": "",
|
|
20230
|
+
"record.metadata.api.form.previousPage": "",
|
|
20231
|
+
"record.metadata.api.form.previousPageTooltip": "",
|
|
20232
|
+
"record.metadata.api.form.productTooltip": "",
|
|
20098
20233
|
"record.metadata.api.form.reset": "",
|
|
20099
|
-
"record.metadata.api.form.
|
|
20234
|
+
"record.metadata.api.form.resetTooltip": "",
|
|
20100
20235
|
"record.metadata.api.form.type": "",
|
|
20236
|
+
"record.metadata.api.form.zoneTitle": "",
|
|
20237
|
+
"record.metadata.api.form.zoneTooltip": "",
|
|
20238
|
+
"record.metadata.api.gpfdl": "",
|
|
20101
20239
|
"record.metadata.catalog": "",
|
|
20102
20240
|
"record.metadata.contact": "",
|
|
20103
20241
|
"record.metadata.creation": "",
|
|
@@ -20162,7 +20300,6 @@ var es = {
|
|
|
20162
20300
|
"record.tab.chart": "",
|
|
20163
20301
|
"record.tab.data": "",
|
|
20164
20302
|
"record.tab.map": "",
|
|
20165
|
-
"record.was.created.time": "",
|
|
20166
20303
|
records: records$4,
|
|
20167
20304
|
"results.layout.selectOne": "",
|
|
20168
20305
|
"results.records.hits.displayedOn": "",
|
|
@@ -20386,6 +20523,7 @@ var fr = {
|
|
|
20386
20523
|
"datahub.search.back": "Retour",
|
|
20387
20524
|
"datahub.search.filter.all": "Tous",
|
|
20388
20525
|
"datahub.search.filter.generatedByAPI": "généré par une API",
|
|
20526
|
+
"datahub.search.filter.generatedByWfs": "généré par un WFS",
|
|
20389
20527
|
"datahub.search.filter.others": "Autres",
|
|
20390
20528
|
"dataset.error.http": "Le chargement des données a échoué en raison d'une erreur HTTP: \"{ info }\"",
|
|
20391
20529
|
"dataset.error.network": "Le chargement des données a échoué en raison d'une erreur réseau ou de limitations CORS: \"{ info }\"",
|
|
@@ -20418,16 +20556,25 @@ var fr = {
|
|
|
20418
20556
|
"domain.record.status.ongoing": "Mise à jour continue",
|
|
20419
20557
|
"domain.record.status.removed": "Supprimé",
|
|
20420
20558
|
"domain.record.status.under_development": "En cours de création",
|
|
20421
|
-
"domain.record.updateFrequency.
|
|
20422
|
-
"domain.record.updateFrequency.
|
|
20423
|
-
"domain.record.updateFrequency.
|
|
20424
|
-
"domain.record.updateFrequency.
|
|
20425
|
-
"domain.record.updateFrequency.
|
|
20426
|
-
"domain.record.updateFrequency.
|
|
20427
|
-
"domain.record.updateFrequency.
|
|
20428
|
-
"domain.record.updateFrequency.
|
|
20429
|
-
"domain.record.updateFrequency.
|
|
20430
|
-
"domain.record.updateFrequency.
|
|
20559
|
+
"domain.record.updateFrequency.annually": "Les données sont mises à jour chaque année",
|
|
20560
|
+
"domain.record.updateFrequency.asNeeded": "Les données sont mises à jour selon les besoins",
|
|
20561
|
+
"domain.record.updateFrequency.biannually": "Les données sont mises à jour deux fois par an",
|
|
20562
|
+
"domain.record.updateFrequency.biennially": "Les données sont mises à jour tous les 2 ans",
|
|
20563
|
+
"domain.record.updateFrequency.continual": "Les données sont mises à jour de manière répétée et fréquente",
|
|
20564
|
+
"domain.record.updateFrequency.daily": "Les données sont mises à jour chaque jour",
|
|
20565
|
+
"domain.record.updateFrequency.day": "{count, plural, =0{0 fois} one{Une fois} other{{count} fois}} par jour",
|
|
20566
|
+
"domain.record.updateFrequency.fortnightly": "Les données sont mises à jour toutes les deux semaines",
|
|
20567
|
+
"domain.record.updateFrequency.irregular": "Les données sont mises à jour à intervalles irréguliers",
|
|
20568
|
+
"domain.record.updateFrequency.month": "{count, plural, =0{0 fois} one{Une fois} other{{count} fois}} par mois",
|
|
20569
|
+
"domain.record.updateFrequency.monthly": "Les données sont mises à jour chaque mois",
|
|
20570
|
+
"domain.record.updateFrequency.notPlanned": "Il n'y a pas de plan pour mettre à jour les données",
|
|
20571
|
+
"domain.record.updateFrequency.periodic": "Les données sont mises à jour à intervalles réguliers",
|
|
20572
|
+
"domain.record.updateFrequency.quarterly": "Les données sont mises à jour tous les trois mois",
|
|
20573
|
+
"domain.record.updateFrequency.semimonthly": "Les données sont mises à jour deux fois par mois",
|
|
20574
|
+
"domain.record.updateFrequency.unknown": "La fréquence de mise à jour des données est inconnue",
|
|
20575
|
+
"domain.record.updateFrequency.week": "{count, plural, =0{0 fois} one{Une fois} other{{count} fois}} par semaine",
|
|
20576
|
+
"domain.record.updateFrequency.weekly": "Les données sont mises à jour chaque semaine",
|
|
20577
|
+
"domain.record.updateFrequency.year": "{count, plural, =0{0 fois} one{Une fois} other{{count} fois}} par an",
|
|
20431
20578
|
"downloads.format.unknown": "inconnu",
|
|
20432
20579
|
"downloads.wfs.featuretype.not.found": "La couche n'a pas été trouvée",
|
|
20433
20580
|
dropFile: dropFile$3,
|
|
@@ -20463,7 +20610,6 @@ var fr = {
|
|
|
20463
20610
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
20464
20611
|
"editor.record.form.field.contacts.noContact": "Veuillez renseigner au moins un point de contact.",
|
|
20465
20612
|
"editor.record.form.field.contactsForResource.noContact": "Veuillez renseigner au moins un point de contact responsable de la donnée.",
|
|
20466
|
-
"editor.record.form.field.draft.only.disabled": "Ce champ sera activé une fois le jeu de données publié",
|
|
20467
20613
|
"editor.record.form.field.keywords": "Mots-clés",
|
|
20468
20614
|
"editor.record.form.field.legalConstraints": "Contrainte légale",
|
|
20469
20615
|
"editor.record.form.field.license": "Licence",
|
|
@@ -20473,6 +20619,9 @@ var fr = {
|
|
|
20473
20619
|
"editor.record.form.field.onlineResource.dialogTitle": "Modifier l'aperçu du jeu de données",
|
|
20474
20620
|
"editor.record.form.field.onlineResource.edit.description": "Description",
|
|
20475
20621
|
"editor.record.form.field.onlineResource.edit.protocol": "Protocole",
|
|
20622
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Nom de la couche",
|
|
20623
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Nom du processus",
|
|
20624
|
+
"editor.record.form.field.onlineResource.edit.identifier.submit": "Lier le service",
|
|
20476
20625
|
"editor.record.form.field.onlineResource.edit.title": "Titre",
|
|
20477
20626
|
"editor.record.form.field.onlineResource.fileSize": "{sizeMB} Mo",
|
|
20478
20627
|
"editor.record.form.field.onlineResource.modify": "Modifier",
|
|
@@ -20489,6 +20638,7 @@ var fr = {
|
|
|
20489
20638
|
"editor.record.form.field.spatialExtents": "Étendue spatiale",
|
|
20490
20639
|
"editor.record.form.field.temporalExtents": "Étendue temporelle",
|
|
20491
20640
|
"editor.record.form.field.title": "Titre",
|
|
20641
|
+
"editor.record.form.field.title.placeholder": "Saisir un titre",
|
|
20492
20642
|
"editor.record.form.field.uniqueIdentifier": "Identifiant unique",
|
|
20493
20643
|
"editor.record.form.field.updateFrequency": "Fréquence de mise à jour",
|
|
20494
20644
|
"editor.record.form.license.cc-by": "",
|
|
@@ -20521,7 +20671,7 @@ var fr = {
|
|
|
20521
20671
|
"editor.record.form.temporalExtents.addRange": "Période de temps",
|
|
20522
20672
|
"editor.record.form.temporalExtents.date": "Date concernée",
|
|
20523
20673
|
"editor.record.form.temporalExtents.range": "Période concernée",
|
|
20524
|
-
"editor.record.form.updateFrequency.planned": "
|
|
20674
|
+
"editor.record.form.updateFrequency.planned": "Ce jeu de données est mis à jour régulièrement.",
|
|
20525
20675
|
"editor.record.importFromExternalFile.failure.body": "Une erreur est survenue pendant l'import du jeu de données : ",
|
|
20526
20676
|
"editor.record.importFromExternalFile.failure.title": "Erreur",
|
|
20527
20677
|
"editor.record.importFromExternalFile.success.body": "L'import du jeu de données à été realisé avec succès.",
|
|
@@ -20549,9 +20699,9 @@ var fr = {
|
|
|
20549
20699
|
"editor.record.resourceError.body": "Une erreur est survenue lors de la gestion des pièces jointes :",
|
|
20550
20700
|
"editor.record.resourceError.closeMessage": "Compris",
|
|
20551
20701
|
"editor.record.resourceError.title": "Erreur avec les pièces jointes",
|
|
20552
|
-
"editor.record.saveStatus.
|
|
20553
|
-
"editor.record.saveStatus.
|
|
20554
|
-
"editor.record.saveStatus.recordUpToDate": "
|
|
20702
|
+
"editor.record.saveStatus.draftWithChangesPending": "Sauvegardé - Modifications non publiées",
|
|
20703
|
+
"editor.record.saveStatus.recordNotPublished": "",
|
|
20704
|
+
"editor.record.saveStatus.recordUpToDate": "Sauvegardé - Jeu de données à jour",
|
|
20555
20705
|
"editor.record.undo.confirmation.cancelText": "Garder les modifications",
|
|
20556
20706
|
"editor.record.undo.confirmation.confirmText": "Retirer les modifications",
|
|
20557
20707
|
"editor.record.undo.confirmation.message": "Êtes-vous sûr de vouloir annuler les modifications apportées à ce jeu de données ?",
|
|
@@ -20655,13 +20805,13 @@ var fr = {
|
|
|
20655
20805
|
"record.metadata.api.form.closeButton": "Fermer",
|
|
20656
20806
|
"record.metadata.api.form.closeForm": "Fermer le panneau de personnalisation",
|
|
20657
20807
|
"record.metadata.api.form.create": "Paramétrer votre requête",
|
|
20808
|
+
"record.metadata.api.form.crsTitle": "Système de coordonnées",
|
|
20809
|
+
"record.metadata.api.form.crsTooltip": "Menu déroulant pour sélectionner un système de coordonnées (CRS)",
|
|
20658
20810
|
"record.metadata.api.form.customUrl": "URL personnalisée",
|
|
20659
20811
|
"record.metadata.api.form.filter": "Filtres",
|
|
20660
20812
|
"record.metadata.api.form.filterDescription": "Section pour affiner les éléments affichés",
|
|
20661
20813
|
"record.metadata.api.form.formatTitle": "Format",
|
|
20662
20814
|
"record.metadata.api.form.formatTooltip": "Menu déroulant pour sélectionner un format de données",
|
|
20663
|
-
"record.metadata.api.form.crsTitle": "Système de coordonnées",
|
|
20664
|
-
"record.metadata.api.form.crsTooltip": "Menu déroulant pour sélectionner un système de coordonnées (CRS)",
|
|
20665
20815
|
"record.metadata.api.form.items": "Eléments disponibles",
|
|
20666
20816
|
"record.metadata.api.form.itemsDescription": "Liste des éléments",
|
|
20667
20817
|
"record.metadata.api.form.itemsTooltip": "Faites défiler pour voir tous les éléments disponibles ou filtrés",
|
|
@@ -20674,10 +20824,9 @@ var fr = {
|
|
|
20674
20824
|
"record.metadata.api.form.paginationDescription": "Pagination des éléments affichés",
|
|
20675
20825
|
"record.metadata.api.form.previousPage": "Précédent",
|
|
20676
20826
|
"record.metadata.api.form.previousPageTooltip": "Aller à la page précédente",
|
|
20827
|
+
"record.metadata.api.form.productTooltip": "",
|
|
20677
20828
|
"record.metadata.api.form.reset": "Réinitialiser",
|
|
20678
20829
|
"record.metadata.api.form.resetTooltip": "Réinitialiser tous les filtres",
|
|
20679
|
-
"record.metadata.api.form.title": "Générer une URL personnalisée",
|
|
20680
|
-
"record.metadata.api.form.title.gpf": "Téléchargement de données",
|
|
20681
20830
|
"record.metadata.api.form.type": "Format en sortie",
|
|
20682
20831
|
"record.metadata.api.form.zoneTitle": "Zone",
|
|
20683
20832
|
"record.metadata.api.form.zoneTooltip": "Menu déroulant pour sélectionner une zone géographique",
|
|
@@ -20746,7 +20895,6 @@ var fr = {
|
|
|
20746
20895
|
"record.tab.chart": "Graphique",
|
|
20747
20896
|
"record.tab.data": "Tableau",
|
|
20748
20897
|
"record.tab.map": "Carte",
|
|
20749
|
-
"record.was.created.time": "a créé ce jeu de données {time}",
|
|
20750
20898
|
records: records$3,
|
|
20751
20899
|
"results.layout.selectOne": "Affichage des résultats",
|
|
20752
20900
|
"results.records.hits.displayedOn": "{displayed, plural, =0{Aucun jeu de données} one{1 affiché} other{{displayed} affichés}} {hits, plural, other{sur {hits} au total.}}",
|
|
@@ -20832,7 +20980,7 @@ var records$2 = "record";
|
|
|
20832
20980
|
var it = {
|
|
20833
20981
|
"": "",
|
|
20834
20982
|
"Add Layer As": "",
|
|
20835
|
-
"button.login": "",
|
|
20983
|
+
"button.login": "Login",
|
|
20836
20984
|
"catalog.figures.datasets": "{count, plural, =0{datasets} one{dataset} other{datasets}}",
|
|
20837
20985
|
"catalog.figures.organizations": "{count, plural, =0{organizzazioni} one{organizzazione} other{organizzazioni}}",
|
|
20838
20986
|
"chart.aggregation.average": "media",
|
|
@@ -20850,21 +20998,21 @@ var it = {
|
|
|
20850
20998
|
"chart.type.line": "grafico a linee",
|
|
20851
20999
|
"chart.type.lineSmooth": "grafico a linea liscia",
|
|
20852
21000
|
"chart.type.pie": "grafico a torta",
|
|
20853
|
-
"dashboard.catalog.allRecords": "",
|
|
20854
|
-
"dashboard.catalog.contacts": "",
|
|
20855
|
-
"dashboard.catalog.thesaurus": "",
|
|
21001
|
+
"dashboard.catalog.allRecords": "Datasets",
|
|
21002
|
+
"dashboard.catalog.contacts": "Contatti",
|
|
21003
|
+
"dashboard.catalog.thesaurus": "Thesauri",
|
|
20856
21004
|
"dashboard.createRecord": "Crea un record",
|
|
20857
|
-
"dashboard.importRecord": "",
|
|
20858
|
-
"dashboard.importRecord.importExternal": "",
|
|
20859
|
-
"dashboard.importRecord.importExternalLabel": "",
|
|
21005
|
+
"dashboard.importRecord": "Importare",
|
|
21006
|
+
"dashboard.importRecord.importExternal": "Importare un dataset esterno",
|
|
21007
|
+
"dashboard.importRecord.importExternalLabel": "URL del dataset esterno",
|
|
20860
21008
|
"dashboard.labels.catalog": "Catalogo",
|
|
20861
21009
|
"dashboard.labels.mySpace": "Il mio spazio",
|
|
20862
21010
|
"dashboard.records.all": "Catalogo",
|
|
20863
|
-
"dashboard.records.hasDraft": "",
|
|
21011
|
+
"dashboard.records.hasDraft": "Bozza",
|
|
20864
21012
|
"dashboard.records.myDraft": "Le mie bozze",
|
|
20865
21013
|
"dashboard.records.myRecords": "I miei dati",
|
|
20866
21014
|
"dashboard.records.search": "Risultati per \"{searchText}\"",
|
|
20867
|
-
"dashboard.records.templates": "",
|
|
21015
|
+
"dashboard.records.templates": "Modelli precompilati",
|
|
20868
21016
|
"dashboard.records.userDetail": "Nome",
|
|
20869
21017
|
"dashboard.records.userEmail": "Email",
|
|
20870
21018
|
"dashboard.records.username": "Nome utente",
|
|
@@ -20878,8 +21026,8 @@ var it = {
|
|
|
20878
21026
|
"datafeeder.datasetValidation.submitButton": "OK, i miei dati sono corretti",
|
|
20879
21027
|
"datafeeder.datasetValidation.title": "Controllare che i dati siano corretti",
|
|
20880
21028
|
"datafeeder.datasetValidation.unknown": " - ",
|
|
20881
|
-
"datafeeder.datasetValidationCsv.explicitLineNumbers": "",
|
|
20882
|
-
"datafeeder.datasetValidationCsv.lineNumbers": "",
|
|
21029
|
+
"datafeeder.datasetValidationCsv.explicitLineNumbers": "*La tabella dovrebbe visualizzare le prime 5 righe (esclusa l'intestazione)<br>In caso contrario, verificare che il file sia formattato correttamente",
|
|
21030
|
+
"datafeeder.datasetValidationCsv.lineNumbers": "Riepilogo delle prime 5 righe del CSV:",
|
|
20883
21031
|
"datafeeder.form.abstract": "Come descrivere il suo dataset?",
|
|
20884
21032
|
"datafeeder.form.datepicker": "Sa quando è stato creato il suo dataset ?",
|
|
20885
21033
|
"datafeeder.form.description": "Infine, descrivere il processo utilizzato per creare il dataset",
|
|
@@ -20907,7 +21055,7 @@ var it = {
|
|
|
20907
21055
|
"datafeeder.publishSuccess.geonetworkRecord": "Scheda di metadati",
|
|
20908
21056
|
"datafeeder.publishSuccess.illustration.title": "Completato, tutto è andato bene!",
|
|
20909
21057
|
"datafeeder.publishSuccess.mapViewer": "Visualizzatore",
|
|
20910
|
-
"datafeeder.publishSuccess.ogcFeature": "",
|
|
21058
|
+
"datafeeder.publishSuccess.ogcFeature": "OGC API",
|
|
20911
21059
|
"datafeeder.publishSuccess.subtitle": "Visualizzare i dati:",
|
|
20912
21060
|
"datafeeder.publishSuccess.title": "Congratulazioni! \n I suoi dati sono stati pubblicati",
|
|
20913
21061
|
"datafeeder.publishSuccess.uploadAnotherData": "Caricare un altro dato",
|
|
@@ -20936,15 +21084,15 @@ var it = {
|
|
|
20936
21084
|
"datafeeder.upload.maxFileSize": "Dimensione massima: {size} MB",
|
|
20937
21085
|
"datafeeder.upload.title": "Importa i suoi dati",
|
|
20938
21086
|
"datafeeder.upload.uploadButton": "Carica",
|
|
20939
|
-
"datafeeder.validation.csv.delimiter": "",
|
|
20940
|
-
"datafeeder.validation.csv.delimiter.comma": "",
|
|
20941
|
-
"datafeeder.validation.csv.delimiter.semicolon": "",
|
|
20942
|
-
"datafeeder.validation.csv.lat.field": "",
|
|
20943
|
-
"datafeeder.validation.csv.lng.field": "",
|
|
20944
|
-
"datafeeder.validation.csv.quote.double": "",
|
|
20945
|
-
"datafeeder.validation.csv.quote.none": "",
|
|
20946
|
-
"datafeeder.validation.csv.quote.simple": "",
|
|
20947
|
-
"datafeeder.validation.csv.quoteChar": "",
|
|
21087
|
+
"datafeeder.validation.csv.delimiter": "Separatore di colonne",
|
|
21088
|
+
"datafeeder.validation.csv.delimiter.comma": "Virgola",
|
|
21089
|
+
"datafeeder.validation.csv.delimiter.semicolon": "Punto e virgola",
|
|
21090
|
+
"datafeeder.validation.csv.lat.field": "Colonna di latitudine",
|
|
21091
|
+
"datafeeder.validation.csv.lng.field": "Colonna di longitudine",
|
|
21092
|
+
"datafeeder.validation.csv.quote.double": "Virgolette doppie",
|
|
21093
|
+
"datafeeder.validation.csv.quote.none": "Nessun",
|
|
21094
|
+
"datafeeder.validation.csv.quote.simple": "Citazione semplice",
|
|
21095
|
+
"datafeeder.validation.csv.quoteChar": "Separatore di testo",
|
|
20948
21096
|
"datafeeder.validation.encoding": "Codifica",
|
|
20949
21097
|
"datafeeder.validation.extent.title": "Ecco l'estensione del dataset",
|
|
20950
21098
|
"datafeeder.validation.extent.title.unknown": "Sistema di proiezione sconosciuto",
|
|
@@ -20970,182 +21118,195 @@ var it = {
|
|
|
20970
21118
|
"datahub.search.back": "Ritorna",
|
|
20971
21119
|
"datahub.search.filter.all": "Tutti",
|
|
20972
21120
|
"datahub.search.filter.generatedByAPI": "generato da un'API",
|
|
21121
|
+
"datahub.search.filter.generatedByWfs": "generato da un WFS",
|
|
20973
21122
|
"datahub.search.filter.others": "Altri",
|
|
20974
21123
|
"dataset.error.http": "Il caricamento dei dati non è riuscito a causa di un errore HTTP: \"{info}\"",
|
|
20975
21124
|
"dataset.error.network": "Il caricamento dei dati non è riuscito a causa di un errore di rete o di limitazioni CORS: \"{info}\"",
|
|
20976
21125
|
"dataset.error.parse": "I dati sono stati caricati ma la decodifica non è riuscita: \"{info}\"",
|
|
20977
21126
|
"dataset.error.unknown": "Impossibile visualizzare i dati: \"{info}\"",
|
|
20978
21127
|
"dataset.error.unsupportedType": "Il seguente tipo di contenuto non è supportato: \"{info}\"",
|
|
20979
|
-
"domain.contact.role.author": "",
|
|
20980
|
-
"domain.contact.role.collaborator": "",
|
|
20981
|
-
"domain.contact.role.contributor": "",
|
|
20982
|
-
"domain.contact.role.custodian": "",
|
|
20983
|
-
"domain.contact.role.distributor": "",
|
|
20984
|
-
"domain.contact.role.editor": "",
|
|
20985
|
-
"domain.contact.role.funder": "",
|
|
20986
|
-
"domain.contact.role.mediator": "",
|
|
20987
|
-
"domain.contact.role.originator": "",
|
|
20988
|
-
"domain.contact.role.other": "",
|
|
20989
|
-
"domain.contact.role.owner": "",
|
|
20990
|
-
"domain.contact.role.point_of_contact": "",
|
|
20991
|
-
"domain.contact.role.principal_investigator": "",
|
|
20992
|
-
"domain.contact.role.processor": "",
|
|
20993
|
-
"domain.contact.role.publisher": "",
|
|
20994
|
-
"domain.contact.role.resource_provider": "",
|
|
20995
|
-
"domain.contact.role.rights_holder": "",
|
|
20996
|
-
"domain.contact.role.sponsor": "",
|
|
20997
|
-
"domain.contact.role.stakeholder": "",
|
|
20998
|
-
"domain.contact.role.unspecified": "",
|
|
20999
|
-
"domain.contact.role.user": "",
|
|
21128
|
+
"domain.contact.role.author": "Autore",
|
|
21129
|
+
"domain.contact.role.collaborator": "Collaboratore",
|
|
21130
|
+
"domain.contact.role.contributor": "Collaboratore",
|
|
21131
|
+
"domain.contact.role.custodian": "Gestore",
|
|
21132
|
+
"domain.contact.role.distributor": "Distributore",
|
|
21133
|
+
"domain.contact.role.editor": "Editor",
|
|
21134
|
+
"domain.contact.role.funder": "Finanziatore",
|
|
21135
|
+
"domain.contact.role.mediator": "Mediatore",
|
|
21136
|
+
"domain.contact.role.originator": "Creatore",
|
|
21137
|
+
"domain.contact.role.other": "Altro",
|
|
21138
|
+
"domain.contact.role.owner": "Proprietario",
|
|
21139
|
+
"domain.contact.role.point_of_contact": "Punto di contatto",
|
|
21140
|
+
"domain.contact.role.principal_investigator": "Investigatore principale",
|
|
21141
|
+
"domain.contact.role.processor": "Processore",
|
|
21142
|
+
"domain.contact.role.publisher": "Editore",
|
|
21143
|
+
"domain.contact.role.resource_provider": "Fornitore",
|
|
21144
|
+
"domain.contact.role.rights_holder": "Titolare dei diritti",
|
|
21145
|
+
"domain.contact.role.sponsor": "Sponsor",
|
|
21146
|
+
"domain.contact.role.stakeholder": "Parte interessata",
|
|
21147
|
+
"domain.contact.role.unspecified": "Non specificato",
|
|
21148
|
+
"domain.contact.role.user": "Utente",
|
|
21000
21149
|
"domain.record.status.completed": "Completato",
|
|
21001
21150
|
"domain.record.status.deprecated": "Deprecato",
|
|
21002
21151
|
"domain.record.status.ongoing": "Aggiornamento continuo",
|
|
21003
21152
|
"domain.record.status.removed": "Rimosso",
|
|
21004
21153
|
"domain.record.status.under_development": "In fase di creazione",
|
|
21005
|
-
"domain.record.updateFrequency.
|
|
21006
|
-
"domain.record.updateFrequency.
|
|
21007
|
-
"domain.record.updateFrequency.
|
|
21008
|
-
"domain.record.updateFrequency.
|
|
21009
|
-
"domain.record.updateFrequency.
|
|
21010
|
-
"domain.record.updateFrequency.
|
|
21011
|
-
"domain.record.updateFrequency.
|
|
21012
|
-
"domain.record.updateFrequency.
|
|
21013
|
-
"domain.record.updateFrequency.
|
|
21014
|
-
"domain.record.updateFrequency.
|
|
21154
|
+
"domain.record.updateFrequency.annually": "I dati vengono aggiornati ogni anno",
|
|
21155
|
+
"domain.record.updateFrequency.asNeeded": "I dati vengono aggiornati secondo necessità",
|
|
21156
|
+
"domain.record.updateFrequency.biannually": "I dati vengono aggiornati due volte all'anno",
|
|
21157
|
+
"domain.record.updateFrequency.biennially": "I dati vengono aggiornati ogni 2 anni",
|
|
21158
|
+
"domain.record.updateFrequency.continual": "I dati vengono aggiornati ripetutamente e frequentemente",
|
|
21159
|
+
"domain.record.updateFrequency.daily": "I dati vengono aggiornati ogni giorno",
|
|
21160
|
+
"domain.record.updateFrequency.day": "{count, plural, =0{0 volte} one{Una volta} other{{count} volte}} al giorno",
|
|
21161
|
+
"domain.record.updateFrequency.fortnightly": "I dati vengono aggiornati ogni due settimane",
|
|
21162
|
+
"domain.record.updateFrequency.irregular": "I dati vengono aggiornati a intervalli irregolari",
|
|
21163
|
+
"domain.record.updateFrequency.month": "{count, plural, =0{0 volte} one{Una volta} other{{count} volte}} al mese",
|
|
21164
|
+
"domain.record.updateFrequency.monthly": "I dati vengono aggiornati ogni mese",
|
|
21165
|
+
"domain.record.updateFrequency.notPlanned": "Non ci sono piani per aggiornare i dati",
|
|
21166
|
+
"domain.record.updateFrequency.periodic": "I dati vengono aggiornati a intervalli regolari",
|
|
21167
|
+
"domain.record.updateFrequency.quarterly": "I dati vengono aggiornati ogni tre mesi",
|
|
21168
|
+
"domain.record.updateFrequency.semimonthly": "I dati vengono aggiornati due volte al mese",
|
|
21169
|
+
"domain.record.updateFrequency.unknown": "La frequenza di aggiornamento dei dati è sconosciuta",
|
|
21170
|
+
"domain.record.updateFrequency.week": "{count, plural, =0{0 volte} one{Una volta} other{{count} volte}} a settimana",
|
|
21171
|
+
"domain.record.updateFrequency.weekly": "I dati vengono aggiornati settimanalmente",
|
|
21172
|
+
"domain.record.updateFrequency.year": "{count, plural, =0{0 volte} one{Una volta} other{{count} volte}} all'anno",
|
|
21015
21173
|
"downloads.format.unknown": "sconosciuto",
|
|
21016
21174
|
"downloads.wfs.featuretype.not.found": "Il layer non è stato trovato",
|
|
21017
21175
|
dropFile: dropFile$2,
|
|
21018
|
-
"editor.form.keywords.placeholder": "",
|
|
21019
|
-
"editor.form.placeKeywordWithoutExtent": "",
|
|
21020
|
-
"editor.record.delete.confirmation.cancelText": "",
|
|
21021
|
-
"editor.record.delete.confirmation.confirmText": "",
|
|
21022
|
-
"editor.record.delete.confirmation.message": "",
|
|
21023
|
-
"editor.record.delete.confirmation.title": "",
|
|
21024
|
-
"editor.record.deleteError.body": "",
|
|
21025
|
-
"editor.record.deleteError.closeMessage": "",
|
|
21026
|
-
"editor.record.deleteError.title": "",
|
|
21027
|
-
"editor.record.deleteSuccess.body": "",
|
|
21028
|
-
"editor.record.deleteSuccess.title": "",
|
|
21029
|
-
"editor.record.form.bottomButtons.comeBackLater": "",
|
|
21030
|
-
"editor.record.form.bottomButtons.next": "",
|
|
21031
|
-
"editor.record.form.bottomButtons.previous": "",
|
|
21032
|
-
"editor.record.form.classification.opendata": "",
|
|
21033
|
-
"editor.record.form.constraint.add.legalConstraints": "",
|
|
21034
|
-
"editor.record.form.constraint.add.otherConstraints": "",
|
|
21035
|
-
"editor.record.form.constraint.add.securityConstraints": "",
|
|
21036
|
-
"editor.record.form.constraint.header.legalConstraints": "",
|
|
21037
|
-
"editor.record.form.constraint.header.otherConstraints": "",
|
|
21038
|
-
"editor.record.form.constraint.header.securityConstraints": "",
|
|
21039
|
-
"editor.record.form.constraint.legalConstraints": "",
|
|
21040
|
-
"editor.record.form.constraint.markdown.placeholder": "",
|
|
21041
|
-
"editor.record.form.constraint.not.applicable": "",
|
|
21042
|
-
"editor.record.form.constraint.not.known": "",
|
|
21043
|
-
"editor.record.form.constraint.otherConstraints": "",
|
|
21044
|
-
"editor.record.form.constraint.securityConstraints": "",
|
|
21045
|
-
"editor.record.form.draft.updateAlert": "",
|
|
21046
|
-
"editor.record.form.field.abstract": "",
|
|
21176
|
+
"editor.form.keywords.placeholder": "Seleziona una parola chiave",
|
|
21177
|
+
"editor.form.placeKeywordWithoutExtent": "Questa parola chiave non ha una posizione geografica associata",
|
|
21178
|
+
"editor.record.delete.confirmation.cancelText": "Annulla",
|
|
21179
|
+
"editor.record.delete.confirmation.confirmText": "Elimina",
|
|
21180
|
+
"editor.record.delete.confirmation.message": "E sicuro di voler eliminare questo dataset?",
|
|
21181
|
+
"editor.record.delete.confirmation.title": "Eliminare il dataset?",
|
|
21182
|
+
"editor.record.deleteError.body": "Impossibile eliminare il dataset:",
|
|
21183
|
+
"editor.record.deleteError.closeMessage": "Capito",
|
|
21184
|
+
"editor.record.deleteError.title": "Errore durante l'eliminazione",
|
|
21185
|
+
"editor.record.deleteSuccess.body": "Il dataset è stato eliminato correttamente",
|
|
21186
|
+
"editor.record.deleteSuccess.title": "Eliminazione riuscita",
|
|
21187
|
+
"editor.record.form.bottomButtons.comeBackLater": "Ritorna più tardi",
|
|
21188
|
+
"editor.record.form.bottomButtons.next": "Avanti",
|
|
21189
|
+
"editor.record.form.bottomButtons.previous": "Precedente",
|
|
21190
|
+
"editor.record.form.classification.opendata": "Dati aperti",
|
|
21191
|
+
"editor.record.form.constraint.add.legalConstraints": "Aggiungi un vincolo legale",
|
|
21192
|
+
"editor.record.form.constraint.add.otherConstraints": "Aggiungi un vincolo",
|
|
21193
|
+
"editor.record.form.constraint.add.securityConstraints": "Aggiungi un vincolo di sicurezza",
|
|
21194
|
+
"editor.record.form.constraint.header.legalConstraints": "Condizioni applicabili al tipo legale",
|
|
21195
|
+
"editor.record.form.constraint.header.otherConstraints": "Altre condizioni applicabili",
|
|
21196
|
+
"editor.record.form.constraint.header.securityConstraints": "Condizioni di tipo di sicurezza applicabili",
|
|
21197
|
+
"editor.record.form.constraint.legalConstraints": "Vincoli legali",
|
|
21198
|
+
"editor.record.form.constraint.markdown.placeholder": "Il suo testo qui",
|
|
21199
|
+
"editor.record.form.constraint.not.applicable": "Non si applicano condizioni.",
|
|
21200
|
+
"editor.record.form.constraint.not.known": "Le condizioni sono sconosciute.",
|
|
21201
|
+
"editor.record.form.constraint.otherConstraints": "Altri vincoli",
|
|
21202
|
+
"editor.record.form.constraint.securityConstraints": "Vincoli di sicurezza",
|
|
21203
|
+
"editor.record.form.draft.updateAlert": "Da quando è stata creata questa bozza, questo dataset è stato modificato il { date } da { user }. La pubblicazione della sua versione potrebbe rimuovere le loro modifiche. Per evitarlo, puoi annullare le sue modifiche o pubblicare la sua versione consapevolmente.",
|
|
21204
|
+
"editor.record.form.field.abstract": "Riassunto",
|
|
21047
21205
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
21048
|
-
"editor.record.form.field.contacts.noContact": "",
|
|
21049
|
-
"editor.record.form.field.contactsForResource.noContact": "",
|
|
21050
|
-
"editor.record.form.field.
|
|
21051
|
-
"editor.record.form.field.
|
|
21052
|
-
"editor.record.form.field.legalConstraints": "",
|
|
21206
|
+
"editor.record.form.field.contacts.noContact": "Inserisci almeno un punto di contatto.",
|
|
21207
|
+
"editor.record.form.field.contactsForResource.noContact": "Inserisci almeno un punto di contatto responsabile dei dati.",
|
|
21208
|
+
"editor.record.form.field.keywords": "Parole chiave",
|
|
21209
|
+
"editor.record.form.field.legalConstraints": "Vincolo legale",
|
|
21053
21210
|
"editor.record.form.field.license": "Licenza",
|
|
21054
|
-
"editor.record.form.field.
|
|
21055
|
-
"editor.record.form.field.onlineResource.
|
|
21056
|
-
"editor.record.form.field.onlineResource.
|
|
21057
|
-
"editor.record.form.field.
|
|
21058
|
-
"editor.record.form.field.
|
|
21059
|
-
"editor.record.form.field.onlineResource.
|
|
21060
|
-
"editor.record.form.field.onlineResource.
|
|
21061
|
-
"editor.record.form.field.onlineResource.
|
|
21062
|
-
"editor.record.form.field.onlineResource.
|
|
21063
|
-
"editor.record.form.field.onlineResource.
|
|
21064
|
-
"editor.record.form.field.onlineResource.
|
|
21065
|
-
"editor.record.form.field.
|
|
21066
|
-
"editor.record.form.field.
|
|
21067
|
-
"editor.record.form.field.
|
|
21068
|
-
"editor.record.form.field.
|
|
21069
|
-
"editor.record.form.field.
|
|
21070
|
-
"editor.record.form.field.
|
|
21071
|
-
"editor.record.form.field.
|
|
21072
|
-
"editor.record.form.field.
|
|
21073
|
-
"editor.record.form.field.
|
|
21074
|
-
"editor.record.form.field.
|
|
21075
|
-
"editor.record.form.field.
|
|
21076
|
-
"editor.record.form.field.
|
|
21077
|
-
"editor.record.form.field.
|
|
21211
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Nome del livello",
|
|
21212
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Nome del processo",
|
|
21213
|
+
"editor.record.form.field.onlineResource.edit.identifier.submit": "Collegare il servizio",
|
|
21214
|
+
"editor.record.form.field.title.placeholder": "Inserisci un titolo",
|
|
21215
|
+
"editor.record.form.field.onlineLinkResources": "Risorse allegate",
|
|
21216
|
+
"editor.record.form.field.onlineResource.cancel": "Annulla",
|
|
21217
|
+
"editor.record.form.field.onlineResource.confirm": "Convalida",
|
|
21218
|
+
"editor.record.form.field.onlineResource.dialogTitle": "Modifica anteprima dataset",
|
|
21219
|
+
"editor.record.form.field.onlineResource.edit.description": "Descrizione",
|
|
21220
|
+
"editor.record.form.field.onlineResource.edit.protocol": "Protocollo",
|
|
21221
|
+
"editor.record.form.field.onlineResource.edit.title": "Titolo",
|
|
21222
|
+
"editor.record.form.field.onlineResource.fileSize": "{sizeMB} MB",
|
|
21223
|
+
"editor.record.form.field.onlineResource.modify": "Modifica",
|
|
21224
|
+
"editor.record.form.field.onlineResource.toggle.dataset": "Collega un file",
|
|
21225
|
+
"editor.record.form.field.onlineResource.toggle.service": "Collega un servizio",
|
|
21226
|
+
"editor.record.form.field.onlineResources": "Distribuzione",
|
|
21227
|
+
"editor.record.form.field.otherConstraints": "Vincolo generale",
|
|
21228
|
+
"editor.record.form.field.overviews": "Panoramiche",
|
|
21229
|
+
"editor.record.form.field.recordUpdated": "Data di aggiornamento",
|
|
21230
|
+
"editor.record.form.field.resourceCreated": "Data di creazione",
|
|
21231
|
+
"editor.record.form.field.resourceIdentifier": "Identificatore",
|
|
21232
|
+
"editor.record.form.field.resourceUpdated": "Data di aggiornamento",
|
|
21233
|
+
"editor.record.form.field.securityConstraints": "Vincolo di sicurezza",
|
|
21234
|
+
"editor.record.form.field.spatialExtents": "Estensioni spaziali",
|
|
21235
|
+
"editor.record.form.field.temporalExtents": "Estensioni temporali",
|
|
21236
|
+
"editor.record.form.field.title": "Titolo",
|
|
21237
|
+
"editor.record.form.field.uniqueIdentifier": "Identificatore univoco",
|
|
21238
|
+
"editor.record.form.field.updateFrequency": "Frequenza di aggiornamento",
|
|
21078
21239
|
"editor.record.form.license.cc-by": "",
|
|
21079
21240
|
"editor.record.form.license.cc-by-sa": "",
|
|
21080
21241
|
"editor.record.form.license.cc-zero": "",
|
|
21081
|
-
"editor.record.form.license.etalab": "",
|
|
21082
|
-
"editor.record.form.license.etalab-v2": "",
|
|
21242
|
+
"editor.record.form.license.etalab": "Licenza aperta (Etalab)",
|
|
21243
|
+
"editor.record.form.license.etalab-v2": "Licenza aperta v2.0 (Etalab)",
|
|
21083
21244
|
"editor.record.form.license.odbl": "",
|
|
21084
21245
|
"editor.record.form.license.odc-by": "",
|
|
21085
21246
|
"editor.record.form.license.pddl": "",
|
|
21086
21247
|
"editor.record.form.license.unknown": "",
|
|
21087
|
-
"editor.record.form.page.accessAndContact": "",
|
|
21088
|
-
"editor.record.form.page.description": "",
|
|
21089
|
-
"editor.record.form.page.
|
|
21090
|
-
"editor.record.form.section.about.description": "",
|
|
21091
|
-
"editor.record.form.section.about.label": "",
|
|
21092
|
-
"editor.record.form.section.annexes.description": "",
|
|
21093
|
-
"editor.record.form.section.annexes.label": "",
|
|
21094
|
-
"editor.record.form.section.associatedResources.description": "",
|
|
21095
|
-
"editor.record.form.section.associatedResources.label": "",
|
|
21096
|
-
"editor.record.form.section.classification.description": "",
|
|
21097
|
-
"editor.record.form.section.classification.label": "",
|
|
21098
|
-
"editor.record.form.section.dataManagers.description": "",
|
|
21099
|
-
"editor.record.form.section.dataManagers.label": "",
|
|
21100
|
-
"editor.record.form.section.geographicalCoverage.label": "",
|
|
21101
|
-
"editor.record.form.section.metadataPointOfContact.description": "",
|
|
21102
|
-
"editor.record.form.section.metadataPointOfContact.label": "",
|
|
21103
|
-
"editor.record.form.section.useAndAccessConditions.label": "",
|
|
21104
|
-
"editor.record.form.temporalExtents.addDate": "",
|
|
21105
|
-
"editor.record.form.temporalExtents.addRange": "",
|
|
21106
|
-
"editor.record.form.temporalExtents.date": "",
|
|
21107
|
-
"editor.record.form.temporalExtents.range": "",
|
|
21108
|
-
"editor.record.form.updateFrequency.planned": "",
|
|
21109
|
-
"editor.record.importFromExternalFile.failure.body": "",
|
|
21110
|
-
"editor.record.importFromExternalFile.failure.title": "",
|
|
21111
|
-
"editor.record.importFromExternalFile.success.body": "",
|
|
21112
|
-
"editor.record.importFromExternalFile.success.title": "",
|
|
21113
|
-
"editor.record.loadError.body": "",
|
|
21114
|
-
"editor.record.loadError.closeMessage": "",
|
|
21115
|
-
"editor.record.loadError.title": "",
|
|
21116
|
-
"editor.record.onlineResource.protocol.other": "",
|
|
21117
|
-
"editor.record.onlineResourceError.body": "",
|
|
21118
|
-
"editor.record.onlineResourceError.closeMessage": "",
|
|
21119
|
-
"editor.record.onlineResourceError.title": "",
|
|
21120
|
-
"editor.record.placeKeywordWithoutLabel": "",
|
|
21121
|
-
"editor.record.publish": "",
|
|
21122
|
-
"editor.record.publish.confirmation.cancelText": "",
|
|
21123
|
-
"editor.record.publish.confirmation.confirmText": "",
|
|
21124
|
-
"editor.record.publish.confirmation.message": "",
|
|
21125
|
-
"editor.record.publishError.body": "",
|
|
21126
|
-
"editor.record.publishError.closeMessage": "",
|
|
21127
|
-
"editor.record.publishError.title": "",
|
|
21128
|
-
"editor.record.publishSuccess.body": "",
|
|
21129
|
-
"editor.record.publishSuccess.title": "",
|
|
21130
|
-
"editor.record.publishVersionError.body": "",
|
|
21131
|
-
"editor.record.publishVersionError.closeMessage": "",
|
|
21132
|
-
"editor.record.publishVersionError.title": "",
|
|
21133
|
-
"editor.record.resourceError.body": "",
|
|
21134
|
-
"editor.record.resourceError.closeMessage": "",
|
|
21135
|
-
"editor.record.resourceError.title": "",
|
|
21136
|
-
"editor.record.saveStatus.
|
|
21137
|
-
"editor.record.saveStatus.
|
|
21138
|
-
"editor.record.saveStatus.recordUpToDate": "",
|
|
21139
|
-
"editor.record.undo.confirmation.cancelText": "",
|
|
21140
|
-
"editor.record.undo.confirmation.confirmText": "",
|
|
21141
|
-
"editor.record.undo.confirmation.message": "",
|
|
21142
|
-
"editor.record.undo.confirmation.title": "",
|
|
21143
|
-
"editor.record.undo.tooltip.disabled": "",
|
|
21144
|
-
"editor.record.undo.tooltip.enabled": "",
|
|
21145
|
-
"editor.record.upToDate": "",
|
|
21146
|
-
"editor.sidebar.logout": "",
|
|
21248
|
+
"editor.record.form.page.accessAndContact": "Informazioni per l'uso",
|
|
21249
|
+
"editor.record.form.page.description": "Descrizione del dataset",
|
|
21250
|
+
"editor.record.form.page.resources": "Risorse",
|
|
21251
|
+
"editor.record.form.section.about.description": "Queste informazioni riguardano il dataset.",
|
|
21252
|
+
"editor.record.form.section.about.label": "Informazioni sul dataset",
|
|
21253
|
+
"editor.record.form.section.annexes.description": "Gli allegati sono risorse facoltative. Sono allegati al dataset e aiutano a comprendere meglio i dati (avviso, ecc.).",
|
|
21254
|
+
"editor.record.form.section.annexes.label": "Allegati",
|
|
21255
|
+
"editor.record.form.section.associatedResources.description": "Indica dove si trovano i dati.",
|
|
21256
|
+
"editor.record.form.section.associatedResources.label": "Risorse associate",
|
|
21257
|
+
"editor.record.form.section.classification.description": "Parole chiave appropriate aiutano a trovare il dataset.",
|
|
21258
|
+
"editor.record.form.section.classification.label": "Parole chiave",
|
|
21259
|
+
"editor.record.form.section.dataManagers.description": "Queste informazioni riguardano i dati.",
|
|
21260
|
+
"editor.record.form.section.dataManagers.label": "Gestori dei dati",
|
|
21261
|
+
"editor.record.form.section.geographicalCoverage.label": "Copertura geografica",
|
|
21262
|
+
"editor.record.form.section.metadataPointOfContact.description": "Queste informazioni riguardano i metadati.",
|
|
21263
|
+
"editor.record.form.section.metadataPointOfContact.label": "Punto di contatto dei metadati",
|
|
21264
|
+
"editor.record.form.section.useAndAccessConditions.label": "Condizioni di accesso e utilizzo",
|
|
21265
|
+
"editor.record.form.temporalExtents.addDate": "Data specificata",
|
|
21266
|
+
"editor.record.form.temporalExtents.addRange": "Periodo di tempo",
|
|
21267
|
+
"editor.record.form.temporalExtents.date": "Data rilevante",
|
|
21268
|
+
"editor.record.form.temporalExtents.range": "Periodo interessato",
|
|
21269
|
+
"editor.record.form.updateFrequency.planned": "Questi dati dovrebbero essere aggiornati regolarmente.",
|
|
21270
|
+
"editor.record.importFromExternalFile.failure.body": "Ha successo un'errore durante l'importazione del dataset: ",
|
|
21271
|
+
"editor.record.importFromExternalFile.failure.title": "Errore",
|
|
21272
|
+
"editor.record.importFromExternalFile.success.body": "L'importazione del dataset è riuscita.",
|
|
21273
|
+
"editor.record.importFromExternalFile.success.title": "Importazione riuscita",
|
|
21274
|
+
"editor.record.loadError.body": "Impossibile caricare il dataset:",
|
|
21275
|
+
"editor.record.loadError.closeMessage": "Capito",
|
|
21276
|
+
"editor.record.loadError.title": "Errore durante il caricamento",
|
|
21277
|
+
"editor.record.onlineResource.protocol.other": "Altro",
|
|
21278
|
+
"editor.record.onlineResourceError.body": "Ha successo un'errore durante l'aggiunta della risorsa:",
|
|
21279
|
+
"editor.record.onlineResourceError.closeMessage": "Capito",
|
|
21280
|
+
"editor.record.onlineResourceError.title": "Errore durante l'aggiunta della risorsa",
|
|
21281
|
+
"editor.record.placeKeywordWithoutLabel": "Posizione senza nome",
|
|
21282
|
+
"editor.record.publish": "Pubblica questo dataset",
|
|
21283
|
+
"editor.record.publish.confirmation.cancelText": "Annulla",
|
|
21284
|
+
"editor.record.publish.confirmation.confirmText": "Pubblica",
|
|
21285
|
+
"editor.record.publish.confirmation.message": "Dato che la sua bozza è stata creata, questo dataset è stato modificato il { date } da { user }. La pubblicazione della sua versione potrebbe rimuovere le loro modifiche. Vuole procedere?",
|
|
21286
|
+
"editor.record.publishError.body": "Il dataset non può essere pubblicato:",
|
|
21287
|
+
"editor.record.publishError.closeMessage": "Capito",
|
|
21288
|
+
"editor.record.publishError.title": "Errore durante la pubblicazione",
|
|
21289
|
+
"editor.record.publishSuccess.body": "Il dataset è stato pubblicato con successo",
|
|
21290
|
+
"editor.record.publishSuccess.title": "Pubblicazione riuscita",
|
|
21291
|
+
"editor.record.publishVersionError.body": "Il dataset non può essere pubblicato perché è stata rilevata una versione incompatibile di GeoNetwork. Contattare un amministratore della piattaforma per risolvere il problema.\nVersione corrente: {currentVersion}\nVersione minima compatibile: 4.2.5",
|
|
21292
|
+
"editor.record.publishVersionError.closeMessage": "Capito",
|
|
21293
|
+
"editor.record.publishVersionError.title": "Ha successo un errore critico",
|
|
21294
|
+
"editor.record.resourceError.body": "Ha successo un errore durante la gestione degli allegati:",
|
|
21295
|
+
"editor.record.resourceError.closeMessage": "Capito",
|
|
21296
|
+
"editor.record.resourceError.title": "Errore con gli allegati",
|
|
21297
|
+
"editor.record.saveStatus.draftWithChangesPending": "Salvato - Modifiche non pubblicate",
|
|
21298
|
+
"editor.record.saveStatus.recordNotPublished": "",
|
|
21299
|
+
"editor.record.saveStatus.recordUpToDate": "Salvato - Dataset aggiornato",
|
|
21300
|
+
"editor.record.undo.confirmation.cancelText": "Mantieni le modifiche",
|
|
21301
|
+
"editor.record.undo.confirmation.confirmText": "Annulla le modifiche",
|
|
21302
|
+
"editor.record.undo.confirmation.message": "E sicuro di voler annullare le modifiche apportate a questo dataset?",
|
|
21303
|
+
"editor.record.undo.confirmation.title": "Annullare le modifiche?",
|
|
21304
|
+
"editor.record.undo.tooltip.disabled": "Non ci sono modifiche in sospeso su questo dataset",
|
|
21305
|
+
"editor.record.undo.tooltip.enabled": "Fare clic su questo pulsante per annullare le modifiche apportate a questo dataset",
|
|
21306
|
+
"editor.record.upToDate": "Questo dataset è aggiornato",
|
|
21307
|
+
"editor.sidebar.logout": "Esci",
|
|
21147
21308
|
"editor.sidebar.menu.editor": "",
|
|
21148
|
-
"editor.temporary.disabled": "",
|
|
21309
|
+
"editor.temporary.disabled": "Non ancora implementato",
|
|
21149
21310
|
"externalviewer.dataset.unnamed": "Layer del datahub",
|
|
21150
21311
|
"facets.block.title.OrgForResource": "Organizzazione",
|
|
21151
21312
|
"facets.block.title.availableInServices": "Disponibile per",
|
|
@@ -21159,21 +21320,21 @@ var it = {
|
|
|
21159
21320
|
"facets.block.title.tag.default": "Tag",
|
|
21160
21321
|
"facets.block.title.th_regions_tree.default": "Regioni",
|
|
21161
21322
|
"favorite.not.authenticated.tooltip": "<div><a href=' {link} '>Login</a> per accedere a questa funzionalità</div>",
|
|
21162
|
-
"input.file.dropFileLabel": "",
|
|
21163
|
-
"input.file.orInputUrl": "",
|
|
21164
|
-
"input.file.selectFileLabel": "",
|
|
21165
|
-
"input.file.uploadProgressCancel": "",
|
|
21166
|
-
"input.file.uploadProgressLabel": "",
|
|
21167
|
-
"input.image.altTextPlaceholder": "",
|
|
21168
|
-
"input.image.delete": "",
|
|
21169
|
-
"input.image.displayAltTextInput": "",
|
|
21170
|
-
"input.image.displayUrlInput": "",
|
|
21171
|
-
"input.image.dropFileLabel": "",
|
|
21172
|
-
"input.image.selectFileLabel": "",
|
|
21173
|
-
"input.image.uploadErrorLabel": "",
|
|
21174
|
-
"input.image.uploadErrorRetry": "",
|
|
21175
|
-
"input.image.uploadProgressCancel": "",
|
|
21176
|
-
"input.image.uploadProgressLabel": "",
|
|
21323
|
+
"input.file.dropFileLabel": "oppure trascinalo qui",
|
|
21324
|
+
"input.file.orInputUrl": "o collegamento a una risorsa esterna",
|
|
21325
|
+
"input.file.selectFileLabel": "Seleziona un file ({sizeMB} MB max.)",
|
|
21326
|
+
"input.file.uploadProgressCancel": "Annulla",
|
|
21327
|
+
"input.file.uploadProgressLabel": "Caricamento...",
|
|
21328
|
+
"input.image.altTextPlaceholder": "Testo alternativo dell'immagine",
|
|
21329
|
+
"input.image.delete": "Elimina",
|
|
21330
|
+
"input.image.displayAltTextInput": "Testo alternativo",
|
|
21331
|
+
"input.image.displayUrlInput": "Inserisci un URL",
|
|
21332
|
+
"input.image.dropFileLabel": "oppure trascinalo qui",
|
|
21333
|
+
"input.image.selectFileLabel": "Seleziona un'immagine",
|
|
21334
|
+
"input.image.uploadErrorLabel": "Impossibile caricare l'immagine",
|
|
21335
|
+
"input.image.uploadErrorRetry": "Riprova",
|
|
21336
|
+
"input.image.uploadProgressCancel": "Annulla",
|
|
21337
|
+
"input.image.uploadProgressLabel": "Caricamento...",
|
|
21177
21338
|
"language.ca": "Catalano",
|
|
21178
21339
|
"language.cs": "Ceco",
|
|
21179
21340
|
"language.de": "Tedesco",
|
|
@@ -21196,7 +21357,7 @@ var it = {
|
|
|
21196
21357
|
"map.add.layer.wfs": "Da un WFS",
|
|
21197
21358
|
"map.add.layer.wms": "Da un WMS",
|
|
21198
21359
|
"map.addFromFile.placeholder": "Clicca o trascina un file qui",
|
|
21199
|
-
"map.dropdown.placeholder": "",
|
|
21360
|
+
"map.dropdown.placeholder": "Nessun livello di anteprima disponibile",
|
|
21200
21361
|
"map.geocoding.placeholder": "Cerca un luogo",
|
|
21201
21362
|
"map.help.addFromFile": "Clicca o trascina un file per aggiungerlo alla mappa (attualmente supporta solo il formato GeoJSON)",
|
|
21202
21363
|
"map.layer.add": "Aggiungi",
|
|
@@ -21220,33 +21381,51 @@ var it = {
|
|
|
21220
21381
|
"organisations.sortBy.nameDesc": "Nome Z → A",
|
|
21221
21382
|
"organisations.sortBy.recordCountAsc": "Dati 0 → 9",
|
|
21222
21383
|
"organisations.sortBy.recordCountDesc": "Dati 9 → 0",
|
|
21223
|
-
"organization.details.lastPublishedDatasets": "",
|
|
21224
|
-
"organization.details.lastPublishedDatasets.searchAllButton": "",
|
|
21225
|
-
"organization.details.mailContact": "",
|
|
21384
|
+
"organization.details.lastPublishedDatasets": "Ultimi dataset pubblicati",
|
|
21385
|
+
"organization.details.lastPublishedDatasets.searchAllButton": "Cerca tutto",
|
|
21386
|
+
"organization.details.mailContact": "Contatto via email",
|
|
21226
21387
|
"organization.header.recordCount": "{count, plural, =0{} one{} other{}}",
|
|
21227
21388
|
"pagination.nextPage": "Pagina successiva",
|
|
21228
21389
|
"pagination.page": "pagina",
|
|
21229
21390
|
"pagination.pageOf": "di",
|
|
21230
21391
|
previous: previous$2,
|
|
21231
|
-
"record.action.delete": "",
|
|
21392
|
+
"record.action.delete": "Elimina",
|
|
21232
21393
|
"record.action.download": "Scarica",
|
|
21233
|
-
"record.action.duplicate": "",
|
|
21394
|
+
"record.action.duplicate": "Duplicato",
|
|
21234
21395
|
"record.action.view": "Visualizza",
|
|
21235
|
-
"record.externalViewer.open": "
|
|
21236
|
-
"record.feature.limit": "",
|
|
21396
|
+
"record.externalViewer.open": "Aprire nel visualizzatore esterno",
|
|
21397
|
+
"record.feature.limit": "La risorsa contiene più di {count} funzionalità e non può essere visualizzata qui.",
|
|
21237
21398
|
"record.metadata.about": "Descrizione",
|
|
21238
21399
|
"record.metadata.api": "API",
|
|
21239
|
-
"record.metadata.api.form.closeButton": "
|
|
21240
|
-
"record.metadata.api.form.closeForm": "
|
|
21400
|
+
"record.metadata.api.form.closeButton": "Chiude",
|
|
21401
|
+
"record.metadata.api.form.closeForm": "Chiude il pannello di personalizzazione",
|
|
21241
21402
|
"record.metadata.api.form.create": "Configura la sua richiesta",
|
|
21403
|
+
"record.metadata.api.form.crsTitle": "Sistema di coordinate",
|
|
21404
|
+
"record.metadata.api.form.crsTooltip": "Menu a discesa per selezionare un sistema di coordinate (CRS)",
|
|
21242
21405
|
"record.metadata.api.form.customUrl": "URL personalizzata",
|
|
21406
|
+
"record.metadata.api.form.filter": "Filtri",
|
|
21407
|
+
"record.metadata.api.form.filterDescription": "Sezione per perfezionare gli elementi visualizzati",
|
|
21408
|
+
"record.metadata.api.form.formatTitle": "Formato",
|
|
21409
|
+
"record.metadata.api.form.formatTooltip": "Menu a discesa per selezionare un formato dati",
|
|
21410
|
+
"record.metadata.api.form.items": "Elementi disponibili",
|
|
21411
|
+
"record.metadata.api.form.itemsDescription": "Elenco degli elementi",
|
|
21412
|
+
"record.metadata.api.form.itemsTooltip": "Scorri per vedere tutti gli elementi disponibili o filtrati",
|
|
21243
21413
|
"record.metadata.api.form.limit": "Numero di record",
|
|
21244
21414
|
"record.metadata.api.form.limit.all": "Tutti",
|
|
21245
|
-
"record.metadata.api.form.
|
|
21246
|
-
"record.metadata.api.form.
|
|
21247
|
-
"record.metadata.api.form.
|
|
21248
|
-
"record.metadata.api.form.
|
|
21249
|
-
"record.metadata.api.form.
|
|
21415
|
+
"record.metadata.api.form.nextPage": "Avanti",
|
|
21416
|
+
"record.metadata.api.form.nextPageTooltip": "Va alla pagina successiva",
|
|
21417
|
+
"record.metadata.api.form.offset": "Numero del 1° record",
|
|
21418
|
+
"record.metadata.api.form.openForm": "Aprire il pannello di personalizzazione",
|
|
21419
|
+
"record.metadata.api.form.paginationDescription": "Paginazione degli elementi visualizzati",
|
|
21420
|
+
"record.metadata.api.form.previousPage": "Precedente",
|
|
21421
|
+
"record.metadata.api.form.previousPageTooltip": "Va alla pagina precedente",
|
|
21422
|
+
"record.metadata.api.form.productTooltip": "",
|
|
21423
|
+
"record.metadata.api.form.reset": "Reimposta",
|
|
21424
|
+
"record.metadata.api.form.resetTooltip": "Reimposta tutti i filtri",
|
|
21425
|
+
"record.metadata.api.form.type": "Formato di output",
|
|
21426
|
+
"record.metadata.api.form.zoneTitle": "Zona",
|
|
21427
|
+
"record.metadata.api.form.zoneTooltip": "Menu a discesa per selezionare una zona geografica",
|
|
21428
|
+
"record.metadata.api.gpfdl": "Scarica",
|
|
21250
21429
|
"record.metadata.catalog": "Catalogo",
|
|
21251
21430
|
"record.metadata.contact": "Contatto",
|
|
21252
21431
|
"record.metadata.creation": "Data di creazione",
|
|
@@ -21285,8 +21464,8 @@ var it = {
|
|
|
21285
21464
|
"record.metadata.related": "Vedi anche",
|
|
21286
21465
|
"record.metadata.sheet": "Origine del metadata",
|
|
21287
21466
|
"record.metadata.status": "Stato",
|
|
21288
|
-
"record.metadata.status.notPublished": "",
|
|
21289
|
-
"record.metadata.status.published": "",
|
|
21467
|
+
"record.metadata.status.notPublished": "Non pubblicato",
|
|
21468
|
+
"record.metadata.status.published": "Pubblicato",
|
|
21290
21469
|
"record.metadata.technical": "Informazioni tecniche",
|
|
21291
21470
|
"record.metadata.temporalExtent": "Periodo di tempo",
|
|
21292
21471
|
"record.metadata.temporalExtent.fromDateToDate": "Da {start} a {end}",
|
|
@@ -21299,19 +21478,18 @@ var it = {
|
|
|
21299
21478
|
"record.metadata.updateFrequency": "Frequenza di aggiornamento dei dati",
|
|
21300
21479
|
"record.metadata.updatedOn": "Modificato il",
|
|
21301
21480
|
"record.metadata.usage": "Licenze e limiti di utilizzo",
|
|
21302
|
-
"record.metadata.userFeedbacks": "",
|
|
21303
|
-
"record.metadata.userFeedbacks.anonymousUser": "",
|
|
21304
|
-
"record.metadata.userFeedbacks.newAnswer.buttonTitle": "",
|
|
21305
|
-
"record.metadata.userFeedbacks.newAnswer.placeholder": "",
|
|
21306
|
-
"record.metadata.userFeedbacks.newComment.placeholder": "",
|
|
21307
|
-
"record.metadata.userFeedbacks.sortSelector.choices.newestFirst": "",
|
|
21308
|
-
"record.metadata.userFeedbacks.sortSelector.choices.oldestFirst": "",
|
|
21309
|
-
"record.metadata.userFeedbacks.sortSelector.label": "",
|
|
21481
|
+
"record.metadata.userFeedbacks": "Domande / Risposte",
|
|
21482
|
+
"record.metadata.userFeedbacks.anonymousUser": "Per pubblicare un commento, effettua il login.",
|
|
21483
|
+
"record.metadata.userFeedbacks.newAnswer.buttonTitle": "Pubblica",
|
|
21484
|
+
"record.metadata.userFeedbacks.newAnswer.placeholder": "Risponde...",
|
|
21485
|
+
"record.metadata.userFeedbacks.newComment.placeholder": "Scrive qui il suo commento...",
|
|
21486
|
+
"record.metadata.userFeedbacks.sortSelector.choices.newestFirst": "Prima i più recenti",
|
|
21487
|
+
"record.metadata.userFeedbacks.sortSelector.choices.oldestFirst": "Prima il più vecchio",
|
|
21488
|
+
"record.metadata.userFeedbacks.sortSelector.label": "Ordina per ...",
|
|
21310
21489
|
"record.more.details": "Dettagli",
|
|
21311
21490
|
"record.tab.chart": "Grafico",
|
|
21312
21491
|
"record.tab.data": "Tabella",
|
|
21313
21492
|
"record.tab.map": "Mappa",
|
|
21314
|
-
"record.was.created.time": "ha creato questi dati {time}",
|
|
21315
21493
|
records: records$2,
|
|
21316
21494
|
"results.layout.selectOne": "Mostra risultati",
|
|
21317
21495
|
"results.records.hits.displayedOn": "{displayed, plural, =0{Nessun record} one{1 record visualizzato} other{{displayed} records visualizzati}} {hits, plural, other{su {hits} in totale.}}",
|
|
@@ -21319,21 +21497,21 @@ var it = {
|
|
|
21319
21497
|
"results.records.hits.found": "{hits, plural, =0{Nessuna corrispondenza.} one{1 record trovato.} other{{hits} risultati.}}",
|
|
21320
21498
|
"results.records.hits.selected": "{amount, plural, one{1 selezionato} other{{ amount } selezionati}}",
|
|
21321
21499
|
"results.showMore": "Altri risultati...",
|
|
21322
|
-
"results.sortBy.changeDate": "",
|
|
21500
|
+
"results.sortBy.changeDate": "Ultima modifica",
|
|
21323
21501
|
"results.sortBy.dateStamp": "Più recente",
|
|
21324
21502
|
"results.sortBy.popularity": "Popolarità",
|
|
21325
21503
|
"results.sortBy.qualityScore": "Indicatore di qualità",
|
|
21326
21504
|
"results.sortBy.relevancy": "Rilevanza",
|
|
21327
21505
|
"search.autocomplete.error": "Impossibile recuperare le suggerimenti",
|
|
21328
21506
|
"search.error.couldNotReachApi": "Problema di connessione all'API",
|
|
21329
|
-
"search.error.organizationHasNoDataset": "",
|
|
21330
|
-
"search.error.organizationNotFound": "",
|
|
21331
|
-
"search.error.receivedError": "Errore
|
|
21332
|
-
"search.error.recordHasnolink": "",
|
|
21333
|
-
"search.error.recordNotFound": "Impossibile trovare
|
|
21334
|
-
"search.field.any.placeholder": "Cerca un
|
|
21507
|
+
"search.error.organizationHasNoDataset": "Questa organizzazione non ha ancora dati.",
|
|
21508
|
+
"search.error.organizationNotFound": "Impossibile trovare l'organizzazione.",
|
|
21509
|
+
"search.error.receivedError": "Errore restituito",
|
|
21510
|
+
"search.error.recordHasnolink": "Questo dataset non ha ancora alcun collegamento, riprova più tardi.",
|
|
21511
|
+
"search.error.recordNotFound": "Impossibile trovare questi dati.",
|
|
21512
|
+
"search.field.any.placeholder": "Cerca un dataset...",
|
|
21335
21513
|
"search.field.sortBy": "Ordina per:",
|
|
21336
|
-
"search.filters.changeDate": "",
|
|
21514
|
+
"search.filters.changeDate": "Aggiornato",
|
|
21337
21515
|
"search.filters.clear": "Ripristina",
|
|
21338
21516
|
"search.filters.contact": "Contatti",
|
|
21339
21517
|
"search.filters.format": "Formati",
|
|
@@ -21356,21 +21534,21 @@ var it = {
|
|
|
21356
21534
|
"search.filters.minimize": "Riduci",
|
|
21357
21535
|
"search.filters.myRecords": "Visualizza i miei dati",
|
|
21358
21536
|
"search.filters.myRecordsHelp": "Quando attivato, mostra solo i dati creati con il mio utente. I dati creati da altri utenti non sono visualizzati.",
|
|
21359
|
-
"search.filters.organization": "",
|
|
21360
|
-
"search.filters.otherRecords": "Visualizzazione dei
|
|
21361
|
-
"search.filters.producerOrg": "",
|
|
21537
|
+
"search.filters.organization": "Organizzazione",
|
|
21538
|
+
"search.filters.otherRecords": "Visualizzazione dei dataset di un altro utente",
|
|
21539
|
+
"search.filters.producerOrg": "Produttore",
|
|
21362
21540
|
"search.filters.publicationYear": "Anno di pubblicazione",
|
|
21363
|
-
"search.filters.publisherOrg": "",
|
|
21541
|
+
"search.filters.publisherOrg": "Distributore",
|
|
21364
21542
|
"search.filters.representationType": "Tipo di rappresentazione",
|
|
21365
21543
|
"search.filters.resourceType": "Tipo di risorsa",
|
|
21366
21544
|
"search.filters.standard": "Standard",
|
|
21367
|
-
"search.filters.summaryLabel.changeDate": "",
|
|
21368
|
-
"search.filters.summaryLabel.user": "",
|
|
21545
|
+
"search.filters.summaryLabel.changeDate": "Aggiornato: ",
|
|
21546
|
+
"search.filters.summaryLabel.user": "Editor: ",
|
|
21369
21547
|
"search.filters.title": "Affina la sua ricerca",
|
|
21370
21548
|
"search.filters.topic": "Argomenti",
|
|
21371
21549
|
"search.filters.useSpatialFilter": "Evidenzia i risultati nell'area di interesse",
|
|
21372
21550
|
"search.filters.useSpatialFilterHelp": "Se attivata, le schede relative all'area di interesse del catalogo saranno mostrate per prime; le schede al di fuori di questa area non appariranno nei risultati.",
|
|
21373
|
-
"search.filters.user": "",
|
|
21551
|
+
"search.filters.user": "Editore",
|
|
21374
21552
|
"share.tab.permalink": "Condividere",
|
|
21375
21553
|
"share.tab.webComponent": "Incorporare",
|
|
21376
21554
|
"table.loading.data": "Caricamento dei dati...",
|
|
@@ -21381,8 +21559,8 @@ var it = {
|
|
|
21381
21559
|
"tooltip.url.copy": "Copiare l'URL",
|
|
21382
21560
|
"tooltip.url.open": "Aprire l'URL",
|
|
21383
21561
|
"ui.readLess": "Ridurre",
|
|
21384
|
-
"ui.readMore": "
|
|
21385
|
-
"wfs.feature.limit": "",
|
|
21562
|
+
"ui.readMore": "Leggere di più",
|
|
21563
|
+
"wfs.feature.limit": "Troppi oggetti per visualizzare il WFS layer!",
|
|
21386
21564
|
"wfs.featuretype.notfound": "La classe di oggetto non è stata trovata nel servizio",
|
|
21387
21565
|
"wfs.geojsongml.notsupported": "Il servizio non supporta il formato GeoJSON o GML",
|
|
21388
21566
|
"wfs.unreachable.cors": "Il servizio non è accessibile a causa di limitazioni CORS",
|
|
@@ -21535,6 +21713,7 @@ var nl = {
|
|
|
21535
21713
|
"datahub.search.back": "",
|
|
21536
21714
|
"datahub.search.filter.all": "",
|
|
21537
21715
|
"datahub.search.filter.generatedByAPI": "",
|
|
21716
|
+
"datahub.search.filter.generatedByWfs": "",
|
|
21538
21717
|
"datahub.search.filter.others": "",
|
|
21539
21718
|
"dataset.error.http": "",
|
|
21540
21719
|
"dataset.error.network": "",
|
|
@@ -21567,16 +21746,25 @@ var nl = {
|
|
|
21567
21746
|
"domain.record.status.ongoing": "",
|
|
21568
21747
|
"domain.record.status.removed": "",
|
|
21569
21748
|
"domain.record.status.under_development": "",
|
|
21570
|
-
"domain.record.updateFrequency.
|
|
21571
|
-
"domain.record.updateFrequency.
|
|
21572
|
-
"domain.record.updateFrequency.
|
|
21573
|
-
"domain.record.updateFrequency.
|
|
21574
|
-
"domain.record.updateFrequency.
|
|
21575
|
-
"domain.record.updateFrequency.
|
|
21576
|
-
"domain.record.updateFrequency.
|
|
21577
|
-
"domain.record.updateFrequency.
|
|
21578
|
-
"domain.record.updateFrequency.
|
|
21579
|
-
"domain.record.updateFrequency.
|
|
21749
|
+
"domain.record.updateFrequency.annually": "Gegevens worden elk jaar bijgewerkt",
|
|
21750
|
+
"domain.record.updateFrequency.asNeeded": "Gegevens worden bijgewerkt naar behoefte",
|
|
21751
|
+
"domain.record.updateFrequency.biannually": "Gegevens worden twee keer per jaar bijgewerkt",
|
|
21752
|
+
"domain.record.updateFrequency.biennially": "Gegevens worden elke 2 jaar bijgewerkt",
|
|
21753
|
+
"domain.record.updateFrequency.continual": "Gegevens worden herhaaldelijk en frequent bijgewerkt",
|
|
21754
|
+
"domain.record.updateFrequency.daily": "Gegevens worden elke dag bijgewerkt",
|
|
21755
|
+
"domain.record.updateFrequency.day": "{count, plural, =0{0 keer} one{Een keer} other{{count} keer}} per dag",
|
|
21756
|
+
"domain.record.updateFrequency.fortnightly": "Gegevens worden elke twee weken bijgewerkt",
|
|
21757
|
+
"domain.record.updateFrequency.irregular": "Gegevens worden onregelmatig bijgewerkt",
|
|
21758
|
+
"domain.record.updateFrequency.month": "{count, plural, =0{0 keer} one{Een keer} other{{count} keer}} per maand",
|
|
21759
|
+
"domain.record.updateFrequency.monthly": "Gegevens worden elke maand bijgewerkt",
|
|
21760
|
+
"domain.record.updateFrequency.notPlanned": "Er zijn geen plannen om de gegevens bij te werken",
|
|
21761
|
+
"domain.record.updateFrequency.periodic": "Gegevens worden regelmatig bijgewerkt",
|
|
21762
|
+
"domain.record.updateFrequency.quarterly": "Gegevens worden elke drie maanden bijgewerkt",
|
|
21763
|
+
"domain.record.updateFrequency.semimonthly": "Gegevens worden twee keer per maand bijgewerkt",
|
|
21764
|
+
"domain.record.updateFrequency.unknown": "De frequentie van gegevensonderhoud is onbekend",
|
|
21765
|
+
"domain.record.updateFrequency.week": "{count, plural, =0{0 keer} one{Een keer} other{{count} keer}} per week",
|
|
21766
|
+
"domain.record.updateFrequency.weekly": "Gegevens worden wekelijks bijgewerkt",
|
|
21767
|
+
"domain.record.updateFrequency.year": "{count, plural, =0{0 keer} one{Een keer} other{{count} keer}} per jaar",
|
|
21580
21768
|
"downloads.format.unknown": "",
|
|
21581
21769
|
"downloads.wfs.featuretype.not.found": "",
|
|
21582
21770
|
dropFile: dropFile$1,
|
|
@@ -21612,7 +21800,6 @@ var nl = {
|
|
|
21612
21800
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
21613
21801
|
"editor.record.form.field.contacts.noContact": "",
|
|
21614
21802
|
"editor.record.form.field.contactsForResource.noContact": "",
|
|
21615
|
-
"editor.record.form.field.draft.only.disabled": "",
|
|
21616
21803
|
"editor.record.form.field.keywords": "",
|
|
21617
21804
|
"editor.record.form.field.legalConstraints": "",
|
|
21618
21805
|
"editor.record.form.field.license": "",
|
|
@@ -21622,6 +21809,9 @@ var nl = {
|
|
|
21622
21809
|
"editor.record.form.field.onlineResource.dialogTitle": "",
|
|
21623
21810
|
"editor.record.form.field.onlineResource.edit.description": "",
|
|
21624
21811
|
"editor.record.form.field.onlineResource.edit.protocol": "",
|
|
21812
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Laagnaam",
|
|
21813
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Procesnaam",
|
|
21814
|
+
"editor.record.form.field.onlineResource.edit.identifier.submit": "Link naar de dienst",
|
|
21625
21815
|
"editor.record.form.field.onlineResource.edit.title": "",
|
|
21626
21816
|
"editor.record.form.field.onlineResource.fileSize": "",
|
|
21627
21817
|
"editor.record.form.field.onlineResource.modify": "",
|
|
@@ -21638,6 +21828,7 @@ var nl = {
|
|
|
21638
21828
|
"editor.record.form.field.spatialExtents": "",
|
|
21639
21829
|
"editor.record.form.field.temporalExtents": "",
|
|
21640
21830
|
"editor.record.form.field.title": "",
|
|
21831
|
+
"editor.record.form.field.title.placeholder": "Voer een titel in",
|
|
21641
21832
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
21642
21833
|
"editor.record.form.field.updateFrequency": "",
|
|
21643
21834
|
"editor.record.form.license.cc-by": "",
|
|
@@ -21670,7 +21861,7 @@ var nl = {
|
|
|
21670
21861
|
"editor.record.form.temporalExtents.addRange": "",
|
|
21671
21862
|
"editor.record.form.temporalExtents.date": "",
|
|
21672
21863
|
"editor.record.form.temporalExtents.range": "",
|
|
21673
|
-
"editor.record.form.updateFrequency.planned": "",
|
|
21864
|
+
"editor.record.form.updateFrequency.planned": "Deze dataset wordt regelmatig bijgewerkt.",
|
|
21674
21865
|
"editor.record.importFromExternalFile.failure.body": "",
|
|
21675
21866
|
"editor.record.importFromExternalFile.failure.title": "",
|
|
21676
21867
|
"editor.record.importFromExternalFile.success.body": "",
|
|
@@ -21698,8 +21889,8 @@ var nl = {
|
|
|
21698
21889
|
"editor.record.resourceError.body": "",
|
|
21699
21890
|
"editor.record.resourceError.closeMessage": "",
|
|
21700
21891
|
"editor.record.resourceError.title": "",
|
|
21701
|
-
"editor.record.saveStatus.asDraftOnly": "",
|
|
21702
21892
|
"editor.record.saveStatus.draftWithChangesPending": "",
|
|
21893
|
+
"editor.record.saveStatus.recordNotPublished": "",
|
|
21703
21894
|
"editor.record.saveStatus.recordUpToDate": "",
|
|
21704
21895
|
"editor.record.undo.confirmation.cancelText": "",
|
|
21705
21896
|
"editor.record.undo.confirmation.confirmText": "",
|
|
@@ -21804,14 +21995,32 @@ var nl = {
|
|
|
21804
21995
|
"record.metadata.api.form.closeButton": "",
|
|
21805
21996
|
"record.metadata.api.form.closeForm": "",
|
|
21806
21997
|
"record.metadata.api.form.create": "",
|
|
21998
|
+
"record.metadata.api.form.crsTitle": "",
|
|
21999
|
+
"record.metadata.api.form.crsTooltip": "",
|
|
21807
22000
|
"record.metadata.api.form.customUrl": "",
|
|
22001
|
+
"record.metadata.api.form.filter": "",
|
|
22002
|
+
"record.metadata.api.form.filterDescription": "",
|
|
22003
|
+
"record.metadata.api.form.formatTitle": "",
|
|
22004
|
+
"record.metadata.api.form.formatTooltip": "",
|
|
22005
|
+
"record.metadata.api.form.items": "",
|
|
22006
|
+
"record.metadata.api.form.itemsDescription": "",
|
|
22007
|
+
"record.metadata.api.form.itemsTooltip": "",
|
|
21808
22008
|
"record.metadata.api.form.limit": "",
|
|
21809
22009
|
"record.metadata.api.form.limit.all": "",
|
|
22010
|
+
"record.metadata.api.form.nextPage": "",
|
|
22011
|
+
"record.metadata.api.form.nextPageTooltip": "",
|
|
21810
22012
|
"record.metadata.api.form.offset": "",
|
|
21811
22013
|
"record.metadata.api.form.openForm": "",
|
|
22014
|
+
"record.metadata.api.form.paginationDescription": "",
|
|
22015
|
+
"record.metadata.api.form.previousPage": "",
|
|
22016
|
+
"record.metadata.api.form.previousPageTooltip": "",
|
|
22017
|
+
"record.metadata.api.form.productTooltip": "",
|
|
21812
22018
|
"record.metadata.api.form.reset": "",
|
|
21813
|
-
"record.metadata.api.form.
|
|
22019
|
+
"record.metadata.api.form.resetTooltip": "",
|
|
21814
22020
|
"record.metadata.api.form.type": "",
|
|
22021
|
+
"record.metadata.api.form.zoneTitle": "",
|
|
22022
|
+
"record.metadata.api.form.zoneTooltip": "",
|
|
22023
|
+
"record.metadata.api.gpfdl": "",
|
|
21815
22024
|
"record.metadata.catalog": "",
|
|
21816
22025
|
"record.metadata.contact": "",
|
|
21817
22026
|
"record.metadata.creation": "",
|
|
@@ -21876,7 +22085,6 @@ var nl = {
|
|
|
21876
22085
|
"record.tab.chart": "",
|
|
21877
22086
|
"record.tab.data": "",
|
|
21878
22087
|
"record.tab.map": "",
|
|
21879
|
-
"record.was.created.time": "",
|
|
21880
22088
|
records: records$1,
|
|
21881
22089
|
"results.layout.selectOne": "",
|
|
21882
22090
|
"results.records.hits.displayedOn": "",
|
|
@@ -22100,6 +22308,7 @@ var pt = {
|
|
|
22100
22308
|
"datahub.search.back": "",
|
|
22101
22309
|
"datahub.search.filter.all": "",
|
|
22102
22310
|
"datahub.search.filter.generatedByAPI": "",
|
|
22311
|
+
"datahub.search.filter.generatedByWfs": "",
|
|
22103
22312
|
"datahub.search.filter.others": "",
|
|
22104
22313
|
"dataset.error.http": "",
|
|
22105
22314
|
"dataset.error.network": "",
|
|
@@ -22132,16 +22341,25 @@ var pt = {
|
|
|
22132
22341
|
"domain.record.status.ongoing": "",
|
|
22133
22342
|
"domain.record.status.removed": "",
|
|
22134
22343
|
"domain.record.status.under_development": "",
|
|
22135
|
-
"domain.record.updateFrequency.
|
|
22136
|
-
"domain.record.updateFrequency.
|
|
22137
|
-
"domain.record.updateFrequency.
|
|
22138
|
-
"domain.record.updateFrequency.
|
|
22139
|
-
"domain.record.updateFrequency.
|
|
22140
|
-
"domain.record.updateFrequency.
|
|
22141
|
-
"domain.record.updateFrequency.
|
|
22142
|
-
"domain.record.updateFrequency.
|
|
22143
|
-
"domain.record.updateFrequency.
|
|
22144
|
-
"domain.record.updateFrequency.
|
|
22344
|
+
"domain.record.updateFrequency.annually": "Os dados são atualizados anualmente",
|
|
22345
|
+
"domain.record.updateFrequency.asNeeded": "Os dados são atualizados conforme necessário",
|
|
22346
|
+
"domain.record.updateFrequency.biannually": "Os dados são atualizados duas vezes por ano",
|
|
22347
|
+
"domain.record.updateFrequency.biennially": "Os dados são atualizados a cada 2 anos",
|
|
22348
|
+
"domain.record.updateFrequency.continual": "Os dados são atualizados repetidamente e com frequência",
|
|
22349
|
+
"domain.record.updateFrequency.daily": "Os dados são atualizados diariamente",
|
|
22350
|
+
"domain.record.updateFrequency.day": "{count, plural, =0{0 vezes} one{Uma vez} other{{count} vezes}} por dia",
|
|
22351
|
+
"domain.record.updateFrequency.fortnightly": "Os dados são atualizados a cada duas semanas",
|
|
22352
|
+
"domain.record.updateFrequency.irregular": "Os dados são atualizados em intervalos irregulares",
|
|
22353
|
+
"domain.record.updateFrequency.month": "{count, plural, =0{0 vezes} one{Uma vez} other{{count} vezes}} por mês",
|
|
22354
|
+
"domain.record.updateFrequency.monthly": "Os dados são atualizados mensalmente",
|
|
22355
|
+
"domain.record.updateFrequency.notPlanned": "Não há planos para atualizar os dados",
|
|
22356
|
+
"domain.record.updateFrequency.periodic": "Os dados são atualizados em intervalos regulares",
|
|
22357
|
+
"domain.record.updateFrequency.quarterly": "Os dados são atualizados a cada três meses",
|
|
22358
|
+
"domain.record.updateFrequency.semimonthly": "Os dados são atualizados duas vezes por mês",
|
|
22359
|
+
"domain.record.updateFrequency.unknown": "A frequência de manutenção dos dados é desconhecida",
|
|
22360
|
+
"domain.record.updateFrequency.week": "{count, plural, =0{0 vezes} one{Uma vez} other{{count} vezes}} por semana",
|
|
22361
|
+
"domain.record.updateFrequency.weekly": "Os dados são atualizados semanalmente",
|
|
22362
|
+
"domain.record.updateFrequency.year": "{count, plural, =0{0 vezes} one{Uma vez} other{{count} vezes}} por ano",
|
|
22145
22363
|
"downloads.format.unknown": "",
|
|
22146
22364
|
"downloads.wfs.featuretype.not.found": "",
|
|
22147
22365
|
dropFile: dropFile,
|
|
@@ -22177,7 +22395,6 @@ var pt = {
|
|
|
22177
22395
|
"editor.record.form.field.constraintsShortcuts": "",
|
|
22178
22396
|
"editor.record.form.field.contacts.noContact": "",
|
|
22179
22397
|
"editor.record.form.field.contactsForResource.noContact": "",
|
|
22180
|
-
"editor.record.form.field.draft.only.disabled": "",
|
|
22181
22398
|
"editor.record.form.field.keywords": "",
|
|
22182
22399
|
"editor.record.form.field.legalConstraints": "",
|
|
22183
22400
|
"editor.record.form.field.license": "",
|
|
@@ -22187,6 +22404,9 @@ var pt = {
|
|
|
22187
22404
|
"editor.record.form.field.onlineResource.dialogTitle": "",
|
|
22188
22405
|
"editor.record.form.field.onlineResource.edit.description": "",
|
|
22189
22406
|
"editor.record.form.field.onlineResource.edit.protocol": "",
|
|
22407
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder": "Nome da camada",
|
|
22408
|
+
"editor.record.form.field.onlineResource.edit.identifier.placeholder.wps": "Nome do processo",
|
|
22409
|
+
"editor.record.form.field.onlineResource.edit.identifier.submit": "Link para o serviço",
|
|
22190
22410
|
"editor.record.form.field.onlineResource.edit.title": "",
|
|
22191
22411
|
"editor.record.form.field.onlineResource.fileSize": "",
|
|
22192
22412
|
"editor.record.form.field.onlineResource.modify": "",
|
|
@@ -22203,6 +22423,7 @@ var pt = {
|
|
|
22203
22423
|
"editor.record.form.field.spatialExtents": "",
|
|
22204
22424
|
"editor.record.form.field.temporalExtents": "",
|
|
22205
22425
|
"editor.record.form.field.title": "",
|
|
22426
|
+
"editor.record.form.field.title.placeholder": "Insira um título",
|
|
22206
22427
|
"editor.record.form.field.uniqueIdentifier": "",
|
|
22207
22428
|
"editor.record.form.field.updateFrequency": "",
|
|
22208
22429
|
"editor.record.form.license.cc-by": "",
|
|
@@ -22235,7 +22456,7 @@ var pt = {
|
|
|
22235
22456
|
"editor.record.form.temporalExtents.addRange": "",
|
|
22236
22457
|
"editor.record.form.temporalExtents.date": "",
|
|
22237
22458
|
"editor.record.form.temporalExtents.range": "",
|
|
22238
|
-
"editor.record.form.updateFrequency.planned": "",
|
|
22459
|
+
"editor.record.form.updateFrequency.planned": "Este conjunto de dados é atualizado regularmente.",
|
|
22239
22460
|
"editor.record.importFromExternalFile.failure.body": "",
|
|
22240
22461
|
"editor.record.importFromExternalFile.failure.title": "",
|
|
22241
22462
|
"editor.record.importFromExternalFile.success.body": "",
|
|
@@ -22263,8 +22484,8 @@ var pt = {
|
|
|
22263
22484
|
"editor.record.resourceError.body": "",
|
|
22264
22485
|
"editor.record.resourceError.closeMessage": "",
|
|
22265
22486
|
"editor.record.resourceError.title": "",
|
|
22266
|
-
"editor.record.saveStatus.asDraftOnly": "",
|
|
22267
22487
|
"editor.record.saveStatus.draftWithChangesPending": "",
|
|
22488
|
+
"editor.record.saveStatus.recordNotPublished": "",
|
|
22268
22489
|
"editor.record.saveStatus.recordUpToDate": "",
|
|
22269
22490
|
"editor.record.undo.confirmation.cancelText": "",
|
|
22270
22491
|
"editor.record.undo.confirmation.confirmText": "",
|
|
@@ -22369,14 +22590,32 @@ var pt = {
|
|
|
22369
22590
|
"record.metadata.api.form.closeButton": "",
|
|
22370
22591
|
"record.metadata.api.form.closeForm": "",
|
|
22371
22592
|
"record.metadata.api.form.create": "",
|
|
22593
|
+
"record.metadata.api.form.crsTitle": "",
|
|
22594
|
+
"record.metadata.api.form.crsTooltip": "",
|
|
22372
22595
|
"record.metadata.api.form.customUrl": "",
|
|
22596
|
+
"record.metadata.api.form.filter": "",
|
|
22597
|
+
"record.metadata.api.form.filterDescription": "",
|
|
22598
|
+
"record.metadata.api.form.formatTitle": "",
|
|
22599
|
+
"record.metadata.api.form.formatTooltip": "",
|
|
22600
|
+
"record.metadata.api.form.items": "",
|
|
22601
|
+
"record.metadata.api.form.itemsDescription": "",
|
|
22602
|
+
"record.metadata.api.form.itemsTooltip": "",
|
|
22373
22603
|
"record.metadata.api.form.limit": "",
|
|
22374
22604
|
"record.metadata.api.form.limit.all": "",
|
|
22605
|
+
"record.metadata.api.form.nextPage": "",
|
|
22606
|
+
"record.metadata.api.form.nextPageTooltip": "",
|
|
22375
22607
|
"record.metadata.api.form.offset": "",
|
|
22376
22608
|
"record.metadata.api.form.openForm": "",
|
|
22609
|
+
"record.metadata.api.form.paginationDescription": "",
|
|
22610
|
+
"record.metadata.api.form.previousPage": "",
|
|
22611
|
+
"record.metadata.api.form.previousPageTooltip": "",
|
|
22612
|
+
"record.metadata.api.form.productTooltip": "",
|
|
22377
22613
|
"record.metadata.api.form.reset": "",
|
|
22378
|
-
"record.metadata.api.form.
|
|
22614
|
+
"record.metadata.api.form.resetTooltip": "",
|
|
22379
22615
|
"record.metadata.api.form.type": "",
|
|
22616
|
+
"record.metadata.api.form.zoneTitle": "",
|
|
22617
|
+
"record.metadata.api.form.zoneTooltip": "",
|
|
22618
|
+
"record.metadata.api.gpfdl": "",
|
|
22380
22619
|
"record.metadata.catalog": "",
|
|
22381
22620
|
"record.metadata.contact": "",
|
|
22382
22621
|
"record.metadata.creation": "",
|
|
@@ -22441,7 +22680,6 @@ var pt = {
|
|
|
22441
22680
|
"record.tab.chart": "",
|
|
22442
22681
|
"record.tab.data": "",
|
|
22443
22682
|
"record.tab.map": "",
|
|
22444
|
-
"record.was.created.time": "",
|
|
22445
22683
|
records: records,
|
|
22446
22684
|
"results.layout.selectOne": "",
|
|
22447
22685
|
"results.records.hits.displayedOn": "",
|
|
@@ -23551,10 +23789,16 @@ class Gn4Repository {
|
|
|
23551
23789
|
records,
|
|
23552
23790
|
}))));
|
|
23553
23791
|
}
|
|
23792
|
+
getRecordPublicationStatus(uniqueIdentifier) {
|
|
23793
|
+
return uniqueIdentifier
|
|
23794
|
+
? this.getRecord(uniqueIdentifier).pipe(map$1((record) => record.extras['isPublishedToAll']))
|
|
23795
|
+
: of(true);
|
|
23796
|
+
}
|
|
23554
23797
|
openRecordForEdition(uniqueIdentifier) {
|
|
23555
23798
|
const draft$ = of(this.getRecordFromLocalStorage(uniqueIdentifier));
|
|
23556
23799
|
const recordAsXml$ = this.getRecordAsXml(uniqueIdentifier);
|
|
23557
|
-
|
|
23800
|
+
const record$ = this.getRecord(uniqueIdentifier);
|
|
23801
|
+
return combineLatest([draft$, recordAsXml$, record$]).pipe(switchMap(([draft, recordAsXml]) => {
|
|
23558
23802
|
const xml = draft ?? recordAsXml;
|
|
23559
23803
|
const isSavedAlready = recordAsXml !== null;
|
|
23560
23804
|
return findConverterForDocument(xml)
|
|
@@ -23563,23 +23807,27 @@ class Gn4Repository {
|
|
|
23563
23807
|
}));
|
|
23564
23808
|
}
|
|
23565
23809
|
openRecordForDuplication(uniqueIdentifier) {
|
|
23566
|
-
return this.
|
|
23567
|
-
|
|
23568
|
-
|
|
23569
|
-
|
|
23570
|
-
|
|
23571
|
-
|
|
23572
|
-
this.
|
|
23573
|
-
|
|
23574
|
-
return
|
|
23810
|
+
return this.gn4RecordsApi
|
|
23811
|
+
.create(uniqueIdentifier, '2', 'METADATA', '', false, undefined, true, false, undefined, 'body', false, {
|
|
23812
|
+
httpHeaderAccept: 'application/json',
|
|
23813
|
+
httpContentTypeSelected: 'application/json;charset=UTF-8',
|
|
23814
|
+
})
|
|
23815
|
+
.pipe(switchMap((uniqueIdentifier) => {
|
|
23816
|
+
return this.getRecordAsXml(uniqueIdentifier);
|
|
23817
|
+
}), switchMap((xml) => {
|
|
23818
|
+
return from(findConverterForDocument(xml)
|
|
23819
|
+
.readRecord(xml)
|
|
23820
|
+
.then((record) => {
|
|
23821
|
+
return [record, xml, true];
|
|
23822
|
+
}));
|
|
23575
23823
|
}));
|
|
23576
23824
|
}
|
|
23577
|
-
saveRecord(record, referenceRecordSource) {
|
|
23825
|
+
saveRecord(record, referenceRecordSource, publishToAll = true) {
|
|
23578
23826
|
return this.platformService.getApiVersion().pipe(map$1((version) => {
|
|
23579
23827
|
if (lt(version, minPublicationApiVersion)) {
|
|
23580
23828
|
throw new PublicationVersionError(version);
|
|
23581
23829
|
}
|
|
23582
|
-
}), switchMap(() => this.serializeRecordToXml(record, referenceRecordSource)), switchMap((recordXml) => this.gn4RecordsApi.insert('METADATA', undefined, undefined, undefined,
|
|
23830
|
+
}), switchMap(() => this.serializeRecordToXml(record, referenceRecordSource)), switchMap((recordXml) => this.gn4RecordsApi.insert('METADATA', undefined, undefined, undefined, publishToAll, undefined, 'OVERWRITE', undefined, undefined, undefined, '_none_', undefined, undefined, undefined, recordXml)), map$1((response) => {
|
|
23583
23831
|
const metadataId = Object.keys(response.metadataInfos)[0];
|
|
23584
23832
|
return response.metadataInfos[metadataId][0].uuid;
|
|
23585
23833
|
}));
|
|
@@ -23618,9 +23866,6 @@ class Gn4Repository {
|
|
|
23618
23866
|
recordHasDraft(uniqueIdentifier) {
|
|
23619
23867
|
return this.getRecordFromLocalStorage(uniqueIdentifier) !== null;
|
|
23620
23868
|
}
|
|
23621
|
-
isRecordNotYetSaved(uniqueIdentifier) {
|
|
23622
|
-
return uniqueIdentifier.startsWith(TEMPORARY_ID_PREFIX);
|
|
23623
|
-
}
|
|
23624
23869
|
// generated by copilot
|
|
23625
23870
|
getAllDrafts() {
|
|
23626
23871
|
const items = { ...window.localStorage };
|
|
@@ -23642,7 +23887,7 @@ class Gn4Repository {
|
|
|
23642
23887
|
}
|
|
23643
23888
|
hasRecordChangedSinceDraft(localRecord) {
|
|
23644
23889
|
return of({
|
|
23645
|
-
isUnsaved:
|
|
23890
|
+
isUnsaved: !localRecord.uniqueIdentifier,
|
|
23646
23891
|
hasDraft: this.recordHasDraft(localRecord.uniqueIdentifier),
|
|
23647
23892
|
}).pipe(switchMap(({ isUnsaved, hasDraft }) => {
|
|
23648
23893
|
if (isUnsaved || !hasDraft) {
|
|
@@ -26124,6 +26369,7 @@ class ButtonComponent {
|
|
|
26124
26369
|
handleClick(event) {
|
|
26125
26370
|
this.buttonClick.emit();
|
|
26126
26371
|
event.preventDefault();
|
|
26372
|
+
event.currentTarget.blur();
|
|
26127
26373
|
propagateToDocumentOnly(event);
|
|
26128
26374
|
}
|
|
26129
26375
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
@@ -26542,42 +26788,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26542
26788
|
type: Output
|
|
26543
26789
|
}] } });
|
|
26544
26790
|
|
|
26545
|
-
class DateRangePickerComponent {
|
|
26546
|
-
constructor() {
|
|
26547
|
-
this.startDateChange = new EventEmitter();
|
|
26548
|
-
this.endDateChange = new EventEmitter();
|
|
26549
|
-
}
|
|
26550
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateRangePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26551
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateRangePickerComponent, isStandalone: true, selector: "gn-ui-date-range-picker", inputs: { startDate: "startDate", endDate: "endDate" }, outputs: { startDateChange: "startDateChange", endDateChange: "endDateChange" }, providers: [
|
|
26552
|
-
provideIcons({ iconoirCalendar }),
|
|
26553
|
-
provideNgIconsConfig({
|
|
26554
|
-
size: '1.5rem',
|
|
26555
|
-
}),
|
|
26556
|
-
], ngImport: i0, template: "<span class=\"w-full inline-block relative\">\n <mat-date-range-input [rangePicker]=\"picker\" class=\"gn-ui-text-input\">\n <input\n matStartDate\n placeholder=\"Start date\"\n [value]=\"startDate\"\n (dateInput)=\"startDateChange.emit($event.value)\"\n />\n <input\n matEndDate\n placeholder=\"End date\"\n [value]=\"endDate\"\n (dateInput)=\"endDateChange.emit($event.value)\"\n />\n </mat-date-range-input>\n\n <gn-ui-button\n type=\"light\"\n class=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)] z-10\"\n (buttonClick)=\"picker.open()\"\n extraClass=\"h-full\"\n data-cy=\"date-picker-button\"\n >\n <ng-icon name=\"iconoirCalendar\" class=\"text-primary\"></ng-icon>\n </gn-ui-button>\n</span>\n<mat-date-range-picker #picker></mat-date-range-picker>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6em) - 6px);--text-padding: calc(var(--side-padding) + 40px)}\n"], dependencies: [{ kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1$8.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i1$8.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i1$8.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i1$8.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26557
|
-
}
|
|
26558
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateRangePickerComponent, decorators: [{
|
|
26559
|
-
type: Component,
|
|
26560
|
-
args: [{ selector: 'gn-ui-date-range-picker', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
26561
|
-
MatNativeDateModule,
|
|
26562
|
-
MatDatepickerModule,
|
|
26563
|
-
ButtonComponent,
|
|
26564
|
-
NgIconComponent,
|
|
26565
|
-
], providers: [
|
|
26566
|
-
provideIcons({ iconoirCalendar }),
|
|
26567
|
-
provideNgIconsConfig({
|
|
26568
|
-
size: '1.5rem',
|
|
26569
|
-
}),
|
|
26570
|
-
], template: "<span class=\"w-full inline-block relative\">\n <mat-date-range-input [rangePicker]=\"picker\" class=\"gn-ui-text-input\">\n <input\n matStartDate\n placeholder=\"Start date\"\n [value]=\"startDate\"\n (dateInput)=\"startDateChange.emit($event.value)\"\n />\n <input\n matEndDate\n placeholder=\"End date\"\n [value]=\"endDate\"\n (dateInput)=\"endDateChange.emit($event.value)\"\n />\n </mat-date-range-input>\n\n <gn-ui-button\n type=\"light\"\n class=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)] z-10\"\n (buttonClick)=\"picker.open()\"\n extraClass=\"h-full\"\n data-cy=\"date-picker-button\"\n >\n <ng-icon name=\"iconoirCalendar\" class=\"text-primary\"></ng-icon>\n </gn-ui-button>\n</span>\n<mat-date-range-picker #picker></mat-date-range-picker>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6em) - 6px);--text-padding: calc(var(--side-padding) + 40px)}\n"] }]
|
|
26571
|
-
}], propDecorators: { startDate: [{
|
|
26572
|
-
type: Input
|
|
26573
|
-
}], endDate: [{
|
|
26574
|
-
type: Input
|
|
26575
|
-
}], startDateChange: [{
|
|
26576
|
-
type: Output
|
|
26577
|
-
}], endDateChange: [{
|
|
26578
|
-
type: Output
|
|
26579
|
-
}] } });
|
|
26580
|
-
|
|
26581
26791
|
class DateRangeDropdownComponent {
|
|
26582
26792
|
constructor(overlayContainer, cdr) {
|
|
26583
26793
|
this.overlayContainer = overlayContainer;
|
|
@@ -26632,6 +26842,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
26632
26842
|
args: ['picker']
|
|
26633
26843
|
}] } });
|
|
26634
26844
|
|
|
26845
|
+
class DateRangePickerComponent {
|
|
26846
|
+
constructor() {
|
|
26847
|
+
this.startDateChange = new EventEmitter();
|
|
26848
|
+
this.endDateChange = new EventEmitter();
|
|
26849
|
+
}
|
|
26850
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateRangePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
26851
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DateRangePickerComponent, isStandalone: true, selector: "gn-ui-date-range-picker", inputs: { startDate: "startDate", endDate: "endDate" }, outputs: { startDateChange: "startDateChange", endDateChange: "endDateChange" }, providers: [
|
|
26852
|
+
provideIcons({ iconoirCalendar }),
|
|
26853
|
+
provideNgIconsConfig({
|
|
26854
|
+
size: '1.5rem',
|
|
26855
|
+
}),
|
|
26856
|
+
], ngImport: i0, template: "<span class=\"w-full inline-block relative\">\n <mat-date-range-input [rangePicker]=\"picker\" class=\"gn-ui-text-input\">\n <input\n matStartDate\n placeholder=\"Start date\"\n [value]=\"startDate\"\n (dateInput)=\"startDateChange.emit($event.value)\"\n />\n <input\n matEndDate\n placeholder=\"End date\"\n [value]=\"endDate\"\n (dateInput)=\"endDateChange.emit($event.value)\"\n />\n </mat-date-range-input>\n\n <gn-ui-button\n type=\"light\"\n class=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)] z-10\"\n (buttonClick)=\"picker.open()\"\n extraClass=\"h-full\"\n data-cy=\"date-picker-button\"\n >\n <ng-icon name=\"iconoirCalendar\" class=\"text-primary\"></ng-icon>\n </gn-ui-button>\n</span>\n<mat-date-range-picker #picker></mat-date-range-picker>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6em) - 6px);--text-padding: calc(var(--side-padding) + 40px)}\n"], dependencies: [{ kind: "ngmodule", type: MatNativeDateModule }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i1$8.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i1$8.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i1$8.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i1$8.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26857
|
+
}
|
|
26858
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DateRangePickerComponent, decorators: [{
|
|
26859
|
+
type: Component,
|
|
26860
|
+
args: [{ selector: 'gn-ui-date-range-picker', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
26861
|
+
MatNativeDateModule,
|
|
26862
|
+
MatDatepickerModule,
|
|
26863
|
+
ButtonComponent,
|
|
26864
|
+
NgIconComponent,
|
|
26865
|
+
], providers: [
|
|
26866
|
+
provideIcons({ iconoirCalendar }),
|
|
26867
|
+
provideNgIconsConfig({
|
|
26868
|
+
size: '1.5rem',
|
|
26869
|
+
}),
|
|
26870
|
+
], template: "<span class=\"w-full inline-block relative\">\n <mat-date-range-input [rangePicker]=\"picker\" class=\"gn-ui-text-input\">\n <input\n matStartDate\n placeholder=\"Start date\"\n [value]=\"startDate\"\n (dateInput)=\"startDateChange.emit($event.value)\"\n />\n <input\n matEndDate\n placeholder=\"End date\"\n [value]=\"endDate\"\n (dateInput)=\"endDateChange.emit($event.value)\"\n />\n </mat-date-range-input>\n\n <gn-ui-button\n type=\"light\"\n class=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)] z-10\"\n (buttonClick)=\"picker.open()\"\n extraClass=\"h-full\"\n data-cy=\"date-picker-button\"\n >\n <ng-icon name=\"iconoirCalendar\" class=\"text-primary\"></ng-icon>\n </gn-ui-button>\n</span>\n<mat-date-range-picker #picker></mat-date-range-picker>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6em) - 6px);--text-padding: calc(var(--side-padding) + 40px)}\n"] }]
|
|
26871
|
+
}], propDecorators: { startDate: [{
|
|
26872
|
+
type: Input
|
|
26873
|
+
}], endDate: [{
|
|
26874
|
+
type: Input
|
|
26875
|
+
}], startDateChange: [{
|
|
26876
|
+
type: Output
|
|
26877
|
+
}], endDateChange: [{
|
|
26878
|
+
type: Output
|
|
26879
|
+
}] } });
|
|
26880
|
+
|
|
26635
26881
|
const placeholder = 'dropFile';
|
|
26636
26882
|
marker('dropFile');
|
|
26637
26883
|
class DragAndDropFileInputComponent {
|
|
@@ -27081,221 +27327,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
27081
27327
|
type: Output
|
|
27082
27328
|
}] } });
|
|
27083
27329
|
|
|
27084
|
-
class NavigationButtonComponent {
|
|
27085
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NavigationButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27086
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NavigationButtonComponent, isStandalone: true, selector: "gn-ui-navigation-button", inputs: { label: "label", icon: "icon" }, ngImport: i0, template: "<button\n class=\"group flex items-center justify-center gap-1 backdrop-blur p-1 bg-primary-opacity-30 rounded content-center\"\n>\n <ng-icon [name]=\"icon\" class=\"align-middle w-[18px]\"></ng-icon>\n <span\n class=\"mx-2 mt-0.5 text-[16px] tracking-widest content-center opacity-75\"\n >{{ label.toUpperCase() }}</span\n >\n</button>\n", styles: ["button{color:var(--navigation-button-color, --color-background)}\n"], dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27087
|
-
}
|
|
27088
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NavigationButtonComponent, decorators: [{
|
|
27089
|
-
type: Component,
|
|
27090
|
-
args: [{ selector: 'gn-ui-navigation-button', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIcon], standalone: true, template: "<button\n class=\"group flex items-center justify-center gap-1 backdrop-blur p-1 bg-primary-opacity-30 rounded content-center\"\n>\n <ng-icon [name]=\"icon\" class=\"align-middle w-[18px]\"></ng-icon>\n <span\n class=\"mx-2 mt-0.5 text-[16px] tracking-widest content-center opacity-75\"\n >{{ label.toUpperCase() }}</span\n >\n</button>\n", styles: ["button{color:var(--navigation-button-color, --color-background)}\n"] }]
|
|
27091
|
-
}], propDecorators: { label: [{
|
|
27092
|
-
type: Input
|
|
27093
|
-
}], icon: [{
|
|
27094
|
-
type: Input
|
|
27095
|
-
}] } });
|
|
27096
|
-
|
|
27097
|
-
class SearchInputComponent {
|
|
27098
|
-
constructor() {
|
|
27099
|
-
this.value = '';
|
|
27100
|
-
this.placeholder = '';
|
|
27101
|
-
this.rawChange = new Subject();
|
|
27102
|
-
this.valueChange = this.rawChange.pipe(distinctUntilChanged$1());
|
|
27103
|
-
}
|
|
27104
|
-
handleChange($event) {
|
|
27105
|
-
const value = $event.target.value;
|
|
27106
|
-
this.rawChange.next(value);
|
|
27107
|
-
}
|
|
27108
|
-
clear() {
|
|
27109
|
-
this.value = null;
|
|
27110
|
-
this.rawChange.next(null);
|
|
27111
|
-
}
|
|
27112
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27113
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchInputComponent, isStandalone: true, selector: "gn-ui-search-input", inputs: { value: "value", placeholder: "placeholder" }, outputs: { valueChange: "valueChange" }, providers: [
|
|
27114
|
-
provideIcons({ matSearch, matClose }),
|
|
27115
|
-
provideNgIconsConfig({
|
|
27116
|
-
size: '1.5em',
|
|
27117
|
-
}),
|
|
27118
|
-
], ngImport: i0, template: "<div class=\"h-full relative text-gray-300\">\n <input\n #input\n class=\"peer h-full appearance-none border border-gray-300 rounded w-full p-2 pl-10 text-gray-700 leading-tight hover:border-primary focus:text-primary focus:outline-none focus:border-primary focus:border-2\"\n type=\"text\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n />\n <div\n class=\"absolute inset-y-0 left-0 pl-2.5 flex items-center peer-hover:text-primary peer-focus:text-primary\"\n >\n <ng-icon name=\"matSearch\"></ng-icon>\n </div>\n <button\n *ngIf=\"rawChange | async\"\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary absolute transition-all duration-100 inset-y-0 right-0 pr-2.5\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle\"></ng-icon>\n </button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27119
|
-
}
|
|
27120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchInputComponent, decorators: [{
|
|
27121
|
-
type: Component,
|
|
27122
|
-
args: [{ selector: 'gn-ui-search-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NgIconComponent], providers: [
|
|
27123
|
-
provideIcons({ matSearch, matClose }),
|
|
27124
|
-
provideNgIconsConfig({
|
|
27125
|
-
size: '1.5em',
|
|
27126
|
-
}),
|
|
27127
|
-
], template: "<div class=\"h-full relative text-gray-300\">\n <input\n #input\n class=\"peer h-full appearance-none border border-gray-300 rounded w-full p-2 pl-10 text-gray-700 leading-tight hover:border-primary focus:text-primary focus:outline-none focus:border-primary focus:border-2\"\n type=\"text\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n />\n <div\n class=\"absolute inset-y-0 left-0 pl-2.5 flex items-center peer-hover:text-primary peer-focus:text-primary\"\n >\n <ng-icon name=\"matSearch\"></ng-icon>\n </div>\n <button\n *ngIf=\"rawChange | async\"\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary absolute transition-all duration-100 inset-y-0 right-0 pr-2.5\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle\"></ng-icon>\n </button>\n</div>\n" }]
|
|
27128
|
-
}], propDecorators: { value: [{
|
|
27129
|
-
type: Input
|
|
27130
|
-
}], placeholder: [{
|
|
27131
|
-
type: Input
|
|
27132
|
-
}], valueChange: [{
|
|
27133
|
-
type: Output
|
|
27134
|
-
}] } });
|
|
27135
|
-
|
|
27136
|
-
class StarToggleComponent {
|
|
27137
|
-
constructor() {
|
|
27138
|
-
this.disabled = false;
|
|
27139
|
-
this.newValue = new EventEmitter();
|
|
27140
|
-
}
|
|
27141
|
-
toggle(event) {
|
|
27142
|
-
if (!this.disabled) {
|
|
27143
|
-
this.toggled = !this.toggled;
|
|
27144
|
-
if (this.toggled) {
|
|
27145
|
-
const anim = this.overlay.nativeElement.getAnimations()[0];
|
|
27146
|
-
anim.cancel();
|
|
27147
|
-
anim.play();
|
|
27148
|
-
}
|
|
27149
|
-
this.newValue.emit(this.toggled);
|
|
27150
|
-
}
|
|
27151
|
-
propagateToDocumentOnly(event);
|
|
27152
|
-
event.preventDefault();
|
|
27153
|
-
}
|
|
27154
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StarToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27155
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StarToggleComponent, isStandalone: true, selector: "gn-ui-star-toggle", inputs: { toggled: "toggled", disabled: "disabled" }, outputs: { newValue: "newValue" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: ["starOverlay"], descendants: true }], ngImport: i0, template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <button\n type=\"button\"\n class=\"-m-[8px] p-[8px]\"\n (click)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n 'disabled opacity-45': !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled,\n }\"\n >\n <ng-icon [name]=\"toggled ? 'matStar' : 'matStarBorder'\"></ng-icon>\n </button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], viewProviders: [provideIcons({ matStar, matStarBorder })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27156
|
-
}
|
|
27157
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StarToggleComponent, decorators: [{
|
|
27158
|
-
type: Component,
|
|
27159
|
-
args: [{ selector: 'gn-ui-star-toggle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NgIcon], viewProviders: [provideIcons({ matStar, matStarBorder })], template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <button\n type=\"button\"\n class=\"-m-[8px] p-[8px]\"\n (click)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n 'disabled opacity-45': !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled,\n }\"\n >\n <ng-icon [name]=\"toggled ? 'matStar' : 'matStarBorder'\"></ng-icon>\n </button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"] }]
|
|
27160
|
-
}], propDecorators: { toggled: [{
|
|
27161
|
-
type: Input
|
|
27162
|
-
}], disabled: [{
|
|
27163
|
-
type: Input
|
|
27164
|
-
}], newValue: [{
|
|
27165
|
-
type: Output
|
|
27166
|
-
}], overlay: [{
|
|
27167
|
-
type: ViewChild,
|
|
27168
|
-
args: ['starOverlay']
|
|
27169
|
-
}] } });
|
|
27170
|
-
|
|
27171
|
-
class TextAreaComponent {
|
|
27172
|
-
constructor() {
|
|
27173
|
-
this.value = '';
|
|
27174
|
-
this.disabled = false;
|
|
27175
|
-
this.extraClass = '';
|
|
27176
|
-
this.placeholder = '';
|
|
27177
|
-
this.required = false;
|
|
27178
|
-
this.rawChange = new Subject();
|
|
27179
|
-
this.valueChange = this.rawChange.pipe(distinctUntilChanged());
|
|
27180
|
-
}
|
|
27181
|
-
ngAfterViewInit() {
|
|
27182
|
-
this.checkRequired(this.input.nativeElement.value);
|
|
27183
|
-
}
|
|
27184
|
-
checkRequired(value) {
|
|
27185
|
-
this.input.nativeElement.classList.toggle('invalid', this.required && value === '');
|
|
27186
|
-
}
|
|
27187
|
-
handleChange($event) {
|
|
27188
|
-
const value = $event.target.value;
|
|
27189
|
-
this.checkRequired(value);
|
|
27190
|
-
this.rawChange.next(value);
|
|
27191
|
-
}
|
|
27192
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27193
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TextAreaComponent, isStandalone: true, selector: "gn-ui-text-area", inputs: { value: "value", disabled: "disabled", extraClass: "extraClass", placeholder: "placeholder", required: "required" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div class=\"h-full flex\">\n <textarea\n #input\n name=\"textArea\"\n class=\"gn-ui-text-input leading-tight\"\n [ngClass]=\"extraClass\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [value]=\"value ?? ''\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n [attr.required]=\"required || null\"\n ></textarea>\n</div>\n", styles: [".invalid{border-color:var(--color-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
27194
|
-
}
|
|
27195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextAreaComponent, decorators: [{
|
|
27196
|
-
type: Component,
|
|
27197
|
-
args: [{ selector: 'gn-ui-text-area', standalone: true, imports: [CommonModule], template: "<div class=\"h-full flex\">\n <textarea\n #input\n name=\"textArea\"\n class=\"gn-ui-text-input leading-tight\"\n [ngClass]=\"extraClass\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [value]=\"value ?? ''\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n [attr.required]=\"required || null\"\n ></textarea>\n</div>\n", styles: [".invalid{border-color:var(--color-secondary)}\n"] }]
|
|
27198
|
-
}], propDecorators: { value: [{
|
|
27199
|
-
type: Input
|
|
27200
|
-
}], disabled: [{
|
|
27201
|
-
type: Input
|
|
27202
|
-
}], extraClass: [{
|
|
27203
|
-
type: Input
|
|
27204
|
-
}], placeholder: [{
|
|
27205
|
-
type: Input
|
|
27206
|
-
}], required: [{
|
|
27207
|
-
type: Input
|
|
27208
|
-
}], valueChange: [{
|
|
27209
|
-
type: Output
|
|
27210
|
-
}], input: [{
|
|
27211
|
-
type: ViewChild,
|
|
27212
|
-
args: ['input']
|
|
27213
|
-
}] } });
|
|
27214
|
-
|
|
27215
|
-
class TextInputComponent {
|
|
27216
|
-
constructor() {
|
|
27217
|
-
this.value = '';
|
|
27218
|
-
this.extraClass = '';
|
|
27219
|
-
this.required = false;
|
|
27220
|
-
this.rawChange = new Subject();
|
|
27221
|
-
this.valueChange = this.rawChange.pipe(distinctUntilChanged());
|
|
27222
|
-
}
|
|
27223
|
-
ngAfterViewInit() {
|
|
27224
|
-
this.checkRequired(this.input.nativeElement.value);
|
|
27225
|
-
}
|
|
27226
|
-
checkRequired(value) {
|
|
27227
|
-
this.input.nativeElement.classList.toggle('invalid', this.required && value === '');
|
|
27228
|
-
}
|
|
27229
|
-
handleChange($event) {
|
|
27230
|
-
const value = $event.target.value;
|
|
27231
|
-
this.checkRequired(value);
|
|
27232
|
-
this.rawChange.next(value);
|
|
27233
|
-
}
|
|
27234
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27235
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TextInputComponent, isStandalone: true, selector: "gn-ui-text-input", inputs: { value: "value", extraClass: "extraClass", placeholder: "placeholder", required: "required", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input\n #input\n class=\"gn-ui-text-input\"\n [ngClass]=\"extraClass\"\n type=\"text\"\n [value]=\"value\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"placeholder\"\n [attr.required]=\"required || null\"\n [disabled]=\"disabled\"\n/>\n", styles: [".invalid{border-color:var(--color-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
27236
|
-
}
|
|
27237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextInputComponent, decorators: [{
|
|
27238
|
-
type: Component,
|
|
27239
|
-
args: [{ selector: 'gn-ui-text-input', standalone: true, imports: [CommonModule], template: "<input\n #input\n class=\"gn-ui-text-input\"\n [ngClass]=\"extraClass\"\n type=\"text\"\n [value]=\"value\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"placeholder\"\n [attr.required]=\"required || null\"\n [disabled]=\"disabled\"\n/>\n", styles: [".invalid{border-color:var(--color-secondary)}\n"] }]
|
|
27240
|
-
}], propDecorators: { value: [{
|
|
27241
|
-
type: Input
|
|
27242
|
-
}], extraClass: [{
|
|
27243
|
-
type: Input
|
|
27244
|
-
}], placeholder: [{
|
|
27245
|
-
type: Input
|
|
27246
|
-
}], required: [{
|
|
27247
|
-
type: Input
|
|
27248
|
-
}], disabled: [{
|
|
27249
|
-
type: Input
|
|
27250
|
-
}], valueChange: [{
|
|
27251
|
-
type: Output
|
|
27252
|
-
}], input: [{
|
|
27253
|
-
type: ViewChild,
|
|
27254
|
-
args: ['input']
|
|
27255
|
-
}] } });
|
|
27256
|
-
|
|
27257
|
-
class ViewportIntersectorComponent {
|
|
27258
|
-
constructor(vcRef) {
|
|
27259
|
-
this.vcRef = vcRef;
|
|
27260
|
-
this.isInViewport = new EventEmitter();
|
|
27261
|
-
this.entersViewport = this.isInViewport.pipe(filter((inViewport) => inViewport), map$1(() => undefined));
|
|
27262
|
-
this.exitsViewport = this.isInViewport.pipe(filter((inViewport) => !inViewport), map$1(() => undefined));
|
|
27263
|
-
}
|
|
27264
|
-
ngOnInit() {
|
|
27265
|
-
const elToObserve = this.vcRef.element.nativeElement;
|
|
27266
|
-
this.observeInputElement(elToObserve);
|
|
27267
|
-
}
|
|
27268
|
-
ngOnDestroy() {
|
|
27269
|
-
const elToObserve = this.vcRef.element.nativeElement;
|
|
27270
|
-
this.unObserveInputElement(elToObserve);
|
|
27271
|
-
}
|
|
27272
|
-
observeInputElement(elToObserve) {
|
|
27273
|
-
if (!this.observer) {
|
|
27274
|
-
this.observer = new IntersectionObserver((entries) => {
|
|
27275
|
-
entries.forEach((entry) => {
|
|
27276
|
-
this.isInViewport.emit(entry.isIntersecting);
|
|
27277
|
-
});
|
|
27278
|
-
}, { root: null, threshold: 0 });
|
|
27279
|
-
}
|
|
27280
|
-
this.observer.observe(elToObserve);
|
|
27281
|
-
}
|
|
27282
|
-
unObserveInputElement(elToObserve) {
|
|
27283
|
-
this.observer?.unobserve(elToObserve);
|
|
27284
|
-
}
|
|
27285
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewportIntersectorComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27286
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ViewportIntersectorComponent, selector: "gn-ui-viewport-intersector", outputs: { isInViewport: "isInViewport", entersViewport: "entersViewport", exitsViewport: "exitsViewport" }, ngImport: i0, template: "<div class=\"w-full h-full\"></div>\n", styles: [""] }); }
|
|
27287
|
-
}
|
|
27288
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewportIntersectorComponent, decorators: [{
|
|
27289
|
-
type: Component,
|
|
27290
|
-
args: [{ selector: 'gn-ui-viewport-intersector', template: "<div class=\"w-full h-full\"></div>\n" }]
|
|
27291
|
-
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { isInViewport: [{
|
|
27292
|
-
type: Output
|
|
27293
|
-
}], entersViewport: [{
|
|
27294
|
-
type: Output
|
|
27295
|
-
}], exitsViewport: [{
|
|
27296
|
-
type: Output
|
|
27297
|
-
}] } });
|
|
27298
|
-
|
|
27299
27330
|
class FilesDropDirective {
|
|
27300
27331
|
constructor() {
|
|
27301
27332
|
this.dragFilesOver = new EventEmitter();
|
|
@@ -27369,7 +27400,7 @@ class UrlInputComponent {
|
|
|
27369
27400
|
this.cd = cd;
|
|
27370
27401
|
this.extraClass = '';
|
|
27371
27402
|
this.placeholder = 'https://';
|
|
27372
|
-
this.
|
|
27403
|
+
this.showValidateButton = true;
|
|
27373
27404
|
/**
|
|
27374
27405
|
* This will emit null if the field is emptied
|
|
27375
27406
|
*/
|
|
@@ -27403,12 +27434,12 @@ class UrlInputComponent {
|
|
|
27403
27434
|
}
|
|
27404
27435
|
}
|
|
27405
27436
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UrlInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27406
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UrlInputComponent, isStandalone: true, selector: "gn-ui-url-input", inputs: { value: "value", extraClass: "extraClass", placeholder: "placeholder", disabled: "disabled",
|
|
27437
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UrlInputComponent, isStandalone: true, selector: "gn-ui-url-input", inputs: { value: "value", extraClass: "extraClass", placeholder: "placeholder", disabled: "disabled", showValidateButton: "showValidateButton" }, outputs: { valueChange: "valueChange", uploadClick: "uploadClick" }, providers: [
|
|
27407
27438
|
provideIcons({ iconoirLink, iconoirArrowUp }),
|
|
27408
27439
|
provideNgIconsConfig({
|
|
27409
27440
|
size: '1.5em',
|
|
27410
27441
|
}),
|
|
27411
|
-
], ngImport: i0, template: "<span class=\"w-full inline-block relative\">\n <input\n #input\n class=\"gn-ui-text-input px-[var(--text-padding)]\"\n [ngClass]=\"extraClass\"\n type=\"url\"\n [value]=\"inputValue\"\n (input)=\"handleInput($event)\"\n (keydown.enter)=\"handleUpload(input)\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"placeholder\"\n [disabled]=\"disabled\"\n />\n <div\n class=\"absolute inset-y-[var(--side-padding)] left-[var(--2x-side-padding)] grid justify-center items-center pointer-events-none\"\n [ngClass]=\"{\n 'text-primary': !disabled,\n 'text-primary-lightest': disabled,\n }\"\n >\n <ng-icon name=\"iconoirLink\"></ng-icon>\n </div>\n <gn-ui-button\n *ngIf=\"
|
|
27442
|
+
], ngImport: i0, template: "<span class=\"w-full inline-block relative\">\n <input\n #input\n class=\"gn-ui-text-input gn-ui-url-input px-[var(--text-padding)]\"\n [ngClass]=\"extraClass\"\n type=\"url\"\n [value]=\"inputValue\"\n (input)=\"handleInput($event)\"\n (keydown.enter)=\"handleUpload(input)\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"placeholder\"\n [disabled]=\"disabled\"\n />\n <div\n class=\"absolute inset-y-[var(--side-padding)] left-[var(--2x-side-padding)] grid justify-center items-center pointer-events-none\"\n [ngClass]=\"{\n 'text-primary': !disabled,\n 'text-primary-lightest': disabled,\n }\"\n >\n <ng-icon name=\"iconoirLink\"></ng-icon>\n </div>\n <gn-ui-button\n *ngIf=\"showValidateButton\"\n extraClass=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)]\"\n type=\"primary\"\n [disabled]=\"disabled || input.value === '' || !isValidUrl(input.value)\"\n (buttonClick)=\"handleUpload(input)\"\n >\n <ng-content>\n <ng-icon name=\"iconoirArrowUp\"></ng-icon>\n </ng-content>\n </gn-ui-button>\n</span>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6rem) - 6px);--2x-side-padding: calc(var(--side-padding) * 2);--text-padding: calc(var(--side-padding) + 40px)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27412
27443
|
}
|
|
27413
27444
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UrlInputComponent, decorators: [{
|
|
27414
27445
|
type: Component,
|
|
@@ -27417,7 +27448,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
27417
27448
|
provideNgIconsConfig({
|
|
27418
27449
|
size: '1.5em',
|
|
27419
27450
|
}),
|
|
27420
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"w-full inline-block relative\">\n <input\n #input\n class=\"gn-ui-text-input px-[var(--text-padding)]\"\n [ngClass]=\"extraClass\"\n type=\"url\"\n [value]=\"inputValue\"\n (input)=\"handleInput($event)\"\n (keydown.enter)=\"handleUpload(input)\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"placeholder\"\n [disabled]=\"disabled\"\n />\n <div\n class=\"absolute inset-y-[var(--side-padding)] left-[var(--2x-side-padding)] grid justify-center items-center pointer-events-none\"\n [ngClass]=\"{\n 'text-primary': !disabled,\n 'text-primary-lightest': disabled,\n }\"\n >\n <ng-icon name=\"iconoirLink\"></ng-icon>\n </div>\n <gn-ui-button\n *ngIf=\"
|
|
27451
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span class=\"w-full inline-block relative\">\n <input\n #input\n class=\"gn-ui-text-input gn-ui-url-input px-[var(--text-padding)]\"\n [ngClass]=\"extraClass\"\n type=\"url\"\n [value]=\"inputValue\"\n (input)=\"handleInput($event)\"\n (keydown.enter)=\"handleUpload(input)\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"placeholder\"\n [disabled]=\"disabled\"\n />\n <div\n class=\"absolute inset-y-[var(--side-padding)] left-[var(--2x-side-padding)] grid justify-center items-center pointer-events-none\"\n [ngClass]=\"{\n 'text-primary': !disabled,\n 'text-primary-lightest': disabled,\n }\"\n >\n <ng-icon name=\"iconoirLink\"></ng-icon>\n </div>\n <gn-ui-button\n *ngIf=\"showValidateButton\"\n extraClass=\"absolute inset-y-[var(--side-padding)] right-[var(--side-padding)]\"\n type=\"primary\"\n [disabled]=\"disabled || input.value === '' || !isValidUrl(input.value)\"\n (buttonClick)=\"handleUpload(input)\"\n >\n <ng-content>\n <ng-icon name=\"iconoirArrowUp\"></ng-icon>\n </ng-content>\n </gn-ui-button>\n</span>\n", styles: [":host{--gn-ui-button-rounded: 8px;--gn-ui-button-width: 32px;--gn-ui-button-padding: 0;--side-padding: calc(var(--gn-ui-text-input-padding, .6rem) - 6px);--2x-side-padding: calc(var(--side-padding) * 2);--text-padding: calc(var(--side-padding) + 40px)}\n"] }]
|
|
27421
27452
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { value: [{
|
|
27422
27453
|
type: Input
|
|
27423
27454
|
}], extraClass: [{
|
|
@@ -27426,7 +27457,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
27426
27457
|
type: Input
|
|
27427
27458
|
}], disabled: [{
|
|
27428
27459
|
type: Input
|
|
27429
|
-
}],
|
|
27460
|
+
}], showValidateButton: [{
|
|
27430
27461
|
type: Input
|
|
27431
27462
|
}], valueChange: [{
|
|
27432
27463
|
type: Output
|
|
@@ -27434,100 +27465,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
27434
27465
|
type: Output
|
|
27435
27466
|
}] } });
|
|
27436
27467
|
|
|
27437
|
-
class
|
|
27468
|
+
class FileInputComponent {
|
|
27438
27469
|
get isUploadInProgress() {
|
|
27439
27470
|
return this.uploadProgress !== undefined;
|
|
27440
27471
|
}
|
|
27441
|
-
constructor(
|
|
27442
|
-
this.http = http;
|
|
27472
|
+
constructor(cd) {
|
|
27443
27473
|
this.cd = cd;
|
|
27444
|
-
this.disabled = false;
|
|
27445
27474
|
this.fileChange = new EventEmitter();
|
|
27446
27475
|
this.urlChange = new EventEmitter();
|
|
27447
27476
|
this.uploadCancel = new EventEmitter();
|
|
27448
|
-
this.
|
|
27449
|
-
this.altTextChange = new EventEmitter();
|
|
27477
|
+
this.disabled = false;
|
|
27450
27478
|
this.dragFilesOver = false;
|
|
27451
|
-
this.showUrlInput = false;
|
|
27452
|
-
this.downloadError = false;
|
|
27453
|
-
this.showAltTextInput = false;
|
|
27454
27479
|
}
|
|
27455
27480
|
getPrimaryText() {
|
|
27456
|
-
if (this.uploadError) {
|
|
27457
|
-
return marker('input.image.uploadErrorLabel');
|
|
27458
|
-
}
|
|
27459
27481
|
if (this.uploadProgress) {
|
|
27460
|
-
return marker('input.
|
|
27482
|
+
return marker('input.file.uploadProgressLabel');
|
|
27461
27483
|
}
|
|
27462
|
-
return marker('input.
|
|
27484
|
+
return marker('input.file.selectFileLabel');
|
|
27463
27485
|
}
|
|
27464
27486
|
getSecondaryText() {
|
|
27465
|
-
if (this.uploadError) {
|
|
27466
|
-
return marker('input.image.uploadErrorRetry');
|
|
27467
|
-
}
|
|
27468
27487
|
if (this.uploadProgress) {
|
|
27469
|
-
return marker('input.
|
|
27488
|
+
return marker('input.file.uploadProgressCancel');
|
|
27470
27489
|
}
|
|
27471
|
-
return marker('input.
|
|
27490
|
+
return marker('input.file.dropFileLabel');
|
|
27472
27491
|
}
|
|
27473
27492
|
handleDragFilesOver(dragFilesOver) {
|
|
27474
|
-
|
|
27475
|
-
|
|
27476
|
-
this.cd.markForCheck();
|
|
27477
|
-
}
|
|
27493
|
+
this.dragFilesOver = dragFilesOver;
|
|
27494
|
+
this.cd.markForCheck();
|
|
27478
27495
|
}
|
|
27479
27496
|
handleDropFiles(files) {
|
|
27480
|
-
if (
|
|
27481
|
-
|
|
27482
|
-
if (validFiles.length > 0) {
|
|
27483
|
-
this.resizeAndEmit(validFiles[0]);
|
|
27484
|
-
}
|
|
27497
|
+
if (files.length > 0) {
|
|
27498
|
+
this.fileChange.emit(files[0]);
|
|
27485
27499
|
}
|
|
27486
27500
|
}
|
|
27487
27501
|
handleFileInput(event) {
|
|
27488
|
-
|
|
27489
|
-
const validFiles = this.filterTypeImage(inputFiles);
|
|
27490
|
-
if (validFiles.length > 0) {
|
|
27491
|
-
this.resizeAndEmit(validFiles[0]);
|
|
27492
|
-
}
|
|
27493
|
-
}
|
|
27494
|
-
displayUrlInput() {
|
|
27495
|
-
this.uploadCancel.emit();
|
|
27496
|
-
this.showUrlInput = true;
|
|
27502
|
+
this.handleDropFiles(Array.from(event.target.files));
|
|
27497
27503
|
}
|
|
27498
|
-
|
|
27499
|
-
|
|
27500
|
-
const name = url.split('/').pop();
|
|
27501
|
-
try {
|
|
27502
|
-
const response = await firstValueFrom(this.http.head(url, { observe: 'response' }));
|
|
27503
|
-
if (response.headers.get('content-type')?.startsWith('image/') &&
|
|
27504
|
-
parseInt(response.headers.get('content-length')) <
|
|
27505
|
-
megabytesToBytes(this.maxSizeMB)) {
|
|
27506
|
-
this.http.get(url, { responseType: 'blob' }).subscribe({
|
|
27507
|
-
next: (blob) => {
|
|
27508
|
-
this.cd.markForCheck();
|
|
27509
|
-
const file = new File([blob], name);
|
|
27510
|
-
this.fileChange.emit(file);
|
|
27511
|
-
},
|
|
27512
|
-
error: () => {
|
|
27513
|
-
this.downloadError = true;
|
|
27514
|
-
this.cd.markForCheck();
|
|
27515
|
-
this.urlChange.emit(url);
|
|
27516
|
-
},
|
|
27517
|
-
});
|
|
27518
|
-
}
|
|
27519
|
-
}
|
|
27520
|
-
catch {
|
|
27521
|
-
this.downloadError = true;
|
|
27522
|
-
this.cd.markForCheck();
|
|
27504
|
+
handleUrlChange(url) {
|
|
27505
|
+
if (!url)
|
|
27523
27506
|
return;
|
|
27524
|
-
|
|
27507
|
+
this.urlChange.emit(url);
|
|
27525
27508
|
}
|
|
27526
27509
|
handleSecondaryTextClick(event) {
|
|
27527
|
-
if (this.
|
|
27528
|
-
this.handleRetry();
|
|
27529
|
-
}
|
|
27530
|
-
else if (this.uploadProgress) {
|
|
27510
|
+
if (this.uploadProgress) {
|
|
27531
27511
|
this.handleCancel();
|
|
27532
27512
|
event.preventDefault();
|
|
27533
27513
|
}
|
|
@@ -27535,97 +27515,291 @@ class ImageInputComponent {
|
|
|
27535
27515
|
handleCancel() {
|
|
27536
27516
|
this.uploadCancel.emit();
|
|
27537
27517
|
}
|
|
27538
|
-
|
|
27539
|
-
|
|
27540
|
-
case 'file':
|
|
27541
|
-
this.fileChange.emit(this.lastUploadContent);
|
|
27542
|
-
break;
|
|
27543
|
-
case 'url':
|
|
27544
|
-
this.urlChange.emit(this.lastUploadContent);
|
|
27545
|
-
break;
|
|
27546
|
-
}
|
|
27547
|
-
}
|
|
27548
|
-
handleDelete() {
|
|
27549
|
-
this.delete.emit();
|
|
27550
|
-
}
|
|
27551
|
-
toggleAltTextInput() {
|
|
27552
|
-
this.showAltTextInput = !this.showAltTextInput;
|
|
27553
|
-
}
|
|
27554
|
-
handleAltTextChange(altText) {
|
|
27555
|
-
this.altTextChange.emit(altText);
|
|
27556
|
-
}
|
|
27557
|
-
filterTypeImage(files) {
|
|
27558
|
-
return files.filter((file) => {
|
|
27559
|
-
return file.type.startsWith('image/');
|
|
27560
|
-
});
|
|
27561
|
-
}
|
|
27562
|
-
resizeAndEmit(imageToResize) {
|
|
27563
|
-
const maxSizeBytes = megabytesToBytes(this.maxSizeMB);
|
|
27564
|
-
downgradeImage(imageToResize, maxSizeBytes).then((resizedImage) => {
|
|
27565
|
-
const fileToEmit = new File([resizedImage], imageToResize.name);
|
|
27566
|
-
this.fileChange.emit(fileToEmit);
|
|
27567
|
-
});
|
|
27568
|
-
}
|
|
27569
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageInputComponent, deps: [{ token: i1.HttpClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27570
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ImageInputComponent, isStandalone: true, selector: "gn-ui-image-input", inputs: { maxSizeMB: "maxSizeMB", previewUrl: "previewUrl", altText: "altText", uploadProgress: "uploadProgress", uploadError: "uploadError", disabled: "disabled" }, outputs: { fileChange: "fileChange", urlChange: "urlChange", uploadCancel: "uploadCancel", delete: "delete", altTextChange: "altTextChange" }, providers: [
|
|
27518
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27519
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileInputComponent, isStandalone: true, selector: "gn-ui-file-input", inputs: { maxSizeMB: "maxSizeMB", uploadProgress: "uploadProgress", disabled: "disabled" }, outputs: { fileChange: "fileChange", urlChange: "urlChange", uploadCancel: "uploadCancel" }, providers: [
|
|
27571
27520
|
provideIcons({
|
|
27572
|
-
|
|
27521
|
+
iconoirCloudUpload,
|
|
27573
27522
|
iconoirFramePlusIn,
|
|
27574
|
-
iconoirMediaImageXmark,
|
|
27575
|
-
iconoirBin,
|
|
27576
|
-
iconoirPlus,
|
|
27577
|
-
iconoirLink,
|
|
27578
27523
|
}),
|
|
27579
27524
|
provideNgIconsConfig({
|
|
27580
|
-
size: '1.
|
|
27525
|
+
size: '1.5em',
|
|
27581
27526
|
}),
|
|
27582
|
-
], ngImport: i0, template: "<
|
|
27527
|
+
], ngImport: i0, template: "<div class=\"w-full flex flex-col gap-[16px]\">\n <label\n gnUiFilesDrop\n class=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500': !isUploadInProgress && !disabled,\n 'cursor-not-allowed': disabled,\n }\"\n [attr.tabindex]=\"isUploadInProgress || disabled ? null : 0\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n (keydown.enter)=\"fileInput.click()\"\n >\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"isUploadInProgress || disabled\"\n />\n\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress\"\n >\n <ng-icon\n *ngIf=\"!dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirCloudUpload\"\n ></ng-icon>\n <ng-icon\n *ngIf=\"dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirFramePlusIn\"\n ></ng-icon>\n </div>\n <div\n *ngIf=\"isUploadInProgress\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">\n {{ getPrimaryText() | translate: { sizeMB: maxSizeMB.toFixed(0) } }}\n </p>\n <p\n class=\"text-sm\"\n [class]=\"\n isUploadInProgress\n ? 'font-bold text-primary cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <p class=\"w-full flex flex-row items-center justify-stretch gap-[16px]\">\n <span class=\"border-b border-gray-300 grow\"></span>\n <span class=\"text-sm font-medium text-gray-500 or-input-url\" translate>\n input.file.orInputUrl</span\n >\n <span class=\"border-b border-gray-300 grow\"></span>\n </p>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"isUploadInProgress || disabled\"\n (uploadClick)=\"handleUrlChange($event)\"\n ></gn-ui-url-input>\n </label>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: FilesDropDirective, selector: "[gnUiFilesDrop]", outputs: ["dragFilesOver", "dropFiles"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i1$5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27583
27528
|
}
|
|
27584
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type:
|
|
27529
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileInputComponent, decorators: [{
|
|
27585
27530
|
type: Component,
|
|
27586
|
-
args: [{ selector: 'gn-ui-
|
|
27531
|
+
args: [{ selector: 'gn-ui-file-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
27587
27532
|
CommonModule,
|
|
27588
27533
|
ButtonComponent,
|
|
27589
27534
|
FilesDropDirective,
|
|
27590
27535
|
MatProgressSpinnerModule,
|
|
27591
27536
|
TranslateModule,
|
|
27592
27537
|
UrlInputComponent,
|
|
27593
|
-
TextInputComponent,
|
|
27594
27538
|
NgIconComponent,
|
|
27595
27539
|
], providers: [
|
|
27596
27540
|
provideIcons({
|
|
27597
|
-
|
|
27541
|
+
iconoirCloudUpload,
|
|
27598
27542
|
iconoirFramePlusIn,
|
|
27599
|
-
iconoirMediaImageXmark,
|
|
27600
|
-
iconoirBin,
|
|
27601
|
-
iconoirPlus,
|
|
27602
|
-
iconoirLink,
|
|
27603
27543
|
}),
|
|
27604
27544
|
provideNgIconsConfig({
|
|
27605
|
-
size: '1.
|
|
27545
|
+
size: '1.5em',
|
|
27606
27546
|
}),
|
|
27607
|
-
], template: "<
|
|
27608
|
-
}], ctorParameters: () => [{ type:
|
|
27547
|
+
], template: "<div class=\"w-full flex flex-col gap-[16px]\">\n <label\n gnUiFilesDrop\n class=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500': !isUploadInProgress && !disabled,\n 'cursor-not-allowed': disabled,\n }\"\n [attr.tabindex]=\"isUploadInProgress || disabled ? null : 0\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n (keydown.enter)=\"fileInput.click()\"\n >\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"isUploadInProgress || disabled\"\n />\n\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress\"\n >\n <ng-icon\n *ngIf=\"!dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirCloudUpload\"\n ></ng-icon>\n <ng-icon\n *ngIf=\"dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirFramePlusIn\"\n ></ng-icon>\n </div>\n <div\n *ngIf=\"isUploadInProgress\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">\n {{ getPrimaryText() | translate: { sizeMB: maxSizeMB.toFixed(0) } }}\n </p>\n <p\n class=\"text-sm\"\n [class]=\"\n isUploadInProgress\n ? 'font-bold text-primary cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <p class=\"w-full flex flex-row items-center justify-stretch gap-[16px]\">\n <span class=\"border-b border-gray-300 grow\"></span>\n <span class=\"text-sm font-medium text-gray-500 or-input-url\" translate>\n input.file.orInputUrl</span\n >\n <span class=\"border-b border-gray-300 grow\"></span>\n </p>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"isUploadInProgress || disabled\"\n (uploadClick)=\"handleUrlChange($event)\"\n ></gn-ui-url-input>\n </label>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
27548
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { maxSizeMB: [{
|
|
27609
27549
|
type: Input
|
|
27610
|
-
}],
|
|
27550
|
+
}], uploadProgress: [{
|
|
27611
27551
|
type: Input
|
|
27612
|
-
}],
|
|
27552
|
+
}], fileChange: [{
|
|
27553
|
+
type: Output
|
|
27554
|
+
}], urlChange: [{
|
|
27555
|
+
type: Output
|
|
27556
|
+
}], uploadCancel: [{
|
|
27557
|
+
type: Output
|
|
27558
|
+
}], disabled: [{
|
|
27613
27559
|
type: Input
|
|
27614
|
-
}]
|
|
27560
|
+
}] } });
|
|
27561
|
+
|
|
27562
|
+
class NavigationButtonComponent {
|
|
27563
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NavigationButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27564
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: NavigationButtonComponent, isStandalone: true, selector: "gn-ui-navigation-button", inputs: { label: "label", icon: "icon" }, ngImport: i0, template: "<button\n class=\"group flex items-center justify-center gap-1 backdrop-blur p-1 bg-primary-opacity-30 rounded content-center\"\n>\n <ng-icon [name]=\"icon\" class=\"align-middle w-[18px]\"></ng-icon>\n <span\n class=\"mx-2 mt-0.5 text-[16px] tracking-widest content-center opacity-75\"\n >{{ label.toUpperCase() }}</span\n >\n</button>\n", styles: ["button{color:var(--navigation-button-color, --color-background)}\n"], dependencies: [{ kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27565
|
+
}
|
|
27566
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NavigationButtonComponent, decorators: [{
|
|
27567
|
+
type: Component,
|
|
27568
|
+
args: [{ selector: 'gn-ui-navigation-button', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIcon], standalone: true, template: "<button\n class=\"group flex items-center justify-center gap-1 backdrop-blur p-1 bg-primary-opacity-30 rounded content-center\"\n>\n <ng-icon [name]=\"icon\" class=\"align-middle w-[18px]\"></ng-icon>\n <span\n class=\"mx-2 mt-0.5 text-[16px] tracking-widest content-center opacity-75\"\n >{{ label.toUpperCase() }}</span\n >\n</button>\n", styles: ["button{color:var(--navigation-button-color, --color-background)}\n"] }]
|
|
27569
|
+
}], propDecorators: { label: [{
|
|
27615
27570
|
type: Input
|
|
27616
|
-
}],
|
|
27571
|
+
}], icon: [{
|
|
27572
|
+
type: Input
|
|
27573
|
+
}] } });
|
|
27574
|
+
|
|
27575
|
+
class SearchInputComponent {
|
|
27576
|
+
constructor() {
|
|
27577
|
+
this.value = '';
|
|
27578
|
+
this.placeholder = '';
|
|
27579
|
+
this.rawChange = new Subject();
|
|
27580
|
+
this.valueChange = this.rawChange.pipe(distinctUntilChanged$1());
|
|
27581
|
+
}
|
|
27582
|
+
handleChange($event) {
|
|
27583
|
+
const value = $event.target.value;
|
|
27584
|
+
this.rawChange.next(value);
|
|
27585
|
+
}
|
|
27586
|
+
clear() {
|
|
27587
|
+
this.value = null;
|
|
27588
|
+
this.rawChange.next(null);
|
|
27589
|
+
}
|
|
27590
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27591
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SearchInputComponent, isStandalone: true, selector: "gn-ui-search-input", inputs: { value: "value", placeholder: "placeholder" }, outputs: { valueChange: "valueChange" }, providers: [
|
|
27592
|
+
provideIcons({ matSearch, matClose }),
|
|
27593
|
+
provideNgIconsConfig({
|
|
27594
|
+
size: '1.5em',
|
|
27595
|
+
}),
|
|
27596
|
+
], ngImport: i0, template: "<div class=\"h-full relative text-gray-300\">\n <input\n #input\n class=\"peer h-full appearance-none border border-gray-300 rounded w-full p-2 pl-10 text-gray-700 leading-tight hover:border-primary focus:text-primary focus:outline-none focus:border-primary focus:border-2\"\n type=\"text\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n />\n <div\n class=\"absolute inset-y-0 left-0 pl-2.5 flex items-center peer-hover:text-primary peer-focus:text-primary\"\n >\n <ng-icon name=\"matSearch\"></ng-icon>\n </div>\n <button\n *ngIf=\"rawChange | async\"\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary absolute transition-all duration-100 inset-y-0 right-0 pr-2.5\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle\"></ng-icon>\n </button>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27597
|
+
}
|
|
27598
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SearchInputComponent, decorators: [{
|
|
27599
|
+
type: Component,
|
|
27600
|
+
args: [{ selector: 'gn-ui-search-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NgIconComponent], providers: [
|
|
27601
|
+
provideIcons({ matSearch, matClose }),
|
|
27602
|
+
provideNgIconsConfig({
|
|
27603
|
+
size: '1.5em',
|
|
27604
|
+
}),
|
|
27605
|
+
], template: "<div class=\"h-full relative text-gray-300\">\n <input\n #input\n class=\"peer h-full appearance-none border border-gray-300 rounded w-full p-2 pl-10 text-gray-700 leading-tight hover:border-primary focus:text-primary focus:outline-none focus:border-primary focus:border-2\"\n type=\"text\"\n [value]=\"value\"\n [placeholder]=\"placeholder\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n />\n <div\n class=\"absolute inset-y-0 left-0 pl-2.5 flex items-center peer-hover:text-primary peer-focus:text-primary\"\n >\n <ng-icon name=\"matSearch\"></ng-icon>\n </div>\n <button\n *ngIf=\"rawChange | async\"\n type=\"button\"\n class=\"text-primary-lightest hover:text-primary absolute transition-all duration-100 inset-y-0 right-0 pr-2.5\"\n aria-label=\"Clear\"\n (click)=\"clear()\"\n >\n <ng-icon name=\"matClose\" class=\"align-middle\"></ng-icon>\n </button>\n</div>\n" }]
|
|
27606
|
+
}], propDecorators: { value: [{
|
|
27607
|
+
type: Input
|
|
27608
|
+
}], placeholder: [{
|
|
27609
|
+
type: Input
|
|
27610
|
+
}], valueChange: [{
|
|
27611
|
+
type: Output
|
|
27612
|
+
}] } });
|
|
27613
|
+
|
|
27614
|
+
class StarToggleComponent {
|
|
27615
|
+
constructor() {
|
|
27616
|
+
this.disabled = false;
|
|
27617
|
+
this.newValue = new EventEmitter();
|
|
27618
|
+
}
|
|
27619
|
+
toggle(event) {
|
|
27620
|
+
if (!this.disabled) {
|
|
27621
|
+
this.toggled = !this.toggled;
|
|
27622
|
+
if (this.toggled) {
|
|
27623
|
+
const anim = this.overlay.nativeElement.getAnimations()[0];
|
|
27624
|
+
anim.cancel();
|
|
27625
|
+
anim.play();
|
|
27626
|
+
}
|
|
27627
|
+
this.newValue.emit(this.toggled);
|
|
27628
|
+
}
|
|
27629
|
+
propagateToDocumentOnly(event);
|
|
27630
|
+
event.preventDefault();
|
|
27631
|
+
}
|
|
27632
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StarToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27633
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: StarToggleComponent, isStandalone: true, selector: "gn-ui-star-toggle", inputs: { toggled: "toggled", disabled: "disabled" }, outputs: { newValue: "newValue" }, viewQueries: [{ propertyName: "overlay", first: true, predicate: ["starOverlay"], descendants: true }], ngImport: i0, template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <button\n type=\"button\"\n class=\"-m-[8px] p-[8px]\"\n (click)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n 'disabled opacity-45': !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled,\n }\"\n >\n <ng-icon [name]=\"toggled ? 'matStar' : 'matStarBorder'\"></ng-icon>\n </button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], viewProviders: [provideIcons({ matStar, matStarBorder })], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27634
|
+
}
|
|
27635
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: StarToggleComponent, decorators: [{
|
|
27636
|
+
type: Component,
|
|
27637
|
+
args: [{ selector: 'gn-ui-star-toggle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, NgIcon], viewProviders: [provideIcons({ matStar, matStarBorder })], template: "<div class=\"inline-block relative align-middle\" style=\"line-height: 0.7em\">\n <button\n type=\"button\"\n class=\"-m-[8px] p-[8px]\"\n (click)=\"toggle($event)\"\n [ngClass]=\"{\n enabled: toggled,\n 'disabled opacity-45': !toggled,\n 'transition hover:scale-125 will-change-transform': !disabled,\n 'cursor-default': disabled,\n }\"\n >\n <ng-icon [name]=\"toggled ? 'matStar' : 'matStarBorder'\"></ng-icon>\n </button>\n <svg\n #starOverlay\n class=\"star-toggle-overlay\"\n width=\"40px\"\n height=\"40px\"\n viewBox=\"-15 -15 30 30\"\n >\n <g>\n <path d=\"M 0,13.229167 V 0\" />\n <path d=\"M -12.484186,4.0880377 0,0\" />\n <path d=\"M -7.6784102,-10.70262 0,0\" />\n <path d=\"M 7.8734079,-10.70262 0,0\" />\n <path d=\"M 12.679184,4.0880376 0,0\" />\n </g>\n </svg>\n</div>\n", styles: ["button.enabled{color:var(--star-toggle-enabled-color, var(--color-secondary))}button.disabled{color:var(--star-toggle-disabled-color, var(--color-primary))}.star-filled{font-variation-settings:\"FILL\" 1}.star-toggle-overlay{stroke:var(--color-secondary);stroke-width:3.5px;stroke-linecap:round;position:absolute;top:50%;left:50%;width:2.5em;height:2.5em;transform:translate(-50%,-50%);pointer-events:none;stroke-dasharray:5 20;stroke-dashoffset:-15;animation:overlay-dash .8s cubic-bezier(.16,.66,.44,.96) forwards;animation-play-state:paused}@keyframes overlay-dash{to{stroke-dashoffset:7}}\n"] }]
|
|
27638
|
+
}], propDecorators: { toggled: [{
|
|
27617
27639
|
type: Input
|
|
27618
27640
|
}], disabled: [{
|
|
27619
27641
|
type: Input
|
|
27620
|
-
}],
|
|
27642
|
+
}], newValue: [{
|
|
27621
27643
|
type: Output
|
|
27622
|
-
}],
|
|
27644
|
+
}], overlay: [{
|
|
27645
|
+
type: ViewChild,
|
|
27646
|
+
args: ['starOverlay']
|
|
27647
|
+
}] } });
|
|
27648
|
+
|
|
27649
|
+
class SwitchToggleComponent {
|
|
27650
|
+
constructor() {
|
|
27651
|
+
this.ariaLabel = '';
|
|
27652
|
+
this.extraClasses = '';
|
|
27653
|
+
this.disabled = false;
|
|
27654
|
+
this.selectedValue = new EventEmitter();
|
|
27655
|
+
}
|
|
27656
|
+
onChange(selectedOption) {
|
|
27657
|
+
this.options.find((option) => option.label === selectedOption.label).checked = true;
|
|
27658
|
+
this.selectedValue.emit(selectedOption);
|
|
27659
|
+
}
|
|
27660
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SwitchToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27661
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SwitchToggleComponent, isStandalone: true, selector: "gn-ui-switch-toggle", inputs: { options: "options", ariaLabel: "ariaLabel", extraClasses: "extraClasses", disabled: "disabled" }, outputs: { selectedValue: "selectedValue" }, ngImport: i0, template: "<mat-button-toggle-group\n #group=\"matButtonToggleGroup\"\n multiple=\"false\"\n class=\"flex w-full\"\n [disabled]=\"disabled\"\n>\n <mat-button-toggle\n *ngFor=\"let option of options\"\n [aria-label]=\"option.label\"\n [checked]=\"option.checked\"\n (change)=\"onChange(option)\"\n [class]=\"extraClasses\"\n >{{ option.label | translate }}</mat-button-toggle\n >\n</mat-button-toggle-group>\n", styles: [":host{--mat-standard-button-toggle-height: 32px}.mat-button-toggle-group-appearance-standard{background-color:var(--color-gray-200);padding:4px;display:flex;gap:4px;border-radius:8px}.mat-button-toggle-appearance-standard{color:#000;background-color:var(--color-gray-200);border-radius:4px;border-left:none;font-family:var(--font-family-main)}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{background-color:#000;color:var(--color-background)}button.mat-button-toggle-button.mat-focus-indicator.mat-button-toggle-label-content,.mat-button-toggle-label-content{line-height:32px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i1$a.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i1$a.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27662
|
+
}
|
|
27663
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SwitchToggleComponent, decorators: [{
|
|
27664
|
+
type: Component,
|
|
27665
|
+
args: [{ selector: 'gn-ui-switch-toggle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatButtonToggleModule, CommonModule, TranslateModule], template: "<mat-button-toggle-group\n #group=\"matButtonToggleGroup\"\n multiple=\"false\"\n class=\"flex w-full\"\n [disabled]=\"disabled\"\n>\n <mat-button-toggle\n *ngFor=\"let option of options\"\n [aria-label]=\"option.label\"\n [checked]=\"option.checked\"\n (change)=\"onChange(option)\"\n [class]=\"extraClasses\"\n >{{ option.label | translate }}</mat-button-toggle\n >\n</mat-button-toggle-group>\n", styles: [":host{--mat-standard-button-toggle-height: 32px}.mat-button-toggle-group-appearance-standard{background-color:var(--color-gray-200);padding:4px;display:flex;gap:4px;border-radius:8px}.mat-button-toggle-appearance-standard{color:#000;background-color:var(--color-gray-200);border-radius:4px;border-left:none;font-family:var(--font-family-main)}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{background-color:#000;color:var(--color-background)}button.mat-button-toggle-button.mat-focus-indicator.mat-button-toggle-label-content,.mat-button-toggle-label-content{line-height:32px}\n"] }]
|
|
27666
|
+
}], propDecorators: { options: [{
|
|
27667
|
+
type: Input
|
|
27668
|
+
}], ariaLabel: [{
|
|
27669
|
+
type: Input
|
|
27670
|
+
}], extraClasses: [{
|
|
27671
|
+
type: Input
|
|
27672
|
+
}], disabled: [{
|
|
27673
|
+
type: Input
|
|
27674
|
+
}], selectedValue: [{
|
|
27623
27675
|
type: Output
|
|
27624
|
-
}]
|
|
27676
|
+
}] } });
|
|
27677
|
+
|
|
27678
|
+
class TextAreaComponent {
|
|
27679
|
+
constructor() {
|
|
27680
|
+
this.value = '';
|
|
27681
|
+
this.disabled = false;
|
|
27682
|
+
this.extraClass = '';
|
|
27683
|
+
this.placeholder = '';
|
|
27684
|
+
this.required = false;
|
|
27685
|
+
this.rawChange = new Subject();
|
|
27686
|
+
this.valueChange = this.rawChange.pipe(distinctUntilChanged());
|
|
27687
|
+
}
|
|
27688
|
+
ngAfterViewInit() {
|
|
27689
|
+
this.checkRequired(this.input.nativeElement.value);
|
|
27690
|
+
}
|
|
27691
|
+
checkRequired(value) {
|
|
27692
|
+
this.input.nativeElement.classList.toggle('invalid', this.required && value === '');
|
|
27693
|
+
}
|
|
27694
|
+
handleChange($event) {
|
|
27695
|
+
const value = $event.target.value;
|
|
27696
|
+
this.checkRequired(value);
|
|
27697
|
+
this.rawChange.next(value);
|
|
27698
|
+
}
|
|
27699
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextAreaComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27700
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TextAreaComponent, isStandalone: true, selector: "gn-ui-text-area", inputs: { value: "value", disabled: "disabled", extraClass: "extraClass", placeholder: "placeholder", required: "required" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<div class=\"h-full flex\">\n <textarea\n #input\n name=\"textArea\"\n class=\"gn-ui-text-input leading-tight\"\n [ngClass]=\"extraClass\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [value]=\"value ?? ''\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n [attr.required]=\"required || null\"\n ></textarea>\n</div>\n", styles: [".invalid{border-color:var(--color-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
27701
|
+
}
|
|
27702
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextAreaComponent, decorators: [{
|
|
27703
|
+
type: Component,
|
|
27704
|
+
args: [{ selector: 'gn-ui-text-area', standalone: true, imports: [CommonModule], template: "<div class=\"h-full flex\">\n <textarea\n #input\n name=\"textArea\"\n class=\"gn-ui-text-input leading-tight\"\n [ngClass]=\"extraClass\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [value]=\"value ?? ''\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n [attr.required]=\"required || null\"\n ></textarea>\n</div>\n", styles: [".invalid{border-color:var(--color-secondary)}\n"] }]
|
|
27705
|
+
}], propDecorators: { value: [{
|
|
27706
|
+
type: Input
|
|
27707
|
+
}], disabled: [{
|
|
27708
|
+
type: Input
|
|
27709
|
+
}], extraClass: [{
|
|
27710
|
+
type: Input
|
|
27711
|
+
}], placeholder: [{
|
|
27712
|
+
type: Input
|
|
27713
|
+
}], required: [{
|
|
27714
|
+
type: Input
|
|
27715
|
+
}], valueChange: [{
|
|
27625
27716
|
type: Output
|
|
27626
|
-
}],
|
|
27717
|
+
}], input: [{
|
|
27718
|
+
type: ViewChild,
|
|
27719
|
+
args: ['input']
|
|
27720
|
+
}] } });
|
|
27721
|
+
|
|
27722
|
+
class TextInputComponent {
|
|
27723
|
+
constructor() {
|
|
27724
|
+
this.value = '';
|
|
27725
|
+
this.extraClass = '';
|
|
27726
|
+
this.required = false;
|
|
27727
|
+
this.rawChange = new Subject();
|
|
27728
|
+
this.valueChange = this.rawChange.pipe(distinctUntilChanged());
|
|
27729
|
+
}
|
|
27730
|
+
ngAfterViewInit() {
|
|
27731
|
+
this.checkRequired(this.input.nativeElement.value);
|
|
27732
|
+
}
|
|
27733
|
+
checkRequired(value) {
|
|
27734
|
+
this.input.nativeElement.classList.toggle('invalid', this.required && value === '');
|
|
27735
|
+
}
|
|
27736
|
+
handleChange($event) {
|
|
27737
|
+
const value = $event.target.value;
|
|
27738
|
+
this.checkRequired(value);
|
|
27739
|
+
this.rawChange.next(value);
|
|
27740
|
+
}
|
|
27741
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27742
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: TextInputComponent, isStandalone: true, selector: "gn-ui-text-input", inputs: { value: "value", extraClass: "extraClass", placeholder: "placeholder", required: "required", disabled: "disabled" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input\n #input\n class=\"gn-ui-text-input\"\n [ngClass]=\"extraClass\"\n type=\"text\"\n [value]=\"value\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"placeholder\"\n [attr.required]=\"required || null\"\n [disabled]=\"disabled\"\n/>\n", styles: [".invalid{border-color:var(--color-secondary)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
27743
|
+
}
|
|
27744
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TextInputComponent, decorators: [{
|
|
27745
|
+
type: Component,
|
|
27746
|
+
args: [{ selector: 'gn-ui-text-input', standalone: true, imports: [CommonModule], template: "<input\n #input\n class=\"gn-ui-text-input\"\n [ngClass]=\"extraClass\"\n type=\"text\"\n [value]=\"value\"\n (change)=\"handleChange($event)\"\n (input)=\"handleChange($event)\"\n [placeholder]=\"placeholder\"\n [attr.aria-label]=\"placeholder\"\n [attr.required]=\"required || null\"\n [disabled]=\"disabled\"\n/>\n", styles: [".invalid{border-color:var(--color-secondary)}\n"] }]
|
|
27747
|
+
}], propDecorators: { value: [{
|
|
27748
|
+
type: Input
|
|
27749
|
+
}], extraClass: [{
|
|
27750
|
+
type: Input
|
|
27751
|
+
}], placeholder: [{
|
|
27752
|
+
type: Input
|
|
27753
|
+
}], required: [{
|
|
27754
|
+
type: Input
|
|
27755
|
+
}], disabled: [{
|
|
27756
|
+
type: Input
|
|
27757
|
+
}], valueChange: [{
|
|
27627
27758
|
type: Output
|
|
27628
|
-
}],
|
|
27759
|
+
}], input: [{
|
|
27760
|
+
type: ViewChild,
|
|
27761
|
+
args: ['input']
|
|
27762
|
+
}] } });
|
|
27763
|
+
|
|
27764
|
+
class ViewportIntersectorComponent {
|
|
27765
|
+
constructor(vcRef) {
|
|
27766
|
+
this.vcRef = vcRef;
|
|
27767
|
+
this.isInViewport = new EventEmitter();
|
|
27768
|
+
this.entersViewport = this.isInViewport.pipe(filter((inViewport) => inViewport), map$1(() => undefined));
|
|
27769
|
+
this.exitsViewport = this.isInViewport.pipe(filter((inViewport) => !inViewport), map$1(() => undefined));
|
|
27770
|
+
}
|
|
27771
|
+
ngOnInit() {
|
|
27772
|
+
const elToObserve = this.vcRef.element.nativeElement;
|
|
27773
|
+
this.observeInputElement(elToObserve);
|
|
27774
|
+
}
|
|
27775
|
+
ngOnDestroy() {
|
|
27776
|
+
const elToObserve = this.vcRef.element.nativeElement;
|
|
27777
|
+
this.unObserveInputElement(elToObserve);
|
|
27778
|
+
}
|
|
27779
|
+
observeInputElement(elToObserve) {
|
|
27780
|
+
if (!this.observer) {
|
|
27781
|
+
this.observer = new IntersectionObserver((entries) => {
|
|
27782
|
+
entries.forEach((entry) => {
|
|
27783
|
+
this.isInViewport.emit(entry.isIntersecting);
|
|
27784
|
+
});
|
|
27785
|
+
}, { root: null, threshold: 0 });
|
|
27786
|
+
}
|
|
27787
|
+
this.observer.observe(elToObserve);
|
|
27788
|
+
}
|
|
27789
|
+
unObserveInputElement(elToObserve) {
|
|
27790
|
+
this.observer?.unobserve(elToObserve);
|
|
27791
|
+
}
|
|
27792
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewportIntersectorComponent, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27793
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ViewportIntersectorComponent, selector: "gn-ui-viewport-intersector", outputs: { isInViewport: "isInViewport", entersViewport: "entersViewport", exitsViewport: "exitsViewport" }, ngImport: i0, template: "<div class=\"w-full h-full\"></div>\n", styles: [""] }); }
|
|
27794
|
+
}
|
|
27795
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ViewportIntersectorComponent, decorators: [{
|
|
27796
|
+
type: Component,
|
|
27797
|
+
args: [{ selector: 'gn-ui-viewport-intersector', template: "<div class=\"w-full h-full\"></div>\n" }]
|
|
27798
|
+
}], ctorParameters: () => [{ type: i0.ViewContainerRef }], propDecorators: { isInViewport: [{
|
|
27799
|
+
type: Output
|
|
27800
|
+
}], entersViewport: [{
|
|
27801
|
+
type: Output
|
|
27802
|
+
}], exitsViewport: [{
|
|
27629
27803
|
type: Output
|
|
27630
27804
|
}] } });
|
|
27631
27805
|
|
|
@@ -27652,7 +27826,6 @@ class UiInputsModule {
|
|
|
27652
27826
|
EditableLabelDirective,
|
|
27653
27827
|
TextAreaComponent,
|
|
27654
27828
|
ButtonComponent,
|
|
27655
|
-
ImageInputComponent,
|
|
27656
27829
|
DropdownSelectorComponent,
|
|
27657
27830
|
DateRangePickerComponent,
|
|
27658
27831
|
CheckToggleComponent,
|
|
@@ -27668,7 +27841,6 @@ class UiInputsModule {
|
|
|
27668
27841
|
CheckboxComponent,
|
|
27669
27842
|
DateRangePickerComponent,
|
|
27670
27843
|
EditableLabelDirective,
|
|
27671
|
-
ImageInputComponent,
|
|
27672
27844
|
BadgeComponent] }); }
|
|
27673
27845
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiInputsModule, providers: [
|
|
27674
27846
|
provideIcons({
|
|
@@ -27696,7 +27868,6 @@ class UiInputsModule {
|
|
|
27696
27868
|
MatDatepickerModule,
|
|
27697
27869
|
MatNativeDateModule,
|
|
27698
27870
|
TextAreaComponent,
|
|
27699
|
-
ImageInputComponent,
|
|
27700
27871
|
DropdownSelectorComponent,
|
|
27701
27872
|
DateRangePickerComponent,
|
|
27702
27873
|
CheckToggleComponent,
|
|
@@ -27733,7 +27904,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
27733
27904
|
EditableLabelDirective,
|
|
27734
27905
|
TextAreaComponent,
|
|
27735
27906
|
ButtonComponent,
|
|
27736
|
-
ImageInputComponent,
|
|
27737
27907
|
DropdownSelectorComponent,
|
|
27738
27908
|
DateRangePickerComponent,
|
|
27739
27909
|
CheckToggleComponent,
|
|
@@ -27762,135 +27932,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
27762
27932
|
CheckboxComponent,
|
|
27763
27933
|
DateRangePickerComponent,
|
|
27764
27934
|
EditableLabelDirective,
|
|
27765
|
-
ImageInputComponent,
|
|
27766
27935
|
BadgeComponent,
|
|
27767
27936
|
],
|
|
27768
27937
|
}]
|
|
27769
27938
|
}] });
|
|
27770
27939
|
|
|
27771
|
-
class SwitchToggleComponent {
|
|
27772
|
-
constructor() {
|
|
27773
|
-
this.ariaLabel = '';
|
|
27774
|
-
this.extraClasses = '';
|
|
27775
|
-
this.disabled = false;
|
|
27776
|
-
this.selectedValue = new EventEmitter();
|
|
27777
|
-
}
|
|
27778
|
-
onChange(selectedOption) {
|
|
27779
|
-
this.options.find((option) => option.label === selectedOption.label).checked = true;
|
|
27780
|
-
this.selectedValue.emit(selectedOption);
|
|
27781
|
-
}
|
|
27782
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SwitchToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27783
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SwitchToggleComponent, isStandalone: true, selector: "gn-ui-switch-toggle", inputs: { options: "options", ariaLabel: "ariaLabel", extraClasses: "extraClasses", disabled: "disabled" }, outputs: { selectedValue: "selectedValue" }, ngImport: i0, template: "<mat-button-toggle-group\n #group=\"matButtonToggleGroup\"\n multiple=\"false\"\n class=\"flex w-full\"\n [disabled]=\"disabled\"\n>\n <mat-button-toggle\n *ngFor=\"let option of options\"\n [aria-label]=\"option.label\"\n [checked]=\"option.checked\"\n (change)=\"onChange(option)\"\n [class]=\"extraClasses\"\n >{{ option.label | translate }}</mat-button-toggle\n >\n</mat-button-toggle-group>\n", styles: [":host{--mat-standard-button-toggle-height: 32px}.mat-button-toggle-group-appearance-standard{background-color:var(--color-gray-200);padding:4px;display:flex;gap:4px;border-radius:8px}.mat-button-toggle-appearance-standard{color:#000;background-color:var(--color-gray-200);border-radius:4px;border-left:none;font-family:var(--font-family-main)}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{background-color:#000;color:var(--color-background)}button.mat-button-toggle-button.mat-focus-indicator.mat-button-toggle-label-content,.mat-button-toggle-label-content{line-height:32px}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonToggleModule }, { kind: "directive", type: i1$a.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i1$a.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27784
|
-
}
|
|
27785
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SwitchToggleComponent, decorators: [{
|
|
27786
|
-
type: Component,
|
|
27787
|
-
args: [{ selector: 'gn-ui-switch-toggle', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [MatButtonToggleModule, CommonModule, TranslateModule], template: "<mat-button-toggle-group\n #group=\"matButtonToggleGroup\"\n multiple=\"false\"\n class=\"flex w-full\"\n [disabled]=\"disabled\"\n>\n <mat-button-toggle\n *ngFor=\"let option of options\"\n [aria-label]=\"option.label\"\n [checked]=\"option.checked\"\n (change)=\"onChange(option)\"\n [class]=\"extraClasses\"\n >{{ option.label | translate }}</mat-button-toggle\n >\n</mat-button-toggle-group>\n", styles: [":host{--mat-standard-button-toggle-height: 32px}.mat-button-toggle-group-appearance-standard{background-color:var(--color-gray-200);padding:4px;display:flex;gap:4px;border-radius:8px}.mat-button-toggle-appearance-standard{color:#000;background-color:var(--color-gray-200);border-radius:4px;border-left:none;font-family:var(--font-family-main)}.mat-button-toggle-appearance-standard.mat-button-toggle-checked{background-color:#000;color:var(--color-background)}button.mat-button-toggle-button.mat-focus-indicator.mat-button-toggle-label-content,.mat-button-toggle-label-content{line-height:32px}\n"] }]
|
|
27788
|
-
}], propDecorators: { options: [{
|
|
27789
|
-
type: Input
|
|
27790
|
-
}], ariaLabel: [{
|
|
27791
|
-
type: Input
|
|
27792
|
-
}], extraClasses: [{
|
|
27793
|
-
type: Input
|
|
27794
|
-
}], disabled: [{
|
|
27795
|
-
type: Input
|
|
27796
|
-
}], selectedValue: [{
|
|
27797
|
-
type: Output
|
|
27798
|
-
}] } });
|
|
27799
|
-
|
|
27800
|
-
class FileInputComponent {
|
|
27801
|
-
get isUploadInProgress() {
|
|
27802
|
-
return this.uploadProgress !== undefined;
|
|
27803
|
-
}
|
|
27804
|
-
constructor(cd) {
|
|
27805
|
-
this.cd = cd;
|
|
27806
|
-
this.disabled = false;
|
|
27807
|
-
this.fileChange = new EventEmitter();
|
|
27808
|
-
this.urlChange = new EventEmitter();
|
|
27809
|
-
this.uploadCancel = new EventEmitter();
|
|
27810
|
-
this.dragFilesOver = false;
|
|
27811
|
-
}
|
|
27812
|
-
getPrimaryText() {
|
|
27813
|
-
if (this.uploadProgress) {
|
|
27814
|
-
return marker('input.file.uploadProgressLabel');
|
|
27815
|
-
}
|
|
27816
|
-
return marker('input.file.selectFileLabel');
|
|
27817
|
-
}
|
|
27818
|
-
getSecondaryText() {
|
|
27819
|
-
if (this.uploadProgress) {
|
|
27820
|
-
return marker('input.file.uploadProgressCancel');
|
|
27821
|
-
}
|
|
27822
|
-
return marker('input.file.dropFileLabel');
|
|
27823
|
-
}
|
|
27824
|
-
handleDragFilesOver(dragFilesOver) {
|
|
27825
|
-
this.dragFilesOver = dragFilesOver;
|
|
27826
|
-
this.cd.markForCheck();
|
|
27827
|
-
}
|
|
27828
|
-
handleDropFiles(files) {
|
|
27829
|
-
if (files.length > 0) {
|
|
27830
|
-
this.fileChange.emit(files[0]);
|
|
27831
|
-
}
|
|
27832
|
-
}
|
|
27833
|
-
handleFileInput(event) {
|
|
27834
|
-
this.handleDropFiles(Array.from(event.target.files));
|
|
27835
|
-
}
|
|
27836
|
-
handleUrlChange(url) {
|
|
27837
|
-
if (!url)
|
|
27838
|
-
return;
|
|
27839
|
-
this.urlChange.emit(url);
|
|
27840
|
-
}
|
|
27841
|
-
handleSecondaryTextClick(event) {
|
|
27842
|
-
if (this.uploadProgress) {
|
|
27843
|
-
this.handleCancel();
|
|
27844
|
-
event.preventDefault();
|
|
27845
|
-
}
|
|
27846
|
-
}
|
|
27847
|
-
handleCancel() {
|
|
27848
|
-
this.uploadCancel.emit();
|
|
27849
|
-
}
|
|
27850
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileInputComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27851
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FileInputComponent, isStandalone: true, selector: "gn-ui-file-input", inputs: { maxSizeMB: "maxSizeMB", uploadProgress: "uploadProgress", disabled: "disabled" }, outputs: { fileChange: "fileChange", urlChange: "urlChange", uploadCancel: "uploadCancel" }, providers: [
|
|
27852
|
-
provideIcons({
|
|
27853
|
-
iconoirCloudUpload,
|
|
27854
|
-
iconoirFramePlusIn,
|
|
27855
|
-
}),
|
|
27856
|
-
provideNgIconsConfig({
|
|
27857
|
-
size: '1.5em',
|
|
27858
|
-
}),
|
|
27859
|
-
], ngImport: i0, template: "<div class=\"w-full flex flex-col gap-[16px]\">\n <label\n gnUiFilesDrop\n class=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500': !isUploadInProgress && !disabled,\n 'cursor-not-allowed': disabled,\n }\"\n [attr.tabindex]=\"isUploadInProgress || disabled ? null : 0\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n (keydown.enter)=\"fileInput.click()\"\n >\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"isUploadInProgress || disabled\"\n />\n\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress\"\n >\n <ng-icon\n *ngIf=\"!dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirCloudUpload\"\n ></ng-icon>\n <ng-icon\n *ngIf=\"dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirFramePlusIn\"\n ></ng-icon>\n </div>\n <div\n *ngIf=\"isUploadInProgress\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">\n {{ getPrimaryText() | translate: { sizeMB: maxSizeMB.toFixed(0) } }}\n </p>\n <p\n class=\"text-sm\"\n [class]=\"\n isUploadInProgress\n ? 'font-bold text-primary cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <p class=\"w-full flex flex-row items-center justify-stretch gap-[16px]\">\n <span class=\"border-b border-gray-300 grow\"></span>\n <span class=\"text-sm font-medium text-gray-500 or-input-url\" translate>\n input.file.orInputUrl</span\n >\n <span class=\"border-b border-gray-300 grow\"></span>\n </p>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"isUploadInProgress || disabled\"\n (uploadClick)=\"handleUrlChange($event)\"\n ></gn-ui-url-input>\n </label>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: FilesDropDirective, selector: "[gnUiFilesDrop]", outputs: ["dragFilesOver", "dropFiles"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i1$5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showUploadButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27860
|
-
}
|
|
27861
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FileInputComponent, decorators: [{
|
|
27862
|
-
type: Component,
|
|
27863
|
-
args: [{ selector: 'gn-ui-file-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
27864
|
-
CommonModule,
|
|
27865
|
-
ButtonComponent,
|
|
27866
|
-
FilesDropDirective,
|
|
27867
|
-
MatProgressSpinnerModule,
|
|
27868
|
-
TranslateModule,
|
|
27869
|
-
UrlInputComponent,
|
|
27870
|
-
NgIconComponent,
|
|
27871
|
-
], providers: [
|
|
27872
|
-
provideIcons({
|
|
27873
|
-
iconoirCloudUpload,
|
|
27874
|
-
iconoirFramePlusIn,
|
|
27875
|
-
}),
|
|
27876
|
-
provideNgIconsConfig({
|
|
27877
|
-
size: '1.5em',
|
|
27878
|
-
}),
|
|
27879
|
-
], template: "<div class=\"w-full flex flex-col gap-[16px]\">\n <label\n gnUiFilesDrop\n class=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500': !isUploadInProgress && !disabled,\n 'cursor-not-allowed': disabled,\n }\"\n [attr.tabindex]=\"isUploadInProgress || disabled ? null : 0\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n (keydown.enter)=\"fileInput.click()\"\n >\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"isUploadInProgress || disabled\"\n />\n\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress\"\n >\n <ng-icon\n *ngIf=\"!dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirCloudUpload\"\n ></ng-icon>\n <ng-icon\n *ngIf=\"dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirFramePlusIn\"\n ></ng-icon>\n </div>\n <div\n *ngIf=\"isUploadInProgress\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">\n {{ getPrimaryText() | translate: { sizeMB: maxSizeMB.toFixed(0) } }}\n </p>\n <p\n class=\"text-sm\"\n [class]=\"\n isUploadInProgress\n ? 'font-bold text-primary cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <p class=\"w-full flex flex-row items-center justify-stretch gap-[16px]\">\n <span class=\"border-b border-gray-300 grow\"></span>\n <span class=\"text-sm font-medium text-gray-500 or-input-url\" translate>\n input.file.orInputUrl</span\n >\n <span class=\"border-b border-gray-300 grow\"></span>\n </p>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"isUploadInProgress || disabled\"\n (uploadClick)=\"handleUrlChange($event)\"\n ></gn-ui-url-input>\n </label>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
27880
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { maxSizeMB: [{
|
|
27881
|
-
type: Input
|
|
27882
|
-
}], uploadProgress: [{
|
|
27883
|
-
type: Input
|
|
27884
|
-
}], disabled: [{
|
|
27885
|
-
type: Input
|
|
27886
|
-
}], fileChange: [{
|
|
27887
|
-
type: Output
|
|
27888
|
-
}], urlChange: [{
|
|
27889
|
-
type: Output
|
|
27890
|
-
}], uploadCancel: [{
|
|
27891
|
-
type: Output
|
|
27892
|
-
}] } });
|
|
27893
|
-
|
|
27894
27940
|
class SortableListComponent {
|
|
27895
27941
|
constructor() {
|
|
27896
27942
|
this.itemsOrderChange = new EventEmitter();
|
|
@@ -29117,6 +29163,202 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
29117
29163
|
type: Output
|
|
29118
29164
|
}] } });
|
|
29119
29165
|
|
|
29166
|
+
class ImageInputComponent {
|
|
29167
|
+
get isUploadInProgress() {
|
|
29168
|
+
return this.uploadProgress !== undefined;
|
|
29169
|
+
}
|
|
29170
|
+
constructor(http, cd) {
|
|
29171
|
+
this.http = http;
|
|
29172
|
+
this.cd = cd;
|
|
29173
|
+
this.disabled = false;
|
|
29174
|
+
this.fileChange = new EventEmitter();
|
|
29175
|
+
this.urlChange = new EventEmitter();
|
|
29176
|
+
this.uploadCancel = new EventEmitter();
|
|
29177
|
+
this.delete = new EventEmitter();
|
|
29178
|
+
this.altTextChange = new EventEmitter();
|
|
29179
|
+
this.dragFilesOver = false;
|
|
29180
|
+
this.showUrlInput = false;
|
|
29181
|
+
this.downloadError = false;
|
|
29182
|
+
this.showAltTextInput = false;
|
|
29183
|
+
}
|
|
29184
|
+
getPrimaryText() {
|
|
29185
|
+
if (this.uploadError) {
|
|
29186
|
+
return marker('input.image.uploadErrorLabel');
|
|
29187
|
+
}
|
|
29188
|
+
if (this.uploadProgress) {
|
|
29189
|
+
return marker('input.image.uploadProgressLabel');
|
|
29190
|
+
}
|
|
29191
|
+
return marker('input.image.selectFileLabel');
|
|
29192
|
+
}
|
|
29193
|
+
getSecondaryText() {
|
|
29194
|
+
if (this.uploadError) {
|
|
29195
|
+
return marker('input.image.uploadErrorRetry');
|
|
29196
|
+
}
|
|
29197
|
+
if (this.uploadProgress) {
|
|
29198
|
+
return marker('input.image.uploadProgressCancel');
|
|
29199
|
+
}
|
|
29200
|
+
return marker('input.image.dropFileLabel');
|
|
29201
|
+
}
|
|
29202
|
+
handleDragFilesOver(dragFilesOver) {
|
|
29203
|
+
if (!this.showUrlInput) {
|
|
29204
|
+
this.dragFilesOver = dragFilesOver;
|
|
29205
|
+
this.cd.markForCheck();
|
|
29206
|
+
}
|
|
29207
|
+
}
|
|
29208
|
+
handleDropFiles(files) {
|
|
29209
|
+
if (!this.showUrlInput) {
|
|
29210
|
+
const validFiles = this.filterTypeImage(files);
|
|
29211
|
+
if (validFiles.length > 0) {
|
|
29212
|
+
this.resizeAndEmit(validFiles[0]);
|
|
29213
|
+
}
|
|
29214
|
+
}
|
|
29215
|
+
}
|
|
29216
|
+
handleFileInput(event) {
|
|
29217
|
+
const inputFiles = Array.from(event.target.files);
|
|
29218
|
+
const validFiles = this.filterTypeImage(inputFiles);
|
|
29219
|
+
if (validFiles.length > 0) {
|
|
29220
|
+
this.resizeAndEmit(validFiles[0]);
|
|
29221
|
+
}
|
|
29222
|
+
}
|
|
29223
|
+
displayUrlInput() {
|
|
29224
|
+
this.uploadCancel.emit();
|
|
29225
|
+
this.showUrlInput = true;
|
|
29226
|
+
}
|
|
29227
|
+
async downloadUrl(url) {
|
|
29228
|
+
this.downloadError = false;
|
|
29229
|
+
const name = url.split('/').pop();
|
|
29230
|
+
try {
|
|
29231
|
+
const response = await firstValueFrom(this.http.head(url, { observe: 'response' }));
|
|
29232
|
+
if (response.headers.get('content-type')?.startsWith('image/') &&
|
|
29233
|
+
parseInt(response.headers.get('content-length')) <
|
|
29234
|
+
megabytesToBytes(this.maxSizeMB)) {
|
|
29235
|
+
this.http.get(url, { responseType: 'blob' }).subscribe({
|
|
29236
|
+
next: (blob) => {
|
|
29237
|
+
this.cd.markForCheck();
|
|
29238
|
+
const file = new File([blob], name);
|
|
29239
|
+
this.fileChange.emit(file);
|
|
29240
|
+
},
|
|
29241
|
+
error: () => {
|
|
29242
|
+
this.downloadError = true;
|
|
29243
|
+
this.cd.markForCheck();
|
|
29244
|
+
this.urlChange.emit(url);
|
|
29245
|
+
},
|
|
29246
|
+
});
|
|
29247
|
+
}
|
|
29248
|
+
}
|
|
29249
|
+
catch {
|
|
29250
|
+
this.downloadError = true;
|
|
29251
|
+
this.cd.markForCheck();
|
|
29252
|
+
return;
|
|
29253
|
+
}
|
|
29254
|
+
}
|
|
29255
|
+
handleSecondaryTextClick(event) {
|
|
29256
|
+
if (this.uploadError) {
|
|
29257
|
+
this.handleRetry();
|
|
29258
|
+
}
|
|
29259
|
+
else if (this.uploadProgress) {
|
|
29260
|
+
this.handleCancel();
|
|
29261
|
+
event.preventDefault();
|
|
29262
|
+
}
|
|
29263
|
+
}
|
|
29264
|
+
handleCancel() {
|
|
29265
|
+
this.uploadCancel.emit();
|
|
29266
|
+
}
|
|
29267
|
+
handleRetry() {
|
|
29268
|
+
switch (this.lastUploadType) {
|
|
29269
|
+
case 'file':
|
|
29270
|
+
this.fileChange.emit(this.lastUploadContent);
|
|
29271
|
+
break;
|
|
29272
|
+
case 'url':
|
|
29273
|
+
this.urlChange.emit(this.lastUploadContent);
|
|
29274
|
+
break;
|
|
29275
|
+
}
|
|
29276
|
+
}
|
|
29277
|
+
handleDelete() {
|
|
29278
|
+
this.delete.emit();
|
|
29279
|
+
}
|
|
29280
|
+
toggleAltTextInput() {
|
|
29281
|
+
this.showAltTextInput = !this.showAltTextInput;
|
|
29282
|
+
}
|
|
29283
|
+
handleAltTextChange(altText) {
|
|
29284
|
+
this.altTextChange.emit(altText);
|
|
29285
|
+
}
|
|
29286
|
+
filterTypeImage(files) {
|
|
29287
|
+
return files.filter((file) => {
|
|
29288
|
+
return file.type.startsWith('image/');
|
|
29289
|
+
});
|
|
29290
|
+
}
|
|
29291
|
+
resizeAndEmit(imageToResize) {
|
|
29292
|
+
const maxSizeBytes = megabytesToBytes(this.maxSizeMB);
|
|
29293
|
+
downgradeImage(imageToResize, maxSizeBytes).then((resizedImage) => {
|
|
29294
|
+
const fileToEmit = new File([resizedImage], imageToResize.name);
|
|
29295
|
+
this.fileChange.emit(fileToEmit);
|
|
29296
|
+
});
|
|
29297
|
+
}
|
|
29298
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageInputComponent, deps: [{ token: i1.HttpClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29299
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ImageInputComponent, isStandalone: true, selector: "gn-ui-image-input", inputs: { maxSizeMB: "maxSizeMB", previewUrl: "previewUrl", altText: "altText", uploadProgress: "uploadProgress", uploadError: "uploadError", disabled: "disabled" }, outputs: { fileChange: "fileChange", urlChange: "urlChange", uploadCancel: "uploadCancel", delete: "delete", altTextChange: "altTextChange" }, providers: [
|
|
29300
|
+
provideIcons({
|
|
29301
|
+
iconoirMediaImage,
|
|
29302
|
+
iconoirFramePlusIn,
|
|
29303
|
+
iconoirMediaImageXmark,
|
|
29304
|
+
iconoirBin,
|
|
29305
|
+
iconoirPlus,
|
|
29306
|
+
iconoirLink,
|
|
29307
|
+
}),
|
|
29308
|
+
provideNgIconsConfig({
|
|
29309
|
+
size: '1.5rem',
|
|
29310
|
+
}),
|
|
29311
|
+
], ngImport: i0, template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-80 h-full flex flex-col gap-2\">\n <gn-ui-image-overlay-preview class=\"h-48\" [imageUrl]=\"previewUrl\">\n </gn-ui-image-overlay-preview>\n <gn-ui-text-input\n *ngIf=\"showAltTextInput\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText ?? ''\"\n (valueChange)=\"handleAltTextChange($event)\"\n extraClass=\"gn-ui-editor-textarea\"\n [disabled]=\"true\"\n ></gn-ui-text-input>\n <div class=\"flex flex-row gap-2 mt-2\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"handleDelete()\">\n <ng-icon class=\"me-1 text-primary\" name=\"iconoirBin\"></ng-icon>\n {{ 'input.image.delete' | translate }}\n </gn-ui-button>\n <gn-ui-button\n *ngIf=\"!showAltTextInput\"\n type=\"gray\"\n (buttonClick)=\"toggleAltTextInput()\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"me-1 text-primary\"></ng-icon>\n {{ 'input.image.displayAltTextInput' | translate }}\n </gn-ui-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #withoutImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <label\n gnUiFilesDrop\n class=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500':\n !isUploadInProgress && !uploadError && !showUrlInput && !disabled,\n 'cursor-not-allowed': disabled,\n }\"\n [attr.tabindex]=\"\n isUploadInProgress || uploadError || showUrlInput || disabled ? null : 0\n \"\n (keydown.enter)=\"fileInput.click()\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n >\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress && !uploadError\"\n >\n <ng-icon\n *ngIf=\"!dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirMediaImage\"\n ></ng-icon>\n <ng-icon\n *ngIf=\"dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirFramePlusIn\"\n ></ng-icon>\n </div>\n\n <div\n *ngIf=\"isUploadInProgress && !uploadError\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n\n <div class=\"w-14 h-14 rounded-md bg-gray-50 grid\" *ngIf=\"uploadError\">\n <ng-icon\n name=\"iconoirMediaImageXmark\"\n class=\"place-self-center text-rose-500\"\n ></ng-icon>\n </div>\n\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">{{ getPrimaryText() | translate }}</p>\n <p\n class=\"text-sm\"\n [class]=\"\n isUploadInProgress || uploadError\n ? 'font-bold text-blue-500 cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"\n showUrlInput || isUploadInProgress || uploadError || disabled\n \"\n />\n </label>\n\n <div *ngIf=\"!showUrlInput\" class=\"flex-none mt-2\">\n <gn-ui-button\n (buttonClick)=\"displayUrlInput()\"\n type=\"gray\"\n [disabled]=\"disabled\"\n [extraClass]=\"disabled && 'cursor-not-allowed'\"\n >\n <ng-icon class=\"me-1 text-primary\" name=\"iconoirLink\"></ng-icon>\n {{ 'input.image.displayUrlInput' | translate }}\n </gn-ui-button>\n </div>\n\n <gn-ui-url-input\n *ngIf=\"showUrlInput\"\n class=\"mt-3.5\"\n (uploadClick)=\"downloadUrl($event)\"\n [disabled]=\"isUploadInProgress || disabled\"\n >\n </gn-ui-url-input>\n </div>\n</ng-template>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "directive", type: FilesDropDirective, selector: "[gnUiFilesDrop]", outputs: ["dragFilesOver", "dropFiles"] }, { kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i1$5.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: ImageOverlayPreviewComponent, selector: "gn-ui-image-overlay-preview", inputs: ["imageUrl"], outputs: ["isPlaceholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29312
|
+
}
|
|
29313
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImageInputComponent, decorators: [{
|
|
29314
|
+
type: Component,
|
|
29315
|
+
args: [{ selector: 'gn-ui-image-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
29316
|
+
CommonModule,
|
|
29317
|
+
ButtonComponent,
|
|
29318
|
+
FilesDropDirective,
|
|
29319
|
+
MatProgressSpinnerModule,
|
|
29320
|
+
TranslateModule,
|
|
29321
|
+
UrlInputComponent,
|
|
29322
|
+
TextInputComponent,
|
|
29323
|
+
NgIconComponent,
|
|
29324
|
+
ImageOverlayPreviewComponent,
|
|
29325
|
+
], providers: [
|
|
29326
|
+
provideIcons({
|
|
29327
|
+
iconoirMediaImage,
|
|
29328
|
+
iconoirFramePlusIn,
|
|
29329
|
+
iconoirMediaImageXmark,
|
|
29330
|
+
iconoirBin,
|
|
29331
|
+
iconoirPlus,
|
|
29332
|
+
iconoirLink,
|
|
29333
|
+
}),
|
|
29334
|
+
provideNgIconsConfig({
|
|
29335
|
+
size: '1.5rem',
|
|
29336
|
+
}),
|
|
29337
|
+
], template: "<ng-container *ngIf=\"previewUrl; then withImage; else withoutImage\">\n</ng-container>\n\n<ng-template #withImage>\n <div class=\"w-80 h-full flex flex-col gap-2\">\n <gn-ui-image-overlay-preview class=\"h-48\" [imageUrl]=\"previewUrl\">\n </gn-ui-image-overlay-preview>\n <gn-ui-text-input\n *ngIf=\"showAltTextInput\"\n [placeholder]=\"'input.image.altTextPlaceholder' | translate\"\n [value]=\"altText ?? ''\"\n (valueChange)=\"handleAltTextChange($event)\"\n extraClass=\"gn-ui-editor-textarea\"\n [disabled]=\"true\"\n ></gn-ui-text-input>\n <div class=\"flex flex-row gap-2 mt-2\">\n <gn-ui-button type=\"gray\" (buttonClick)=\"handleDelete()\">\n <ng-icon class=\"me-1 text-primary\" name=\"iconoirBin\"></ng-icon>\n {{ 'input.image.delete' | translate }}\n </gn-ui-button>\n <gn-ui-button\n *ngIf=\"!showAltTextInput\"\n type=\"gray\"\n (buttonClick)=\"toggleAltTextInput()\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"me-1 text-primary\"></ng-icon>\n {{ 'input.image.displayAltTextInput' | translate }}\n </gn-ui-button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #withoutImage>\n <div class=\"w-full h-full flex flex-col gap-2\">\n <label\n gnUiFilesDrop\n class=\"flex-1 border-2 border-dashed rounded-lg p-6 flex flex-col items-center justify-center gap-4 transition-colors duration-100\"\n [ngClass]=\"{\n 'border-primary-lighter bg-primary-white': dragFilesOver,\n 'border-gray-300': !dragFilesOver,\n 'cursor-pointer hover:border-gray-500':\n !isUploadInProgress && !uploadError && !showUrlInput && !disabled,\n 'cursor-not-allowed': disabled,\n }\"\n [attr.tabindex]=\"\n isUploadInProgress || uploadError || showUrlInput || disabled ? null : 0\n \"\n (keydown.enter)=\"fileInput.click()\"\n (dragFilesOver)=\"handleDragFilesOver($event)\"\n (dropFiles)=\"handleDropFiles($event)\"\n >\n <div\n class=\"w-14 h-14 rounded-md bg-gray-50 grid\"\n *ngIf=\"!isUploadInProgress && !uploadError\"\n >\n <ng-icon\n *ngIf=\"!dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirMediaImage\"\n ></ng-icon>\n <ng-icon\n *ngIf=\"dragFilesOver\"\n class=\"place-self-center text-primary\"\n name=\"iconoirFramePlusIn\"\n ></ng-icon>\n </div>\n\n <div\n *ngIf=\"isUploadInProgress && !uploadError\"\n class=\"w-14 h-14 grid items-center justify-center relative\"\n >\n <div class=\"text-gray-100 absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"100\"\n ></mat-progress-spinner>\n </div>\n <div class=\"text-primary absolute\">\n <mat-progress-spinner\n class=\"place-self-center\"\n [diameter]=\"56\"\n mode=\"determinate\"\n [value]=\"uploadProgress\"\n ></mat-progress-spinner>\n </div>\n <span class=\"text-sm text-main font-bold\">{{ uploadProgress }}%</span>\n </div>\n\n <div class=\"w-14 h-14 rounded-md bg-gray-50 grid\" *ngIf=\"uploadError\">\n <ng-icon\n name=\"iconoirMediaImageXmark\"\n class=\"place-self-center text-rose-500\"\n ></ng-icon>\n </div>\n\n <div class=\"flex flex-col items-center gap-1\">\n <p class=\"font-medium\">{{ getPrimaryText() | translate }}</p>\n <p\n class=\"text-sm\"\n [class]=\"\n isUploadInProgress || uploadError\n ? 'font-bold text-blue-500 cursor-pointer'\n : 'font-medium text-gray-500'\n \"\n (click)=\"handleSecondaryTextClick($event)\"\n >\n {{ getSecondaryText() | translate }}\n </p>\n </div>\n <input\n #fileInput\n type=\"file\"\n class=\"hidden\"\n (change)=\"handleFileInput($event)\"\n [disabled]=\"\n showUrlInput || isUploadInProgress || uploadError || disabled\n \"\n />\n </label>\n\n <div *ngIf=\"!showUrlInput\" class=\"flex-none mt-2\">\n <gn-ui-button\n (buttonClick)=\"displayUrlInput()\"\n type=\"gray\"\n [disabled]=\"disabled\"\n [extraClass]=\"disabled && 'cursor-not-allowed'\"\n >\n <ng-icon class=\"me-1 text-primary\" name=\"iconoirLink\"></ng-icon>\n {{ 'input.image.displayUrlInput' | translate }}\n </gn-ui-button>\n </div>\n\n <gn-ui-url-input\n *ngIf=\"showUrlInput\"\n class=\"mt-3.5\"\n (uploadClick)=\"downloadUrl($event)\"\n [disabled]=\"isUploadInProgress || disabled\"\n >\n </gn-ui-url-input>\n </div>\n</ng-template>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
29338
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.ChangeDetectorRef }], propDecorators: { maxSizeMB: [{
|
|
29339
|
+
type: Input
|
|
29340
|
+
}], previewUrl: [{
|
|
29341
|
+
type: Input
|
|
29342
|
+
}], altText: [{
|
|
29343
|
+
type: Input
|
|
29344
|
+
}], uploadProgress: [{
|
|
29345
|
+
type: Input
|
|
29346
|
+
}], uploadError: [{
|
|
29347
|
+
type: Input
|
|
29348
|
+
}], disabled: [{
|
|
29349
|
+
type: Input
|
|
29350
|
+
}], fileChange: [{
|
|
29351
|
+
type: Output
|
|
29352
|
+
}], urlChange: [{
|
|
29353
|
+
type: Output
|
|
29354
|
+
}], uploadCancel: [{
|
|
29355
|
+
type: Output
|
|
29356
|
+
}], delete: [{
|
|
29357
|
+
type: Output
|
|
29358
|
+
}], altTextChange: [{
|
|
29359
|
+
type: Output
|
|
29360
|
+
}] } });
|
|
29361
|
+
|
|
29120
29362
|
class LinkCardComponent {
|
|
29121
29363
|
constructor() {
|
|
29122
29364
|
this.compact = false;
|
|
@@ -29647,22 +29889,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
29647
29889
|
type: Input
|
|
29648
29890
|
}] } });
|
|
29649
29891
|
|
|
29650
|
-
class UserPreviewComponent {
|
|
29651
|
-
get userFullName() {
|
|
29652
|
-
return (this.user.name + ' ' + this.user.surname).trim();
|
|
29653
|
-
}
|
|
29654
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29655
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserPreviewComponent, selector: "gn-ui-user-preview", inputs: { user: "user", avatarPlaceholder: "avatarPlaceholder" }, ngImport: i0, template: "<figure class=\"text-center\">\n <div class=\"w-10 h-10 rounded-full capitalize\" [matTooltip]=\"userFullName\">\n <gn-ui-avatar\n [avatarUrl]=\"user.profileIcon\"\n [avatarPlaceholder]=\"avatarPlaceholder\"\n ></gn-ui-avatar>\n </div>\n</figure>\n", dependencies: [{ kind: "directive", type: i1$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: AvatarComponent, selector: "gn-ui-avatar", inputs: ["avatarUrl", "avatarPlaceholder"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29656
|
-
}
|
|
29657
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserPreviewComponent, decorators: [{
|
|
29658
|
-
type: Component,
|
|
29659
|
-
args: [{ selector: 'gn-ui-user-preview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<figure class=\"text-center\">\n <div class=\"w-10 h-10 rounded-full capitalize\" [matTooltip]=\"userFullName\">\n <gn-ui-avatar\n [avatarUrl]=\"user.profileIcon\"\n [avatarPlaceholder]=\"avatarPlaceholder\"\n ></gn-ui-avatar>\n </div>\n</figure>\n" }]
|
|
29660
|
-
}], propDecorators: { user: [{
|
|
29661
|
-
type: Input
|
|
29662
|
-
}], avatarPlaceholder: [{
|
|
29663
|
-
type: Input
|
|
29664
|
-
}] } });
|
|
29665
|
-
|
|
29666
29892
|
class TimeSincePipe {
|
|
29667
29893
|
constructor(translate) {
|
|
29668
29894
|
this.translate = translate;
|
|
@@ -29716,6 +29942,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
29716
29942
|
}]
|
|
29717
29943
|
}], ctorParameters: () => [{ type: i1$1.TranslateService }] });
|
|
29718
29944
|
|
|
29945
|
+
class UserPreviewComponent {
|
|
29946
|
+
get userFullName() {
|
|
29947
|
+
return (this.user.name + ' ' + this.user.surname).trim();
|
|
29948
|
+
}
|
|
29949
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserPreviewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29950
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: UserPreviewComponent, selector: "gn-ui-user-preview", inputs: { user: "user", avatarPlaceholder: "avatarPlaceholder" }, ngImport: i0, template: "<figure class=\"text-center\">\n <div class=\"w-10 h-10 rounded-full capitalize\" [matTooltip]=\"userFullName\">\n <gn-ui-avatar\n [avatarUrl]=\"user.profileIcon\"\n [avatarPlaceholder]=\"avatarPlaceholder\"\n ></gn-ui-avatar>\n </div>\n</figure>\n", dependencies: [{ kind: "directive", type: i1$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: AvatarComponent, selector: "gn-ui-avatar", inputs: ["avatarUrl", "avatarPlaceholder"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29951
|
+
}
|
|
29952
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UserPreviewComponent, decorators: [{
|
|
29953
|
+
type: Component,
|
|
29954
|
+
args: [{ selector: 'gn-ui-user-preview', changeDetection: ChangeDetectionStrategy.OnPush, template: "<figure class=\"text-center\">\n <div class=\"w-10 h-10 rounded-full capitalize\" [matTooltip]=\"userFullName\">\n <gn-ui-avatar\n [avatarUrl]=\"user.profileIcon\"\n [avatarPlaceholder]=\"avatarPlaceholder\"\n ></gn-ui-avatar>\n </div>\n</figure>\n" }]
|
|
29955
|
+
}], propDecorators: { user: [{
|
|
29956
|
+
type: Input
|
|
29957
|
+
}], avatarPlaceholder: [{
|
|
29958
|
+
type: Input
|
|
29959
|
+
}] } });
|
|
29960
|
+
|
|
29719
29961
|
class UiElementsModule {
|
|
29720
29962
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
29721
29963
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, declarations: [AvatarComponent, UserPreviewComponent], imports: [CommonModule,
|
|
@@ -29732,10 +29974,12 @@ class UiElementsModule {
|
|
|
29732
29974
|
TimeSincePipe,
|
|
29733
29975
|
BadgeComponent,
|
|
29734
29976
|
MaxLinesComponent,
|
|
29735
|
-
TextInputComponent
|
|
29977
|
+
TextInputComponent,
|
|
29978
|
+
ImageInputComponent], exports: [ThumbnailComponent,
|
|
29736
29979
|
AvatarComponent,
|
|
29737
29980
|
UserPreviewComponent,
|
|
29738
|
-
MarkdownParserComponent
|
|
29981
|
+
MarkdownParserComponent,
|
|
29982
|
+
ImageInputComponent] }); }
|
|
29739
29983
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, providers: [
|
|
29740
29984
|
provideNgIconsConfig({
|
|
29741
29985
|
size: '1.5em',
|
|
@@ -29753,7 +29997,8 @@ class UiElementsModule {
|
|
|
29753
29997
|
ThumbnailComponent,
|
|
29754
29998
|
BadgeComponent,
|
|
29755
29999
|
MaxLinesComponent,
|
|
29756
|
-
TextInputComponent
|
|
30000
|
+
TextInputComponent,
|
|
30001
|
+
ImageInputComponent] }); }
|
|
29757
30002
|
}
|
|
29758
30003
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: UiElementsModule, decorators: [{
|
|
29759
30004
|
type: NgModule,
|
|
@@ -29776,6 +30021,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
29776
30021
|
BadgeComponent,
|
|
29777
30022
|
MaxLinesComponent,
|
|
29778
30023
|
TextInputComponent,
|
|
30024
|
+
ImageInputComponent,
|
|
29779
30025
|
],
|
|
29780
30026
|
providers: [
|
|
29781
30027
|
provideNgIconsConfig({
|
|
@@ -29788,6 +30034,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
29788
30034
|
AvatarComponent,
|
|
29789
30035
|
UserPreviewComponent,
|
|
29790
30036
|
MarkdownParserComponent,
|
|
30037
|
+
ImageInputComponent,
|
|
29791
30038
|
],
|
|
29792
30039
|
}]
|
|
29793
30040
|
}] });
|
|
@@ -30040,7 +30287,6 @@ class ResultsTableComponent {
|
|
|
30040
30287
|
this.sortOrder = null;
|
|
30041
30288
|
this.hasDraft = () => false;
|
|
30042
30289
|
this.canDuplicate = () => true;
|
|
30043
|
-
this.isUnsavedDraft = () => true;
|
|
30044
30290
|
this.canDelete = () => true;
|
|
30045
30291
|
// emits the column (field) as well as the order
|
|
30046
30292
|
this.sortByChange = new EventEmitter();
|
|
@@ -30148,7 +30394,7 @@ class ResultsTableComponent {
|
|
|
30148
30394
|
this.recordsSelectedChange.emit([[record], selected]);
|
|
30149
30395
|
}
|
|
30150
30396
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableComponent, deps: [{ token: i1$9.Overlay }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30151
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", hasDraft: "hasDraft", canDuplicate: "canDuplicate",
|
|
30397
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableComponent, isStandalone: true, selector: "gn-ui-results-table", inputs: { records: "records", selectedRecordsIdentifiers: "selectedRecordsIdentifiers", sortOrder: "sortOrder", hasDraft: "hasDraft", canDuplicate: "canDuplicate", canDelete: "canDelete" }, outputs: { sortByChange: "sortByChange", recordClick: "recordClick", duplicateRecord: "duplicateRecord", deleteRecord: "deleteRecord", recordsSelectedChange: "recordsSelectedChange" }, providers: [provideIcons({ iconoirUser, matMoreVert })], viewQueries: [{ propertyName: "actionMenuButtons", predicate: ["actionMenuButton"], descendants: true, read: ElementRef }], ngImport: i0, template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'9rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (item.extras?.['isPublishedToAll']\n ? 'record.metadata.status.published'\n : 'record.metadata.status.notPublished'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'8rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.changeDate</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex text-left w-full text-xs\">\n {{\n item.extras?.['isPublishedToAll']\n ? dateToString(item.recordUpdated)\n : '-'\n }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-button\n cdkOverlayOrigin\n #actionMenuButton\n (buttonClick)=\"openActionMenu(item, template)\"\n type=\"light\"\n data-test=\"record-menu-button\"\n >\n <ng-icon name=\"matMoreVert\"></ng-icon>\n </gn-ui-button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item)\"\n [canDelete]=\"canDelete(item)\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n (closeActionMenu)=\"closeActionMenu()\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: CheckboxComponent, selector: "gn-ui-checkbox", inputs: ["type", "checked", "indeterminate"], outputs: ["changed"] }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "component", type: InteractiveTableComponent, selector: "gn-ui-interactive-table", inputs: ["items"], outputs: ["itemClick"] }, { kind: "component", type: InteractiveTableColumnComponent, selector: "gn-ui-interactive-table-column", inputs: ["grow", "width", "sortable", "activeSort"], outputs: ["sortChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: ActionMenuComponent, selector: "gn-ui-action-menu", inputs: ["canDuplicate", "canDelete"], outputs: ["duplicate", "delete", "closeActionMenu"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }] }); }
|
|
30152
30398
|
}
|
|
30153
30399
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableComponent, decorators: [{
|
|
30154
30400
|
type: Component,
|
|
@@ -30163,7 +30409,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30163
30409
|
NgIconComponent,
|
|
30164
30410
|
CdkOverlayOrigin,
|
|
30165
30411
|
CdkConnectedOverlay,
|
|
30166
|
-
], providers: [provideIcons({ iconoirUser, matMoreVert })], template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'9rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (
|
|
30412
|
+
], providers: [provideIcons({ iconoirUser, matMoreVert })], template: "<gn-ui-interactive-table\n [items]=\"records\"\n (itemClick)=\"handleRecordClick($event)\"\n>\n <!-- SELECTED COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'3rem'\">\n <ng-template #cell let-item>\n <gn-ui-checkbox\n [checked]=\"isChecked(item)\"\n (changed)=\"handleRecordSelectedChange($event, item)\"\n class=\"-m-2\"\n type=\"default\"\n ></gn-ui-checkbox>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- TITLE COLUMN -->\n <gn-ui-interactive-table-column\n [sortable]=\"true\"\n [grow]=\"true\"\n [activeSort]=\"isSortedBy('resourceTitleObject.default.keyword')\"\n (sortChange)=\"setSortBy('resourceTitleObject.default.keyword', $event)\"\n >\n <ng-template #header>\n <span translate>record.metadata.title</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex flex-row items-center gap-2 max-w-full font-semibold\">\n <span data-cy=\"resultItemTitle\" class=\"overflow-hidden text-ellipsis\">{{\n item.title\n }}</span>\n <gn-ui-badge\n *ngIf=\"hasDraft(item)\"\n [style.--gn-ui-badge-padding]=\"'0.2em 0.6em'\"\n [style.--gn-ui-badge-text-size]=\"'12px'\"\n [style.--gn-ui-badge-text-color]=\"'#3d2006'\"\n [style.--gn-ui-badge-background-color]=\"'#ffbc7b'\"\n [style.--gn-ui-badge-rounded]=\"'4px'\"\n >\n <span translate>dashboard.records.hasDraft</span>\n </gn-ui-badge>\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- FORMATS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'9rem'\">\n <ng-template #header>\n <span translate>record.metadata.formats</span>\n </ng-template>\n <ng-template #cell let-item>\n <div\n class=\"flex justify-start items-center gap-2 font-medium\"\n *ngIf=\"getRecordFormats(item) as formats\"\n [title]=\"formats.join(', ')\"\n >\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[0])\"\n *ngIf=\"formats[0]\"\n >\n {{ formats[0] }}\n </span>\n <span\n class=\"badge-btn min-w-[45px] text-xs text-gray-900 px-2 shrink-0\"\n [style.background-color]=\"getBadgeColor(formats[1])\"\n *ngIf=\"formats[1]\"\n >\n {{ formats[1] }}\n </span>\n <div class=\"shrink-0 text-xs\" *ngIf=\"formats.slice(2).length > 0\">\n <span>+{{ formats.slice(2).length }}</span>\n </div>\n </div>\n <div *ngIf=\"!getRecordFormats(item)\"></div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- OWNER COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'9rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('recordOwner')\"\n (sortChange)=\"setSortBy('recordOwner', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.user</span>\n </ng-template>\n <ng-template #cell let-item>\n <ng-icon name=\"iconoirUser\" size=\"16px\"></ng-icon>\n <span data-cy=\"ownerInfo\" class=\"text-xs\">{{\n formatUserInfo(item.extras?.ownerInfo)\n }}</span>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- STATUS COLUMN -->\n <gn-ui-interactive-table-column [width]=\"'6rem'\">\n <ng-template #header>\n <span translate>record.metadata.status</span>\n </ng-template>\n <ng-template #cell let-item>\n <span class=\"text-xs\">\n {{\n (item.extras?.['isPublishedToAll']\n ? 'record.metadata.status.published'\n : 'record.metadata.status.notPublished'\n ) | translate\n }}</span\n >\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- UPDATE DATE COLUMN -->\n <gn-ui-interactive-table-column\n [width]=\"'8rem'\"\n [sortable]=\"true\"\n [activeSort]=\"isSortedBy('changeDate')\"\n (sortChange)=\"setSortBy('changeDate', $event)\"\n >\n <ng-template #header>\n <span translate>search.filters.changeDate</span>\n </ng-template>\n <ng-template #cell let-item>\n <div class=\"flex text-left w-full text-xs\">\n {{\n item.extras?.['isPublishedToAll']\n ? dateToString(item.recordUpdated)\n : '-'\n }}\n </div>\n </ng-template>\n </gn-ui-interactive-table-column>\n\n <!-- ACTION MENU COLUMN -->\n <gn-ui-interactive-table-column>\n <ng-template #header> </ng-template>\n <ng-template #cell let-item>\n <gn-ui-button\n cdkOverlayOrigin\n #actionMenuButton\n (buttonClick)=\"openActionMenu(item, template)\"\n type=\"light\"\n data-test=\"record-menu-button\"\n >\n <ng-icon name=\"matMoreVert\"></ng-icon>\n </gn-ui-button>\n <ng-template #template>\n <gn-ui-action-menu\n [canDuplicate]=\"canDuplicate(item)\"\n [canDelete]=\"canDelete(item)\"\n (duplicate)=\"handleDuplicate(item)\"\n (delete)=\"handleDelete(item)\"\n (closeActionMenu)=\"closeActionMenu()\"\n >\n </gn-ui-action-menu>\n </ng-template>\n </ng-template>\n </gn-ui-interactive-table-column>\n</gn-ui-interactive-table>\n" }]
|
|
30167
30413
|
}], ctorParameters: () => [{ type: i1$9.Overlay }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }], propDecorators: { records: [{
|
|
30168
30414
|
type: Input
|
|
30169
30415
|
}], selectedRecordsIdentifiers: [{
|
|
@@ -30174,8 +30420,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
30174
30420
|
type: Input
|
|
30175
30421
|
}], canDuplicate: [{
|
|
30176
30422
|
type: Input
|
|
30177
|
-
}], isUnsavedDraft: [{
|
|
30178
|
-
type: Input
|
|
30179
30423
|
}], canDelete: [{
|
|
30180
30424
|
type: Input
|
|
30181
30425
|
}], sortByChange: [{
|
|
@@ -32352,7 +32596,6 @@ class ResultsTableContainerComponent {
|
|
|
32352
32596
|
this.selectedRecords$ = this.selectionService.selectedRecordsIdentifiers$;
|
|
32353
32597
|
this.sortBy$ = this.searchFacade.sortBy$;
|
|
32354
32598
|
this.hasDraft = (record) => this.recordsRepository.recordHasDraft(record.uniqueIdentifier);
|
|
32355
|
-
this.isUnsavedDraft = (record) => this.recordsRepository.isRecordNotYetSaved(record.uniqueIdentifier);
|
|
32356
32599
|
}
|
|
32357
32600
|
handleRecordClick(item) {
|
|
32358
32601
|
this.recordClick.emit(item);
|
|
@@ -32397,11 +32640,11 @@ class ResultsTableContainerComponent {
|
|
|
32397
32640
|
this.subscription.unsubscribe();
|
|
32398
32641
|
}
|
|
32399
32642
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableContainerComponent, deps: [{ token: SearchFacade }, { token: SearchService }, { token: SelectionService }, { token: RecordsRepositoryInterface }, { token: NotificationsService }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
32400
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableContainerComponent, isStandalone: true, selector: "gn-ui-results-table-container", inputs: { canDuplicate: "canDuplicate", canDelete: "canDelete" }, outputs: { recordClick: "recordClick", duplicateRecord: "duplicateRecord" }, ngImport: i0, template: "<gn-ui-results-table\n *ngIf=\"searchFacade.results$ | async as records\"\n [records]=\"records\"\n [hasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n [
|
|
32643
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ResultsTableContainerComponent, isStandalone: true, selector: "gn-ui-results-table-container", inputs: { canDuplicate: "canDuplicate", canDelete: "canDelete" }, outputs: { recordClick: "recordClick", duplicateRecord: "duplicateRecord" }, ngImport: i0, template: "<gn-ui-results-table\n *ngIf=\"searchFacade.results$ | async as records\"\n [records]=\"records\"\n [hasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n [canDelete]=\"canDelete\"\n [canDuplicate]=\"canDuplicate\"\n (recordClick)=\"handleRecordClick($event)\"\n (duplicateRecord)=\"handleDuplicateRecord($event)\"\n (deleteRecord)=\"handleDeleteRecord($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: ResultsTableComponent, selector: "gn-ui-results-table", inputs: ["records", "selectedRecordsIdentifiers", "sortOrder", "hasDraft", "canDuplicate", "canDelete"], outputs: ["sortByChange", "recordClick", "duplicateRecord", "deleteRecord", "recordsSelectedChange"] }] }); }
|
|
32401
32644
|
}
|
|
32402
32645
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ResultsTableContainerComponent, decorators: [{
|
|
32403
32646
|
type: Component,
|
|
32404
|
-
args: [{ selector: 'gn-ui-results-table-container', standalone: true, imports: [CommonModule, ResultsTableComponent], template: "<gn-ui-results-table\n *ngIf=\"searchFacade.results$ | async as records\"\n [records]=\"records\"\n [hasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n [
|
|
32647
|
+
args: [{ selector: 'gn-ui-results-table-container', standalone: true, imports: [CommonModule, ResultsTableComponent], template: "<gn-ui-results-table\n *ngIf=\"searchFacade.results$ | async as records\"\n [records]=\"records\"\n [hasDraft]=\"hasDraft\"\n [selectedRecordsIdentifiers]=\"selectedRecords$ | async\"\n [sortOrder]=\"sortBy$ | async\"\n [canDelete]=\"canDelete\"\n [canDuplicate]=\"canDuplicate\"\n (recordClick)=\"handleRecordClick($event)\"\n (duplicateRecord)=\"handleDuplicateRecord($event)\"\n (deleteRecord)=\"handleDeleteRecord($event)\"\n (recordsSelectedChange)=\"handleRecordsSelectedChange($event[0], $event[1])\"\n (sortByChange)=\"handleSortByChange($event[0], $event[1])\"\n></gn-ui-results-table>\n" }]
|
|
32405
32648
|
}], ctorParameters: () => [{ type: SearchFacade }, { type: SearchService }, { type: SelectionService }, { type: RecordsRepositoryInterface }, { type: NotificationsService }, { type: i1$1.TranslateService }], propDecorators: { canDuplicate: [{
|
|
32406
32649
|
type: Input
|
|
32407
32650
|
}], canDelete: [{
|
|
@@ -35525,11 +35768,11 @@ class FigureComponent {
|
|
|
35525
35768
|
return this.color === 'primary' ? 'bg-primary-white' : 'bg-secondary-white';
|
|
35526
35769
|
}
|
|
35527
35770
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FigureComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35528
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FigureComponent, selector: "gn-ui-figure", inputs: { icon: "icon", title: "title", figure: "figure", unit: "unit", color: "color" }, ngImport: i0, template: "<div\n class=\"flex flex-row justify-start items-center overflow-hidden\"\n data-test=\"figureTitle\"\n [title]=\"\n figure.toString() +\n ' ' +\n unit +\n ' ' +\n (title | translate: { count: figure })\n \"\n>\n <div\n class=\"{{ bgClass }} {{\n textClass\n }} text-[1.875em] rounded-full mr-[0.55em] flex justify-center items-center w-[2.2em] h-[2.2em] shrink-0\"\n style=\"width: 2.2em; height: 2.2em\"\n data-test=\"icon-container\"\n >\n <ng-icon class=\"text-[0.66em]\" [name]=\"icon\"> </ng-icon>\n </div>\n <div class=\"shrink overflow-hidden\">\n <div class=\"figure-block text-[1.5em] text-black\">\n <span class=\"figure font-medium mr-[0.3em]\" data-test=\"figure\">{{\n figure\n }}</span>\n <span class=\"unit text-[0.665em]\">{{ unit }}</span>\n </div>\n <div translate class=\"title truncate\" [translateParams]=\"{ count: figure }\">\n {{ title }}\n </div>\n </div>\n</div>\n", styles: [":host{display:inherit}\n"], dependencies: [{ kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i2$2.NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
35771
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FigureComponent, selector: "gn-ui-figure", inputs: { icon: "icon", title: "title", figure: "figure", unit: "unit", color: "color" }, ngImport: i0, template: "<div\n class=\"flex flex-row justify-start items-center overflow-hidden\"\n data-test=\"figureTitle\"\n [title]=\"\n figure.toString() +\n ' ' +\n unit +\n ' ' +\n (title | translate: { count: figure })\n \"\n>\n <div\n data-test=\"icon-container\"\n class=\"{{ bgClass }} {{\n textClass\n }} text-[1.875em] rounded-full mr-[0.55em] flex justify-center items-center w-[2.2em] h-[2.2em] shrink-0\"\n style=\"width: 2.2em; height: 2.2em\"\n data-test=\"icon-container\"\n >\n <ng-icon class=\"text-[0.66em]\" [name]=\"icon\"> </ng-icon>\n </div>\n <div class=\"shrink overflow-hidden\">\n <div class=\"figure-block text-[1.5em] text-black\">\n <span class=\"figure font-medium mr-[0.3em]\" data-test=\"figure\">{{\n figure\n }}</span>\n <span class=\"unit text-[0.665em]\">{{ unit }}</span>\n </div>\n <div translate class=\"title truncate\" [translateParams]=\"{ count: figure }\">\n {{ title }}\n </div>\n </div>\n</div>\n", styles: [":host{display:inherit}\n"], dependencies: [{ kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: i2$2.NgIcon, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
35529
35772
|
}
|
|
35530
35773
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FigureComponent, decorators: [{
|
|
35531
35774
|
type: Component,
|
|
35532
|
-
args: [{ selector: 'gn-ui-figure', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"flex flex-row justify-start items-center overflow-hidden\"\n data-test=\"figureTitle\"\n [title]=\"\n figure.toString() +\n ' ' +\n unit +\n ' ' +\n (title | translate: { count: figure })\n \"\n>\n <div\n class=\"{{ bgClass }} {{\n textClass\n }} text-[1.875em] rounded-full mr-[0.55em] flex justify-center items-center w-[2.2em] h-[2.2em] shrink-0\"\n style=\"width: 2.2em; height: 2.2em\"\n data-test=\"icon-container\"\n >\n <ng-icon class=\"text-[0.66em]\" [name]=\"icon\"> </ng-icon>\n </div>\n <div class=\"shrink overflow-hidden\">\n <div class=\"figure-block text-[1.5em] text-black\">\n <span class=\"figure font-medium mr-[0.3em]\" data-test=\"figure\">{{\n figure\n }}</span>\n <span class=\"unit text-[0.665em]\">{{ unit }}</span>\n </div>\n <div translate class=\"title truncate\" [translateParams]=\"{ count: figure }\">\n {{ title }}\n </div>\n </div>\n</div>\n", styles: [":host{display:inherit}\n"] }]
|
|
35775
|
+
args: [{ selector: 'gn-ui-figure', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"flex flex-row justify-start items-center overflow-hidden\"\n data-test=\"figureTitle\"\n [title]=\"\n figure.toString() +\n ' ' +\n unit +\n ' ' +\n (title | translate: { count: figure })\n \"\n>\n <div\n data-test=\"icon-container\"\n class=\"{{ bgClass }} {{\n textClass\n }} text-[1.875em] rounded-full mr-[0.55em] flex justify-center items-center w-[2.2em] h-[2.2em] shrink-0\"\n style=\"width: 2.2em; height: 2.2em\"\n data-test=\"icon-container\"\n >\n <ng-icon class=\"text-[0.66em]\" [name]=\"icon\"> </ng-icon>\n </div>\n <div class=\"shrink overflow-hidden\">\n <div class=\"figure-block text-[1.5em] text-black\">\n <span class=\"figure font-medium mr-[0.3em]\" data-test=\"figure\">{{\n figure\n }}</span>\n <span class=\"unit text-[0.665em]\">{{ unit }}</span>\n </div>\n <div translate class=\"title truncate\" [translateParams]=\"{ count: figure }\">\n {{ title }}\n </div>\n </div>\n</div>\n", styles: [":host{display:inherit}\n"] }]
|
|
35533
35776
|
}], propDecorators: { icon: [{
|
|
35534
35777
|
type: Input
|
|
35535
35778
|
}], title: [{
|
|
@@ -37531,6 +37774,7 @@ const setCurrentPage = createAction('[Editor] Set current page', props());
|
|
|
37531
37774
|
const setFieldVisibility = createAction('[Editor] Set field visibility', props());
|
|
37532
37775
|
const hasRecordChangedSinceDraft = createAction('[Editor] Has Record Changed Since Draft', props());
|
|
37533
37776
|
const hasRecordChangedSinceDraftSuccess = createAction('[Editor] Has Record Changed Since Draft Success', props());
|
|
37777
|
+
const isPublished = createAction('[Editor] Record Saved But Not Published', props());
|
|
37534
37778
|
|
|
37535
37779
|
/**
|
|
37536
37780
|
* This file contains the configuration of the fields that will be displayed in the editor.
|
|
@@ -37581,9 +37825,7 @@ const RECORD_LICENSE_FIELD = {
|
|
|
37581
37825
|
};
|
|
37582
37826
|
const RECORD_KEYWORDS_FIELD = {
|
|
37583
37827
|
model: 'keywords',
|
|
37584
|
-
formFieldConfig: {
|
|
37585
|
-
labelKey: marker('editor.record.form.field.keywords'),
|
|
37586
|
-
},
|
|
37828
|
+
formFieldConfig: {},
|
|
37587
37829
|
};
|
|
37588
37830
|
const RECORD_RESOURCE_CREATED_FIELD = {
|
|
37589
37831
|
model: 'resourceCreated',
|
|
@@ -37663,23 +37905,17 @@ const RECORD_SPATIAL_TOGGLE_FIELD = {
|
|
|
37663
37905
|
};
|
|
37664
37906
|
const RECORD_SPATIAL_EXTENTS_FIELD = {
|
|
37665
37907
|
model: 'spatialExtents',
|
|
37666
|
-
formFieldConfig: {
|
|
37667
|
-
labelKey: marker('editor.record.form.field.spatialExtents'),
|
|
37668
|
-
},
|
|
37908
|
+
formFieldConfig: {},
|
|
37669
37909
|
};
|
|
37670
37910
|
const RECORD_ONLINE_RESOURCES = {
|
|
37671
37911
|
model: 'onlineResources',
|
|
37672
37912
|
modelSpecifier: 'onlineResourceType:!link',
|
|
37673
|
-
formFieldConfig: {
|
|
37674
|
-
labelKey: marker('editor.record.form.field.onlineResources'),
|
|
37675
|
-
},
|
|
37913
|
+
formFieldConfig: {},
|
|
37676
37914
|
};
|
|
37677
37915
|
const RECORD_ONLINE_LINK_RESOURCES = {
|
|
37678
37916
|
model: 'onlineResources',
|
|
37679
37917
|
modelSpecifier: 'onlineResourceType:link',
|
|
37680
|
-
formFieldConfig: {
|
|
37681
|
-
labelKey: marker('editor.record.form.field.onlineLinkResources'),
|
|
37682
|
-
},
|
|
37918
|
+
formFieldConfig: {},
|
|
37683
37919
|
};
|
|
37684
37920
|
/************************************************************
|
|
37685
37921
|
*************** SECTIONS *****************
|
|
@@ -37761,7 +37997,12 @@ const DEFAULT_CONFIGURATION = {
|
|
|
37761
37997
|
pages: [
|
|
37762
37998
|
{
|
|
37763
37999
|
labelKey: marker('editor.record.form.page.description'),
|
|
37764
|
-
sections: [
|
|
38000
|
+
sections: [
|
|
38001
|
+
TITLE_SECTION,
|
|
38002
|
+
ABOUT_SECTION,
|
|
38003
|
+
CLASSIFICATION_SECTION,
|
|
38004
|
+
GEOGRAPHICAL_COVERAGE_SECTION,
|
|
38005
|
+
],
|
|
37765
38006
|
},
|
|
37766
38007
|
{
|
|
37767
38008
|
labelKey: marker('editor.record.form.page.ressources'),
|
|
@@ -37770,7 +38011,6 @@ const DEFAULT_CONFIGURATION = {
|
|
|
37770
38011
|
{
|
|
37771
38012
|
labelKey: marker('editor.record.form.page.accessAndContact'),
|
|
37772
38013
|
sections: [
|
|
37773
|
-
CLASSIFICATION_SECTION,
|
|
37774
38014
|
USE_AND_ACCESS_CONDITIONS_SECTION,
|
|
37775
38015
|
DATA_MANAGERS_SECTION,
|
|
37776
38016
|
METADATA_POINT_OF_CONTACT_SECTION,
|
|
@@ -37827,19 +38067,18 @@ const EDITOR_FEATURE_KEY = 'editor';
|
|
|
37827
38067
|
const initialEditorState = {
|
|
37828
38068
|
record: null,
|
|
37829
38069
|
recordSource: null,
|
|
37830
|
-
alreadySavedOnce: false,
|
|
37831
38070
|
saving: false,
|
|
37832
38071
|
saveError: null,
|
|
37833
38072
|
changedSinceSave: false,
|
|
37834
38073
|
editorConfig: DEFAULT_CONFIGURATION,
|
|
37835
38074
|
currentPage: 0,
|
|
37836
38075
|
hasRecordChanged: null,
|
|
38076
|
+
isPublished: true,
|
|
37837
38077
|
};
|
|
37838
|
-
const reducer = createReducer(initialEditorState, on(openRecord, (state, { record, recordSource
|
|
38078
|
+
const reducer = createReducer(initialEditorState, on(openRecord, (state, { record, recordSource }) => ({
|
|
37839
38079
|
...state,
|
|
37840
38080
|
changedSinceSave: false,
|
|
37841
38081
|
recordSource: recordSource ?? null,
|
|
37842
|
-
alreadySavedOnce,
|
|
37843
38082
|
record,
|
|
37844
38083
|
})), on(saveRecord, (state) => ({
|
|
37845
38084
|
...state,
|
|
@@ -37889,6 +38128,9 @@ const reducer = createReducer(initialEditorState, on(openRecord, (state, { recor
|
|
|
37889
38128
|
})), on(hasRecordChangedSinceDraftSuccess, (state, { changes }) => ({
|
|
37890
38129
|
...state,
|
|
37891
38130
|
hasRecordChanged: changes,
|
|
38131
|
+
})), on(isPublished, (state, { isPublished }) => ({
|
|
38132
|
+
...state,
|
|
38133
|
+
isPublished: isPublished,
|
|
37892
38134
|
})));
|
|
37893
38135
|
function editorReducer(state, action) {
|
|
37894
38136
|
return reducer(state, action);
|
|
@@ -37900,7 +38142,6 @@ const selectRecordSource = createSelector(selectEditorState, (state) => state.re
|
|
|
37900
38142
|
const selectRecordSaving = createSelector(selectEditorState, (state) => state.saving);
|
|
37901
38143
|
const selectRecordSaveError = createSelector(selectEditorState, (state) => state.saveError);
|
|
37902
38144
|
const selectRecordChangedSinceSave = createSelector(selectEditorState, (state) => state.changedSinceSave);
|
|
37903
|
-
const selectRecordAlreadySavedOnce = createSelector(selectEditorState, (state) => state.alreadySavedOnce);
|
|
37904
38145
|
const selectEditorConfig = createSelector(selectEditorState, (state) => state.editorConfig);
|
|
37905
38146
|
const selectCurrentPage = createSelector(selectEditorState, (state) => state.currentPage);
|
|
37906
38147
|
const selectRecordSections = createSelector(selectEditorState, (state) => {
|
|
@@ -37917,6 +38158,7 @@ const selectRecordSections = createSelector(selectEditorState, (state) => {
|
|
|
37917
38158
|
}));
|
|
37918
38159
|
});
|
|
37919
38160
|
const selectHasRecordChanged = createSelector(selectEditorState, (state) => state.hasRecordChanged);
|
|
38161
|
+
const selectIsPublished = createSelector(selectEditorState, (state) => state.isPublished);
|
|
37920
38162
|
|
|
37921
38163
|
class EditorFacade {
|
|
37922
38164
|
constructor() {
|
|
@@ -37924,7 +38166,6 @@ class EditorFacade {
|
|
|
37924
38166
|
this.actions$ = inject(Actions);
|
|
37925
38167
|
this.record$ = this.store.pipe(select(selectRecord));
|
|
37926
38168
|
this.recordSource$ = this.store.pipe(select(selectRecordSource));
|
|
37927
|
-
this.alreadySavedOnce$ = this.store.pipe(select(selectRecordAlreadySavedOnce));
|
|
37928
38169
|
this.saving$ = this.store.pipe(select(selectRecordSaving));
|
|
37929
38170
|
this.saveError$ = this.store.pipe(select(selectRecordSaveError), filter$1((error) => !!error));
|
|
37930
38171
|
this.saveSuccess$ = this.actions$.pipe(ofType(saveRecordSuccess));
|
|
@@ -37934,9 +38175,13 @@ class EditorFacade {
|
|
|
37934
38175
|
this.currentPage$ = this.store.pipe(select(selectCurrentPage));
|
|
37935
38176
|
this.editorConfig$ = this.store.pipe(select(selectEditorConfig));
|
|
37936
38177
|
this.hasRecordChanged$ = this.store.pipe(select(selectHasRecordChanged));
|
|
38178
|
+
this.isPublished$ = this.store.pipe(select(selectIsPublished));
|
|
37937
38179
|
}
|
|
37938
|
-
openRecord(record, recordSource
|
|
37939
|
-
this.store.dispatch(openRecord({
|
|
38180
|
+
openRecord(record, recordSource) {
|
|
38181
|
+
this.store.dispatch(openRecord({
|
|
38182
|
+
record,
|
|
38183
|
+
recordSource,
|
|
38184
|
+
}));
|
|
37940
38185
|
this.setCurrentPage(0);
|
|
37941
38186
|
}
|
|
37942
38187
|
saveRecord() {
|
|
@@ -37957,6 +38202,9 @@ class EditorFacade {
|
|
|
37957
38202
|
checkHasRecordChanged(record) {
|
|
37958
38203
|
this.store.dispatch(hasRecordChangedSinceDraft({ record }));
|
|
37959
38204
|
}
|
|
38205
|
+
isPublished(isPublished$1) {
|
|
38206
|
+
this.store.dispatch(isPublished({ isPublished: isPublished$1 }));
|
|
38207
|
+
}
|
|
37960
38208
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditorFacade, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
37961
38209
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditorFacade }); }
|
|
37962
38210
|
}
|
|
@@ -37982,7 +38230,7 @@ class EditorService {
|
|
|
37982
38230
|
this.recordsRepository = recordsRepository;
|
|
37983
38231
|
}
|
|
37984
38232
|
// returns the record as it was when saved, alongside its source
|
|
37985
|
-
saveRecord(record, recordSource, fieldsConfig
|
|
38233
|
+
saveRecord(record, recordSource, fieldsConfig) {
|
|
37986
38234
|
const savedRecord = { ...record };
|
|
37987
38235
|
const fields = fieldsConfig.pages.flatMap((page) => page.sections.flatMap((section) => section.fields));
|
|
37988
38236
|
// run onSave processes
|
|
@@ -37995,11 +38243,15 @@ class EditorService {
|
|
|
37995
38243
|
});
|
|
37996
38244
|
}
|
|
37997
38245
|
}
|
|
37998
|
-
|
|
37999
|
-
if
|
|
38246
|
+
let publishToAll = true;
|
|
38247
|
+
// if the record is new, generate a new unique identifier and pass publishToAll as false
|
|
38248
|
+
if (!record.uniqueIdentifier) {
|
|
38000
38249
|
savedRecord.uniqueIdentifier = null;
|
|
38250
|
+
publishToAll = false;
|
|
38001
38251
|
}
|
|
38002
|
-
return this.recordsRepository
|
|
38252
|
+
return this.recordsRepository
|
|
38253
|
+
.saveRecord(savedRecord, recordSource, publishToAll)
|
|
38254
|
+
.pipe(switchMap((uniqueIdentifier) => this.recordsRepository.openRecordForEdition(uniqueIdentifier)), tap$1(() => {
|
|
38003
38255
|
// if saving was successful, the original draft can be discarded
|
|
38004
38256
|
this.recordsRepository.clearRecordDraft(record.uniqueIdentifier);
|
|
38005
38257
|
}), map$1(([record, recordSource]) => [record, recordSource]));
|
|
@@ -38036,22 +38288,21 @@ class EditorEffects {
|
|
|
38036
38288
|
this.recordsRepository = inject(RecordsRepositoryInterface);
|
|
38037
38289
|
this.gn4PlateformService = inject(Gn4PlatformService);
|
|
38038
38290
|
this.store = inject(Store);
|
|
38039
|
-
this.saveRecord$ = createEffect(() => this.actions$.pipe(ofType(saveRecord), withLatestFrom$1(this.store.select(selectRecord), this.store.select(selectRecordSource), this.store.select(selectEditorConfig)
|
|
38040
|
-
.saveRecord(record, recordSource, fieldsConfig, !alreadySavedOnce)
|
|
38041
|
-
.pipe(switchMap$1(([record, recordSource]) => of(saveRecordSuccess(), openRecord({
|
|
38291
|
+
this.saveRecord$ = createEffect(() => this.actions$.pipe(ofType(saveRecord), withLatestFrom$1(this.store.select(selectRecord), this.store.select(selectRecordSource), this.store.select(selectEditorConfig)), switchMap$1(([, record, recordSource, fieldsConfig]) => this.editorService.saveRecord(record, recordSource, fieldsConfig).pipe(switchMap$1(([record, recordSource]) => of(saveRecordSuccess(), openRecord({
|
|
38042
38292
|
record,
|
|
38043
|
-
alreadySavedOnce: true,
|
|
38044
38293
|
recordSource,
|
|
38045
38294
|
}))), catchError((error) => of(saveRecordFailure({
|
|
38046
38295
|
error,
|
|
38047
38296
|
})))))));
|
|
38048
38297
|
this.cleanRecordAttachments$ = createEffect(() => this.actions$.pipe(ofType(saveRecordSuccess), withLatestFrom$1(this.store.select(selectRecord)), switchMap$1(([_, record]) => {
|
|
38049
|
-
|
|
38050
|
-
|
|
38051
|
-
|
|
38052
|
-
|
|
38053
|
-
|
|
38054
|
-
|
|
38298
|
+
if (record.uniqueIdentifier !== null) {
|
|
38299
|
+
this.gn4PlateformService.cleanRecordAttachments(record).subscribe({
|
|
38300
|
+
next: (_) => undefined,
|
|
38301
|
+
error: (err) => {
|
|
38302
|
+
console.error(err);
|
|
38303
|
+
},
|
|
38304
|
+
});
|
|
38305
|
+
}
|
|
38055
38306
|
return EMPTY;
|
|
38056
38307
|
}), catchError((error) => {
|
|
38057
38308
|
console.error(error);
|
|
@@ -38059,15 +38310,17 @@ class EditorEffects {
|
|
|
38059
38310
|
})), { dispatch: false });
|
|
38060
38311
|
this.markAsChanged$ = createEffect(() => this.actions$.pipe(ofType(updateRecordField), map$1(() => markRecordAsChanged())));
|
|
38061
38312
|
this.saveRecordDraft$ = createEffect(() => this.actions$.pipe(ofType(updateRecordField), debounceTime$1(1000), withLatestFrom$1(this.store.select(selectRecord), this.store.select(selectRecordSource)), switchMap$1(([, record, recordSource]) => this.editorService.saveRecordAsDraft(record, recordSource)), map$1(() => draftSaveSuccess())));
|
|
38062
|
-
this.undoRecordDraft$ = createEffect(() => this.actions$.pipe(ofType(undoRecordDraft), withLatestFrom$1(this.store.select(selectRecord)), switchMap$1(([, record]) => this.editorService.undoRecordDraft(record)), map$1(([record, recordSource
|
|
38313
|
+
this.undoRecordDraft$ = createEffect(() => this.actions$.pipe(ofType(undoRecordDraft), withLatestFrom$1(this.store.select(selectRecord)), switchMap$1(([, record]) => this.editorService.undoRecordDraft(record)), map$1(([record, recordSource]) => openRecord({
|
|
38063
38314
|
record,
|
|
38064
|
-
alreadySavedOnce,
|
|
38065
38315
|
recordSource,
|
|
38066
38316
|
}))));
|
|
38067
38317
|
this.checkHasChangesOnOpen$ = createEffect(() => this.actions$.pipe(ofType(openRecord), map$1(({ record }) => this.recordsRepository.recordHasDraft(record.uniqueIdentifier)), filter$1((hasDraft) => hasDraft), map$1(() => markRecordAsChanged())));
|
|
38068
38318
|
this.hasRecordChangedSinceDraft$ = createEffect(() => this.actions$.pipe(ofType(hasRecordChangedSinceDraft), switchMap$1(({ record }) => this.editorService
|
|
38069
38319
|
.hasRecordChangedSinceDraft(record)
|
|
38070
38320
|
.pipe(map$1((changes) => hasRecordChangedSinceDraftSuccess({ changes }))))));
|
|
38321
|
+
this.checkIsRecordPublished$ = createEffect(() => this.actions$.pipe(ofType(openRecord), map$1(({ record }) => record.uniqueIdentifier), switchMap$1((uniqueIdentifier) => this.recordsRepository.getRecordPublicationStatus(uniqueIdentifier)), map$1((isPublished$1) => isPublished({
|
|
38322
|
+
isPublished: isPublished$1,
|
|
38323
|
+
}))));
|
|
38071
38324
|
}
|
|
38072
38325
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditorEffects, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
38073
38326
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditorEffects }); }
|
|
@@ -38560,7 +38813,7 @@ class ImportRecordComponent {
|
|
|
38560
38813
|
provideNgIconsConfig({
|
|
38561
38814
|
size: '1.5em',
|
|
38562
38815
|
}),
|
|
38563
|
-
], ngImport: i0, template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"importMenuMainSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <li *ngFor=\"let menuItem of importMenuItems\">\n <gn-ui-button\n [attr.data-test]=\"menuItem.dataTest\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"menuItem.action()\"\n [disabled]=\"menuItem.disabled\"\n [title]=\"\n (menuItem.disabled ? 'editor.temporary.disabled' : '') | translate\n \"\n ><ng-icon [name]=\"menuItem.icon\"></ng-icon\n ><span>{{ menuItem.label }}</span></gn-ui-button\n >\n </li>\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'importExternalFile'\">\n <div\n data-test=\"importMenuImportExternalFileSection\"\n class=\"p-6 flex flex-col gap-2 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-button\n data-test=\"importMenuImportExternalFileSectionBackButton\"\n type=\"light\"\n (buttonClick)=\"displayMainMenu()\"\n >\n <ng-icon name=\"iconoirArrowLeft\"></ng-icon>\n </gn-ui-button>\n <span class=\"font-bold\"> {{ externalImportBackLabel }}</span>\n </div>\n <gn-ui-url-input\n (uploadClick)=\"importRecord($event)\"\n [disabled]=\"isRecordImportInProgress\"\n ></gn-ui-url-input>\n </div>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "
|
|
38816
|
+
], ngImport: i0, template: "<ng-container [ngSwitch]=\"sectionDisplayed\">\n <ng-container *ngSwitchCase=\"'mainMenu'\">\n <div\n data-test=\"importMenuMainSection\"\n class=\"mt-2 border border-gray-100 p-2 flex items-center bg-white shadow-2xl rounded-2xl\"\n >\n <ul class=\"flex flex-col gap-2 w-full\">\n <li *ngFor=\"let menuItem of importMenuItems\">\n <gn-ui-button\n [attr.data-test]=\"menuItem.dataTest\"\n type=\"light\"\n extraClass=\"flex flex-row items-center gap-2 w-full justify-start\"\n (buttonClick)=\"menuItem.action()\"\n [disabled]=\"menuItem.disabled\"\n [title]=\"\n (menuItem.disabled ? 'editor.temporary.disabled' : '') | translate\n \"\n ><ng-icon [name]=\"menuItem.icon\"></ng-icon\n ><span>{{ menuItem.label }}</span></gn-ui-button\n >\n </li>\n </ul>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'importExternalFile'\">\n <div\n data-test=\"importMenuImportExternalFileSection\"\n class=\"p-6 flex flex-col gap-2 mt-2 border border-gray-100 bg-white shadow-2xl rounded-2xl\"\n >\n <div class=\"flex flex-row items-center gap-2\">\n <gn-ui-button\n data-test=\"importMenuImportExternalFileSectionBackButton\"\n type=\"light\"\n (buttonClick)=\"displayMainMenu()\"\n >\n <ng-icon name=\"iconoirArrowLeft\"></ng-icon>\n </gn-ui-button>\n <span class=\"font-bold\"> {{ externalImportBackLabel }}</span>\n </div>\n <gn-ui-url-input\n (uploadClick)=\"importRecord($event)\"\n [disabled]=\"isRecordImportInProgress\"\n ></gn-ui-url-input>\n </div>\n </ng-container>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38564
38817
|
}
|
|
38565
38818
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ImportRecordComponent, decorators: [{
|
|
38566
38819
|
type: Component,
|
|
@@ -38626,7 +38879,7 @@ class GenericKeywordsComponent {
|
|
|
38626
38879
|
provideIcons({
|
|
38627
38880
|
matWarningAmberOutline,
|
|
38628
38881
|
}),
|
|
38629
|
-
], ngImport: i0, template: "<div class=\"flex flex-col gap-
|
|
38882
|
+
], ngImport: i0, template: "<div class=\"flex flex-col gap-4\">\n <gn-ui-autocomplete\n [placeholder]=\"placeholder\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [preventCompleteOnSelection]=\"false\"\n [minCharacterCount]=\"1\"\n [allowSubmit]=\"false\"\n [clearOnSelection]=\"true\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let keyword of keywords\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeKeyword(keyword)\"\n >{{ keyword.label }}\n\n <ng-icon\n *ngIf=\"isPlaceWithoutExtent(keyword)\"\n [title]=\"'editor.form.placeKeywordWithoutExtent' | translate\"\n class=\"badge-warning\"\n name=\"matWarningAmberOutline\"\n ></ng-icon>\n </gn-ui-badge>\n </div>\n</div>\n", styles: [".badge-warning{font-size:1.4em}\n"], dependencies: [{ kind: "ngmodule", type: UiInputsModule }, { kind: "component", type: BadgeComponent, selector: "gn-ui-badge", inputs: ["clickable", "removable"], outputs: ["badgeRemoveClicked"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: UiWidgetsModule }, { kind: "component", type: AutocompleteComponent, selector: "gn-ui-autocomplete", inputs: ["placeholder", "action", "value", "clearOnSelection", "preventCompleteOnSelection", "autoFocus", "minCharacterCount", "allowSubmit", "displayWithFn"], outputs: ["itemSelected", "inputSubmitted", "inputCleared"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38630
38883
|
}
|
|
38631
38884
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenericKeywordsComponent, decorators: [{
|
|
38632
38885
|
type: Component,
|
|
@@ -38642,7 +38895,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
38642
38895
|
provideIcons({
|
|
38643
38896
|
matWarningAmberOutline,
|
|
38644
38897
|
}),
|
|
38645
|
-
], template: "<div class=\"flex flex-col gap-
|
|
38898
|
+
], template: "<div class=\"flex flex-col gap-4\">\n <gn-ui-autocomplete\n [placeholder]=\"placeholder\"\n [displayWithFn]=\"displayWithFn\"\n [action]=\"autoCompleteAction\"\n (itemSelected)=\"handleItemSelection($event)\"\n [preventCompleteOnSelection]=\"false\"\n [minCharacterCount]=\"1\"\n [allowSubmit]=\"false\"\n [clearOnSelection]=\"true\"\n ></gn-ui-autocomplete>\n <div class=\"flex gap-2 flex-wrap\">\n <gn-ui-badge\n *ngFor=\"let keyword of keywords\"\n [removable]=\"true\"\n (badgeRemoveClicked)=\"removeKeyword(keyword)\"\n >{{ keyword.label }}\n\n <ng-icon\n *ngIf=\"isPlaceWithoutExtent(keyword)\"\n [title]=\"'editor.form.placeKeywordWithoutExtent' | translate\"\n class=\"badge-warning\"\n name=\"matWarningAmberOutline\"\n ></ng-icon>\n </gn-ui-badge>\n </div>\n</div>\n", styles: [".badge-warning{font-size:1.4em}\n"] }]
|
|
38646
38899
|
}], ctorParameters: () => [{ type: PlatformServiceInterface }], propDecorators: { keywords: [{
|
|
38647
38900
|
type: Input
|
|
38648
38901
|
}], keywordTypes: [{
|
|
@@ -39097,7 +39350,7 @@ class FormFieldSpatialExtentComponent {
|
|
|
39097
39350
|
this.editorFacade.updateRecordField('spatialExtents', spatialExtents);
|
|
39098
39351
|
}
|
|
39099
39352
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldSpatialExtentComponent, deps: [{ token: PlatformServiceInterface }, { token: EditorFacade }, { token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39100
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldSpatialExtentComponent, isStandalone: true, selector: "gn-ui-form-field-spatial-extent", ngImport: i0, template: "<div class=\"flex flex-col gap-
|
|
39353
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldSpatialExtentComponent, isStandalone: true, selector: "gn-ui-form-field-spatial-extent", ngImport: i0, template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [placeholder]=\"'Search for place keywords'\"\n [keywords]=\"shownKeywords$ | async\"\n [keywordTypes]=\"['place']\"\n (deletedKeyword)=\"handleKeywordDelete($event)\"\n (addedKeyword)=\"handleKeywordAdd($event)\"\n >\n </gn-ui-generic-keywords>\n <div class=\"w-full h-96 mt-2\">\n <gn-ui-form-field-map-container\n [spatialExtents]=\"spatialExtents$ | async\"\n ></gn-ui-form-field-map-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: GenericKeywordsComponent, selector: "gn-ui-generic-keywords", inputs: ["keywords", "keywordTypes", "placeholder", "allowSubmit"], outputs: ["changedKeywords", "addedKeyword", "deletedKeyword"] }, { kind: "component", type: FormFieldMapContainerComponent, selector: "gn-ui-form-field-map-container", inputs: ["spatialExtents"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39101
39354
|
}
|
|
39102
39355
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldSpatialExtentComponent, decorators: [{
|
|
39103
39356
|
type: Component,
|
|
@@ -39105,82 +39358,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39105
39358
|
CommonModule,
|
|
39106
39359
|
GenericKeywordsComponent,
|
|
39107
39360
|
FormFieldMapContainerComponent,
|
|
39108
|
-
], template: "<div class=\"flex flex-col gap-
|
|
39361
|
+
], template: "<div class=\"flex flex-col gap-3\">\n <gn-ui-generic-keywords\n [placeholder]=\"'Search for place keywords'\"\n [keywords]=\"shownKeywords$ | async\"\n [keywordTypes]=\"['place']\"\n (deletedKeyword)=\"handleKeywordDelete($event)\"\n (addedKeyword)=\"handleKeywordAdd($event)\"\n >\n </gn-ui-generic-keywords>\n <div class=\"w-full h-96 mt-2\">\n <gn-ui-form-field-map-container\n [spatialExtents]=\"spatialExtents$ | async\"\n ></gn-ui-form-field-map-container>\n </div>\n</div>\n" }]
|
|
39109
39362
|
}], ctorParameters: () => [{ type: PlatformServiceInterface }, { type: EditorFacade }, { type: i1$1.TranslateService }] });
|
|
39110
39363
|
|
|
39111
|
-
const RoleValues = [
|
|
39112
|
-
'unspecified',
|
|
39113
|
-
'other',
|
|
39114
|
-
'author', // Party who authored the resource
|
|
39115
|
-
'collaborator', // party who assists with the generation of the resource other than the principal investigator
|
|
39116
|
-
'contributor', // party contributing to the resource
|
|
39117
|
-
'custodian', // Party that accepts accountability and responsibility for the data and ensures appropriate care and maintenance of the resource
|
|
39118
|
-
'distributor', // Party who distributes the resource
|
|
39119
|
-
'editor', // party who reviewed or modified the resource to improve the content
|
|
39120
|
-
'funder', // party providing monetary support for the resource
|
|
39121
|
-
'mediator', // a class of entity that mediates access to the resource and for whom the resource is intended or useful
|
|
39122
|
-
'originator', // Party who created the resource
|
|
39123
|
-
'owner', // Party that owns the resource
|
|
39124
|
-
'point_of_contact', // Party who can be contacted for acquiring knowledge about or acquisition of the resource
|
|
39125
|
-
'principal_investigator', // Key party responsible for gathering information and conducting research
|
|
39126
|
-
'processor', // Party who has processed the data in a manner such that the resource has been modified
|
|
39127
|
-
'publisher', // Party who published the resource
|
|
39128
|
-
'resource_provider', // Party that supplies the resource
|
|
39129
|
-
'rights_holder', // party owning or managing rights over the resource
|
|
39130
|
-
'sponsor', // party that sponsors the resource
|
|
39131
|
-
'stakeholder', // party who has an interest in the resource or the use of the resource
|
|
39132
|
-
'user', // Party who uses the resource
|
|
39133
|
-
];
|
|
39134
|
-
const RoleLabels = new Map([
|
|
39135
|
-
['unspecified', marker('domain.contact.role.unspecified')],
|
|
39136
|
-
['other', marker('domain.contact.role.other')],
|
|
39137
|
-
['author', marker('domain.contact.role.author')],
|
|
39138
|
-
['collaborator', marker('domain.contact.role.collaborator')],
|
|
39139
|
-
['contributor', marker('domain.contact.role.contributor')],
|
|
39140
|
-
['custodian', marker('domain.contact.role.custodian')],
|
|
39141
|
-
['distributor', marker('domain.contact.role.distributor')],
|
|
39142
|
-
['editor', marker('domain.contact.role.editor')],
|
|
39143
|
-
['funder', marker('domain.contact.role.funder')],
|
|
39144
|
-
['mediator', marker('domain.contact.role.mediator')],
|
|
39145
|
-
['originator', marker('domain.contact.role.originator')],
|
|
39146
|
-
['owner', marker('domain.contact.role.owner')],
|
|
39147
|
-
['point_of_contact', marker('domain.contact.role.point_of_contact')],
|
|
39148
|
-
[
|
|
39149
|
-
'principal_investigator',
|
|
39150
|
-
marker('domain.contact.role.principal_investigator'),
|
|
39151
|
-
],
|
|
39152
|
-
['processor', marker('domain.contact.role.processor')],
|
|
39153
|
-
['publisher', marker('domain.contact.role.publisher')],
|
|
39154
|
-
['resource_provider', marker('domain.contact.role.resource_provider')],
|
|
39155
|
-
['rights_holder', marker('domain.contact.role.rights_holder')],
|
|
39156
|
-
['sponsor', marker('domain.contact.role.sponsor')],
|
|
39157
|
-
['stakeholder', marker('domain.contact.role.stakeholder')],
|
|
39158
|
-
['user', marker('domain.contact.role.user')],
|
|
39159
|
-
]);
|
|
39160
|
-
|
|
39161
|
-
marker('domain.record.updateFrequency.unknown');
|
|
39162
|
-
marker('domain.record.updateFrequency.notPlanned');
|
|
39163
|
-
marker('domain.record.updateFrequency.asNeeded');
|
|
39164
|
-
marker('domain.record.updateFrequency.irregular');
|
|
39165
|
-
marker('domain.record.updateFrequency.continual');
|
|
39166
|
-
marker('domain.record.updateFrequency.periodic');
|
|
39167
|
-
marker('domain.record.updateFrequency.day');
|
|
39168
|
-
marker('domain.record.updateFrequency.week');
|
|
39169
|
-
marker('domain.record.updateFrequency.month');
|
|
39170
|
-
marker('domain.record.updateFrequency.year');
|
|
39171
|
-
marker('domain.record.status.completed');
|
|
39172
|
-
marker('domain.record.status.ongoing');
|
|
39173
|
-
marker('domain.record.status.under_development');
|
|
39174
|
-
marker('domain.record.status.deprecated');
|
|
39175
|
-
marker('domain.record.status.removed');
|
|
39176
|
-
const RecordStatusValues = [
|
|
39177
|
-
'completed',
|
|
39178
|
-
'ongoing',
|
|
39179
|
-
'under_development',
|
|
39180
|
-
'deprecated',
|
|
39181
|
-
'removed',
|
|
39182
|
-
];
|
|
39183
|
-
|
|
39184
39364
|
class ContactCardComponent {
|
|
39185
39365
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ContactCardComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39186
39366
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: ContactCardComponent, isStandalone: true, selector: "gn-ui-contact-card", inputs: { contact: "contact" }, ngImport: i0, template: "<div class=\"gn-ui-card\">\n <gn-ui-thumbnail\n class=\"w-[56px] h-[56px] rounded-[4px] overflow-hidden shrink-0\"\n [thumbnailUrl]=\"contact.organization?.logoUrl?.href\"\n [fit]=\"'contain'\"\n ></gn-ui-thumbnail>\n <div class=\"flex flex-col w-full overflow-hidden leading-snug\">\n <div class=\"text-[16px] font-bold text-main\" data-test=\"contactCardName\">\n {{ contact.firstName }} {{ contact.lastName }}\n </div>\n <div class=\"text-[14px] text-gray-900\" data-test=\"contactCardEmail\">\n {{ contact.email }}\n </div>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ThumbnailComponent, selector: "gn-ui-thumbnail", inputs: ["thumbnailUrl", "fit"], outputs: ["placeholderShown"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -39499,20 +39679,18 @@ class FormFieldOnlineLinkResourcesComponent {
|
|
|
39499
39679
|
this.allResources = onlineResources;
|
|
39500
39680
|
this.linkResources = onlineResources.filter((res) => res.type === 'link');
|
|
39501
39681
|
}
|
|
39502
|
-
constructor(notificationsService, translateService, platformService, cd, dialog
|
|
39682
|
+
constructor(notificationsService, translateService, platformService, cd, dialog) {
|
|
39503
39683
|
this.notificationsService = notificationsService;
|
|
39504
39684
|
this.translateService = translateService;
|
|
39505
39685
|
this.platformService = platformService;
|
|
39506
39686
|
this.cd = cd;
|
|
39507
39687
|
this.dialog = dialog;
|
|
39508
|
-
this.editorFacade = editorFacade;
|
|
39509
39688
|
this.valueChange = new EventEmitter();
|
|
39510
39689
|
this.allResources = [];
|
|
39511
39690
|
this.linkResources = [];
|
|
39512
39691
|
this.uploadProgress = undefined;
|
|
39513
39692
|
this.uploadSubscription = null;
|
|
39514
39693
|
this.MAX_UPLOAD_SIZE_MB = MAX_UPLOAD_SIZE_MB;
|
|
39515
|
-
this.disabled$ = this.editorFacade.alreadySavedOnce$.pipe(map$2((alreadySavedOnce) => !alreadySavedOnce));
|
|
39516
39694
|
}
|
|
39517
39695
|
handleFileChange(file) {
|
|
39518
39696
|
this.uploadProgress = 0;
|
|
@@ -39606,8 +39784,8 @@ class FormFieldOnlineLinkResourcesComponent {
|
|
|
39606
39784
|
]);
|
|
39607
39785
|
});
|
|
39608
39786
|
}
|
|
39609
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOnlineLinkResourcesComponent, deps: [{ token: NotificationsService }, { token: i1$1.TranslateService }, { token: PlatformServiceInterface }, { token: i0.ChangeDetectorRef }, { token: i1$b.MatDialog }
|
|
39610
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOnlineLinkResourcesComponent, isStandalone: true, selector: "gn-ui-form-field-online-link-resources", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col\">\n <gn-ui-file-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleUrlChange($event)\"\n
|
|
39787
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOnlineLinkResourcesComponent, deps: [{ token: NotificationsService }, { token: i1$1.TranslateService }, { token: PlatformServiceInterface }, { token: i0.ChangeDetectorRef }, { token: i1$b.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39788
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOnlineLinkResourcesComponent, isStandalone: true, selector: "gn-ui-form-field-online-link-resources", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col\">\n <gn-ui-file-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleUrlChange($event)\"\n ></gn-ui-file-input>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"linkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [disabled]=\"disabled$ | async\"\n [showValidateButton]=\"false\"\n ></gn-ui-url-input>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: FileInputComponent, selector: "gn-ui-file-input", inputs: ["maxSizeMB", "uploadProgress", "disabled"], outputs: ["fileChange", "urlChange", "uploadCancel"] }, { kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }, { kind: "component", type: OnlineResourceCardComponent, selector: "gn-ui-online-resource-card", inputs: ["onlineResource"], outputs: ["modifyClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39611
39789
|
}
|
|
39612
39790
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOnlineLinkResourcesComponent, decorators: [{
|
|
39613
39791
|
type: Component,
|
|
@@ -39620,8 +39798,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39620
39798
|
TextAreaComponent,
|
|
39621
39799
|
UrlInputComponent,
|
|
39622
39800
|
TranslateModule,
|
|
39623
|
-
], template: "<div class=\"flex flex-col\">\n <gn-ui-file-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleUrlChange($event)\"\n
|
|
39624
|
-
}], ctorParameters: () => [{ type: NotificationsService }, { type: i1$1.TranslateService }, { type: PlatformServiceInterface }, { type: i0.ChangeDetectorRef }, { type: i1$b.MatDialog }
|
|
39801
|
+
], template: "<div class=\"flex flex-col\">\n <gn-ui-file-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleUrlChange($event)\"\n ></gn-ui-file-input>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"linkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [disabled]=\"disabled$ | async\"\n [showValidateButton]=\"false\"\n ></gn-ui-url-input>\n </div>\n </ng-template>\n</div>\n" }]
|
|
39802
|
+
}], ctorParameters: () => [{ type: NotificationsService }, { type: i1$1.TranslateService }, { type: PlatformServiceInterface }, { type: i0.ChangeDetectorRef }, { type: i1$b.MatDialog }], propDecorators: { metadataUuid: [{
|
|
39625
39803
|
type: Input
|
|
39626
39804
|
}], value: [{
|
|
39627
39805
|
type: Input
|
|
@@ -39635,6 +39813,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39635
39813
|
class OnlineServiceResourceInputComponent {
|
|
39636
39814
|
constructor() {
|
|
39637
39815
|
this.disabled = false;
|
|
39816
|
+
this.urlChange = new EventEmitter();
|
|
39817
|
+
this.identifierSubmit = new EventEmitter();
|
|
39638
39818
|
this.protocolOptions = [
|
|
39639
39819
|
{
|
|
39640
39820
|
label: 'OGC API',
|
|
@@ -39670,25 +39850,57 @@ class OnlineServiceResourceInputComponent {
|
|
|
39670
39850
|
this.selectedProtocol =
|
|
39671
39851
|
this.protocolOptions.find((option) => option.value === this.service.accessServiceProtocol)?.value ?? 'other';
|
|
39672
39852
|
}
|
|
39853
|
+
handleUrlChange(url) {
|
|
39854
|
+
this.url = url;
|
|
39855
|
+
}
|
|
39856
|
+
submitIdentifier(identifier) {
|
|
39857
|
+
if (!identifier)
|
|
39858
|
+
return;
|
|
39859
|
+
this.identifierSubmit.emit({ url: this.url, identifier });
|
|
39860
|
+
this.service.identifierInService = null;
|
|
39861
|
+
}
|
|
39862
|
+
getIdentifierPlaceholder() {
|
|
39863
|
+
const baseKey = 'editor.record.form.field.onlineResource.edit.identifier.placeholder';
|
|
39864
|
+
return this.service.accessServiceProtocol === 'wps'
|
|
39865
|
+
? `${baseKey}.wps`
|
|
39866
|
+
: baseKey;
|
|
39867
|
+
}
|
|
39673
39868
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnlineServiceResourceInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
39674
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OnlineServiceResourceInputComponent, isStandalone: true, selector: "gn-ui-online-service-resource-input", inputs: { service: "service", protocolHint: "protocolHint", disabled: "disabled" },
|
|
39869
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: OnlineServiceResourceInputComponent, isStandalone: true, selector: "gn-ui-online-service-resource-input", inputs: { service: "service", protocolHint: "protocolHint", disabled: "disabled" }, outputs: { urlChange: "urlChange", identifierSubmit: "identifierSubmit" }, providers: [
|
|
39870
|
+
provideIcons({ iconoirCloudUpload }),
|
|
39871
|
+
provideNgIconsConfig({
|
|
39872
|
+
size: '1.5em',
|
|
39873
|
+
}),
|
|
39874
|
+
], usesOnChanges: true, ngImport: i0, template: "<div class=\"flex flex-row justify-between\">\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.protocol\n </h3>\n <span\n *ngIf=\"protocolHint\"\n class=\"material-symbols-outlined m-2 gn-ui-icon-small\"\n [matTooltip]=\"protocolHint\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n</div>\n<div class=\"flex flex-row items-center gap-4 h-[48px]\">\n <mat-radio-group\n aria-labelledby=\"example-radio-group-label\"\n class=\"flex flex-row gap-[8px]\"\n [(ngModel)]=\"service.accessServiceProtocol\"\n [disabled]=\"disabled\"\n >\n <mat-radio-button\n *ngFor=\"let protocolOption of protocolOptions\"\n [value]=\"protocolOption.value\"\n >\n {{ protocolOption.label | translate }}\n </mat-radio-button>\n </mat-radio-group>\n</div>\n\n<div class=\"flex flex-col gap-4\">\n <gn-ui-url-input\n class=\"w-full\"\n (valueChange)=\"handleUrlChange($event)\"\n [disabled]=\"disabled\"\n [value]=\"url\"\n [showValidateButton]=\"false\"\n >\n <ng-icon name=\"iconoirCloudUpload\"></ng-icon>\n </gn-ui-url-input>\n\n <gn-ui-text-input\n class=\"grow border-b border-gray-300 pb-4\"\n [(value)]=\"service.identifierInService\"\n [placeholder]=\"getIdentifierPlaceholder() | translate\"\n data-cy=\"identifier-in-service\"\n [disabled]=\"disabled\"\n ></gn-ui-text-input>\n\n <gn-ui-button\n (buttonClick)=\"submitIdentifier(service.identifierInService)\"\n [disabled]=\"disabled || !service.identifierInService || !url\"\n type=\"primary\"\n >\n <span class=\"text-white font-bold\" translate\n >editor.record.form.field.onlineResource.edit.identifier.submit</span\n >\n </gn-ui-button>\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i4$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i4$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39675
39875
|
}
|
|
39676
39876
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: OnlineServiceResourceInputComponent, decorators: [{
|
|
39677
39877
|
type: Component,
|
|
39678
39878
|
args: [{ selector: 'gn-ui-online-service-resource-input', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
|
|
39879
|
+
ButtonComponent,
|
|
39679
39880
|
CommonModule,
|
|
39881
|
+
FormsModule,
|
|
39680
39882
|
MatTooltipModule,
|
|
39681
39883
|
MatRadioModule,
|
|
39682
|
-
|
|
39884
|
+
NgIconComponent,
|
|
39683
39885
|
TextInputComponent,
|
|
39684
39886
|
TranslateModule,
|
|
39685
|
-
|
|
39887
|
+
UrlInputComponent,
|
|
39888
|
+
], providers: [
|
|
39889
|
+
provideIcons({ iconoirCloudUpload }),
|
|
39890
|
+
provideNgIconsConfig({
|
|
39891
|
+
size: '1.5em',
|
|
39892
|
+
}),
|
|
39893
|
+
], template: "<div class=\"flex flex-row justify-between\">\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.protocol\n </h3>\n <span\n *ngIf=\"protocolHint\"\n class=\"material-symbols-outlined m-2 gn-ui-icon-small\"\n [matTooltip]=\"protocolHint\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n</div>\n<div class=\"flex flex-row items-center gap-4 h-[48px]\">\n <mat-radio-group\n aria-labelledby=\"example-radio-group-label\"\n class=\"flex flex-row gap-[8px]\"\n [(ngModel)]=\"service.accessServiceProtocol\"\n [disabled]=\"disabled\"\n >\n <mat-radio-button\n *ngFor=\"let protocolOption of protocolOptions\"\n [value]=\"protocolOption.value\"\n >\n {{ protocolOption.label | translate }}\n </mat-radio-button>\n </mat-radio-group>\n</div>\n\n<div class=\"flex flex-col gap-4\">\n <gn-ui-url-input\n class=\"w-full\"\n (valueChange)=\"handleUrlChange($event)\"\n [disabled]=\"disabled\"\n [value]=\"url\"\n [showValidateButton]=\"false\"\n >\n <ng-icon name=\"iconoirCloudUpload\"></ng-icon>\n </gn-ui-url-input>\n\n <gn-ui-text-input\n class=\"grow border-b border-gray-300 pb-4\"\n [(value)]=\"service.identifierInService\"\n [placeholder]=\"getIdentifierPlaceholder() | translate\"\n data-cy=\"identifier-in-service\"\n [disabled]=\"disabled\"\n ></gn-ui-text-input>\n\n <gn-ui-button\n (buttonClick)=\"submitIdentifier(service.identifierInService)\"\n [disabled]=\"disabled || !service.identifierInService || !url\"\n type=\"primary\"\n >\n <span class=\"text-white font-bold\" translate\n >editor.record.form.field.onlineResource.edit.identifier.submit</span\n >\n </gn-ui-button>\n</div>\n" }]
|
|
39686
39894
|
}], propDecorators: { service: [{
|
|
39687
39895
|
type: Input
|
|
39688
39896
|
}], protocolHint: [{
|
|
39689
39897
|
type: Input
|
|
39690
39898
|
}], disabled: [{
|
|
39691
39899
|
type: Input
|
|
39900
|
+
}], urlChange: [{
|
|
39901
|
+
type: Output
|
|
39902
|
+
}], identifierSubmit: [{
|
|
39903
|
+
type: Output
|
|
39692
39904
|
}] } });
|
|
39693
39905
|
|
|
39694
39906
|
class FormFieldOnlineResourcesComponent {
|
|
@@ -39696,13 +39908,12 @@ class FormFieldOnlineResourcesComponent {
|
|
|
39696
39908
|
this.allResources = onlineResources;
|
|
39697
39909
|
this.notLinkResources = onlineResources.filter((res) => res.type !== 'link');
|
|
39698
39910
|
}
|
|
39699
|
-
constructor(notificationsService, translateService, platformService, cd, dialog
|
|
39911
|
+
constructor(notificationsService, translateService, platformService, cd, dialog) {
|
|
39700
39912
|
this.notificationsService = notificationsService;
|
|
39701
39913
|
this.translateService = translateService;
|
|
39702
39914
|
this.platformService = platformService;
|
|
39703
39915
|
this.cd = cd;
|
|
39704
39916
|
this.dialog = dialog;
|
|
39705
|
-
this.editorFacade = editorFacade;
|
|
39706
39917
|
this.valueChange = new EventEmitter();
|
|
39707
39918
|
this.typeOptions = [
|
|
39708
39919
|
{
|
|
@@ -39727,7 +39938,6 @@ class FormFieldOnlineResourcesComponent {
|
|
|
39727
39938
|
identifierInService: '',
|
|
39728
39939
|
};
|
|
39729
39940
|
this.MAX_UPLOAD_SIZE_MB = MAX_UPLOAD_SIZE_MB;
|
|
39730
|
-
this.disabled$ = this.editorFacade.alreadySavedOnce$.pipe(map$2((alreadySavedOnce) => !alreadySavedOnce));
|
|
39731
39941
|
}
|
|
39732
39942
|
onSelectedTypeChange(selectedType) {
|
|
39733
39943
|
this.selectedType = selectedType;
|
|
@@ -39786,6 +39996,15 @@ class FormFieldOnlineResourcesComponent {
|
|
|
39786
39996
|
},
|
|
39787
39997
|
]);
|
|
39788
39998
|
}
|
|
39999
|
+
handleIdentifierSubmit(payload) {
|
|
40000
|
+
this.valueChange.emit([
|
|
40001
|
+
...this.allResources,
|
|
40002
|
+
{
|
|
40003
|
+
...this.newService,
|
|
40004
|
+
url: new URL(payload.url),
|
|
40005
|
+
},
|
|
40006
|
+
]);
|
|
40007
|
+
}
|
|
39789
40008
|
handleServiceModify(oldService, newService) {
|
|
39790
40009
|
oldService.accessServiceProtocol = newService.accessServiceProtocol;
|
|
39791
40010
|
oldService.identifierInService = newService.identifierInService;
|
|
@@ -39838,8 +40057,8 @@ class FormFieldOnlineResourcesComponent {
|
|
|
39838
40057
|
]);
|
|
39839
40058
|
});
|
|
39840
40059
|
}
|
|
39841
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOnlineResourcesComponent, deps: [{ token: NotificationsService }, { token: i1$1.TranslateService }, { token: PlatformServiceInterface }, { token: i0.ChangeDetectorRef }, { token: i1$b.MatDialog }
|
|
39842
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOnlineResourcesComponent, isStandalone: true, selector: "gn-ui-form-field-online-resources", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col\">\n <gn-ui-switch-toggle\n [options]=\"typeOptions\"\n (selectedValue)=\"onSelectedTypeChange($event.value)\"\n extraClasses=\"grow text-sm\"\n data-cy=\"online-resources-type\"\n
|
|
40060
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOnlineResourcesComponent, deps: [{ token: NotificationsService }, { token: i1$1.TranslateService }, { token: PlatformServiceInterface }, { token: i0.ChangeDetectorRef }, { token: i1$b.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40061
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOnlineResourcesComponent, isStandalone: true, selector: "gn-ui-form-field-online-resources", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "dialogTemplate", first: true, predicate: ["dialogTemplate"], descendants: true }], ngImport: i0, template: "<div class=\"flex flex-col\">\n <gn-ui-switch-toggle\n [options]=\"typeOptions\"\n (selectedValue)=\"onSelectedTypeChange($event.value)\"\n extraClasses=\"grow text-sm\"\n data-cy=\"online-resources-type\"\n ></gn-ui-switch-toggle>\n <div class=\"h-[8px]\"></div>\n <gn-ui-file-input\n *ngIf=\"selectedType === 'download'\"\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleDownloadUrlChange($event)\"\n ></gn-ui-file-input>\n <div\n *ngIf=\"selectedType === 'service'\"\n class=\"w-full border-2 border-dashed rounded-lg p-6 flex flex-col gap-[16px]\"\n >\n <gn-ui-online-service-resource-input\n [service]=\"newService\"\n [disabled]=\"disabled$ | async\"\n (urlChange)=\"handleServiceUrlChange($event)\"\n (identifierSubmit)=\"handleIdentifierSubmit($event)\"\n ></gn-ui-online-service-resource-input>\n </div>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"notLinkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <ng-container *ngIf=\"onlineResource.type === 'service'\">\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-online-service-resource-input\n [service]=\"onlineResource\"\n ></gn-ui-online-service-resource-input>\n </ng-container>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [showValidateButton]=\"false\"\n ></gn-ui-url-input>\n </div>\n </ng-template>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: SwitchToggleComponent, selector: "gn-ui-switch-toggle", inputs: ["options", "ariaLabel", "extraClasses", "disabled"], outputs: ["selectedValue"] }, { kind: "component", type: FileInputComponent, selector: "gn-ui-file-input", inputs: ["maxSizeMB", "uploadProgress", "disabled"], outputs: ["fileChange", "urlChange", "uploadCancel"] }, { kind: "component", type: OnlineServiceResourceInputComponent, selector: "gn-ui-online-service-resource-input", inputs: ["service", "protocolHint", "disabled"], outputs: ["urlChange", "identifierSubmit"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "component", type: SortableListComponent, selector: "gn-ui-sortable-list", inputs: ["elementTemplate", "items"], outputs: ["itemsOrderChange"] }, { kind: "component", type: OnlineResourceCardComponent, selector: "gn-ui-online-resource-card", inputs: ["onlineResource"], outputs: ["modifyClick"] }, { kind: "component", type: TextInputComponent, selector: "gn-ui-text-input", inputs: ["value", "extraClass", "placeholder", "required", "disabled"], outputs: ["valueChange"] }, { kind: "component", type: TextAreaComponent, selector: "gn-ui-text-area", inputs: ["value", "disabled", "extraClass", "placeholder", "required"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39843
40062
|
}
|
|
39844
40063
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOnlineResourcesComponent, decorators: [{
|
|
39845
40064
|
type: Component,
|
|
@@ -39854,8 +40073,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39854
40073
|
TextInputComponent,
|
|
39855
40074
|
TextAreaComponent,
|
|
39856
40075
|
TranslateModule,
|
|
39857
|
-
], template: "<div class=\"flex flex-col\">\n <gn-ui-switch-toggle\n [options]=\"typeOptions\"\n (selectedValue)=\"onSelectedTypeChange($event.value)\"\n extraClasses=\"grow text-sm\"\n data-cy=\"online-resources-type\"\n
|
|
39858
|
-
}], ctorParameters: () => [{ type: NotificationsService }, { type: i1$1.TranslateService }, { type: PlatformServiceInterface }, { type: i0.ChangeDetectorRef }, { type: i1$b.MatDialog }
|
|
40076
|
+
], template: "<div class=\"flex flex-col\">\n <gn-ui-switch-toggle\n [options]=\"typeOptions\"\n (selectedValue)=\"onSelectedTypeChange($event.value)\"\n extraClasses=\"grow text-sm\"\n data-cy=\"online-resources-type\"\n ></gn-ui-switch-toggle>\n <div class=\"h-[8px]\"></div>\n <gn-ui-file-input\n *ngIf=\"selectedType === 'download'\"\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n (fileChange)=\"handleFileChange($event)\"\n (uploadCancel)=\"handleUploadCancel()\"\n [uploadProgress]=\"uploadProgress\"\n (urlChange)=\"handleDownloadUrlChange($event)\"\n ></gn-ui-file-input>\n <div\n *ngIf=\"selectedType === 'service'\"\n class=\"w-full border-2 border-dashed rounded-lg p-6 flex flex-col gap-[16px]\"\n >\n <gn-ui-online-service-resource-input\n [service]=\"newService\"\n [disabled]=\"disabled$ | async\"\n (urlChange)=\"handleServiceUrlChange($event)\"\n (identifierSubmit)=\"handleIdentifierSubmit($event)\"\n ></gn-ui-online-service-resource-input>\n </div>\n <div class=\"h-[8px]\"></div>\n <gn-ui-sortable-list\n [items]=\"notLinkResources\"\n (itemsOrderChange)=\"handleResourcesChange($event)\"\n [elementTemplate]=\"template\"\n >\n </gn-ui-sortable-list>\n <ng-template #template let-onlineResource let-index=\"index\">\n <gn-ui-online-resource-card\n [onlineResource]=\"onlineResource\"\n (modifyClick)=\"handleResourceModify(onlineResource, index)\"\n ></gn-ui-online-resource-card>\n </ng-template>\n\n <ng-template #dialogTemplate let-onlineResource>\n <div class=\"flex flex-col gap-[16px]\">\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.title\n </h3>\n <gn-ui-text-input [(value)]=\"onlineResource.name\"></gn-ui-text-input>\n </div>\n <div>\n <h3 class=\"text-[16px] font-bold text-main mb-[12px]\" translate>\n editor.record.form.field.onlineResource.edit.description\n </h3>\n <gn-ui-text-area\n [(value)]=\"onlineResource.description\"\n ></gn-ui-text-area>\n </div>\n <ng-container *ngIf=\"onlineResource.type === 'service'\">\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-online-service-resource-input\n [service]=\"onlineResource\"\n ></gn-ui-online-service-resource-input>\n </ng-container>\n <span class=\"w-full border-b border-gray-300\"></span>\n <gn-ui-url-input\n class=\"w-full\"\n [disabled]=\"true\"\n [value]=\"onlineResource.url\"\n [showValidateButton]=\"false\"\n ></gn-ui-url-input>\n </div>\n </ng-template>\n</div>\n" }]
|
|
40077
|
+
}], ctorParameters: () => [{ type: NotificationsService }, { type: i1$1.TranslateService }, { type: PlatformServiceInterface }, { type: i0.ChangeDetectorRef }, { type: i1$b.MatDialog }], propDecorators: { metadataUuid: [{
|
|
39859
40078
|
type: Input
|
|
39860
40079
|
}], value: [{
|
|
39861
40080
|
type: Input
|
|
@@ -39911,14 +40130,12 @@ class FormFieldOverviewsComponent {
|
|
|
39911
40130
|
description: '',
|
|
39912
40131
|
});
|
|
39913
40132
|
}
|
|
39914
|
-
constructor(platformService, notificationsService, translateService, cd
|
|
40133
|
+
constructor(platformService, notificationsService, translateService, cd) {
|
|
39915
40134
|
this.platformService = platformService;
|
|
39916
40135
|
this.notificationsService = notificationsService;
|
|
39917
40136
|
this.translateService = translateService;
|
|
39918
40137
|
this.cd = cd;
|
|
39919
|
-
this.editorFacade = editorFacade;
|
|
39920
40138
|
this.valueChange = new EventEmitter();
|
|
39921
|
-
this.disabled$ = this.editorFacade.alreadySavedOnce$.pipe(map$2((alreadySavedOnce) => !alreadySavedOnce));
|
|
39922
40139
|
this.uploadProgress = undefined;
|
|
39923
40140
|
this.uploadSubscription = null;
|
|
39924
40141
|
this.MAX_UPLOAD_SIZE_MB = MAX_UPLOAD_SIZE_MB;
|
|
@@ -39985,13 +40202,13 @@ class FormFieldOverviewsComponent {
|
|
|
39985
40202
|
emitOverview(overView) {
|
|
39986
40203
|
this.valueChange.emit(overView ? [overView] : []);
|
|
39987
40204
|
}
|
|
39988
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOverviewsComponent, deps: [{ token: PlatformServiceInterface }, { token: NotificationsService }, { token: i1$1.TranslateService }, { token: i0.ChangeDetectorRef }
|
|
39989
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOverviewsComponent, isStandalone: true, selector: "gn-ui-form-field-overviews", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-2\">\n <gn-ui-image-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n [previewUrl]=\"firstOverview.url\"\n [altText]=\"firstOverview.description\"\n (fileChange)=\"handleFileChange($event)\"\n (urlChange)=\"handleUrlChange($event)\"\n (altTextChange)=\"handleAltTextChange($event)\"\n (delete)=\"handleDelete()\"\n [uploadProgress]=\"uploadProgress\"\n (uploadCancel)=\"handleUploadCancel()\"\n
|
|
40205
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOverviewsComponent, deps: [{ token: PlatformServiceInterface }, { token: NotificationsService }, { token: i1$1.TranslateService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40206
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldOverviewsComponent, isStandalone: true, selector: "gn-ui-form-field-overviews", inputs: { metadataUuid: "metadataUuid", value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-2\">\n <gn-ui-image-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n [previewUrl]=\"firstOverview.url\"\n [altText]=\"firstOverview.description\"\n (fileChange)=\"handleFileChange($event)\"\n (urlChange)=\"handleUrlChange($event)\"\n (altTextChange)=\"handleAltTextChange($event)\"\n (delete)=\"handleDelete()\"\n [uploadProgress]=\"uploadProgress\"\n (uploadCancel)=\"handleUploadCancel()\"\n ></gn-ui-image-input>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: ImageInputComponent, selector: "gn-ui-image-input", inputs: ["maxSizeMB", "previewUrl", "altText", "uploadProgress", "uploadError", "disabled"], outputs: ["fileChange", "urlChange", "uploadCancel", "delete", "altTextChange"] }, { kind: "ngmodule", type: TranslateModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
39990
40207
|
}
|
|
39991
40208
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldOverviewsComponent, decorators: [{
|
|
39992
40209
|
type: Component,
|
|
39993
|
-
args: [{ selector: 'gn-ui-form-field-overviews', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, ImageInputComponent, TranslateModule], template: "<div class=\"flex flex-col gap-2\">\n <gn-ui-image-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n [previewUrl]=\"firstOverview.url\"\n [altText]=\"firstOverview.description\"\n (fileChange)=\"handleFileChange($event)\"\n (urlChange)=\"handleUrlChange($event)\"\n (altTextChange)=\"handleAltTextChange($event)\"\n (delete)=\"handleDelete()\"\n [uploadProgress]=\"uploadProgress\"\n (uploadCancel)=\"handleUploadCancel()\"\n
|
|
39994
|
-
}], ctorParameters: () => [{ type: PlatformServiceInterface }, { type: NotificationsService }, { type: i1$1.TranslateService }, { type: i0.ChangeDetectorRef }
|
|
40210
|
+
args: [{ selector: 'gn-ui-form-field-overviews', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, ImageInputComponent, TranslateModule], template: "<div class=\"flex flex-col gap-2\">\n <gn-ui-image-input\n [maxSizeMB]=\"MAX_UPLOAD_SIZE_MB\"\n [previewUrl]=\"firstOverview.url\"\n [altText]=\"firstOverview.description\"\n (fileChange)=\"handleFileChange($event)\"\n (urlChange)=\"handleUrlChange($event)\"\n (altTextChange)=\"handleAltTextChange($event)\"\n (delete)=\"handleDelete()\"\n [uploadProgress]=\"uploadProgress\"\n (uploadCancel)=\"handleUploadCancel()\"\n ></gn-ui-image-input>\n</div>\n" }]
|
|
40211
|
+
}], ctorParameters: () => [{ type: PlatformServiceInterface }, { type: NotificationsService }, { type: i1$1.TranslateService }, { type: i0.ChangeDetectorRef }], propDecorators: { metadataUuid: [{
|
|
39995
40212
|
type: Input
|
|
39996
40213
|
}], value: [{
|
|
39997
40214
|
type: Input
|
|
@@ -39999,9 +40216,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
39999
40216
|
type: Output
|
|
40000
40217
|
}] } });
|
|
40001
40218
|
|
|
40219
|
+
const initialListValues = updateFrequencyCodeValues.filter((code) => !['unknown', 'notPlanned', 'asNeeded', 'irregular'].includes(code));
|
|
40002
40220
|
class FormFieldUpdateFrequencyComponent {
|
|
40003
40221
|
get planned() {
|
|
40004
|
-
return
|
|
40222
|
+
return this.value && this.value !== 'notPlanned' && this.value !== 'unknown';
|
|
40005
40223
|
}
|
|
40006
40224
|
constructor(translateService) {
|
|
40007
40225
|
this.translateService = translateService;
|
|
@@ -40010,13 +40228,26 @@ class FormFieldUpdateFrequencyComponent {
|
|
|
40010
40228
|
}
|
|
40011
40229
|
async ngOnInit() {
|
|
40012
40230
|
this.choices = await this.getInitialChoices();
|
|
40231
|
+
if (!this.planned) {
|
|
40232
|
+
return;
|
|
40233
|
+
}
|
|
40234
|
+
if (typeof this.value === 'string' &&
|
|
40235
|
+
!this.choices.map((choice) => choice.value).includes(this.value)) {
|
|
40236
|
+
this.choices = [
|
|
40237
|
+
{
|
|
40238
|
+
value: this.value,
|
|
40239
|
+
label: await firstValueFrom(this.translateService.get(`domain.record.updateFrequency.${this.value}`)),
|
|
40240
|
+
},
|
|
40241
|
+
...this.choices,
|
|
40242
|
+
];
|
|
40243
|
+
}
|
|
40013
40244
|
if (typeof this.value === 'string') {
|
|
40014
40245
|
return;
|
|
40015
40246
|
}
|
|
40016
40247
|
const updatedTimes = this.value.updatedTimes;
|
|
40017
40248
|
const per = this.value.per;
|
|
40018
40249
|
// the update frequency is not in the list; make it appear there
|
|
40019
|
-
if (updatedTimes
|
|
40250
|
+
if (updatedTimes) {
|
|
40020
40251
|
this.choices = [
|
|
40021
40252
|
{
|
|
40022
40253
|
value: `${per}.${updatedTimes}`,
|
|
@@ -40033,73 +40264,34 @@ class FormFieldUpdateFrequencyComponent {
|
|
|
40033
40264
|
this.valueChange.emit('notPlanned');
|
|
40034
40265
|
}
|
|
40035
40266
|
else {
|
|
40036
|
-
this.valueChange.emit(
|
|
40267
|
+
this.valueChange.emit(this.choices[0].value);
|
|
40037
40268
|
}
|
|
40038
40269
|
}
|
|
40039
40270
|
get selectedFrequency() {
|
|
40040
|
-
if (!this.value
|
|
40271
|
+
if (!this.value)
|
|
40041
40272
|
return null;
|
|
40273
|
+
if (typeof this.value === 'string')
|
|
40274
|
+
return this.value;
|
|
40042
40275
|
const { updatedTimes, per } = this.value;
|
|
40043
40276
|
return `${per}.${updatedTimes}`;
|
|
40044
40277
|
}
|
|
40045
40278
|
onSelectFrequencyValue(value) {
|
|
40046
|
-
|
|
40047
|
-
|
|
40048
|
-
|
|
40049
|
-
|
|
40050
|
-
|
|
40279
|
+
if (!value.includes('.')) {
|
|
40280
|
+
this.valueChange.emit(value);
|
|
40281
|
+
}
|
|
40282
|
+
else {
|
|
40283
|
+
const split = value.split('.');
|
|
40284
|
+
this.valueChange.emit({
|
|
40285
|
+
updatedTimes: Number(split[1]),
|
|
40286
|
+
per: split[0],
|
|
40287
|
+
});
|
|
40288
|
+
}
|
|
40051
40289
|
}
|
|
40052
40290
|
async getInitialChoices() {
|
|
40053
|
-
return
|
|
40054
|
-
|
|
40055
|
-
|
|
40056
|
-
|
|
40057
|
-
count: 1,
|
|
40058
|
-
})),
|
|
40059
|
-
},
|
|
40060
|
-
{
|
|
40061
|
-
value: 'day.2',
|
|
40062
|
-
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.day', {
|
|
40063
|
-
count: 2,
|
|
40064
|
-
})),
|
|
40065
|
-
},
|
|
40066
|
-
{
|
|
40067
|
-
value: 'week.1',
|
|
40068
|
-
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.week', {
|
|
40069
|
-
count: 1,
|
|
40070
|
-
})),
|
|
40071
|
-
},
|
|
40072
|
-
{
|
|
40073
|
-
value: 'week.2',
|
|
40074
|
-
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.week', {
|
|
40075
|
-
count: 2,
|
|
40076
|
-
})),
|
|
40077
|
-
},
|
|
40078
|
-
{
|
|
40079
|
-
value: 'month.1',
|
|
40080
|
-
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.month', {
|
|
40081
|
-
count: 1,
|
|
40082
|
-
})),
|
|
40083
|
-
},
|
|
40084
|
-
{
|
|
40085
|
-
value: 'month.2',
|
|
40086
|
-
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.month', {
|
|
40087
|
-
count: 2,
|
|
40088
|
-
})),
|
|
40089
|
-
},
|
|
40090
|
-
{
|
|
40091
|
-
value: 'year.1',
|
|
40092
|
-
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.year', {
|
|
40093
|
-
count: 1,
|
|
40094
|
-
})),
|
|
40095
|
-
},
|
|
40096
|
-
{
|
|
40097
|
-
value: 'year.2',
|
|
40098
|
-
label: await firstValueFrom(this.translateService.get('domain.record.updateFrequency.year', {
|
|
40099
|
-
count: 2,
|
|
40100
|
-
})),
|
|
40101
|
-
},
|
|
40102
|
-
];
|
|
40291
|
+
return Promise.all(initialListValues.map(async (value) => ({
|
|
40292
|
+
value,
|
|
40293
|
+
label: await firstValueFrom(this.translateService.get(`domain.record.updateFrequency.${value}`)),
|
|
40294
|
+
})));
|
|
40103
40295
|
}
|
|
40104
40296
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldUpdateFrequencyComponent, deps: [{ token: i1$1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40105
40297
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldUpdateFrequencyComponent, isStandalone: true, selector: "gn-ui-form-field-update-frequency", inputs: { value: "value" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"flex flex-col gap-2\">\n <gn-ui-check-toggle\n [label]=\"'editor.record.form.updateFrequency.planned' | translate\"\n [value]=\"planned\"\n (toggled)=\"onPlannedToggled()\"\n ></gn-ui-check-toggle>\n <gn-ui-dropdown-selector\n title=\"updateFrequency\"\n [showTitle]=\"false\"\n [choices]=\"choices\"\n [selected]=\"selectedFrequency\"\n (selectValue)=\"onSelectFrequencyValue($event)\"\n [disabled]=\"!planned\"\n [extraBtnClass]=\"'input-as-button gn-ui-text-input'\"\n >\n </gn-ui-dropdown-selector>\n</div>\n", styles: ["gn-ui-dropdown-selector{max-width:calc(50% - 16px)}\n"], dependencies: [{ kind: "component", type: CheckToggleComponent, selector: "gn-ui-check-toggle", inputs: ["title", "label", "value", "color"], outputs: ["toggled"] }, { kind: "component", type: DropdownSelectorComponent, selector: "gn-ui-dropdown-selector", inputs: ["title", "showTitle", "ariaName", "choices", "selected", "maxRows", "extraBtnClass", "minWidth", "disabled"], outputs: ["selectValue"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
@@ -40292,7 +40484,7 @@ class ConstraintCardComponent {
|
|
|
40292
40484
|
provideNgIconsConfig({
|
|
40293
40485
|
size: '1.5rem',
|
|
40294
40486
|
}),
|
|
40295
|
-
], ngImport: i0, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [hint]=\"hint | translate\"\n [value]=\"constraint_.text ?? ''\"\n (valueChange)=\"handleConstraintTextChange($event)\"\n ></gn-ui-form-field-rich>\n\n <div *ngIf=\"!showUrl\" class=\"flex-none mt-1\">\n <gn-ui-button\n (buttonClick)=\"showUrl = true\"\n type=\"gray\"\n data-cy=\"add-url-btn\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon> \n <span translate>input.image.displayUrlInput</span>\n </gn-ui-button>\n </div>\n <gn-ui-url-input\n *ngIf=\"showUrl\"\n class=\"mt-3.5\"\n [value]=\"constraint_.url?.toString()\"\n (valueChange)=\"handleURLChange($event)\"\n [
|
|
40487
|
+
], ngImport: i0, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [hint]=\"hint | translate\"\n [value]=\"constraint_.text ?? ''\"\n (valueChange)=\"handleConstraintTextChange($event)\"\n ></gn-ui-form-field-rich>\n\n <div *ngIf=\"!showUrl\" class=\"flex-none mt-1\">\n <gn-ui-button\n (buttonClick)=\"showUrl = true\"\n type=\"gray\"\n data-cy=\"add-url-btn\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon> \n <span translate>input.image.displayUrlInput</span>\n </gn-ui-button>\n </div>\n <gn-ui-url-input\n *ngIf=\"showUrl\"\n class=\"mt-3.5\"\n [value]=\"constraint_.url?.toString()\"\n (valueChange)=\"handleURLChange($event)\"\n [showValidateButton]=\"false\"\n >\n </gn-ui-url-input>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["label", "hint", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: UrlInputComponent, selector: "gn-ui-url-input", inputs: ["value", "extraClass", "placeholder", "disabled", "showValidateButton"], outputs: ["valueChange", "uploadClick"] }, { kind: "component", type: ButtonComponent, selector: "gn-ui-button", inputs: ["type", "disabled", "extraClass"], outputs: ["buttonClick"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }, { kind: "component", type: NgIconComponent, selector: "ng-icon", inputs: ["name", "svg", "size", "strokeWidth", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40296
40488
|
}
|
|
40297
40489
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ConstraintCardComponent, decorators: [{
|
|
40298
40490
|
type: Component,
|
|
@@ -40310,7 +40502,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
40310
40502
|
provideNgIconsConfig({
|
|
40311
40503
|
size: '1.5rem',
|
|
40312
40504
|
}),
|
|
40313
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [hint]=\"hint | translate\"\n [value]=\"constraint_.text ?? ''\"\n (valueChange)=\"handleConstraintTextChange($event)\"\n ></gn-ui-form-field-rich>\n\n <div *ngIf=\"!showUrl\" class=\"flex-none mt-1\">\n <gn-ui-button\n (buttonClick)=\"showUrl = true\"\n type=\"gray\"\n data-cy=\"add-url-btn\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon> \n <span translate>input.image.displayUrlInput</span>\n </gn-ui-button>\n </div>\n <gn-ui-url-input\n *ngIf=\"showUrl\"\n class=\"mt-3.5\"\n [value]=\"constraint_.url?.toString()\"\n (valueChange)=\"handleURLChange($event)\"\n [
|
|
40505
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex flex-col gap-1 border rounded-lg p-4\">\n <gn-ui-form-field-rich\n class=\"mt-[-8px]\"\n [label]=\"label\"\n [hint]=\"hint | translate\"\n [value]=\"constraint_.text ?? ''\"\n (valueChange)=\"handleConstraintTextChange($event)\"\n ></gn-ui-form-field-rich>\n\n <div *ngIf=\"!showUrl\" class=\"flex-none mt-1\">\n <gn-ui-button\n (buttonClick)=\"showUrl = true\"\n type=\"gray\"\n data-cy=\"add-url-btn\"\n >\n <ng-icon name=\"iconoirPlus\" class=\"text-primary\"></ng-icon> \n <span translate>input.image.displayUrlInput</span>\n </gn-ui-button>\n </div>\n <gn-ui-url-input\n *ngIf=\"showUrl\"\n class=\"mt-3.5\"\n [value]=\"constraint_.url?.toString()\"\n (valueChange)=\"handleURLChange($event)\"\n [showValidateButton]=\"false\"\n >\n </gn-ui-url-input>\n</div>\n", styles: [":host{--gn-ui-button-padding: 8px 8px;--gn-ui-button-rounded: 8px}\n"] }]
|
|
40314
40506
|
}], propDecorators: { label: [{
|
|
40315
40507
|
type: Input
|
|
40316
40508
|
}], constraint: [{
|
|
@@ -40465,7 +40657,7 @@ class FormFieldComponent {
|
|
|
40465
40657
|
return this.value;
|
|
40466
40658
|
}
|
|
40467
40659
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40468
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { uniqueIdentifier: "uniqueIdentifier", model: "model", modelSpecifier: "modelSpecifier", componentName: "componentName", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden\"\n (change)=\"valueChange.emit($event.target.value)\"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifier'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordConstraints]=\"valueAsConstraints\"\n (recordConstraintsChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldWrapperComponent, selector: "gn-ui-form-field-wrapper", inputs: ["label", "hint"] }, { kind: "component", type: FormFieldLicenseComponent, selector: "gn-ui-form-field-license", inputs: ["label", "recordConstraints"], outputs: ["recordConstraintsChange"] }, { kind: "component", type: FormFieldDateComponent, selector: "gn-ui-form-field-date", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldTemporalExtentsComponent, selector: "gn-ui-form-field-temporal-extents", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "readonly", "invalid", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["label", "hint", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldKeywordsComponent, selector: "gn-ui-form-field-keywords", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOverviewsComponent, selector: "gn-ui-form-field-overviews", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsForResourceComponent, selector: "gn-ui-form-field-contacts-for-resource", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineResourcesComponent, selector: "gn-ui-form-field-online-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineLinkResourcesComponent, selector: "gn-ui-form-field-online-link-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsComponent, selector: "gn-ui-form-field-contacts", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsComponent, selector: "gn-ui-form-field-constraints", inputs: ["label", "value", "constraintType"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsShortcutsComponent, selector: "gn-ui-form-field-constraints-shortcuts" }, { kind: "component", type: FormFieldSpatialToggleComponent, selector: "gn-ui-form-field-spatial-toggle" }, { kind: "ngmodule", type: TextFieldModule }, { kind: "directive", type: i4$1.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40660
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormFieldComponent, isStandalone: true, selector: "gn-ui-form-field", inputs: { uniqueIdentifier: "uniqueIdentifier", model: "model", modelSpecifier: "modelSpecifier", componentName: "componentName", config: "config", value: "value" }, outputs: { valueChange: "valueChange" }, viewQueries: [{ propertyName: "titleInput", first: true, predicate: ["titleInput"], descendants: true }], ngImport: i0, template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden text-black/80\"\n (change)=\"valueChange.emit($event.target.value)\"\n [placeholder]=\"\n 'editor.record.form.field.title.placeholder' | translate\n \"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifier'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordConstraints]=\"valueAsConstraints\"\n (recordConstraintsChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$2.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$2.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1$1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i1$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: FormFieldWrapperComponent, selector: "gn-ui-form-field-wrapper", inputs: ["label", "hint"] }, { kind: "component", type: FormFieldLicenseComponent, selector: "gn-ui-form-field-license", inputs: ["label", "recordConstraints"], outputs: ["recordConstraintsChange"] }, { kind: "component", type: FormFieldDateComponent, selector: "gn-ui-form-field-date", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldUpdateFrequencyComponent, selector: "gn-ui-form-field-update-frequency", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldTemporalExtentsComponent, selector: "gn-ui-form-field-temporal-extents", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSimpleComponent, selector: "gn-ui-form-field-simple", inputs: ["type", "readonly", "invalid", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldRichComponent, selector: "gn-ui-form-field-rich", inputs: ["label", "hint", "placeholder", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldSpatialExtentComponent, selector: "gn-ui-form-field-spatial-extent" }, { kind: "component", type: FormFieldKeywordsComponent, selector: "gn-ui-form-field-keywords", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOverviewsComponent, selector: "gn-ui-form-field-overviews", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsForResourceComponent, selector: "gn-ui-form-field-contacts-for-resource", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineResourcesComponent, selector: "gn-ui-form-field-online-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldOnlineLinkResourcesComponent, selector: "gn-ui-form-field-online-link-resources", inputs: ["metadataUuid", "value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldContactsComponent, selector: "gn-ui-form-field-contacts", inputs: ["value"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsComponent, selector: "gn-ui-form-field-constraints", inputs: ["label", "value", "constraintType"], outputs: ["valueChange"] }, { kind: "component", type: FormFieldConstraintsShortcutsComponent, selector: "gn-ui-form-field-constraints-shortcuts" }, { kind: "component", type: FormFieldSpatialToggleComponent, selector: "gn-ui-form-field-spatial-toggle" }, { kind: "ngmodule", type: TextFieldModule }, { kind: "directive", type: i4$2.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40469
40661
|
}
|
|
40470
40662
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
40471
40663
|
type: Component,
|
|
@@ -40496,7 +40688,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
40496
40688
|
FormFieldConstraintsShortcutsComponent,
|
|
40497
40689
|
FormFieldSpatialToggleComponent,
|
|
40498
40690
|
TextFieldModule,
|
|
40499
|
-
], template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden\"\n (change)=\"valueChange.emit($event.target.value)\"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifier'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordConstraints]=\"valueAsConstraints\"\n (recordConstraintsChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n" }]
|
|
40691
|
+
], template: "<!-- TEMPORARY - disabling the open data switch -->\n<!-- <ng-container *ngIf=\"model === 'licenses'\">\n <gn-ui-form-field-open-data\n [value]=\"valueAsConstraints\"\n (valueChange)=\"valueChange.emit($event)\"\n (openDataChange)=\"toggleIsOpenData($event)\"\n ></gn-ui-form-field-open-data>\n</ng-container> -->\n<div class=\"flex flex-col h-full\">\n <ng-container *ngIf=\"withoutWrapper; else withGenericWrapper\">\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </ng-container>\n <ng-template #withGenericWrapper>\n <gn-ui-form-field-wrapper\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n >\n <ng-container *ngTemplateOutlet=\"fieldContent\"></ng-container>\n </gn-ui-form-field-wrapper>\n </ng-template>\n</div>\n\n<ng-template #fieldContent>\n <ng-container [ngSwitch]=\"model\">\n <ng-container *ngSwitchCase=\"'title'\">\n <div class=\"flex flex-row flex-start items-center gap-3 mb-[12px]\">\n <textarea\n #titleInput\n cdkTextareaAutosize\n #autosize=\"cdkTextareaAutosize\"\n cdkAutosizeMinRows=\"1\"\n data-test=\"recordTitleInput\"\n class=\"grow font-title text-3xl font-normal overflow-hidden text-black/80\"\n (change)=\"valueChange.emit($event.target.value)\"\n [placeholder]=\"\n 'editor.record.form.field.title.placeholder' | translate\n \"\n >{{ valueAsString }}</textarea\n >\n <div class=\"flex flex-row justify-between self-start mt-0.5\">\n <span\n class=\"material-symbols-outlined gn-ui-icon-small m-2 cursor-pointer\"\n (click)=\"focusTitleInput()\"\n >edit</span\n >\n <span\n *ngIf=\"config.hintKey\"\n class=\"material-symbols-outlined gn-ui-icon-small m-2\"\n [matTooltip]=\"config.hintKey! | translate\"\n matTooltipPosition=\"above\"\n >\n help\n </span>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'abstract'\">\n <gn-ui-form-field-rich\n [label]=\"config.labelKey! | translate\"\n [hint]=\"config.hintKey! | translate\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-rich>\n </ng-container>\n <ng-container *ngSwitchCase=\"'overviews'\">\n <gn-ui-form-field-overviews\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOverviews\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-overviews>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceIdentifier'\">\n <gn-ui-form-field-simple\n [type]=\"'text'\"\n [value]=\"valueAsString\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-simple>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceCreated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'resourceUpdated'\">\n <gn-ui-form-field-date\n [value]=\"valueAsDate\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-date>\n </ng-container>\n <ng-container *ngSwitchCase=\"'updateFrequency'\">\n <gn-ui-form-field-update-frequency\n [value]=\"valueAsUpdateFrequency\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-update-frequency>\n </ng-container>\n <ng-container *ngSwitchCase=\"'temporalExtents'\">\n <gn-ui-form-field-temporal-extents\n [value]=\"valueAsTemporalExtents\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-temporal-extents>\n </ng-container>\n <ng-container *ngSwitchCase=\"'spatialExtents'\">\n <gn-ui-form-field-spatial-extent></gn-ui-form-field-spatial-extent>\n </ng-container>\n <ng-container *ngSwitchCase=\"'keywords'\">\n <gn-ui-form-field-keywords\n [value]=\"valueAsKeywords\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-keywords>\n </ng-container>\n <ng-container *ngSwitchCase=\"'licenses'\">\n <gn-ui-form-field-license\n [label]=\"config.labelKey! | translate\"\n [recordConstraints]=\"valueAsConstraints\"\n (recordConstraintsChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-license>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'legalConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'securityConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container>\n </ng-container>\n <ng-container *ngSwitchCase=\"'otherConstraints'\">\n <ng-container *ngTemplateOutlet=\"formFieldConstraints\"></ng-container\n ></ng-container>\n <ng-template #formFieldConstraints>\n <gn-ui-form-field-constraints\n [label]=\"config.labelKey\"\n [value]=\"valueAsConstraints\"\n [constraintType]=\"model\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-constraints\n ></ng-template>\n\n <ng-container *ngSwitchCase=\"'contactsForResource'\">\n <gn-ui-form-field-contacts-for-resource\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts-for-resource>\n </ng-container>\n <ng-container *ngSwitchCase=\"'contacts'\">\n <gn-ui-form-field-contacts\n [value]=\"valueAsIndividuals\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-contacts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:!link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-resources>\n </ng-container>\n <ng-container *ngSwitchCase=\"'onlineResources'\">\n <gn-ui-form-field-online-link-resources\n *ngIf=\"modelSpecifier === 'onlineResourceType:link'\"\n [metadataUuid]=\"uniqueIdentifier\"\n [value]=\"valueAsOnlineResources\"\n (valueChange)=\"valueChange.emit($event)\"\n ></gn-ui-form-field-online-link-resources>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!model\">\n <ng-container [ngSwitch]=\"componentName\">\n <ng-container *ngSwitchCase=\"'form-field-constraints-shortcuts'\">\n <gn-ui-form-field-constraints-shortcuts></gn-ui-form-field-constraints-shortcuts>\n </ng-container>\n <ng-container *ngSwitchCase=\"'form-field-spatial-toggle'\">\n <gn-ui-form-field-spatial-toggle></gn-ui-form-field-spatial-toggle>\n </ng-container>\n </ng-container>\n </ng-container>\n</ng-template>\n" }]
|
|
40500
40692
|
}], propDecorators: { uniqueIdentifier: [{
|
|
40501
40693
|
type: Input
|
|
40502
40694
|
}], model: [{
|
|
@@ -40534,11 +40726,11 @@ class RecordFormComponent {
|
|
|
40534
40726
|
return section.labelKey;
|
|
40535
40727
|
}
|
|
40536
40728
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RecordFormComponent, deps: [{ token: EditorFacade }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
40537
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RecordFormComponent, isStandalone: true, selector: "gn-ui-record-form", ngImport: i0, template: "<div class=\"flex flex-col gap-6\">\n <ng-container\n *ngFor=\"\n let section of facade.currentSections$ | async;\n trackBy: sectionTracker\n \"\n >\n <ng-container *ngIf=\"!section.hidden\">\n <div class=\"flex flex-col gap-
|
|
40729
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: RecordFormComponent, isStandalone: true, selector: "gn-ui-record-form", ngImport: i0, template: "<div class=\"flex flex-col gap-6\">\n <ng-container\n *ngFor=\"\n let section of facade.currentSections$ | async;\n trackBy: sectionTracker\n \"\n >\n <ng-container *ngIf=\"!section.hidden\">\n <div class=\"flex flex-col gap-6 border p-8 rounded-[8px] shadow\">\n <div class=\"flex flex-col gap-2\">\n <div\n *ngIf=\"section.labelKey\"\n class=\"text-2xl font-title text-black\"\n translate\n >\n {{ section.labelKey }}\n </div>\n <div\n *ngIf=\"section.descriptionKey\"\n class=\"text-gray-800 text-sm\"\n translate\n >\n {{ section.descriptionKey }}\n </div>\n </div>\n <div class=\"grid auto-rows-auto grid-cols-2 gap-[32px]\">\n <ng-container\n *ngFor=\"\n let field of section.fieldsWithValues;\n trackBy: fieldTracker\n \"\n >\n <ng-container *ngIf=\"!field.config.hidden\">\n <gn-ui-form-field\n [ngClass]=\"\n field.config.gridColumnSpan === 1\n ? 'col-span-1'\n : 'col-span-2'\n \"\n [uniqueIdentifier]=\"recordUniqueIdentifier$ | async\"\n [model]=\"field.config.model!\"\n [modelSpecifier]=\"field.config.modelSpecifier!\"\n [config]=\"field.config.formFieldConfig\"\n [value]=\"field.value\"\n [componentName]=\"field.config.componentName\"\n (valueChange)=\"\n handleFieldValueChange(field.config.model!, $event)\n \"\n ></gn-ui-form-field>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</div>\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$2.AsyncPipe, name: "async" }, { kind: "component", type: FormFieldComponent, selector: "gn-ui-form-field", inputs: ["uniqueIdentifier", "model", "modelSpecifier", "componentName", "config", "value"], outputs: ["valueChange"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "directive", type: i1$1.TranslateDirective, selector: "[translate],[ngx-translate]", inputs: ["translate", "translateParams"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
40538
40730
|
}
|
|
40539
40731
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RecordFormComponent, decorators: [{
|
|
40540
40732
|
type: Component,
|
|
40541
|
-
args: [{ selector: 'gn-ui-record-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, FormFieldComponent, TranslateModule], template: "<div class=\"flex flex-col gap-6\">\n <ng-container\n *ngFor=\"\n let section of facade.currentSections$ | async;\n trackBy: sectionTracker\n \"\n >\n <ng-container *ngIf=\"!section.hidden\">\n <div class=\"flex flex-col gap-
|
|
40733
|
+
args: [{ selector: 'gn-ui-record-form', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [CommonModule, FormFieldComponent, TranslateModule], template: "<div class=\"flex flex-col gap-6\">\n <ng-container\n *ngFor=\"\n let section of facade.currentSections$ | async;\n trackBy: sectionTracker\n \"\n >\n <ng-container *ngIf=\"!section.hidden\">\n <div class=\"flex flex-col gap-6 border p-8 rounded-[8px] shadow\">\n <div class=\"flex flex-col gap-2\">\n <div\n *ngIf=\"section.labelKey\"\n class=\"text-2xl font-title text-black\"\n translate\n >\n {{ section.labelKey }}\n </div>\n <div\n *ngIf=\"section.descriptionKey\"\n class=\"text-gray-800 text-sm\"\n translate\n >\n {{ section.descriptionKey }}\n </div>\n </div>\n <div class=\"grid auto-rows-auto grid-cols-2 gap-[32px]\">\n <ng-container\n *ngFor=\"\n let field of section.fieldsWithValues;\n trackBy: fieldTracker\n \"\n >\n <ng-container *ngIf=\"!field.config.hidden\">\n <gn-ui-form-field\n [ngClass]=\"\n field.config.gridColumnSpan === 1\n ? 'col-span-1'\n : 'col-span-2'\n \"\n [uniqueIdentifier]=\"recordUniqueIdentifier$ | async\"\n [model]=\"field.config.model!\"\n [modelSpecifier]=\"field.config.modelSpecifier!\"\n [config]=\"field.config.formFieldConfig\"\n [value]=\"field.value\"\n [componentName]=\"field.config.componentName\"\n (valueChange)=\"\n handleFieldValueChange(field.config.model!, $event)\n \"\n ></gn-ui-form-field>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </ng-container>\n</div>\n" }]
|
|
40542
40734
|
}], ctorParameters: () => [{ type: EditorFacade }] });
|
|
40543
40735
|
|
|
40544
40736
|
const ROUTER_STATE_KEY = 'router';
|
|
@@ -40926,7 +41118,7 @@ class DefaultRouterModule {
|
|
|
40926
41118
|
};
|
|
40927
41119
|
}
|
|
40928
41120
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultRouterModule, deps: [{ token: RouterService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
40929
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DefaultRouterModule, declarations: [SearchRouterContainerDirective], imports: [i1$3.StoreFeatureModule, i3$
|
|
41121
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DefaultRouterModule, declarations: [SearchRouterContainerDirective], imports: [i1$3.StoreFeatureModule, i3$2.StoreRouterConnectingModule, i1$c.EffectsFeatureModule], exports: [SearchRouterContainerDirective] }); }
|
|
40930
41122
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DefaultRouterModule, providers: [
|
|
40931
41123
|
RouterFacade,
|
|
40932
41124
|
{
|
|
@@ -40969,5 +41161,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
40969
41161
|
* Generated bundle index. Do not edit.
|
|
40970
41162
|
*/
|
|
40971
41163
|
|
|
40972
|
-
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MY_FORMATS, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, ModalDialogComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableComponent, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, UtilI18nModule, UtilSharedModule, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, itemModelFixture, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectRecord, selectRecordAlreadySavedOnce, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemFixture, toDate, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateRecordField, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
|
|
41164
|
+
export { ADD_RESULTS, ADD_SEARCH, AbstractAction, AbstractSearchField, AddLayerFromCatalogComponent, AddLayerRecordPreviewComponent, AddResults, AddSearch, AnchorLinkDirective, ApiCardComponent, AuthService, AutocompleteComponent, AvatarComponent, AvatarServiceInterface, BASEMAP_LAYERS, BadgeComponent, BaseConverter, BaseReader, BlockListComponent, ButtonComponent, CLEAR_ERROR, CLEAR_RESULTS, CarouselComponent, CatalogTitleComponent, ChartComponent, ChartViewComponent, CheckToggleComponent, CheckboxComponent, ChipsInputComponent, ClearError, ClearResults, ColorScaleComponent, ConfirmationDialogComponent, ContentGhostComponent, CopyTextButtonComponent, DEFAULT_GN4_LOGIN_URL, DEFAULT_GN4_LOGOUT_URL, DEFAULT_GN4_SETTINGS_URL, DEFAULT_LANG, DEFAULT_PAGE_SIZE, DEFAULT_RESULTS_LAYOUT_CONFIG, DEFAULT_SEARCH_KEY, DO_NOT_USE_DEFAULT_BASEMAP, DataService, DataViewComponent, DataViewPermalinkComponent, DataViewShareComponent, DataViewWebComponentComponent, DatePickerComponent, DateRangeDropdownComponent, DateRangePickerComponent, DateRangeSearchField, DcatApConverter, DefaultRouterModule, DownloadItemComponent, DownloadsListComponent, DragAndDropFileInputComponent, DropdownMultiselectComponent, DropdownSelectorComponent, EDITOR_FEATURE_KEY, ES_QUERY_FIELDS_PRIORITY, ES_RESOURCES_VALUES, ES_SOURCE_SUMMARY, EXTERNAL_VIEWER_OPEN_NEW_TAB, EXTERNAL_VIEWER_URL_TEMPLATE, EditableLabelDirective, EditorFacade, EditorService, ElasticsearchService, EmbeddedTranslateLoader, ErrorComponent, ErrorType, ExpandablePanelButtonComponent, ExpandablePanelComponent, ExternalViewerButtonComponent, FIELDS_BRIEF, FIELDS_SUMMARY, FILTER_GEOMETRY, FILTER_SUMMARY_IGNORE_LIST, FORMATS, FacetBlockComponent, FacetBlockStubComponent, FacetItemComponent, FacetItemStubComponent, FacetListComponent, FacetsContainerComponent, FacetsModule, FavoriteStarComponent, FavoritesService, FeatureAuthModule, FeatureCatalogModule, FeatureDetailComponent, FeatureEditorModule, FeatureMapModule, FeatureNotificationsModule, FeatureRecordModule, FeatureSearchModule, FetchError, FieldsService, FigureComponent, FigureContainerComponent, FileInputComponent, FileTranslateLoader, FilesDropDirective, FilterDropdownComponent, FormFieldWrapperComponent, FullTextSearchField, FuzzySearchComponent, GN_UI_VERSION, GeoTableViewComponent, GeocodingComponent, Gn4Converter, Gn4PlatformMapper, Gn4PlatformService, Gn4Repository, Gn4SettingsService, GpfApiDlComponent, GravatarService, HttpLoaderFactory, I18nInterceptor, ImageFallbackDirective, ImageInputComponent, ImageOverlayPreviewComponent, ImportRecordComponent, InteractiveTableColumnComponent, InteractiveTableComponent, IsSpatialSearchField, Iso191153Converter, Iso19139Converter, LANGUAGES_LIST, LANGUAGE_NAMES, LANGUAGE_STORAGE_KEY, LANG_2_TO_3_MAPPER, LANG_3_TO_2_MAPPER, LOGIN_URL, LOGOUT_URL, LONLAT_CRS_CODES, LangService, LanguageSwitcherComponent, LayersPanelComponent, LicenseSearchField, LinkCardComponent, LinkClassifierService, LinkUsage, LoadingMaskComponent, LogService, MAP_FEATURE_KEY, MAP_VIEW_CONSTRAINTS, METADATA_LANGUAGE, MY_FORMATS, MapContainerComponent, MapFacade, MapLegendComponent, MapStateContainerComponent, MapStyleService, MapUtilsService, MapViewComponent, MarkdownEditorComponent, MarkdownParserComponent, MaxLinesComponent, mdview_actions as MdViewActions, MdViewFacade, MetadataCatalogComponent, MetadataContactComponent, MetadataInfoComponent, MetadataLinkType, MetadataMapperContext, MetadataQualityComponent, MetadataQualityItemComponent, ModalDialogComponent, MultilingualSearchField, MyOrgService, NAMESPACES, NavigationButtonComponent, NotificationComponent, NotificationsContainerComponent, NotificationsService, ORGANIZATIONS_STRATEGY, ORGANIZATION_PAGE_URL_TOKEN, ORGANIZATION_URL_TOKEN, OrganisationPreviewComponent, OrganisationsComponent, OrganisationsFilterComponent, OrganisationsResultComponent, OrganizationSearchField, OrganizationsFromGroupsService, OrganizationsFromMetadataService, OwnerSearchField, PAGINATE, PARSE_DELIMITER, PATCH_RESULTS_AGGREGATIONS, PROXY_PATH, Paginate, PaginationButtonsComponent, PaginationComponent, PaginationDotsComponent, PatchResultsAggregations, PopoverComponent, PopupAlertComponent, PreviousNextButtonsComponent, ProgressBarComponent, ProxyService, QUERY_FIELDS, RECORD_URL_TOKEN, REQUEST_MORE_ON_AGGREGATION, REQUEST_MORE_RESULTS, REQUEST_NEW_RESULTS, RESULTS_LAYOUT_CONFIG, ROUTER_CONFIG, ROUTER_ROUTE_DATASET, ROUTER_ROUTE_ORGANIZATION, ROUTER_ROUTE_SEARCH, ROUTER_STATE_KEY, ROUTE_PARAMS, RecordApiFormComponent, RecordFormComponent, RecordMetaComponent, RecordMetricComponent, RecordPreviewCardComponent, RecordPreviewComponent, RecordPreviewFeedComponent, RecordPreviewListComponent, RecordPreviewRowComponent, RecordPreviewTextComponent, RecordPreviewTitleComponent, RecordsMetricsComponent, RecordsService, RelatedRecordCardComponent, RequestMoreOnAggregation, RequestMoreResults, RequestNewResults, ResultsHitsContainerComponent, ResultsHitsNumberComponent, ResultsLayoutComponent, ResultsLayoutConfigItem, ResultsListComponent, ResultsListContainerComponent, ResultsListItemComponent, ResultsTableComponent, ResultsTableContainerComponent, RouterEffects, RouterFacade, RouterService, SEARCH_FEATURE_KEY, SETTINGS_URL, SET_CONFIG_AGGREGATIONS, SET_CONFIG_FILTERS, SET_CONFIG_REQUEST_FIELDS, SET_ERROR, SET_FAVORITES_ONLY, SET_FILTERS, SET_INCLUDE_ON_AGGREGATION, SET_PAGE_SIZE, SET_RESULTS_AGGREGATIONS, SET_RESULTS_HITS, SET_RESULTS_LAYOUT, SET_SEARCH, SET_SORT_BY, SET_SPATIAL_FILTER_ENABLED, SearchEffects, SearchFacade, SearchFiltersSummaryComponent, SearchFiltersSummaryItemComponent, SearchInputComponent, SearchRouterContainerDirective, SearchService, SearchStateContainerDirective, SelectionService, SetConfigAggregations, SetConfigFilters, SetConfigRequestFields, SetError, SetFavoritesOnly, SetFilters, SetIncludeOnAggregation, SetPageSize, SetResultsAggregations, SetResultsHits, SetResultsLayout, SetSearch, SetSortBy, SetSpatialFilterEnabled, SimpleSearchField, SiteTitleComponent, SortByComponent, SortableListComponent, SourceLabelComponent, SourcesService, SpinningLoaderComponent, StarToggleComponent, StepBarComponent, StickyHeaderComponent, SupportedTypes, SwitchToggleComponent, THUMBNAIL_PLACEHOLDER, TRANSLATE_DEFAULT_CONFIG, TRANSLATE_WITH_OVERRIDES_CONFIG, TableComponent, TableViewComponent, TextAreaComponent, TextInputComponent, ThemeService, ThumbnailComponent, TranslatedSearchField, UPDATE_CONFIG_AGGREGATIONS, UPDATE_FILTERS, UPDATE_REQUEST_AGGREGATION_TERM, UiDatavizModule, UiElementsModule, FacetsModule$1 as UiFacetsModule, UiInputsModule, UiLayoutModule, UiSearchModule, UiWidgetsModule, UpdateConfigAggregations, UpdateFilters, UrlInputComponent, UserFeedbackItemComponent, UserPreviewComponent, UserSearchField, UtilI18nModule, UtilSharedModule, VECTOR_STYLE_DEFAULT, ViewportIntersectorComponent, WEB_COMPONENT_EMBEDDER_URL, WizardComponent, WizardFieldComponent, WizardFieldType, WizardService, WizardSummarizeComponent, XmlParseError, _reset, allChildrenElement, appConfigWithTranslationFixture, appendChildTree, appendChildren, assertValidXml, blockModelFixture, bytesToMegabytes, checkFileFormat, clearSelectedFeatures, createChild, createDocument, createElement, createFuzzyFilter, createNestedChild, createNestedElement, currentPage, defaultMapStyleFixture, defaultMapStyleHlFixture, downgradeImage, downsizeImage, draftSaveSuccess, dragPanCondition, dropEmptyTranslations, editorReducer, emptyBlockModelFixture, findChildElement, findChildOrCreate, findChildrenElement, findConverterForDocument, findNestedChildOrCreate, findNestedElement, findNestedElements, findParent, firstChildElement, formatDate, formatUserInfo, getArrayItem, getAsArray, getAsUrl, getBadgeColor, getCustomTranslations, getError, getFavoritesOnly, getFileFormat, getFileFormatFromServiceOutput, getFirstValue, getFormatPriority, getGeometryFromGeoJSON, getGlobalConfig, getJsonDataItemsProxy, getLangFromBrowser, getLinkLabel, getLinkPriority, getMapContext, getMapContextLayerFromConfig, getMapState, getMetadataQualityConfig, getMimeTypeForFormat, getNamespace, getOptionalMapConfig, getOptionalSearchConfig, getPageSize, getRootElement, getSearchConfigAggregations, getSearchFilters, getSearchResults, getSearchResultsAggregations, getSearchResultsHits, getSearchResultsLayout, getSearchResultsLoading, getSearchSortBy, getSearchState, getSearchStateSearch, getSelectedFeatures, getSpatialFilterEnabled, getTemporalRangeUnion, getThemeConfig, hasRecordChangedSinceDraft, hasRecordChangedSinceDraftSuccess, initSearch, initialEditorState, initialMapState, initialState, isConfigLoaded, isDateRange, isFormatInQueryParam, isPublished, itemModelFixture, loadAppConfig, malformedConfigFixture, mapConfigFixture, mapContact, mapKeywords, mapLogo, mapOrganization, mapReducer, markRecordAsChanged, megabytesToBytes, mimeTypeToFormat, minimalAppConfigFixture, missingMandatoryConfigFixture, mouseWheelZoomCondition, noDuplicateFileName, okAppConfigFixture, openDataset, openRecord, parse, parseXmlString, placeholder, prioritizePageScroll, propagateToDocumentOnly, provideGn4, provideRepositoryUrl, readAttribute, readDataset, readDatasetHeaders, readText, reducer$2 as reducer, reducerSearch, removeAllChildren, removeChildren, removeChildrenByName, removeSearchParams, removeWhitespace, renameElements, saveRecord, saveRecordFailure, saveRecordSuccess, selectCurrentPage, selectEditorConfig, selectEditorState, selectFallback, selectFallbackFields, selectField, selectHasRecordChanged, selectIsPublished, selectRecord, selectRecordChangedSinceSave, selectRecordSaveError, selectRecordSaving, selectRecordSections, selectRecordSource, selectTranslatedField, selectTranslatedValue, setContext, setCurrentPage, setFieldVisibility, setSelectedFeatures, setTextContent, someHabTableItemFixture, sortByFromString, sortByToString, sortByToStrings, stripHtml, stripNamespace, tableItemFixture, toDate, totalPages, undoRecordDraft, unrecognizedKeysConfigFixture, updateRecordField, writeAttribute, wrongLanguageCodeConfigFixture, xmlToString };
|
|
40973
41165
|
//# sourceMappingURL=geonetwork-ui.mjs.map
|