@provoly/dashboard 1.3.7 → 1.3.9
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/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.d.ts +5 -2
- package/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.d.ts +47 -18
- package/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.d.ts +6 -2
- package/admin/components/admin-fields/admin-fields.component.d.ts +4 -1
- package/admin/components/admin-fields/store/admin-fields.model.d.ts +1 -1
- package/admin/components/admin-fields/store/fields.actions.d.ts +19 -12
- package/admin/components/admin-fields/store/fields.effects.d.ts +16 -3
- package/admin/i18n/en.translations.d.ts +33 -14
- package/admin/i18n/fr.translations.d.ts +33 -14
- package/components/checkbox/checkbox.component.d.ts +4 -2
- package/components/data-format/data-format.pipe.d.ts +11 -1
- package/components/paginator/index.d.ts +5 -0
- package/components/paginator/paginator.component.d.ts +19 -0
- package/components/paginator/paginator.module.d.ts +10 -0
- package/components/paginator/public-api.d.ts +3 -0
- package/components/paginator/style/_o-pry-paginator.scss +11 -0
- package/components/paginator/style/css.component.d.ts +5 -0
- package/dataset/components/dataset-detail/dataset-detail.component.d.ts +5 -8
- package/dataset/dataset.module.d.ts +1 -1
- package/dataset/i18n/en.translations.d.ts +0 -12
- package/dataset/i18n/fr.translations.d.ts +0 -12
- package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +4 -6
- package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +1 -1
- package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +1 -1
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +10 -12
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +6 -5
- package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +2 -2
- package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +142 -63
- package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +7 -8
- package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +15 -11
- package/esm2022/admin/components/admin-fields/store/admin-fields.model.mjs +1 -1
- package/esm2022/admin/components/admin-fields/store/fields.actions.mjs +6 -5
- package/esm2022/admin/components/admin-fields/store/fields.effects.mjs +12 -6
- package/esm2022/admin/i18n/en.translations.mjs +34 -15
- package/esm2022/admin/i18n/fr.translations.mjs +34 -15
- package/esm2022/components/checkbox/checkbox.component.mjs +15 -7
- package/esm2022/components/data-format/data-format.pipe.mjs +88 -7
- package/esm2022/components/paginator/paginator.component.mjs +51 -0
- package/esm2022/components/paginator/paginator.module.mjs +20 -0
- package/esm2022/components/paginator/provoly-dashboard-components-paginator.mjs +5 -0
- package/esm2022/components/paginator/public-api.mjs +4 -0
- package/esm2022/components/paginator/style/css.component.mjs +11 -0
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +16 -26
- package/esm2022/dataset/dataset.module.mjs +2 -5
- package/esm2022/dataset/i18n/en.translations.mjs +1 -13
- package/esm2022/dataset/i18n/fr.translations.mjs +2 -14
- package/esm2022/import/components/form/import-form.component.mjs +174 -0
- package/esm2022/import/components/list/import-list.component.mjs +73 -0
- package/esm2022/import/components/version-modal/version-modal.component.mjs +26 -0
- package/esm2022/import/i18n/en.translations.mjs +16 -2
- package/esm2022/import/i18n/fr.translations.mjs +16 -2
- package/esm2022/import/import-routing.module.mjs +3 -3
- package/esm2022/import/import.module.mjs +25 -10
- package/esm2022/import/public-api.mjs +4 -2
- package/esm2022/import/style/css.component.mjs +2 -2
- package/esm2022/lib/core/components/select/select.component.mjs +3 -3
- package/esm2022/lib/core/components/share/legacy-share/share.component.mjs +8 -8
- package/esm2022/lib/core/components/status-modal/status-modal.component.mjs +48 -0
- package/esm2022/lib/core/components/{modal-status/modal-status.module.mjs → status-modal/status-modal.module.mjs} +9 -9
- package/esm2022/lib/core/core.module.mjs +5 -5
- package/esm2022/lib/core/i18n/en.translations.mjs +39 -6
- package/esm2022/lib/core/i18n/fr.translations.mjs +41 -6
- package/esm2022/lib/core/model/admin-api.model.mjs +5 -69
- package/esm2022/lib/core/model/widget-analytic-manifest.interface.mjs +1 -1
- package/esm2022/lib/core/model/widget-table-manifest.interface.mjs +1 -1
- package/esm2022/lib/core/public-api.mjs +3 -3
- package/esm2022/lib/core/store/class/class.interface.mjs +1 -1
- package/esm2022/lib/core/store/class/class.selectors.mjs +2 -2
- package/esm2022/lib/core/store/data-source/data-source.actions.mjs +3 -3
- package/esm2022/lib/core/store/data-source/data-source.effects.mjs +7 -4
- package/esm2022/lib/core/store/data-source/data-source.model.mjs +1 -1
- package/esm2022/lib/core/store/data-source/data-source.reducer.mjs +5 -3
- package/esm2022/lib/core/store/data-source/data-source.selectors.mjs +3 -11
- package/esm2022/lib/core/store/data-source/data-source.service.mjs +23 -5
- package/esm2022/lib/core/store/field/field.interface.mjs +1 -3
- package/esm2022/lib/core/store/field/field.service.mjs +7 -2
- package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +3 -3
- package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-card/datasource-card.component.mjs +3 -11
- package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-list/datasource-list.component.mjs +2 -2
- package/esm2022/lib/dashboard/item-utils.mjs +5 -5
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +1 -4
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +1 -19
- package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +1 -26
- package/esm2022/lib/dashboard/tooltip/components/default/default.tooltip.component.mjs +3 -3
- package/esm2022/lib/dashboard/tooltip/tooltip-factory.service.mjs +3 -2
- package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +4 -4
- package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +3 -3
- package/esm2022/search/search-mono-class/components/search-select-attribute/search-select-attribute.component.mjs +4 -5
- package/esm2022/search/search-mono-class/store/search-mono-class.effects.mjs +2 -2
- package/esm2022/search/search-mono-class/store/search-mono-class.service.mjs +5 -6
- package/esm2022/search/search-multi-class/store/search-multi-class.service.mjs +4 -4
- package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +3 -3
- package/esm2022/toolbox/components/save-view/save-view.component.mjs +3 -3
- package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +17 -19
- package/esm2022/tooltips/attribute/attribute-tooltip.module.mjs +5 -4
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +54 -37
- package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +4 -16
- package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +9 -9
- package/esm2022/widgets/widget-detail/component/widget-detail.component.mjs +5 -5
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +30 -32
- package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +2 -5
- package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +2 -2
- package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +6 -10
- package/esm2022/widgets/widget-table/component/widget-table.component.mjs +18 -14
- package/esm2022/widgets/widget-table/expand-value/expand-value.component.mjs +9 -5
- package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +2 -2
- package/esm2022/widgets/widget-table/public-api.mjs +1 -2
- package/esm2022/widgets/widget-table/widget-table.module.mjs +12 -7
- package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +10 -15
- package/esm2022/widgets/widget-tile/widget-tile.module.mjs +8 -4
- package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +2 -2
- package/fesm2022/provoly-dashboard-admin.mjs +249 -126
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-checkbox.mjs +14 -6
- package/fesm2022/provoly-dashboard-components-checkbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-data-format.mjs +88 -7
- package/fesm2022/provoly-dashboard-components-data-format.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-paginator.mjs +82 -0
- package/fesm2022/provoly-dashboard-components-paginator.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-dataset.mjs +21 -58
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +249 -116
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-search.mjs +15 -16
- package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +4 -4
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +20 -21
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +53 -36
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +3 -15
- package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +9 -9
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs +4 -4
- package/fesm2022/provoly-dashboard-widgets-widget-detail.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +36 -45
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +32 -38
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +16 -17
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +286 -338
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/import/components/{import.component.d.ts → form/import-form.component.d.ts} +8 -4
- package/import/components/list/import-list.component.d.ts +34 -0
- package/import/components/version-modal/version-modal.component.d.ts +13 -0
- package/import/i18n/en.translations.d.ts +14 -0
- package/import/i18n/fr.translations.d.ts +14 -0
- package/import/import.module.d.ts +13 -10
- package/import/public-api.d.ts +3 -1
- package/import/style/_o-import.scss +50 -6
- package/lib/core/components/share/legacy-share/share.component.d.ts +1 -1
- package/lib/core/components/{modal-status/modal-status.component.d.ts → status-modal/status-modal.component.d.ts} +10 -6
- package/lib/core/components/{modal-status/modal-status.module.d.ts → status-modal/status-modal.module.d.ts} +5 -5
- package/lib/core/core.module.d.ts +2 -2
- package/lib/core/i18n/en.translations.d.ts +33 -0
- package/lib/core/i18n/fr.translations.d.ts +35 -0
- package/lib/core/model/admin-api.model.d.ts +6 -8
- package/lib/core/model/widget-analytic-manifest.interface.d.ts +0 -3
- package/lib/core/model/widget-table-manifest.interface.d.ts +2 -0
- package/lib/core/public-api.d.ts +2 -2
- package/lib/core/store/class/class.interface.d.ts +2 -1
- package/lib/core/store/class/class.selectors.d.ts +10 -10
- package/lib/core/store/data-source/data-source.actions.d.ts +21 -1
- package/lib/core/store/data-source/data-source.effects.d.ts +11 -1
- package/lib/core/store/data-source/data-source.model.d.ts +3 -2
- package/lib/core/store/data-source/data-source.reducer.d.ts +1 -0
- package/lib/core/store/data-source/data-source.selectors.d.ts +3 -3
- package/lib/core/store/data-source/data-source.service.d.ts +11 -2
- package/lib/core/store/field/field.interface.d.ts +8 -4
- package/lib/core/store/field/field.service.d.ts +1 -0
- package/lib/dashboard/components/context-menu/object-edition/object-edition.component.d.ts +1 -1
- package/lib/dashboard/components/widgets/datasource-selector/datasource-card/datasource-card.component.d.ts +3 -7
- package/lib/dashboard/item-utils.d.ts +1 -1
- package/lib/dashboard/store/dashboard.actions.d.ts +0 -11
- package/lib/dashboard/store/dashboard.effects.d.ts +0 -3
- package/lib/dashboard/tooltip/tooltip-factory.service.d.ts +2 -1
- package/package.json +18 -12
- package/styles/base/_utils.scss +9 -1
- package/styles/components/_a-btn.scss +7 -0
- package/styles/components/_a-table.scss +2 -16
- package/styles/layout/_o-workspace.scss +1 -0
- package/tooltips/attribute/attribute-tooltip.component.d.ts +6 -6
- package/tooltips/attribute/attribute-tooltip.module.d.ts +2 -1
- package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +16 -3
- package/widgets/widget-analytic/component/widget-analytic.component.d.ts +2 -3
- package/widgets/widget-detail/component/widget-detail.component.d.ts +1 -4
- package/widgets/widget-table/component/widget-table.component.d.ts +1 -0
- package/widgets/widget-table/expand-value/expand-value.component.d.ts +4 -2
- package/widgets/widget-table/public-api.d.ts +0 -1
- package/widgets/widget-table/widget-table.module.d.ts +9 -8
- package/widgets/widget-tile/component/widget-tile.component.d.ts +1 -0
- package/widgets/widget-tile/widget-tile.module.d.ts +2 -1
- package/esm2022/import/components/import.component.mjs +0 -167
- package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +0 -45
- package/esm2022/widgets/widget-table/expand-value/format-number.pipe.mjs +0 -24
- package/widgets/widget-table/expand-value/format-number.pipe.d.ts +0 -10
|
@@ -5,7 +5,7 @@ import { CommonModule, AsyncPipe, DOCUMENT } from '@angular/common';
|
|
|
5
5
|
import * as i1$2 from '@angular/common/http';
|
|
6
6
|
import { HttpHeaders, HttpUrlEncodingCodec, HttpParams, HttpClientModule } from '@angular/common/http';
|
|
7
7
|
import * as i0 from '@angular/core';
|
|
8
|
-
import { InjectionToken, Injectable, Directive, Optional, Inject, Input, Component, Pipe, ChangeDetectionStrategy, HostBinding, NgModule, EventEmitter, Output, TemplateRef, ViewChild,
|
|
8
|
+
import { InjectionToken, Injectable, Directive, Optional, Inject, Input, Component, Pipe, ChangeDetectionStrategy, HostBinding, NgModule, Injector, EventEmitter, Output, TemplateRef, ViewChild, SecurityContext, ContentChildren, forwardRef, HostListener, ViewContainerRef, ViewChildren, ViewEncapsulation, createNgModule } from '@angular/core';
|
|
9
9
|
import * as i3 from '@angular/router';
|
|
10
10
|
import { NavigationEnd, RouterModule } from '@angular/router';
|
|
11
11
|
import * as i1$3 from '@ngrx/effects';
|
|
@@ -14,7 +14,7 @@ import * as i1 from '@ngrx/store';
|
|
|
14
14
|
import { createAction, props, createReducer, on, createFeatureSelector, createSelector, StoreModule } from '@ngrx/store';
|
|
15
15
|
import { of, Subscription, filter, combineLatest, debounceTime, BehaviorSubject, map, Subject, windowTime, switchMap, mergeMap, from as from$1, forkJoin, catchError as catchError$1, throwError, tap as tap$1, withLatestFrom as withLatestFrom$1, share, merge, ReplaySubject, combineLatestWith, distinctUntilChanged as distinctUntilChanged$1, startWith, delay, fromEvent, auditTime, interval } from 'rxjs';
|
|
16
16
|
import * as i3$1 from '@angular/platform-browser';
|
|
17
|
-
import {
|
|
17
|
+
import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
|
|
18
18
|
import * as i3$2 from '@angular/cdk/a11y';
|
|
19
19
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
20
20
|
import equal from 'fast-deep-equal/es6';
|
|
@@ -313,9 +313,9 @@ const enTranslations$1 = {
|
|
|
313
313
|
detail: 'Detail',
|
|
314
314
|
chart: 'Chart',
|
|
315
315
|
resultSet: 'Named Queries',
|
|
316
|
-
rename: 'Save
|
|
316
|
+
rename: 'Save as ({{nbPages}})',
|
|
317
317
|
restore: 'Restore closed pages',
|
|
318
|
-
save: 'Save',
|
|
318
|
+
save: 'Save ({{nbPages}})',
|
|
319
319
|
drag: 'Restitution...',
|
|
320
320
|
dragIndication: 'Insert a',
|
|
321
321
|
barchart: 'Bar',
|
|
@@ -440,7 +440,9 @@ const enTranslations$1 = {
|
|
|
440
440
|
back: 'Back',
|
|
441
441
|
filterByType: 'Filter by type',
|
|
442
442
|
editMetadata: 'Edit metadata',
|
|
443
|
-
addMetadata: 'Add metadata'
|
|
443
|
+
addMetadata: 'Add metadata',
|
|
444
|
+
yes: 'Yes',
|
|
445
|
+
no: 'No'
|
|
444
446
|
},
|
|
445
447
|
snack: {
|
|
446
448
|
default: 'Vega encountered an error using your data and settings.',
|
|
@@ -494,12 +496,12 @@ const enTranslations$1 = {
|
|
|
494
496
|
iconLabel: {
|
|
495
497
|
PRIVATE: 'Private',
|
|
496
498
|
GROUPS: 'Shared to some user groups',
|
|
497
|
-
PUBLIC: 'Public'
|
|
499
|
+
PUBLIC: 'Public'
|
|
498
500
|
},
|
|
499
501
|
radioLabel: {
|
|
500
502
|
PRIVATE: 'Private',
|
|
501
503
|
GROUPS: 'Share to selected user groups',
|
|
502
|
-
PUBLIC: 'Public'
|
|
504
|
+
PUBLIC: 'Public'
|
|
503
505
|
},
|
|
504
506
|
type: 'Visibility',
|
|
505
507
|
users: 'Authorized users',
|
|
@@ -609,6 +611,37 @@ const enTranslations$1 = {
|
|
|
609
611
|
},
|
|
610
612
|
a11y: {
|
|
611
613
|
modalStatusTableDescr: 'Dataset version warnings and errors'
|
|
614
|
+
},
|
|
615
|
+
dataset: {
|
|
616
|
+
version: {
|
|
617
|
+
title: 'Title',
|
|
618
|
+
name: 'Dataset name',
|
|
619
|
+
productionDate: 'Production date',
|
|
620
|
+
importDate: 'Import date',
|
|
621
|
+
number: 'Version number',
|
|
622
|
+
producer: 'Data producer',
|
|
623
|
+
additionalInformation: 'Version information',
|
|
624
|
+
fileName: 'Source file name',
|
|
625
|
+
notProvided: 'Not provided',
|
|
626
|
+
state: {
|
|
627
|
+
INDEXING: 'Loading',
|
|
628
|
+
LOADING: 'Loading',
|
|
629
|
+
INACTIVE: 'Invalid',
|
|
630
|
+
ERROR: 'Error',
|
|
631
|
+
ACTIVE: 'Available',
|
|
632
|
+
DELETING: 'Deleting',
|
|
633
|
+
currentlyActive: 'Active'
|
|
634
|
+
},
|
|
635
|
+
stateFilter: {
|
|
636
|
+
INDEXING: 'Loading (indexing)',
|
|
637
|
+
LOADING: 'Loading',
|
|
638
|
+
INACTIVE: 'Invalid',
|
|
639
|
+
ERROR: 'Error',
|
|
640
|
+
ACTIVE: 'Available',
|
|
641
|
+
DELETING: 'Deleting',
|
|
642
|
+
DELETE_ERROR: 'Deletion error'
|
|
643
|
+
}
|
|
644
|
+
}
|
|
612
645
|
}
|
|
613
646
|
};
|
|
614
647
|
|
|
@@ -735,9 +768,9 @@ const frTranslations$1 = {
|
|
|
735
768
|
detail: 'Détail',
|
|
736
769
|
chart: 'Graphique',
|
|
737
770
|
resultSet: 'Recherches nommées',
|
|
738
|
-
rename: 'Enregistrer sous',
|
|
771
|
+
rename: 'Enregistrer sous ({{nbPages}})',
|
|
739
772
|
restore: 'Restaurer les pages',
|
|
740
|
-
save: 'Enregistrer',
|
|
773
|
+
save: 'Enregistrer ({{nbPages}})',
|
|
741
774
|
drag: 'Restitution...',
|
|
742
775
|
dragIndication: 'Insérer un',
|
|
743
776
|
barchart: 'Barres',
|
|
@@ -864,7 +897,9 @@ const frTranslations$1 = {
|
|
|
864
897
|
back: 'Retour',
|
|
865
898
|
filterByType: 'Filtrer par type',
|
|
866
899
|
editMetadata: 'Modifier la métadonnée',
|
|
867
|
-
addMetadata: 'Ajouter la métadonnée'
|
|
900
|
+
addMetadata: 'Ajouter la métadonnée',
|
|
901
|
+
yes: 'Oui',
|
|
902
|
+
no: 'Non'
|
|
868
903
|
},
|
|
869
904
|
snack: {
|
|
870
905
|
default: 'Vega a rencontré une erreur en utilisant vos données et paramétrage.',
|
|
@@ -918,12 +953,12 @@ const frTranslations$1 = {
|
|
|
918
953
|
iconLabel: {
|
|
919
954
|
PRIVATE: 'Privé',
|
|
920
955
|
GROUPS: "Partagé aux groupes d'utilisateurs",
|
|
921
|
-
PUBLIC: 'Public'
|
|
956
|
+
PUBLIC: 'Public'
|
|
922
957
|
},
|
|
923
958
|
radioLabel: {
|
|
924
959
|
PRIVATE: 'Privé',
|
|
925
960
|
GROUPS: 'Restreint',
|
|
926
|
-
PUBLIC: 'Public'
|
|
961
|
+
PUBLIC: 'Public'
|
|
927
962
|
},
|
|
928
963
|
type: 'Visibilité',
|
|
929
964
|
users: 'Utilisateurs autorisés',
|
|
@@ -1032,6 +1067,39 @@ const frTranslations$1 = {
|
|
|
1032
1067
|
},
|
|
1033
1068
|
a11y: {
|
|
1034
1069
|
modalStatusTableDescr: 'Les warnings et les erreurs de la version de dataset'
|
|
1070
|
+
},
|
|
1071
|
+
dataset: {
|
|
1072
|
+
version: {
|
|
1073
|
+
title: 'Intitulé',
|
|
1074
|
+
name: 'Nom de la source de données',
|
|
1075
|
+
productionDate: 'Date de production',
|
|
1076
|
+
importDate: "Date d'import",
|
|
1077
|
+
number: 'Numéro de version',
|
|
1078
|
+
producer: 'Producteur de données',
|
|
1079
|
+
additionalInformation: 'Informations de la version',
|
|
1080
|
+
fileName: 'Nom du fichier source',
|
|
1081
|
+
notProvided: 'Non renseigné',
|
|
1082
|
+
stateTitle: 'Statut',
|
|
1083
|
+
state: {
|
|
1084
|
+
INDEXING: 'En chargement',
|
|
1085
|
+
LOADING: 'En chargement',
|
|
1086
|
+
INACTIVE: 'Invalide',
|
|
1087
|
+
ERROR: 'En erreur',
|
|
1088
|
+
ACTIVE: 'Disponible',
|
|
1089
|
+
DELETING: 'En cours de suppression',
|
|
1090
|
+
DELETE_ERROR: 'Erreur de suppression',
|
|
1091
|
+
currentlyActive: 'Actif'
|
|
1092
|
+
},
|
|
1093
|
+
stateFilter: {
|
|
1094
|
+
INDEXING: 'En chargement (indexing)',
|
|
1095
|
+
LOADING: 'En chargement (loading)',
|
|
1096
|
+
INACTIVE: 'Invalide',
|
|
1097
|
+
ERROR: 'En erreur',
|
|
1098
|
+
ACTIVE: 'Disponible',
|
|
1099
|
+
DELETING: 'En cours de suppression',
|
|
1100
|
+
DELETE_ERROR: 'Erreur de suppression'
|
|
1101
|
+
}
|
|
1102
|
+
}
|
|
1035
1103
|
}
|
|
1036
1104
|
}
|
|
1037
1105
|
};
|
|
@@ -1418,18 +1486,6 @@ const enTranslations = {
|
|
|
1418
1486
|
since_day: 'Last update :',
|
|
1419
1487
|
noActiveVersion: 'No active version',
|
|
1420
1488
|
version: {
|
|
1421
|
-
title: 'Title',
|
|
1422
|
-
productionDate: 'Production date',
|
|
1423
|
-
producer: 'Data producer',
|
|
1424
|
-
additionalInformation: 'Version information',
|
|
1425
|
-
notProvided: 'Not provided',
|
|
1426
|
-
INDEXING: 'Loading',
|
|
1427
|
-
LOADING: 'Loading',
|
|
1428
|
-
INACTIVE: 'Invalid',
|
|
1429
|
-
ERROR: 'Error',
|
|
1430
|
-
ACTIVE: 'Available',
|
|
1431
|
-
DELETING: 'Deleting',
|
|
1432
|
-
currentlyActive: 'Active',
|
|
1433
1489
|
delete: {
|
|
1434
1490
|
title: 'Delete version',
|
|
1435
1491
|
message: 'Deleting this version will remove associated data. Are you sure you want to delete it?'
|
|
@@ -1514,18 +1570,6 @@ const frTranslations = {
|
|
|
1514
1570
|
since_day: 'Dernière mise à jour :',
|
|
1515
1571
|
noActiveVersion: 'Aucune version active',
|
|
1516
1572
|
version: {
|
|
1517
|
-
title: 'Intitulé',
|
|
1518
|
-
productionDate: 'Date de production',
|
|
1519
|
-
producer: 'Producteur de données',
|
|
1520
|
-
additionalInformation: 'Informations de la version',
|
|
1521
|
-
notProvided: 'Non renseigné',
|
|
1522
|
-
INDEXING: 'En chargement',
|
|
1523
|
-
LOADING: 'En chargement',
|
|
1524
|
-
INACTIVE: 'Invalide',
|
|
1525
|
-
ERROR: 'En erreur',
|
|
1526
|
-
ACTIVE: 'Disponible',
|
|
1527
|
-
DELETING: 'En cours de suppression',
|
|
1528
|
-
currentlyActive: 'Actif',
|
|
1529
1573
|
delete: {
|
|
1530
1574
|
title: 'Supprimer une version',
|
|
1531
1575
|
message: 'La suppression de cette version entraînera la suppression des données associées. Confirmez-vous la suppression ?'
|
|
@@ -1561,7 +1605,7 @@ const frTranslations = {
|
|
|
1561
1605
|
WARNING: 'Warning'
|
|
1562
1606
|
},
|
|
1563
1607
|
code: {
|
|
1564
|
-
UNRECOGNIZED: 'Attribut{{plural}} {{name}} non reconnu
|
|
1608
|
+
UNRECOGNIZED: 'Attribut{{plural}} {{name}} non reconnu{{plural}}',
|
|
1565
1609
|
FORMAT: "Format d'attribut {{name}} incorrect",
|
|
1566
1610
|
STORAGE: "Erreur d'insertion pour l'élément {{recordId}}",
|
|
1567
1611
|
NO_VALUES: 'Pas de valeur pour la ligne {{recordId}}',
|
|
@@ -1617,7 +1661,7 @@ const DataSourceActions = {
|
|
|
1617
1661
|
loadDataset: createAction('[Dataset] load datasets'),
|
|
1618
1662
|
loadedDataset: createAction('[Dataset] loaded datasets', props()),
|
|
1619
1663
|
failure: createAction('[Dataset] failure effect Dataset', props()),
|
|
1620
|
-
listVersions: createAction('[Dataset] Get Dataset versions'),
|
|
1664
|
+
listVersions: createAction('[Dataset] Get Dataset versions', props()),
|
|
1621
1665
|
listVersionsSuccess: createAction('[Dataset] Get Dataset versions Success', props()),
|
|
1622
1666
|
listVersionsFailure: createAction('[Dataset] Get Dataset versions Failure'),
|
|
1623
1667
|
listVersionsByDatasetId: createAction('[Dataset] Get Dataset Versions by Dataset Id', props()),
|
|
@@ -1640,7 +1684,7 @@ const DataSourceActions = {
|
|
|
1640
1684
|
deleteVersion: createAction('[Dataset] Delete datasetVersion', props()),
|
|
1641
1685
|
deleteVersionFailure: createAction('[Dataset] Delete datasetVersion failure', props()),
|
|
1642
1686
|
getCategories: createAction('[Dataset] Get Categories'),
|
|
1643
|
-
getCategoriesSuccess: createAction('[Dataset] Get Categories Success', props())
|
|
1687
|
+
getCategoriesSuccess: createAction('[Dataset] Get Categories Success', props())
|
|
1644
1688
|
}
|
|
1645
1689
|
};
|
|
1646
1690
|
|
|
@@ -1654,6 +1698,7 @@ const initialDataSourceState = {
|
|
|
1654
1698
|
isRename: false,
|
|
1655
1699
|
datasets: [],
|
|
1656
1700
|
datasetVersions: [],
|
|
1701
|
+
totalVersionCount: 0,
|
|
1657
1702
|
selectedDatasetVersion: null,
|
|
1658
1703
|
previews: [],
|
|
1659
1704
|
categories: []
|
|
@@ -1694,7 +1739,8 @@ const dataSourceReducer = createReducer(initialDataSourceState, on(DataSourceAct
|
|
|
1694
1739
|
})), on(DataSourceActions.dataset.listVersionsSuccess, (state, action) => ({
|
|
1695
1740
|
...state,
|
|
1696
1741
|
loading: false,
|
|
1697
|
-
datasetVersions: action.versions
|
|
1742
|
+
datasetVersions: action.versions,
|
|
1743
|
+
totalVersionCount: action.totalVersionCount
|
|
1698
1744
|
})), on(DataSourceActions.dataset.listVersionsFailure, (state) => ({
|
|
1699
1745
|
...state,
|
|
1700
1746
|
loading: false
|
|
@@ -1725,7 +1771,7 @@ const dataSourceReducer = createReducer(initialDataSourceState, on(DataSourceAct
|
|
|
1725
1771
|
loading: false
|
|
1726
1772
|
})), on(DataSourceActions.dataset.updateVersionList, (state, action) => ({
|
|
1727
1773
|
...state,
|
|
1728
|
-
datasetVersions:
|
|
1774
|
+
datasetVersions: action.versions
|
|
1729
1775
|
})), on(DataSourceActions.dataset.previews.getById, (state) => ({
|
|
1730
1776
|
...state,
|
|
1731
1777
|
loading: true
|
|
@@ -1831,15 +1877,7 @@ const isLoading = createSelector(selectFeature, (state) => state.isLoading);
|
|
|
1831
1877
|
const getDataSources = createSelector(getAllNamedQuery, datasets, (nqs, dsd) => [...nqs, ...dsd]);
|
|
1832
1878
|
const getDataSourcesSorted = createSelector(getAllNamedQuery, datasets, (nqs, dsd) => [...nqs, ...dsd].sort((nq1, nq2) => nq1.name.toLowerCase().localeCompare(nq2.name.toLowerCase())));
|
|
1833
1879
|
const datasetVersions = createSelector(selectFeature, (state) => state?.datasetVersions ?? []);
|
|
1834
|
-
const
|
|
1835
|
-
const matchingDatasetVersions = (datasetId) => {
|
|
1836
|
-
if (!memoizeDatasetVersions[datasetId]) {
|
|
1837
|
-
memoizeDatasetVersions[datasetId] = createSelector(datasetVersions, (datasetVersions) => {
|
|
1838
|
-
return datasetVersions.filter((datasetVersion) => datasetVersion.dataset === datasetId);
|
|
1839
|
-
});
|
|
1840
|
-
}
|
|
1841
|
-
return memoizeDatasetVersions[datasetId];
|
|
1842
|
-
};
|
|
1880
|
+
const totalVersionCount = createSelector(selectFeature, (state) => state.totalVersionCount);
|
|
1843
1881
|
const datasetPreviews = createSelector(selectFeature, (state) => state?.previews ?? []);
|
|
1844
1882
|
const categories$1 = createSelector(selectFeature, (state) => state.categories);
|
|
1845
1883
|
const DataSourceSelectors = {
|
|
@@ -1858,66 +1896,11 @@ const DataSourceSelectors = {
|
|
|
1858
1896
|
getDataSources,
|
|
1859
1897
|
getDataSourcesSorted,
|
|
1860
1898
|
datasetVersions,
|
|
1861
|
-
|
|
1899
|
+
totalVersionCount,
|
|
1862
1900
|
datasetPreviews,
|
|
1863
1901
|
categories: categories$1
|
|
1864
1902
|
};
|
|
1865
1903
|
|
|
1866
|
-
class PryModalStatusComponent {
|
|
1867
|
-
set version(version) {
|
|
1868
|
-
this._version = version;
|
|
1869
|
-
if (!!version) {
|
|
1870
|
-
this.store.dispatch(DataSourceActions.dataset.previews.getById({ id: version.id }));
|
|
1871
|
-
this.datasetPreviews$ = this.store.select(DataSourceSelectors.datasetPreviews).pipe(map((previews) => previews
|
|
1872
|
-
.map((preview) => preview.messages)
|
|
1873
|
-
.flat()
|
|
1874
|
-
.map((preview) => ({
|
|
1875
|
-
...preview,
|
|
1876
|
-
name: (preview.name ?? '').split(',').join(', ')
|
|
1877
|
-
}))));
|
|
1878
|
-
this.messageCount$ = this.store.select(DataSourceSelectors.datasetPreviews).pipe(map((previews) => {
|
|
1879
|
-
return previews.map((preview) => preview.count).reduce((p, c) => p + c, 0);
|
|
1880
|
-
}));
|
|
1881
|
-
}
|
|
1882
|
-
}
|
|
1883
|
-
constructor(store) {
|
|
1884
|
-
this.store = store;
|
|
1885
|
-
this.gotoConsult = new EventEmitter();
|
|
1886
|
-
}
|
|
1887
|
-
goBack() {
|
|
1888
|
-
this.gotoConsult.emit(this.version);
|
|
1889
|
-
}
|
|
1890
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryModalStatusComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1891
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryModalStatusComponent, selector: "pry-modal-status", inputs: { version: "version" }, outputs: { gotoConsult: "gotoConsult" }, ngImport: i0, template: "<div class=\"o-modal-wrapper__backdrop\" (click)=\"goBack()\">\n <div class=\"o-modal-wrapper -extra-large\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{\n '@pry.dataset.error.modalTitle.' +\n (_version?.state !== 'ERROR' && _version?.hasWarnings ? 'WARNING' : 'ERROR') | i18n\n }}\n ({{ messageCount$ | async }})\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"goBack()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <table class=\"a-table\" [attr.aria-describedby]=\"'@pry.a11y.modalStatusTableDescr' | i18n\">\n <thead>\n <tr>\n <th>{{ '@pry.dataset.error.type' | i18n }}</th>\n <th>{{ '@pry.dataset.error.elements' | i18n }}</th>\n <th>{{ '@pry.dataset.error.message' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let preview of datasetPreviews$ | async | slice : 0 : 5\">\n <td>\n {{ '@pry.dataset.error.level.' + preview.level | i18n }}\n </td>\n <td>\n {{ preview.recordId }}\n </td>\n <td>\n {{\n '@pry.dataset.error.code.' + preview.extractMessageCode\n | i18n\n : { plural: preview.name.includes(',') ? 's' : '', name: preview.name, recordId: preview.recordId }\n }}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.SlicePipe, name: "slice" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
1892
|
-
}
|
|
1893
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryModalStatusComponent, decorators: [{
|
|
1894
|
-
type: Component,
|
|
1895
|
-
args: [{ selector: 'pry-modal-status', template: "<div class=\"o-modal-wrapper__backdrop\" (click)=\"goBack()\">\n <div class=\"o-modal-wrapper -extra-large\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{\n '@pry.dataset.error.modalTitle.' +\n (_version?.state !== 'ERROR' && _version?.hasWarnings ? 'WARNING' : 'ERROR') | i18n\n }}\n ({{ messageCount$ | async }})\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"goBack()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <table class=\"a-table\" [attr.aria-describedby]=\"'@pry.a11y.modalStatusTableDescr' | i18n\">\n <thead>\n <tr>\n <th>{{ '@pry.dataset.error.type' | i18n }}</th>\n <th>{{ '@pry.dataset.error.elements' | i18n }}</th>\n <th>{{ '@pry.dataset.error.message' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let preview of datasetPreviews$ | async | slice : 0 : 5\">\n <td>\n {{ '@pry.dataset.error.level.' + preview.level | i18n }}\n </td>\n <td>\n {{ preview.recordId }}\n </td>\n <td>\n {{\n '@pry.dataset.error.code.' + preview.extractMessageCode\n | i18n\n : { plural: preview.name.includes(',') ? 's' : '', name: preview.name, recordId: preview.recordId }\n }}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n" }]
|
|
1896
|
-
}], ctorParameters: () => [{ type: i1.Store }], propDecorators: { gotoConsult: [{
|
|
1897
|
-
type: Output
|
|
1898
|
-
}], version: [{
|
|
1899
|
-
type: Input
|
|
1900
|
-
}] } });
|
|
1901
|
-
|
|
1902
|
-
class PryModalStatusModule {
|
|
1903
|
-
constructor(pryTranslateService) {
|
|
1904
|
-
this.pryTranslateService = pryTranslateService;
|
|
1905
|
-
this.pryTranslateService.addLangObject('fr', 'dataset', frTranslations);
|
|
1906
|
-
this.pryTranslateService.addLangObject('en', 'dataset', enTranslations);
|
|
1907
|
-
}
|
|
1908
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryModalStatusModule, deps: [{ token: PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1909
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: PryModalStatusModule, declarations: [PryModalStatusComponent], imports: [CommonModule, PryIconModule, PryI18nModule], exports: [PryModalStatusComponent] }); }
|
|
1910
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryModalStatusModule, imports: [CommonModule, PryIconModule, PryI18nModule] }); }
|
|
1911
|
-
}
|
|
1912
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryModalStatusModule, decorators: [{
|
|
1913
|
-
type: NgModule,
|
|
1914
|
-
args: [{
|
|
1915
|
-
imports: [CommonModule, PryIconModule, PryI18nModule],
|
|
1916
|
-
declarations: [PryModalStatusComponent],
|
|
1917
|
-
exports: [PryModalStatusComponent]
|
|
1918
|
-
}]
|
|
1919
|
-
}], ctorParameters: () => [{ type: PryI18nService }] });
|
|
1920
|
-
|
|
1921
1904
|
const DEFAULT_SEARCH_LIMIT_NUMBER = 200;
|
|
1922
1905
|
const ConfigActions = {
|
|
1923
1906
|
defineUrls: createAction('[Config] (bus) defining urls', props()),
|
|
@@ -1955,6 +1938,139 @@ const ConfigActions = {
|
|
|
1955
1938
|
defineLimits: createAction('[Config] defining limits', props())
|
|
1956
1939
|
};
|
|
1957
1940
|
|
|
1941
|
+
class PryDialogRef {
|
|
1942
|
+
constructor(overlayRef) {
|
|
1943
|
+
this.overlayRef = overlayRef;
|
|
1944
|
+
this.closeValue = new Subject();
|
|
1945
|
+
}
|
|
1946
|
+
close(value) {
|
|
1947
|
+
if (value) {
|
|
1948
|
+
this.closeValue.next(value);
|
|
1949
|
+
}
|
|
1950
|
+
this.closeValue.complete();
|
|
1951
|
+
this.overlayRef.dispose();
|
|
1952
|
+
}
|
|
1953
|
+
}
|
|
1954
|
+
|
|
1955
|
+
const DEFAULT_CONFIG = {
|
|
1956
|
+
hasBackdrop: true,
|
|
1957
|
+
panelClass: ['pry-dialog-container'],
|
|
1958
|
+
backdropClass: 'backdrop'
|
|
1959
|
+
};
|
|
1960
|
+
const PRY_DIALOG_DATA = new InjectionToken('PRY_DIALOG_DATA');
|
|
1961
|
+
class PryDialogService {
|
|
1962
|
+
constructor(injector, overlay, store) {
|
|
1963
|
+
this.injector = injector;
|
|
1964
|
+
this.overlay = overlay;
|
|
1965
|
+
this.store = store;
|
|
1966
|
+
}
|
|
1967
|
+
open(component, config = {}, additionalBehaviorAtClose) {
|
|
1968
|
+
const modalConfig = { ...DEFAULT_CONFIG, ...config };
|
|
1969
|
+
const overlayRef = this.createOverlay(modalConfig, component, additionalBehaviorAtClose);
|
|
1970
|
+
const dialogRef = new PryDialogRef(overlayRef);
|
|
1971
|
+
dialogRef.component = this.attachModalContainer(overlayRef, modalConfig, dialogRef, component);
|
|
1972
|
+
this.store.dispatch(ConfigActions.addingOverlay({ id: component.name }));
|
|
1973
|
+
return dialogRef;
|
|
1974
|
+
}
|
|
1975
|
+
attachModalContainer(overlayRef, config, dialogRef, component) {
|
|
1976
|
+
const injector = this.createInjector(dialogRef, config);
|
|
1977
|
+
const containerPortal = new ComponentPortal(component, null, injector);
|
|
1978
|
+
const containerRef = overlayRef.attach(containerPortal);
|
|
1979
|
+
return containerRef.instance;
|
|
1980
|
+
}
|
|
1981
|
+
createInjector(dialogRef, config) {
|
|
1982
|
+
const providers = [
|
|
1983
|
+
{ provide: PryDialogRef, useValue: dialogRef },
|
|
1984
|
+
{ provide: PRY_DIALOG_DATA, useValue: config.data }
|
|
1985
|
+
];
|
|
1986
|
+
return Injector.create({ parent: this.injector, providers });
|
|
1987
|
+
}
|
|
1988
|
+
getOverlayConfig(config) {
|
|
1989
|
+
const positionStrategy = this.overlay.position().global().centerHorizontally().centerVertically();
|
|
1990
|
+
return new OverlayConfig({
|
|
1991
|
+
hasBackdrop: config.hasBackdrop,
|
|
1992
|
+
backdropClass: config.backdropClass,
|
|
1993
|
+
panelClass: config.panelClass,
|
|
1994
|
+
scrollStrategy: this.overlay.scrollStrategies.block(),
|
|
1995
|
+
positionStrategy
|
|
1996
|
+
});
|
|
1997
|
+
}
|
|
1998
|
+
createOverlay(config, component, additionalBehaviorAtClose) {
|
|
1999
|
+
const overlayConfig = config.overlayConfig ?? this.getOverlayConfig(config);
|
|
2000
|
+
const overlay = this.overlay.create(overlayConfig);
|
|
2001
|
+
overlay.backdropClick().subscribe(() => {
|
|
2002
|
+
overlay.dispose();
|
|
2003
|
+
if (!!additionalBehaviorAtClose) {
|
|
2004
|
+
additionalBehaviorAtClose();
|
|
2005
|
+
}
|
|
2006
|
+
this.store.dispatch(ConfigActions.closeOverlay({ id: component.name }));
|
|
2007
|
+
});
|
|
2008
|
+
return overlay;
|
|
2009
|
+
}
|
|
2010
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDialogService, deps: [{ token: i0.Injector }, { token: i2.Overlay }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2011
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDialogService, providedIn: 'root' }); }
|
|
2012
|
+
}
|
|
2013
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDialogService, decorators: [{
|
|
2014
|
+
type: Injectable,
|
|
2015
|
+
args: [{ providedIn: 'root' }]
|
|
2016
|
+
}], ctorParameters: () => [{ type: i0.Injector }, { type: i2.Overlay }, { type: i1.Store }] });
|
|
2017
|
+
|
|
2018
|
+
class PryStatusModalComponent {
|
|
2019
|
+
constructor(store, dialogRef, data) {
|
|
2020
|
+
this.store = store;
|
|
2021
|
+
this.dialogRef = dialogRef;
|
|
2022
|
+
this.data = data;
|
|
2023
|
+
this.gotoConsult = new EventEmitter();
|
|
2024
|
+
this._version = data.version;
|
|
2025
|
+
if (!!this._version) {
|
|
2026
|
+
this.store.dispatch(DataSourceActions.dataset.previews.getById({ id: this._version.id }));
|
|
2027
|
+
this.datasetPreviews$ = this.store.select(DataSourceSelectors.datasetPreviews).pipe(map((previews) => previews
|
|
2028
|
+
.map((preview) => preview.messages)
|
|
2029
|
+
.flat()
|
|
2030
|
+
.map((preview) => ({
|
|
2031
|
+
...preview,
|
|
2032
|
+
name: (preview.name ?? '').split(',').join(', ')
|
|
2033
|
+
}))));
|
|
2034
|
+
this.messageCount$ = this.store.select(DataSourceSelectors.datasetPreviews).pipe(map((previews) => {
|
|
2035
|
+
return previews.map((preview) => preview.count).reduce((p, c) => p + c, 0);
|
|
2036
|
+
}));
|
|
2037
|
+
}
|
|
2038
|
+
}
|
|
2039
|
+
close() {
|
|
2040
|
+
this.dialogRef.close();
|
|
2041
|
+
}
|
|
2042
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryStatusModalComponent, deps: [{ token: i1.Store }, { token: PryDialogRef }, { token: PRY_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2043
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryStatusModalComponent, selector: "pry-status-modal", outputs: { gotoConsult: "gotoConsult" }, ngImport: i0, template: "<div class=\"o-modal-wrapper__backdrop\" (click)=\"close()\">\n <div class=\"o-modal-wrapper -extra-large\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{\n '@pry.dataset.error.modalTitle.' +\n (_version?.state !== 'ERROR' && _version?.hasWarnings ? 'WARNING' : 'ERROR') | i18n\n }}\n ({{ messageCount$ | async }})\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"close()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <table class=\"a-table\" [attr.aria-describedby]=\"'@pry.a11y.modalStatusTableDescr' | i18n\">\n <thead>\n <tr>\n <th>{{ '@pry.dataset.error.type' | i18n }}</th>\n <th>{{ '@pry.dataset.error.elements' | i18n }}</th>\n <th>{{ '@pry.dataset.error.message' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let preview of datasetPreviews$ | async | slice : 0 : 5\">\n <td>\n {{ '@pry.dataset.error.level.' + preview.level | i18n }}\n </td>\n <td>\n {{ preview.recordId }}\n </td>\n <td>\n {{\n '@pry.dataset.error.code.' + preview.extractMessageCode\n | i18n\n : { plural: preview.name.includes(',') ? 's' : '', name: preview.name, recordId: preview.recordId }\n }}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.SlicePipe, name: "slice" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
2044
|
+
}
|
|
2045
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryStatusModalComponent, decorators: [{
|
|
2046
|
+
type: Component,
|
|
2047
|
+
args: [{ selector: 'pry-status-modal', template: "<div class=\"o-modal-wrapper__backdrop\" (click)=\"close()\">\n <div class=\"o-modal-wrapper -extra-large\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{\n '@pry.dataset.error.modalTitle.' +\n (_version?.state !== 'ERROR' && _version?.hasWarnings ? 'WARNING' : 'ERROR') | i18n\n }}\n ({{ messageCount$ | async }})\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"close()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <table class=\"a-table\" [attr.aria-describedby]=\"'@pry.a11y.modalStatusTableDescr' | i18n\">\n <thead>\n <tr>\n <th>{{ '@pry.dataset.error.type' | i18n }}</th>\n <th>{{ '@pry.dataset.error.elements' | i18n }}</th>\n <th>{{ '@pry.dataset.error.message' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let preview of datasetPreviews$ | async | slice : 0 : 5\">\n <td>\n {{ '@pry.dataset.error.level.' + preview.level | i18n }}\n </td>\n <td>\n {{ preview.recordId }}\n </td>\n <td>\n {{\n '@pry.dataset.error.code.' + preview.extractMessageCode\n | i18n\n : { plural: preview.name.includes(',') ? 's' : '', name: preview.name, recordId: preview.recordId }\n }}\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</div>\n" }]
|
|
2048
|
+
}], ctorParameters: () => [{ type: i1.Store }, { type: PryDialogRef }, { type: undefined, decorators: [{
|
|
2049
|
+
type: Inject,
|
|
2050
|
+
args: [PRY_DIALOG_DATA]
|
|
2051
|
+
}] }], propDecorators: { gotoConsult: [{
|
|
2052
|
+
type: Output
|
|
2053
|
+
}] } });
|
|
2054
|
+
|
|
2055
|
+
class PryStatusModalModule {
|
|
2056
|
+
constructor(pryTranslateService) {
|
|
2057
|
+
this.pryTranslateService = pryTranslateService;
|
|
2058
|
+
this.pryTranslateService.addLangObject('fr', 'dataset', frTranslations);
|
|
2059
|
+
this.pryTranslateService.addLangObject('en', 'dataset', enTranslations);
|
|
2060
|
+
}
|
|
2061
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryStatusModalModule, deps: [{ token: PryI18nService }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
2062
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.3", ngImport: i0, type: PryStatusModalModule, declarations: [PryStatusModalComponent], imports: [CommonModule, PryIconModule, PryI18nModule], exports: [PryStatusModalComponent] }); }
|
|
2063
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryStatusModalModule, imports: [CommonModule, PryIconModule, PryI18nModule] }); }
|
|
2064
|
+
}
|
|
2065
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryStatusModalModule, decorators: [{
|
|
2066
|
+
type: NgModule,
|
|
2067
|
+
args: [{
|
|
2068
|
+
imports: [CommonModule, PryIconModule, PryI18nModule],
|
|
2069
|
+
declarations: [PryStatusModalComponent],
|
|
2070
|
+
exports: [PryStatusModalComponent]
|
|
2071
|
+
}]
|
|
2072
|
+
}], ctorParameters: () => [{ type: PryI18nService }] });
|
|
2073
|
+
|
|
1958
2074
|
var VegaType;
|
|
1959
2075
|
(function (VegaType) {
|
|
1960
2076
|
VegaType["ORDINAL"] = "ordinal";
|
|
@@ -2349,83 +2465,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
2349
2465
|
args: ['template', { read: TemplateRef }]
|
|
2350
2466
|
}] } });
|
|
2351
2467
|
|
|
2352
|
-
class PryDialogRef {
|
|
2353
|
-
constructor(overlayRef) {
|
|
2354
|
-
this.overlayRef = overlayRef;
|
|
2355
|
-
this.closeValue = new Subject();
|
|
2356
|
-
}
|
|
2357
|
-
close(value) {
|
|
2358
|
-
if (value) {
|
|
2359
|
-
this.closeValue.next(value);
|
|
2360
|
-
}
|
|
2361
|
-
this.closeValue.complete();
|
|
2362
|
-
this.overlayRef.dispose();
|
|
2363
|
-
}
|
|
2364
|
-
}
|
|
2365
|
-
|
|
2366
|
-
const DEFAULT_CONFIG = {
|
|
2367
|
-
hasBackdrop: true,
|
|
2368
|
-
panelClass: ['pry-dialog-container'],
|
|
2369
|
-
backdropClass: 'backdrop'
|
|
2370
|
-
};
|
|
2371
|
-
const PRY_DIALOG_DATA = new InjectionToken('PRY_DIALOG_DATA');
|
|
2372
|
-
class PryDialogService {
|
|
2373
|
-
constructor(injector, overlay, store) {
|
|
2374
|
-
this.injector = injector;
|
|
2375
|
-
this.overlay = overlay;
|
|
2376
|
-
this.store = store;
|
|
2377
|
-
}
|
|
2378
|
-
open(component, config = {}, additionalBehaviorAtClose) {
|
|
2379
|
-
const modalConfig = { ...DEFAULT_CONFIG, ...config };
|
|
2380
|
-
const overlayRef = this.createOverlay(modalConfig, component, additionalBehaviorAtClose);
|
|
2381
|
-
const dialogRef = new PryDialogRef(overlayRef);
|
|
2382
|
-
dialogRef.component = this.attachModalContainer(overlayRef, modalConfig, dialogRef, component);
|
|
2383
|
-
this.store.dispatch(ConfigActions.addingOverlay({ id: component.name }));
|
|
2384
|
-
return dialogRef;
|
|
2385
|
-
}
|
|
2386
|
-
attachModalContainer(overlayRef, config, dialogRef, component) {
|
|
2387
|
-
const injector = this.createInjector(dialogRef, config);
|
|
2388
|
-
const containerPortal = new ComponentPortal(component, null, injector);
|
|
2389
|
-
const containerRef = overlayRef.attach(containerPortal);
|
|
2390
|
-
return containerRef.instance;
|
|
2391
|
-
}
|
|
2392
|
-
createInjector(dialogRef, config) {
|
|
2393
|
-
const providers = [
|
|
2394
|
-
{ provide: PryDialogRef, useValue: dialogRef },
|
|
2395
|
-
{ provide: PRY_DIALOG_DATA, useValue: config.data }
|
|
2396
|
-
];
|
|
2397
|
-
return Injector.create({ parent: this.injector, providers });
|
|
2398
|
-
}
|
|
2399
|
-
getOverlayConfig(config) {
|
|
2400
|
-
const positionStrategy = this.overlay.position().global().centerHorizontally().centerVertically();
|
|
2401
|
-
return new OverlayConfig({
|
|
2402
|
-
hasBackdrop: config.hasBackdrop,
|
|
2403
|
-
backdropClass: config.backdropClass,
|
|
2404
|
-
panelClass: config.panelClass,
|
|
2405
|
-
scrollStrategy: this.overlay.scrollStrategies.block(),
|
|
2406
|
-
positionStrategy
|
|
2407
|
-
});
|
|
2408
|
-
}
|
|
2409
|
-
createOverlay(config, component, additionalBehaviorAtClose) {
|
|
2410
|
-
const overlayConfig = config.overlayConfig ?? this.getOverlayConfig(config);
|
|
2411
|
-
const overlay = this.overlay.create(overlayConfig);
|
|
2412
|
-
overlay.backdropClick().subscribe(() => {
|
|
2413
|
-
overlay.dispose();
|
|
2414
|
-
if (!!additionalBehaviorAtClose) {
|
|
2415
|
-
additionalBehaviorAtClose();
|
|
2416
|
-
}
|
|
2417
|
-
this.store.dispatch(ConfigActions.closeOverlay({ id: component.name }));
|
|
2418
|
-
});
|
|
2419
|
-
return overlay;
|
|
2420
|
-
}
|
|
2421
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDialogService, deps: [{ token: i0.Injector }, { token: i2.Overlay }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2422
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDialogService, providedIn: 'root' }); }
|
|
2423
|
-
}
|
|
2424
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDialogService, decorators: [{
|
|
2425
|
-
type: Injectable,
|
|
2426
|
-
args: [{ providedIn: 'root' }]
|
|
2427
|
-
}], ctorParameters: () => [{ type: i0.Injector }, { type: i2.Overlay }, { type: i1.Store }] });
|
|
2428
|
-
|
|
2429
2468
|
class PryDialogConfirmComponent {
|
|
2430
2469
|
constructor(dialog, data, store) {
|
|
2431
2470
|
this.dialog = dialog;
|
|
@@ -3019,7 +3058,7 @@ const classById = (id) => {
|
|
|
3019
3058
|
return memoizeClassById[id];
|
|
3020
3059
|
};
|
|
3021
3060
|
const classByAttributeId = (attribute) => createSelector(classes, (classes) => classes.find((c) => c.attributes.find((a) => a.id === attribute) !== undefined));
|
|
3022
|
-
const attributesByFieldId = (field) => createSelector(classes, (classes) => classes.map((c) => c.attributes.filter((a) => a.field === field)).reduce((acc, attrs) => [...acc, ...attrs], []));
|
|
3061
|
+
const attributesByFieldId = (field) => createSelector(classes, (classes) => classes.map((c) => c.attributes.filter((a) => a.field.id === field)).reduce((acc, attrs) => [...acc, ...attrs], []));
|
|
3023
3062
|
const allAttributes = createSelector(classes, (state) => state?.flatMap((c) => c.attributes));
|
|
3024
3063
|
const datasetCounts = createSelector(feature$6, (state) => state?.datasetCounts);
|
|
3025
3064
|
const getAttributeById = (id) => createSelector(allAttributes, (attributes) => attributes.filter((attribute) => attribute.id === id));
|
|
@@ -3842,10 +3881,7 @@ const DashboardActions = {
|
|
|
3842
3881
|
triggerAggregate: createAction('[Dashboard] (bus) Triggering aggregates for datasource', props()),
|
|
3843
3882
|
loadPresentation: createAction('[Dashboard] load presentation', props()),
|
|
3844
3883
|
initDefaultLayerGroup: createAction('[Dashboard] init default layer group', props()),
|
|
3845
|
-
addLayerGroup: createAction('[Dashboard] add map layer group', props()),
|
|
3846
3884
|
updateLayerVisibility: createAction('[Dashboard] update visible layers on the layer group', props()),
|
|
3847
|
-
confirmLayerGroupDeletion: createAction('[Dashboard] confirm deleting map layer group', props()),
|
|
3848
|
-
deleteLayerGroup: createAction('[Dashboard] delete map layer group', props()),
|
|
3849
3885
|
updateLayerGroups: createAction('[Dashboard] update all layer groups', props())
|
|
3850
3886
|
};
|
|
3851
3887
|
|
|
@@ -4262,10 +4298,27 @@ class DataSourceService {
|
|
|
4262
4298
|
getDatasets() {
|
|
4263
4299
|
return this.store.select(ConfigSelectors.refUrl).pipe(mergeMap((url) => this.httpClient.get(encodeURI(`${url}/datasets`))), map((dsds) => dsds.map((dsd) => ({ ...dsd, sourceType: 'dataset' }))));
|
|
4264
4300
|
}
|
|
4265
|
-
getDatasetVersions() {
|
|
4266
|
-
return this.store
|
|
4267
|
-
|
|
4268
|
-
|
|
4301
|
+
getDatasetVersions(props) {
|
|
4302
|
+
return this.store.select(ConfigSelectors.refUrl).pipe(switchMap((url) => {
|
|
4303
|
+
const { limit, offset, dataset, sortBy, orderBy, dateMin, dateMax, status } = props;
|
|
4304
|
+
let params = new HttpParams();
|
|
4305
|
+
params = params.set('limit', (limit ?? 20).toString());
|
|
4306
|
+
params = params.set('offset', (offset ?? 0).toString());
|
|
4307
|
+
if (dataset)
|
|
4308
|
+
params = params.set('dataset', dataset);
|
|
4309
|
+
if (sortBy)
|
|
4310
|
+
params = params.set('sortBy', sortBy).set('orderBy', orderBy ?? 'ASC');
|
|
4311
|
+
if (dateMin)
|
|
4312
|
+
params = params.set('dateMin', dateMin);
|
|
4313
|
+
if (dateMax)
|
|
4314
|
+
params = params.set('dateMax', dateMax);
|
|
4315
|
+
if (status)
|
|
4316
|
+
params = params.set('status', status);
|
|
4317
|
+
return this.httpClient.get(encodeURI(`${url}/dataset-versions`), {
|
|
4318
|
+
params,
|
|
4319
|
+
observe: 'response'
|
|
4320
|
+
});
|
|
4321
|
+
}));
|
|
4269
4322
|
}
|
|
4270
4323
|
getDatasetVersionsById(id) {
|
|
4271
4324
|
return this.store
|
|
@@ -4398,11 +4451,14 @@ class DataSourceEffects {
|
|
|
4398
4451
|
.getDatasets()
|
|
4399
4452
|
.pipe(map((dsd) => DataSourceActions.dataset.loadedDataset({ datasets: dsd }))))));
|
|
4400
4453
|
this.loadDataset$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.load), debounceTime(100), mergeMap((action) => [DataSourceActions.namedQuery.load(), DataSourceActions.dataset.loadDataset()])));
|
|
4401
|
-
this.listVersions$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.listVersions), switchMap((action) => this.dataSourceService.getDatasetVersions().pipe(map((
|
|
4454
|
+
this.listVersions$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.listVersions), switchMap((action) => this.dataSourceService.getDatasetVersions(action).pipe(map((response) => DataSourceActions.dataset.listVersionsSuccess({
|
|
4455
|
+
versions: response.body ?? [],
|
|
4456
|
+
totalVersionCount: +(response.headers.get('x-total-count') ?? 0)
|
|
4457
|
+
})), catchError((_) => [DataSourceActions.dataset.listVersionsFailure()])))));
|
|
4402
4458
|
this.listVersionsById$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.listVersionsByDatasetId), switchMap((action) => this.dataSourceService.getDatasetVersionsById(action.id).pipe(map((versions) => DataSourceActions.dataset.updateVersionList({ id: action.id, versions })), catchError((_) => [DataSourceActions.dataset.listVersionsFailure()])))));
|
|
4403
4459
|
this.deactivateDatasetVersion$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.deactivateDatasetVersion), switchMap((action) => this.dataSourceService.deactivateDatasetVersion(action.versionId).pipe(map((datasetVersion) => DataSourceActions.dataset.deactivateDatasetVersionSuccess({ datasetVersion })), catchError((error) => [DataSourceActions.dataset.deactivateDatasetVersionFailure({ error })])))));
|
|
4404
4460
|
this.activateDatasetVersion$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.activateDatasetVersion), switchMap((action) => this.dataSourceService.activateDatasetVersion(action.versionId).pipe(map((datasetVersion) => DataSourceActions.dataset.activateDatasetVersionSuccess({ datasetVersion })), catchError((error) => [DataSourceActions.dataset.activateDatasetVersionFailure({ error })])))));
|
|
4405
|
-
this.activateOrDeactivateDatasetVersionSuccess$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.activateDatasetVersionSuccess, DataSourceActions.dataset.deactivateDatasetVersionSuccess), map((action) => DataSourceActions.dataset.listVersions())));
|
|
4461
|
+
this.activateOrDeactivateDatasetVersionSuccess$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.activateDatasetVersionSuccess, DataSourceActions.dataset.deactivateDatasetVersionSuccess), map((action) => DataSourceActions.dataset.listVersions({}))));
|
|
4406
4462
|
this.previewsGetById$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.previews.getById), switchMap((action) => this.dataSourceService.getPreviews(action.id).pipe(map((previews) => DataSourceActions.dataset.previews.getByIdSuccess({ previews })), catchError((error) => [DataSourceActions.dataset.previews.getByIdFailure({ error })])))));
|
|
4407
4463
|
this.updateDatasetVersionInfo = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.updateDatasetVersionInfo), switchMap((action) => this.dataSourceService
|
|
4408
4464
|
.updateDatasetVersionInfo(action.version)
|
|
@@ -4426,7 +4482,7 @@ class DataSourceEffects {
|
|
|
4426
4482
|
};
|
|
4427
4483
|
this.pryDialog.open(PryDialogConfirmComponent, { data });
|
|
4428
4484
|
})), { dispatch: false });
|
|
4429
|
-
this.deleteDatasetVersion$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.deleteVersion), switchMap((action) => this.dataSourceService.deleteDatasetVersion(action.version).pipe(mergeMap(() => [DataSourceActions.dataset.listVersionsByDatasetId({ id: action.version.dataset })]), catchError((err) => [DataSourceActions.dataset.deleteVersionFailure({ err })])))));
|
|
4485
|
+
this.deleteDatasetVersion$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.deleteVersion), switchMap((action) => this.dataSourceService.deleteDatasetVersion(action.version).pipe(mergeMap(() => [DataSourceActions.dataset.listVersionsByDatasetId({ id: action.version.dataset.id })]), catchError((err) => [DataSourceActions.dataset.deleteVersionFailure({ err })])))));
|
|
4430
4486
|
this.getCategories$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.getCategories), mergeMap((action) => this.dataSourceService
|
|
4431
4487
|
.getCategories()
|
|
4432
4488
|
.pipe(map((categories) => DataSourceActions.dataset.getCategoriesSuccess({ categories }))))));
|
|
@@ -4457,7 +4513,12 @@ class FieldService {
|
|
|
4457
4513
|
saveField(field) {
|
|
4458
4514
|
return this.store
|
|
4459
4515
|
.select(ConfigSelectors.refUrl)
|
|
4460
|
-
.pipe(mergeMap((url) => this.httpClient.post(encodeURI(`${url}/model/
|
|
4516
|
+
.pipe(mergeMap((url) => this.httpClient.post(encodeURI(`${url}/model/fields`), field)));
|
|
4517
|
+
}
|
|
4518
|
+
updateField(field) {
|
|
4519
|
+
return this.store
|
|
4520
|
+
.select(ConfigSelectors.refUrl)
|
|
4521
|
+
.pipe(mergeMap((url) => this.httpClient.put(encodeURI(`${url}/model/fields/${field.id}`), field)));
|
|
4461
4522
|
}
|
|
4462
4523
|
deleteField(id) {
|
|
4463
4524
|
return this.store
|
|
@@ -4558,8 +4619,6 @@ var FieldType;
|
|
|
4558
4619
|
FieldType["POLYGON"] = "Polygon";
|
|
4559
4620
|
FieldType["MULTIPOLYGON"] = "MultiPolygon";
|
|
4560
4621
|
FieldType["GEOMETRYCOLLECTION"] = "GeometryCollection";
|
|
4561
|
-
FieldType["OCLASS"] = "mod\u00E8le de donn\u00E9es";
|
|
4562
|
-
FieldType["DATASET"] = "test";
|
|
4563
4622
|
})(FieldType || (FieldType = {}));
|
|
4564
4623
|
const GeometricFieldTypes = [
|
|
4565
4624
|
FieldType.POINT,
|
|
@@ -4634,12 +4693,12 @@ class ItemUtils {
|
|
|
4634
4693
|
.filter((prop) => prop !== 'attributes'))
|
|
4635
4694
|
];
|
|
4636
4695
|
}
|
|
4637
|
-
static getFieldsForClasses(classesId, classes
|
|
4696
|
+
static getFieldsForClasses(classesId, classes) {
|
|
4638
4697
|
return [
|
|
4639
4698
|
...new Set(classesId
|
|
4640
4699
|
.map((classId) => classes.find((cl) => cl.id === classId))
|
|
4641
4700
|
.filter((oClass) => oClass !== undefined)
|
|
4642
|
-
.map((oClass) => oClass.attributes.map((attr) =>
|
|
4701
|
+
.map((oClass) => oClass.attributes.map((attr) => attr.field))
|
|
4643
4702
|
.map((fields) => fields.filter((f) => !!f))
|
|
4644
4703
|
.reduce((p, c) => [...p, ...c], []))
|
|
4645
4704
|
];
|
|
@@ -4658,14 +4717,14 @@ class ItemUtils {
|
|
|
4658
4717
|
.filter((oClass) => oClass !== undefined)
|
|
4659
4718
|
.map((oClass) => oClass.attributes)
|
|
4660
4719
|
.reduce((p, c) => [...p, ...c], [])
|
|
4661
|
-
.filter((attr) => !!fields.find((f) => f.id === attr.field)))
|
|
4720
|
+
.filter((attr) => !!fields.find((f) => f.id === attr.field.id)))
|
|
4662
4721
|
];
|
|
4663
4722
|
}
|
|
4664
4723
|
static getClassNonGeoAttributesNames(clazz, defs, fields) {
|
|
4665
4724
|
return (defs[clazz.id ?? ''] ??
|
|
4666
4725
|
(clazz ?? { attributes: [] }).attributes
|
|
4667
4726
|
.filter((attr) => {
|
|
4668
|
-
const attrField = fields.find((f) => f.id === attr.field);
|
|
4727
|
+
const attrField = fields.find((f) => f.id === attr.field.id);
|
|
4669
4728
|
return attrField && !GeometricFieldTypes.includes(attrField.type);
|
|
4670
4729
|
})
|
|
4671
4730
|
.map((attr) => attr.name));
|
|
@@ -5303,7 +5362,7 @@ class PryCoreModule {
|
|
|
5303
5362
|
OverlayModule,
|
|
5304
5363
|
PryOverlayModule,
|
|
5305
5364
|
PryI18nModule,
|
|
5306
|
-
|
|
5365
|
+
PryStatusModalModule,
|
|
5307
5366
|
CdkAccordionModule,
|
|
5308
5367
|
FormsModule], exports: [TranslateIdPipe,
|
|
5309
5368
|
TranslateItemToSymbolPipe,
|
|
@@ -5345,7 +5404,7 @@ class PryCoreModule {
|
|
|
5345
5404
|
OverlayModule,
|
|
5346
5405
|
PryOverlayModule,
|
|
5347
5406
|
PryI18nModule,
|
|
5348
|
-
|
|
5407
|
+
PryStatusModalModule,
|
|
5349
5408
|
CdkAccordionModule,
|
|
5350
5409
|
FormsModule] }); }
|
|
5351
5410
|
}
|
|
@@ -5379,7 +5438,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
5379
5438
|
OverlayModule,
|
|
5380
5439
|
PryOverlayModule,
|
|
5381
5440
|
PryI18nModule,
|
|
5382
|
-
|
|
5441
|
+
PryStatusModalModule,
|
|
5383
5442
|
CdkAccordionModule,
|
|
5384
5443
|
FormsModule
|
|
5385
5444
|
],
|
|
@@ -7237,7 +7296,7 @@ class PrySelectComponent extends SubscriptionnerDirective {
|
|
|
7237
7296
|
multi: true
|
|
7238
7297
|
},
|
|
7239
7298
|
SelectA11yService
|
|
7240
|
-
], viewQueries: [{ propertyName: "optionsModal", first: true, predicate: ["optionsModal"], descendants: true, read: TemplateRef }, { propertyName: "selectElement", first: true, predicate: ["selectElement"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n <ng-container *ngIf=\"autocomplete; else noAutocomplete\">\n <input\n type=\"text\"\n class=\"a-pry-select__search\"\n [ngModel]=\"search$.getValue()\"\n (ngModelChange)=\"search($event, true)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\n [attr.aria-disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydownAutocompleteInput($event)\"\n [placeholder]=\"placeholder\"\n #input\n />\n </ng-container>\n <ng-template #noAutocomplete>\n <ng-container *ngIf=\"(valueItems$ | async).length === 0; else selectedValues\">\n <span class=\"a-pry-select__placeholder\">{{ placeholder }}</span>\n </ng-container>\n <ng-template #selectedValues>\n <ng-container *ngFor=\"let item of valueItems$ | async\">\n <div\n class=\"a-pry-select__value\"\n [class.pry-select-form]=\"isForm\"\n [class.-multiple]=\"multiple\"\n [ngClass]=\"item ? item[bindClasses ?? ''] ?? {} : {}\"\n >\n <ng-container *ngIf=\"template; else noTemplateLabel\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplateLabel>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ?? '') + value | i18n: { warn: false } }}\n <span\n *ngIf=\"multiple && clearable\"\n class=\"a-pry-select__clear\"\n (click)=\"clear($event, item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"a-pry-select__filler\"></div>\n </ng-template>\n </div>\n <div class=\"a-pry-select__actions\">\n <span *ngIf=\"clearable\" class=\"a-pry-select__clear\" (click)=\"clearAll($event)\" aria-hidden=\"true\">\u00D7</span>\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"open ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n </div>\n</div>\n<ng-template #optionsModal>\n <div\n role=\"listbox\"\n [attr.aria-label]=\"'@pry.select.label' | i18n\"\n [id]=\"modalId\"\n [attr.aria-activedescendant]=\"'select-option-' + activeDescendant\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.required]=\"required\"\n [attr.aria-readonly]=\"readonly\"\n cdkTrapFocus=\"!autocomplete\"\n [cdkTrapFocusAutoCapture]=\"!autocomplete\"\n >\n <div class=\"a-pry-select__options__option -hint\" *ngIf=\"loading\" [style.width.px]=\"modalWidth\">\n <div class=\"no-widget no-widget__loader\">\n <pry-icon\n iconSvg=\"loader\"\n class=\"no-widget__loading\"\n [alt]=\"'@pry.widget.target.loading' | i18n\"\n [width]=\"30\"\n [height]=\"30\"\n *ngIf=\"loading\"\n />\n </div>\n <p>{{ '@pry.select.loading' | i18n }}...</p>\n </div>\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngFor=\"let item of matchingItems$ | async; let index = index; let first = first; let last = last\">\n <div\n class=\"a-pry-select__options__option\"\n [attr.aria-selected]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-checked]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"select($event, item, index)\"\n (keydown)=\"onKeydownOption($event, item, index, optionDivRef, first, last)\"\n [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\n tabindex=\"0\"\n #optionDivRef\n >\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplate>\n <pry-checkbox\n (click)=\"$event.preventDefault()\"\n *ngIf=\"multiple\"\n [ngModel]=\"(valueItems$ | async).includes(item)\"\n ></pry-checkbox>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ? i18nPrefix : '') + value | i18n: { warn: false } }}\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3$2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i3$2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i7.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
7299
|
+
], viewQueries: [{ propertyName: "optionsModal", first: true, predicate: ["optionsModal"], descendants: true, read: TemplateRef }, { propertyName: "selectElement", first: true, predicate: ["selectElement"], descendants: true }, { propertyName: "input", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n <ng-container *ngIf=\"autocomplete; else noAutocomplete\">\n <input\n type=\"text\"\n class=\"a-pry-select__search\"\n [ngModel]=\"search$.getValue()\"\n (ngModelChange)=\"search($event, true)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\n [attr.aria-disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydownAutocompleteInput($event)\"\n [placeholder]=\"placeholder ?? ''\"\n #input\n />\n </ng-container>\n <ng-template #noAutocomplete>\n <ng-container *ngIf=\"(valueItems$ | async).length === 0; else selectedValues\">\n <span class=\"a-pry-select__placeholder\">{{ placeholder }}</span>\n </ng-container>\n <ng-template #selectedValues>\n <ng-container *ngFor=\"let item of valueItems$ | async\">\n <div\n class=\"a-pry-select__value\"\n [class.pry-select-form]=\"isForm\"\n [class.-multiple]=\"multiple\"\n [ngClass]=\"item ? item[bindClasses ?? ''] ?? {} : {}\"\n >\n <ng-container *ngIf=\"template; else noTemplateLabel\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplateLabel>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ?? '') + value | i18n: { warn: false } }}\n <span\n *ngIf=\"multiple && clearable\"\n class=\"a-pry-select__clear\"\n (click)=\"clear($event, item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"a-pry-select__filler\"></div>\n </ng-template>\n </div>\n <div class=\"a-pry-select__actions\">\n <span *ngIf=\"clearable\" class=\"a-pry-select__clear\" (click)=\"clearAll($event)\" aria-hidden=\"true\">\u00D7</span>\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"open ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n </div>\n</div>\n<ng-template #optionsModal>\n <div\n role=\"listbox\"\n [attr.aria-label]=\"'@pry.select.label' | i18n\"\n [id]=\"modalId\"\n [attr.aria-activedescendant]=\"'select-option-' + activeDescendant\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.required]=\"required\"\n [attr.aria-readonly]=\"readonly\"\n cdkTrapFocus=\"!autocomplete\"\n [cdkTrapFocusAutoCapture]=\"!autocomplete\"\n >\n <div class=\"a-pry-select__options__option -hint\" *ngIf=\"loading\" [style.width.px]=\"modalWidth\">\n <div class=\"no-widget no-widget__loader\">\n <pry-icon\n iconSvg=\"loader\"\n class=\"no-widget__loading\"\n [alt]=\"'@pry.widget.target.loading' | i18n\"\n [width]=\"30\"\n [height]=\"30\"\n *ngIf=\"loading\"\n />\n </div>\n <p>{{ '@pry.select.loading' | i18n }}...</p>\n </div>\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngFor=\"let item of matchingItems$ | async; let index = index; let first = first; let last = last\">\n <div\n class=\"a-pry-select__options__option\"\n [attr.aria-selected]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-checked]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"select($event, item, index)\"\n (keydown)=\"onKeydownOption($event, item, index, optionDivRef, first, last)\"\n [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\n tabindex=\"0\"\n #optionDivRef\n >\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplate>\n <pry-checkbox\n (click)=\"$event.preventDefault()\"\n *ngIf=\"multiple\"\n [ngModel]=\"(valueItems$ | async).includes(item)\"\n ></pry-checkbox>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ? i18nPrefix : '') + value | i18n: { warn: false } }}\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3$2.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: i3$2.CdkMonitorFocus, selector: "[cdkMonitorElementFocus], [cdkMonitorSubtreeFocus]", outputs: ["cdkFocusChange"], exportAs: ["cdkMonitorFocus"] }, { kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i7.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
7241
7300
|
}
|
|
7242
7301
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PrySelectComponent, decorators: [{
|
|
7243
7302
|
type: Component,
|
|
@@ -7248,7 +7307,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
7248
7307
|
multi: true
|
|
7249
7308
|
},
|
|
7250
7309
|
SelectA11yService
|
|
7251
|
-
], template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n <ng-container *ngIf=\"autocomplete; else noAutocomplete\">\n <input\n type=\"text\"\n class=\"a-pry-select__search\"\n [ngModel]=\"search$.getValue()\"\n (ngModelChange)=\"search($event, true)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\n [attr.aria-disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydownAutocompleteInput($event)\"\n [placeholder]=\"placeholder\"\n #input\n />\n </ng-container>\n <ng-template #noAutocomplete>\n <ng-container *ngIf=\"(valueItems$ | async).length === 0; else selectedValues\">\n <span class=\"a-pry-select__placeholder\">{{ placeholder }}</span>\n </ng-container>\n <ng-template #selectedValues>\n <ng-container *ngFor=\"let item of valueItems$ | async\">\n <div\n class=\"a-pry-select__value\"\n [class.pry-select-form]=\"isForm\"\n [class.-multiple]=\"multiple\"\n [ngClass]=\"item ? item[bindClasses ?? ''] ?? {} : {}\"\n >\n <ng-container *ngIf=\"template; else noTemplateLabel\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplateLabel>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ?? '') + value | i18n: { warn: false } }}\n <span\n *ngIf=\"multiple && clearable\"\n class=\"a-pry-select__clear\"\n (click)=\"clear($event, item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"a-pry-select__filler\"></div>\n </ng-template>\n </div>\n <div class=\"a-pry-select__actions\">\n <span *ngIf=\"clearable\" class=\"a-pry-select__clear\" (click)=\"clearAll($event)\" aria-hidden=\"true\">\u00D7</span>\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"open ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n </div>\n</div>\n<ng-template #optionsModal>\n <div\n role=\"listbox\"\n [attr.aria-label]=\"'@pry.select.label' | i18n\"\n [id]=\"modalId\"\n [attr.aria-activedescendant]=\"'select-option-' + activeDescendant\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.required]=\"required\"\n [attr.aria-readonly]=\"readonly\"\n cdkTrapFocus=\"!autocomplete\"\n [cdkTrapFocusAutoCapture]=\"!autocomplete\"\n >\n <div class=\"a-pry-select__options__option -hint\" *ngIf=\"loading\" [style.width.px]=\"modalWidth\">\n <div class=\"no-widget no-widget__loader\">\n <pry-icon\n iconSvg=\"loader\"\n class=\"no-widget__loading\"\n [alt]=\"'@pry.widget.target.loading' | i18n\"\n [width]=\"30\"\n [height]=\"30\"\n *ngIf=\"loading\"\n />\n </div>\n <p>{{ '@pry.select.loading' | i18n }}...</p>\n </div>\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngFor=\"let item of matchingItems$ | async; let index = index; let first = first; let last = last\">\n <div\n class=\"a-pry-select__options__option\"\n [attr.aria-selected]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-checked]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"select($event, item, index)\"\n (keydown)=\"onKeydownOption($event, item, index, optionDivRef, first, last)\"\n [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\n tabindex=\"0\"\n #optionDivRef\n >\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplate>\n <pry-checkbox\n (click)=\"$event.preventDefault()\"\n *ngIf=\"multiple\"\n [ngModel]=\"(valueItems$ | async).includes(item)\"\n ></pry-checkbox>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ? i18nPrefix : '') + value | i18n: { warn: false } }}\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n" }]
|
|
7310
|
+
], template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"handleClick()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n tabindex=\"0\"\n cdkMonitorElementFocus\n (cdkFocusChange)=\"onFocusChange($event)\"\n (keydown)=\"onKeydownSelect($event)\"\n>\n <div class=\"a-pry-select__content\">\n <ng-container *ngIf=\"autocomplete; else noAutocomplete\">\n <input\n type=\"text\"\n class=\"a-pry-select__search\"\n [ngModel]=\"search$.getValue()\"\n (ngModelChange)=\"search($event, true)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\n [attr.aria-disabled]=\"disabled\"\n [disabled]=\"disabled\"\n (keydown)=\"onKeydownAutocompleteInput($event)\"\n [placeholder]=\"placeholder ?? ''\"\n #input\n />\n </ng-container>\n <ng-template #noAutocomplete>\n <ng-container *ngIf=\"(valueItems$ | async).length === 0; else selectedValues\">\n <span class=\"a-pry-select__placeholder\">{{ placeholder }}</span>\n </ng-container>\n <ng-template #selectedValues>\n <ng-container *ngFor=\"let item of valueItems$ | async\">\n <div\n class=\"a-pry-select__value\"\n [class.pry-select-form]=\"isForm\"\n [class.-multiple]=\"multiple\"\n [ngClass]=\"item ? item[bindClasses ?? ''] ?? {} : {}\"\n >\n <ng-container *ngIf=\"template; else noTemplateLabel\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplateLabel>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ?? '') + value | i18n: { warn: false } }}\n <span\n *ngIf=\"multiple && clearable\"\n class=\"a-pry-select__clear\"\n (click)=\"clear($event, item)\"\n aria-hidden=\"true\"\n >\u00D7</span\n >\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-template>\n <div class=\"a-pry-select__filler\"></div>\n </ng-template>\n </div>\n <div class=\"a-pry-select__actions\">\n <span *ngIf=\"clearable\" class=\"a-pry-select__clear\" (click)=\"clearAll($event)\" aria-hidden=\"true\">\u00D7</span>\n <pry-icon\n class=\"a-pry-select__toggle\"\n [iconSvg]=\"open ? 'chevron_top' : 'chevron_bottom'\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n </div>\n</div>\n<ng-template #optionsModal>\n <div\n role=\"listbox\"\n [attr.aria-label]=\"'@pry.select.label' | i18n\"\n [id]=\"modalId\"\n [attr.aria-activedescendant]=\"'select-option-' + activeDescendant\"\n [attr.aria-multiselectable]=\"multiple\"\n [attr.required]=\"required\"\n [attr.aria-readonly]=\"readonly\"\n cdkTrapFocus=\"!autocomplete\"\n [cdkTrapFocusAutoCapture]=\"!autocomplete\"\n >\n <div class=\"a-pry-select__options__option -hint\" *ngIf=\"loading\" [style.width.px]=\"modalWidth\">\n <div class=\"no-widget no-widget__loader\">\n <pry-icon\n iconSvg=\"loader\"\n class=\"no-widget__loading\"\n [alt]=\"'@pry.widget.target.loading' | i18n\"\n [width]=\"30\"\n [height]=\"30\"\n *ngIf=\"loading\"\n />\n </div>\n <p>{{ '@pry.select.loading' | i18n }}...</p>\n </div>\n <ng-container *ngIf=\"!loading\">\n <ng-container *ngFor=\"let item of matchingItems$ | async; let index = index; let first = first; let last = last\">\n <div\n class=\"a-pry-select__options__option\"\n [attr.aria-selected]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-checked]=\"(valueItems$ | async).includes(item)\"\n [attr.aria-disabled]=\"disabled\"\n (click)=\"select($event, item, index)\"\n (keydown)=\"onKeydownOption($event, item, index, optionDivRef, first, last)\"\n [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\n tabindex=\"0\"\n #optionDivRef\n >\n <ng-container *ngIf=\"template; else noTemplate\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-container>\n <ng-template #noTemplate>\n <pry-checkbox\n (click)=\"$event.preventDefault()\"\n *ngIf=\"multiple\"\n [ngModel]=\"(valueItems$ | async).includes(item)\"\n ></pry-checkbox>\n <pry-icon\n *ngIf=\"bindIcon\"\n [iconSvg]=\"item[bindIcon]\"\n [width]=\"iconSize[0]\"\n [height]=\"iconSize[1]\"\n ></pry-icon>\n <ng-container *ngIf=\"bindLabel ? item?.[bindLabel] : item as value\">\n {{ (i18nPrefix ? i18nPrefix : '') + value | i18n: { warn: false } }}\n </ng-container>\n </ng-template>\n </div>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n" }]
|
|
7252
7311
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i2.Overlay }, { type: i0.ViewContainerRef }, { type: SelectA11yService }], propDecorators: { items: [{
|
|
7253
7312
|
type: Input
|
|
7254
7313
|
}], clearable: [{
|
|
@@ -7736,12 +7795,12 @@ class PryShareComponent {
|
|
|
7736
7795
|
this._onTouched = () => { };
|
|
7737
7796
|
this._disabled = false;
|
|
7738
7797
|
this.value = [];
|
|
7739
|
-
this.stringValue = '
|
|
7798
|
+
this.stringValue = 'PRIVATE';
|
|
7740
7799
|
this.labelProperty = 'label';
|
|
7741
7800
|
this.valueProperty = 'value';
|
|
7742
7801
|
this.visibilityTypes = [
|
|
7743
|
-
{ name: '
|
|
7744
|
-
{ name: '
|
|
7802
|
+
{ name: 'PUBLIC', icon: 'public' },
|
|
7803
|
+
{ name: 'PRIVATE', icon: 'private' }
|
|
7745
7804
|
];
|
|
7746
7805
|
}
|
|
7747
7806
|
registerOnChange(fn) {
|
|
@@ -7757,14 +7816,14 @@ class PryShareComponent {
|
|
|
7757
7816
|
writeValue(value) {
|
|
7758
7817
|
if (value) {
|
|
7759
7818
|
this.value = value;
|
|
7760
|
-
this.stringValue = value.length > 0 ? '
|
|
7819
|
+
this.stringValue = value.length > 0 ? 'PUBLIC' : 'PRIVATE';
|
|
7761
7820
|
this._onChange(this.value);
|
|
7762
7821
|
this._onTouched();
|
|
7763
7822
|
this._cd.markForCheck();
|
|
7764
7823
|
}
|
|
7765
7824
|
}
|
|
7766
7825
|
onChange($event) {
|
|
7767
|
-
this.value = $event === '
|
|
7826
|
+
this.value = $event === 'PUBLIC' ? [PUBLIC_GROUP] : [];
|
|
7768
7827
|
this.writeValue(this.value);
|
|
7769
7828
|
this._onTouched();
|
|
7770
7829
|
this._cd.markForCheck();
|
|
@@ -7776,7 +7835,7 @@ class PryShareComponent {
|
|
|
7776
7835
|
useExisting: forwardRef(() => PryShareComponent),
|
|
7777
7836
|
multi: true
|
|
7778
7837
|
}
|
|
7779
|
-
], ngImport: i0, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"share_type\">{{ '@pry.share.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"onChange($event)\"\n [items]=\"visibilityTypes\"\n [ngModel]=\"stringValue\"\n [disabled]=\"_disabled\"\n i18nPrefix=\"@pry.share.\"\n bindValue=\"name\"\n bindLabel=\"name\"\n bindIcon=\"icon\"\n id=\"share_type\"\n [iconSize]=\"[21, 18]\"\n ></pry-select>\n</div>\n", dependencies: [{ kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7838
|
+
], ngImport: i0, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"share_type\">{{ '@pry.share.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"onChange($event)\"\n [items]=\"visibilityTypes\"\n [ngModel]=\"stringValue\"\n [disabled]=\"_disabled\"\n i18nPrefix=\"@pry.share.radioLabel.\"\n bindValue=\"name\"\n bindLabel=\"name\"\n bindIcon=\"icon\"\n id=\"share_type\"\n [iconSize]=\"[21, 18]\"\n ></pry-select>\n</div>\n", dependencies: [{ kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7780
7839
|
}
|
|
7781
7840
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryShareComponent, decorators: [{
|
|
7782
7841
|
type: Component,
|
|
@@ -7786,7 +7845,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
7786
7845
|
useExisting: forwardRef(() => PryShareComponent),
|
|
7787
7846
|
multi: true
|
|
7788
7847
|
}
|
|
7789
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"share_type\">{{ '@pry.share.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"onChange($event)\"\n [items]=\"visibilityTypes\"\n [ngModel]=\"stringValue\"\n [disabled]=\"_disabled\"\n i18nPrefix=\"@pry.share.\"\n bindValue=\"name\"\n bindLabel=\"name\"\n bindIcon=\"icon\"\n id=\"share_type\"\n [iconSize]=\"[21, 18]\"\n ></pry-select>\n</div>\n" }]
|
|
7848
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"share_type\">{{ '@pry.share.type' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"onChange($event)\"\n [items]=\"visibilityTypes\"\n [ngModel]=\"stringValue\"\n [disabled]=\"_disabled\"\n i18nPrefix=\"@pry.share.radioLabel.\"\n bindValue=\"name\"\n bindLabel=\"name\"\n bindIcon=\"icon\"\n id=\"share_type\"\n [iconSize]=\"[21, 18]\"\n ></pry-select>\n</div>\n" }]
|
|
7790
7849
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { labelProperty: [{
|
|
7791
7850
|
type: Input
|
|
7792
7851
|
}], valueProperty: [{
|
|
@@ -8868,7 +8927,7 @@ class PryObjectEditionComponent extends SubscriptionnerDirective {
|
|
|
8868
8927
|
return this.classes.find((cl) => cl.id === this.tmpObject.oClass)?.attributes ?? [];
|
|
8869
8928
|
}
|
|
8870
8929
|
fieldType(attribute) {
|
|
8871
|
-
return
|
|
8930
|
+
return attribute.field.type;
|
|
8872
8931
|
}
|
|
8873
8932
|
assignValue(attribute, $event) {
|
|
8874
8933
|
const value = this.fieldType(attribute) === FieldType.INSTANT && $event !== '' ? new Date($event).getTime() : $event;
|
|
@@ -9000,7 +9059,7 @@ class PryObjectEditionComponent extends SubscriptionnerDirective {
|
|
|
9000
9059
|
this.inversion = !this.inversion;
|
|
9001
9060
|
}
|
|
9002
9061
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryObjectEditionComponent, deps: [{ token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9003
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryObjectEditionComponent, selector: "pry-object-creation", inputs: { link: "link", object: "object", menu: "menu" }, outputs: { closed: "closed" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<button type=\"button\" class=\"a-btn -link-like\" (click)=\"openCreateObjectPanel($event)\" *ngIf=\"menu\">\n {{ '@pry.context.createObject.title.' + (link && object ? 'linkedObject' : link ? 'link' : 'object') | i18n }}\n</button>\n<button\n id=\"object_creator_link\"\n type=\"button\"\n (click)=\"openCreateObjectPanel($event)\"\n *ngIf=\"!menu\"\n class=\"a-btn a-btn--secondary -circle u-floating u-floating--bottom-right\"\n [title]=\"'@pry.context.createObject.title.object' | i18n\"\n>\n <span class=\"u-visually-hidden\">{{ '@pry.context.createObject.title.object' | i18n }}</span>\n <pry-icon iconSvg=\"add_column\" [width]=\"24\" [height]=\"24\" aria-hidden=\"true\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div class=\"o-settings__popup\">\n <div class=\"o-settings__popup__content\">\n <ng-container *ngIf=\"link\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"createobject_link\">{{ '@pry.context.createObject.title.link' | i18n }}</label>\n <pry-select\n [(ngModel)]=\"relation.typeId\"\n [items]=\"relations$ | async\"\n bindLabel=\"label\"\n bindValue=\"id\"\n id=\"createobject_link\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"createobject_inversion\">{{\n '@pry.context.createObject.title.inversion' | i18n\n }}</label>\n <pry-checkbox\n id=\"createobject_inversion\"\n [ngModel]=\"inversion\"\n (ngModelChange)=\"toggleInversion()\"\n ></pry-checkbox>\n </div>\n </ng-container>\n\n <div class=\"o-object-panel\" *ngIf=\"object\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"createobject_class\">{{ '@pry.context.createObject.class' | i18n }}</label>\n <pry-select\n [ngModel]=\"tmpObject.oClass\"\n (ngModelChange)=\"changeClass($event)\"\n [items]=\"classes\"\n bindValue=\"id\"\n bindLabel=\"name\"\n id=\"createobject_class\"\n ></pry-select>\n </div>\n\n <ng-container *ngFor=\"let attribute of attributes\" [class.multi-value]=\"attribute.multiValued\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ attribute.name }}</label>\n <ng-container *ngIf=\"!attribute.multiValued\">\n <ng-container [ngSwitch]=\"fieldType(attribute)\">\n <ng-container *ngSwitchCase=\"FieldType.INSTANT\">\n <div class=\"a-date-input\" tabindex=\"-1\" (blur)=\"closeDatePicker($event)\">\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n <div class=\"a-open-date-picker\" (mousedown)=\"toggleDatePicker($event, attribute.id)\"></div>\n <div class=\"date-picker-container\" *ngIf=\"selectedDatePicker === attribute.id\">\n <pry-date-picker\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n [roundSelection]=\"true\"\n [timePicker]=\"true\"\n ></pry-date-picker>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.DECIMAL\">\n <input\n type=\"number\"\n step=\"any\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.INTEGER\">\n <input\n type=\"number\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n </ng-container>\n <ng-container *ngSwitchDefault>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.RAW\">\n <pry-select\n [ngModel]=\"method\"\n (ngModelChange)=\"setRawMethod(attribute, $event)\"\n [items]=\"rawMethods\"\n bindValue=\"id\"\n bindLabel=\"name\"\n ></pry-select>\n <input\n type=\"text\"\n class=\"a-form-field\"\n *ngIf=\"method === HTTP_ORIGIN_METHOD\"\n [ngModel]=\"valueMetadata(attribute, HTTP_ORIGIN_METADATA)\"\n (ngModelChange)=\"assignMetadata(attribute, $event, HTTP_ORIGIN_METADATA)\"\n />\n <ng-container *ngIf=\"method === UPLOAD_METHOD\">\n <pry-upload\n mode=\"doc\"\n accept=\"image/*,video/*\"\n (uploaded)=\"assignValue(attribute, $event)\"\n ></pry-upload>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"multi-value-container\" *ngIf=\"attribute.multiValued\">\n <button\n class=\"button-add a-btn a-btn--secondary a-btn--icon-text -size-sm\"\n (click)=\"addMultiValued(attribute)\"\n >\n <pry-icon iconSvg=\"add\"></pry-icon>\n <span>{{ '@pry.context.createObject.addMultiField' | i18n : { name: attribute.name } }}</span>\n </button>\n <div class=\"multi-value\" *ngFor=\"let multiValue of multiValues(attribute); let i = index\">\n <ng-container [ngSwitch]=\"fieldType(attribute)\">\n <ng-container *ngSwitchCase=\"FieldType.INSTANT\">\n <input\n type=\"datetime-local\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (focusout)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.DECIMAL\">\n <input\n type=\"number\"\n step=\"any\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (ngModelChange)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.INTEGER\">\n <input\n type=\"number\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (ngModelChange)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <ng-container *ngSwitchDefault>\n <input\n type=\"text\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (ngModelChange)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <button (click)=\"removeMultiValued(attribute, i)\">\n <pry-icon iconSvg=\"delete\"></pry-icon>\n </button>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"hide()\">\n {{ '@pry.context.cancel' | i18n }}\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"createObjects()\" [disabled]=\"!valid\">\n {{ '@pry.context.create' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: PryUploadComponent, selector: "pry-upload", inputs: ["mode", "accept", "labelTranslate"], outputs: ["uploaded", "uploadedFile"] }, { kind: "component", type: i7.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle"] }, { kind: "component", type: PryDatePickerComponent, selector: "pry-date-picker", inputs: ["rangePicker", "timePicker", "maxYear", "minYear", "roundSelection"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
9062
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryObjectEditionComponent, selector: "pry-object-creation", inputs: { link: "link", object: "object", menu: "menu" }, outputs: { closed: "closed" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<button type=\"button\" class=\"a-btn -link-like\" (click)=\"openCreateObjectPanel($event)\" *ngIf=\"menu\">\n {{ '@pry.context.createObject.title.' + (link && object ? 'linkedObject' : link ? 'link' : 'object') | i18n }}\n</button>\n<button\n id=\"object_creator_link\"\n type=\"button\"\n (click)=\"openCreateObjectPanel($event)\"\n *ngIf=\"!menu\"\n class=\"a-btn a-btn--secondary -circle u-floating u-floating--bottom-right\"\n [title]=\"'@pry.context.createObject.title.object' | i18n\"\n>\n <span class=\"u-visually-hidden\">{{ '@pry.context.createObject.title.object' | i18n }}</span>\n <pry-icon iconSvg=\"add_column\" [width]=\"24\" [height]=\"24\" aria-hidden=\"true\"></pry-icon>\n</button>\n\n<ng-template #template>\n <div class=\"o-settings__popup\">\n <div class=\"o-settings__popup__content\">\n <ng-container *ngIf=\"link\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"createobject_link\">{{ '@pry.context.createObject.title.link' | i18n }}</label>\n <pry-select\n [(ngModel)]=\"relation.typeId\"\n [items]=\"relations$ | async\"\n bindLabel=\"label\"\n bindValue=\"id\"\n id=\"createobject_link\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"createobject_inversion\">{{\n '@pry.context.createObject.title.inversion' | i18n\n }}</label>\n <pry-checkbox\n id=\"createobject_inversion\"\n [ngModel]=\"inversion\"\n (ngModelChange)=\"toggleInversion()\"\n ></pry-checkbox>\n </div>\n </ng-container>\n\n <div class=\"o-object-panel\" *ngIf=\"object\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"createobject_class\">{{ '@pry.context.createObject.class' | i18n }}</label>\n <pry-select\n [ngModel]=\"tmpObject.oClass\"\n (ngModelChange)=\"changeClass($event)\"\n [items]=\"classes\"\n bindValue=\"id\"\n bindLabel=\"name\"\n id=\"createobject_class\"\n ></pry-select>\n </div>\n\n <ng-container *ngFor=\"let attribute of attributes\" [class.multi-value]=\"attribute.multiValued\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ attribute.name }}</label>\n <ng-container *ngIf=\"!attribute.multiValued\">\n <ng-container [ngSwitch]=\"fieldType(attribute)\">\n <ng-container *ngSwitchCase=\"FieldType.INSTANT\">\n <div class=\"a-date-input\" tabindex=\"-1\" (blur)=\"closeDatePicker($event)\">\n <input\n type=\"datetime-local\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n <div class=\"a-open-date-picker\" (mousedown)=\"toggleDatePicker($event, attribute.id)\"></div>\n <div class=\"date-picker-container\" *ngIf=\"selectedDatePicker === attribute.id\">\n <pry-date-picker\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n [roundSelection]=\"true\"\n [timePicker]=\"true\"\n ></pry-date-picker>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.DECIMAL\">\n <input\n type=\"number\"\n step=\"any\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.INTEGER\">\n <input\n type=\"number\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n </ng-container>\n <ng-container *ngSwitchDefault>\n <input\n type=\"text\"\n class=\"a-form-field\"\n [ngModel]=\"value(attribute)\"\n (ngModelChange)=\"assignValue(attribute, $event)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.RAW\">\n <pry-select\n [ngModel]=\"method\"\n (ngModelChange)=\"setRawMethod(attribute, $event)\"\n [items]=\"rawMethods\"\n bindValue=\"id\"\n bindLabel=\"name\"\n ></pry-select>\n <input\n type=\"text\"\n class=\"a-form-field\"\n *ngIf=\"method === HTTP_ORIGIN_METHOD\"\n [ngModel]=\"valueMetadata(attribute, HTTP_ORIGIN_METADATA)\"\n (ngModelChange)=\"assignMetadata(attribute, $event, HTTP_ORIGIN_METADATA)\"\n />\n <ng-container *ngIf=\"method === UPLOAD_METHOD\">\n <pry-upload\n mode=\"doc\"\n accept=\"image/*,video/*\"\n (uploaded)=\"assignValue(attribute, $event)\"\n ></pry-upload>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n\n <div class=\"multi-value-container\" *ngIf=\"attribute.multiValued\">\n <button\n class=\"button-add a-btn a-btn--secondary a-btn--icon-text -size-sm\"\n (click)=\"addMultiValued(attribute)\"\n >\n <pry-icon iconSvg=\"add\"></pry-icon>\n <span>{{ '@pry.context.createObject.addMultiField' | i18n : { name: attribute.name } }}</span>\n </button>\n <div class=\"multi-value\" *ngFor=\"let multiValue of multiValues(attribute); let i = index\">\n <ng-container [ngSwitch]=\"fieldType(attribute)\">\n <ng-container *ngSwitchCase=\"FieldType.INSTANT\">\n <input\n type=\"datetime-local\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (focusout)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.DECIMAL\">\n <input\n type=\"number\"\n step=\"any\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (ngModelChange)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <ng-container *ngSwitchCase=\"FieldType.INTEGER\">\n <input\n type=\"number\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (ngModelChange)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <ng-container *ngSwitchDefault>\n <input\n type=\"text\"\n [ngModel]=\"valueMulti(attribute, i)\"\n (ngModelChange)=\"assignValueMulti(attribute, $event, i)\"\n />\n </ng-container>\n <button (click)=\"removeMultiValued(attribute, i)\">\n <pry-icon iconSvg=\"delete\"></pry-icon>\n </button>\n </ng-container>\n </div>\n </div>\n </ng-container>\n </div>\n </div>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"hide()\">\n {{ '@pry.context.cancel' | i18n }}\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"createObjects()\" [disabled]=\"!valid\">\n {{ '@pry.context.create' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: i3$3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$3.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: PryUploadComponent, selector: "pry-upload", inputs: ["mode", "accept", "labelTranslate"], outputs: ["uploaded", "uploadedFile"] }, { kind: "component", type: i7.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "component", type: PryDatePickerComponent, selector: "pry-date-picker", inputs: ["rangePicker", "timePicker", "maxYear", "minYear", "roundSelection"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
9004
9063
|
}
|
|
9005
9064
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryObjectEditionComponent, decorators: [{
|
|
9006
9065
|
type: Component,
|
|
@@ -10225,73 +10284,10 @@ const META_OPTIONS = [
|
|
|
10225
10284
|
];
|
|
10226
10285
|
const FIELD_UUID = '8b4907be-6159-486a-8502-c5e2139bbc27';
|
|
10227
10286
|
const DEFAULT_CATEGORY_UUID = 'cf666d66-838f-4d92-a4d2-a315df21fac9';
|
|
10228
|
-
const
|
|
10229
|
-
|
|
10230
|
-
|
|
10231
|
-
|
|
10232
|
-
description: '@pry.admin.fields.fieldType.information.int'
|
|
10233
|
-
},
|
|
10234
|
-
{
|
|
10235
|
-
varType: FieldType.LONG,
|
|
10236
|
-
translation: '@pry.admin.fields.fieldType.long',
|
|
10237
|
-
description: '@pry.admin.fields.fieldType.information.long'
|
|
10238
|
-
},
|
|
10239
|
-
{
|
|
10240
|
-
varType: FieldType.DECIMAL,
|
|
10241
|
-
translation: '@pry.admin.fields.fieldType.decimal',
|
|
10242
|
-
description: '@pry.admin.fields.fieldType.information.decimal'
|
|
10243
|
-
},
|
|
10244
|
-
{
|
|
10245
|
-
varType: FieldType.STRING,
|
|
10246
|
-
translation: '@pry.admin.fields.fieldType.string',
|
|
10247
|
-
description: '@pry.admin.fields.fieldType.information.string'
|
|
10248
|
-
},
|
|
10249
|
-
{
|
|
10250
|
-
varType: FieldType.KEYWORD,
|
|
10251
|
-
translation: '@pry.admin.fields.fieldType.keyword',
|
|
10252
|
-
description: '@pry.admin.fields.fieldType.information.keyword'
|
|
10253
|
-
},
|
|
10254
|
-
{
|
|
10255
|
-
varType: FieldType.INSTANT,
|
|
10256
|
-
translation: '@pry.admin.fields.fieldType.instant',
|
|
10257
|
-
description: '@pry.admin.fields.fieldType.information.instant'
|
|
10258
|
-
},
|
|
10259
|
-
{
|
|
10260
|
-
varType: FieldType.RAW,
|
|
10261
|
-
translation: '@pry.admin.fields.fieldType.raw',
|
|
10262
|
-
description: '@pry.admin.fields.fieldType.information.raw'
|
|
10263
|
-
},
|
|
10264
|
-
{
|
|
10265
|
-
varType: FieldType.POINT,
|
|
10266
|
-
translation: '@pry.admin.fields.fieldType.point',
|
|
10267
|
-
description: '@pry.admin.fields.fieldType.information.point'
|
|
10268
|
-
},
|
|
10269
|
-
{
|
|
10270
|
-
varType: FieldType.MULTIPOINT,
|
|
10271
|
-
translation: '@pry.admin.fields.fieldType.multipoint',
|
|
10272
|
-
description: '@pry.admin.fields.fieldType.information.multipoint'
|
|
10273
|
-
},
|
|
10274
|
-
{
|
|
10275
|
-
varType: FieldType.LINE,
|
|
10276
|
-
translation: '@pry.admin.fields.fieldType.line',
|
|
10277
|
-
description: '@pry.admin.fields.fieldType.information.line'
|
|
10278
|
-
},
|
|
10279
|
-
{
|
|
10280
|
-
varType: FieldType.MULTILINE,
|
|
10281
|
-
translation: '@pry.admin.fields.fieldType.multiline',
|
|
10282
|
-
description: '@pry.admin.fields.fieldType.information.multiline'
|
|
10283
|
-
},
|
|
10284
|
-
{
|
|
10285
|
-
varType: FieldType.POLYGON,
|
|
10286
|
-
translation: '@pry.admin.fields.fieldType.polygon',
|
|
10287
|
-
description: '@pry.admin.fields.fieldType.information.polygon'
|
|
10288
|
-
},
|
|
10289
|
-
{
|
|
10290
|
-
varType: FieldType.MULTIPOLYGON,
|
|
10291
|
-
translation: '@pry.admin.fields.fieldType.multipolygon',
|
|
10292
|
-
description: '@pry.admin.fields.fieldType.information.multipolygon'
|
|
10293
|
-
}
|
|
10294
|
-
];
|
|
10287
|
+
const FIELD_I18N = {
|
|
10288
|
+
label: '@pry.admin.fields.fieldType.',
|
|
10289
|
+
information: '@pry.admin.fields.fieldType.information.'
|
|
10290
|
+
};
|
|
10295
10291
|
|
|
10296
10292
|
const httpErrorOptions = {
|
|
10297
10293
|
isDevMode: false
|
|
@@ -10653,12 +10649,6 @@ class PryDatasourceCardComponent {
|
|
|
10653
10649
|
this.isSelected = false;
|
|
10654
10650
|
this.clicked = new EventEmitter();
|
|
10655
10651
|
}
|
|
10656
|
-
ngAfterContentInit() {
|
|
10657
|
-
this.datasetVersions$ = this.store
|
|
10658
|
-
.select(DataSourceSelectors.matchingDatasetVersions(this.datasource.id))
|
|
10659
|
-
.pipe(map((res) => [...res].sort((a, b) => b.version - a.version)));
|
|
10660
|
-
this.activeVersion$ = this.datasetVersions$.pipe(map((versions) => versions.sort((v1, v2) => v2.version - v1.version).find((version) => version.state === 'ACTIVE')?.lastModified));
|
|
10661
|
-
}
|
|
10662
10652
|
truncateDescription(description, maxLength) {
|
|
10663
10653
|
if (description && description.length > maxLength) {
|
|
10664
10654
|
return description.slice(0, maxLength) + '...';
|
|
@@ -10675,11 +10665,11 @@ class PryDatasourceCardComponent {
|
|
|
10675
10665
|
}
|
|
10676
10666
|
}
|
|
10677
10667
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasourceCardComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10678
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryDatasourceCardComponent, selector: "pry-datasource-card", inputs: { datasource: "datasource", showFooter: "showFooter", isSelectable: "isSelectable", isSelected: "isSelected" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<div\n class=\"o-datasource-card\"\n [class.-no-footer]=\"!showFooter\"\n [class.-is-selectable]=\"isSelectable\"\n (click)=\"onClick()\"\n>\n <div class=\"o-datasource-card__header\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"datasource.id | translateId: { type: 'datasource', output: 'icon' } | async\"\n />\n <div class=\"o-datasource-card__title\" ellipsis textElementSelector=\".a-h4\">\n <h4 class=\"a-h4\">{{ datasource.name }}</h4>\n </div>\n @if (isSelectable) {\n <pry-checkbox\n (click)=\"$event.preventDefault()\"\n class=\"o-datasource-card__checkbox\"\n [ngModel]=\"isSelected\"\n ></pry-checkbox>\n }\n </div>\n <div class=\"o-datasource-card__content u-display-flex -column -gap-10\">\n @if (datasource.description) {\n <div class=\"o-datasource-card__description\" ellipsis textElementSelector=\".description\">\n <div class=\"description\">{{ truncateDescription(datasource.description, 100) }}</div>\n </div>\n } @else {\n <div class=\"o-datasource-card__description -italic\">{{ '@pry.dataset.noDescription' | i18n }}</div>\n }\n\n <span class=\"o-datasource-card__date\">\n @if (
|
|
10668
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryDatasourceCardComponent, selector: "pry-datasource-card", inputs: { datasource: "datasource", showFooter: "showFooter", isSelectable: "isSelectable", isSelected: "isSelected" }, outputs: { clicked: "clicked" }, ngImport: i0, template: "<div\n class=\"o-datasource-card\"\n [class.-no-footer]=\"!showFooter\"\n [class.-is-selectable]=\"isSelectable\"\n (click)=\"onClick()\"\n>\n <div class=\"o-datasource-card__header\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"datasource.id | translateId: { type: 'datasource', output: 'icon' } | async\"\n />\n <div class=\"o-datasource-card__title\" ellipsis textElementSelector=\".a-h4\">\n <h4 class=\"a-h4\">{{ datasource.name }}</h4>\n </div>\n @if (isSelectable) {\n <pry-checkbox\n (click)=\"$event.preventDefault()\"\n class=\"o-datasource-card__checkbox\"\n [ngModel]=\"isSelected\"\n ></pry-checkbox>\n }\n </div>\n <div class=\"o-datasource-card__content u-display-flex -column -gap-10\">\n @if (datasource.description) {\n <div class=\"o-datasource-card__description\" ellipsis textElementSelector=\".description\">\n <div class=\"description\">{{ truncateDescription(datasource.description, 100) }}</div>\n </div>\n } @else {\n <div class=\"o-datasource-card__description -italic\">{{ '@pry.dataset.noDescription' | i18n }}</div>\n }\n\n <span class=\"o-datasource-card__date\">\n @if (datasource.sourceType === 'dataset') {\n @if (datasource.activeVersion) {\n {{ '@pry.dataset.since_day' | i18n }} {{ datasource.activeVersion.productionDate! | sinceDate }}\n } @else {\n <span class=\"-italic\">{{ '@pry.dataset.noActiveVersion' | i18n }}</span>\n }\n }\n </span>\n @if (datasource.sourceType === 'dataset' && datasource.categories && datasource.categories.length > 0) {\n <div class=\"o-datasource-card__categories u-display-flex -wrap\">\n @for (category of datasource.categories; track category.id) {\n <span class=\"a-chip -md\">{{ category.name }}</span>\n }\n </div>\n }\n </div>\n\n @if (showFooter) {\n <div class=\"o-datasource-card__footer\">\n <button class=\"a-btn\">\n {{ '@pry.dataset.consult' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: i3$3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: EllipsisDirective, selector: "[ellipsis]", inputs: ["textElementSelector"] }, { kind: "component", type: i7.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: I18nPipe, name: "i18n" }, { kind: "pipe", type: SinceDatePipe, name: "sinceDate" }] }); }
|
|
10679
10669
|
}
|
|
10680
10670
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasourceCardComponent, decorators: [{
|
|
10681
10671
|
type: Component,
|
|
10682
|
-
args: [{ selector: 'pry-datasource-card', template: "<div\n class=\"o-datasource-card\"\n [class.-no-footer]=\"!showFooter\"\n [class.-is-selectable]=\"isSelectable\"\n (click)=\"onClick()\"\n>\n <div class=\"o-datasource-card__header\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"datasource.id | translateId: { type: 'datasource', output: 'icon' } | async\"\n />\n <div class=\"o-datasource-card__title\" ellipsis textElementSelector=\".a-h4\">\n <h4 class=\"a-h4\">{{ datasource.name }}</h4>\n </div>\n @if (isSelectable) {\n <pry-checkbox\n (click)=\"$event.preventDefault()\"\n class=\"o-datasource-card__checkbox\"\n [ngModel]=\"isSelected\"\n ></pry-checkbox>\n }\n </div>\n <div class=\"o-datasource-card__content u-display-flex -column -gap-10\">\n @if (datasource.description) {\n <div class=\"o-datasource-card__description\" ellipsis textElementSelector=\".description\">\n <div class=\"description\">{{ truncateDescription(datasource.description, 100) }}</div>\n </div>\n } @else {\n <div class=\"o-datasource-card__description -italic\">{{ '@pry.dataset.noDescription' | i18n }}</div>\n }\n\n <span class=\"o-datasource-card__date\">\n @if (
|
|
10672
|
+
args: [{ selector: 'pry-datasource-card', template: "<div\n class=\"o-datasource-card\"\n [class.-no-footer]=\"!showFooter\"\n [class.-is-selectable]=\"isSelectable\"\n (click)=\"onClick()\"\n>\n <div class=\"o-datasource-card__header\">\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"datasource.id | translateId: { type: 'datasource', output: 'icon' } | async\"\n />\n <div class=\"o-datasource-card__title\" ellipsis textElementSelector=\".a-h4\">\n <h4 class=\"a-h4\">{{ datasource.name }}</h4>\n </div>\n @if (isSelectable) {\n <pry-checkbox\n (click)=\"$event.preventDefault()\"\n class=\"o-datasource-card__checkbox\"\n [ngModel]=\"isSelected\"\n ></pry-checkbox>\n }\n </div>\n <div class=\"o-datasource-card__content u-display-flex -column -gap-10\">\n @if (datasource.description) {\n <div class=\"o-datasource-card__description\" ellipsis textElementSelector=\".description\">\n <div class=\"description\">{{ truncateDescription(datasource.description, 100) }}</div>\n </div>\n } @else {\n <div class=\"o-datasource-card__description -italic\">{{ '@pry.dataset.noDescription' | i18n }}</div>\n }\n\n <span class=\"o-datasource-card__date\">\n @if (datasource.sourceType === 'dataset') {\n @if (datasource.activeVersion) {\n {{ '@pry.dataset.since_day' | i18n }} {{ datasource.activeVersion.productionDate! | sinceDate }}\n } @else {\n <span class=\"-italic\">{{ '@pry.dataset.noActiveVersion' | i18n }}</span>\n }\n }\n </span>\n @if (datasource.sourceType === 'dataset' && datasource.categories && datasource.categories.length > 0) {\n <div class=\"o-datasource-card__categories u-display-flex -wrap\">\n @for (category of datasource.categories; track category.id) {\n <span class=\"a-chip -md\">{{ category.name }}</span>\n }\n </div>\n }\n </div>\n\n @if (showFooter) {\n <div class=\"o-datasource-card__footer\">\n <button class=\"a-btn\">\n {{ '@pry.dataset.consult' | i18n }}\n <pry-icon [width]=\"20\" [height]=\"20\" iconSvg=\"arrow_right\"></pry-icon>\n </button>\n </div>\n }\n</div>\n" }]
|
|
10683
10673
|
}], ctorParameters: () => [{ type: i1.Store }], propDecorators: { datasource: [{
|
|
10684
10674
|
type: Input
|
|
10685
10675
|
}], showFooter: [{
|
|
@@ -10719,7 +10709,7 @@ class PryDatasourceListComponent extends SubscriptionnerDirective {
|
|
|
10719
10709
|
this.store.dispatch(DashboardActions.fetchManifestsList());
|
|
10720
10710
|
this.store.dispatch(DataSourceActions.dataset.getCategories());
|
|
10721
10711
|
this.categories$ = this.store.select(DataSourceSelectors.categories);
|
|
10722
|
-
this.store.dispatch(DataSourceActions.dataset.listVersions());
|
|
10712
|
+
this.store.dispatch(DataSourceActions.dataset.listVersions({}));
|
|
10723
10713
|
this.subscriptions.add(this.selectedCategories$.subscribe((_) => {
|
|
10724
10714
|
this.searchOrCategoryChanged.next();
|
|
10725
10715
|
}));
|
|
@@ -12401,24 +12391,6 @@ class DashboardEffects {
|
|
|
12401
12391
|
}),
|
|
12402
12392
|
DashboardActions.followManifestRoute()
|
|
12403
12393
|
])))));
|
|
12404
|
-
this.confirmLayerGroupDeletion$ = createEffect(() => this.actions$.pipe(ofType(DashboardActions.confirmLayerGroupDeletion), tap((action) => {
|
|
12405
|
-
const data = {
|
|
12406
|
-
title: '@pry.widget.map.layerSettings.confirmDelete',
|
|
12407
|
-
actions: [
|
|
12408
|
-
{
|
|
12409
|
-
id: 0,
|
|
12410
|
-
label: '@pry.toolbox.manifest.validate',
|
|
12411
|
-
actions: [DashboardActions.deleteLayerGroup({ name: action.name })]
|
|
12412
|
-
},
|
|
12413
|
-
{
|
|
12414
|
-
id: 1,
|
|
12415
|
-
label: '@pry.toolbox.manifest.close',
|
|
12416
|
-
color: 'secondary'
|
|
12417
|
-
}
|
|
12418
|
-
]
|
|
12419
|
-
};
|
|
12420
|
-
this.pryDialog.open(PryDialogConfirmComponent, { data });
|
|
12421
|
-
})), { dispatch: false });
|
|
12422
12394
|
dashboardInitService.init();
|
|
12423
12395
|
refreshService.start();
|
|
12424
12396
|
}
|
|
@@ -13059,22 +13031,6 @@ const internalReducer = createReducer(dashboardInitialState, on(DashboardActions
|
|
|
13059
13031
|
]
|
|
13060
13032
|
}
|
|
13061
13033
|
}
|
|
13062
|
-
})), on(DashboardActions.addLayerGroup, (state, action) => ({
|
|
13063
|
-
...state,
|
|
13064
|
-
manifests: {
|
|
13065
|
-
...state.manifests,
|
|
13066
|
-
manifest: {
|
|
13067
|
-
...state.manifests.manifest,
|
|
13068
|
-
layerGroups: [
|
|
13069
|
-
...(state.manifests.manifest.layerGroups ?? []),
|
|
13070
|
-
{
|
|
13071
|
-
name: action.name ?? 'MISSING NAME',
|
|
13072
|
-
singleLayer: action.singleLayer ?? false,
|
|
13073
|
-
visibleLayers: action.visibleLayers ?? []
|
|
13074
|
-
}
|
|
13075
|
-
]
|
|
13076
|
-
}
|
|
13077
|
-
}
|
|
13078
13034
|
})), on(DashboardActions.updateLayerVisibility, (state, action) => ({
|
|
13079
13035
|
...state,
|
|
13080
13036
|
manifests: {
|
|
@@ -13095,15 +13051,6 @@ const internalReducer = createReducer(dashboardInitialState, on(DashboardActions
|
|
|
13095
13051
|
]
|
|
13096
13052
|
}
|
|
13097
13053
|
}
|
|
13098
|
-
})), on(DashboardActions.deleteLayerGroup, (state, action) => ({
|
|
13099
|
-
...state,
|
|
13100
|
-
manifests: {
|
|
13101
|
-
...state.manifests,
|
|
13102
|
-
manifest: {
|
|
13103
|
-
...state.manifests.manifest,
|
|
13104
|
-
layerGroups: state.manifests.manifest.layerGroups.filter((group) => group.name !== action.name)
|
|
13105
|
-
}
|
|
13106
|
-
}
|
|
13107
13054
|
})), on(DashboardActions.updateLayerGroups, (state, { layerGroups }) => ({
|
|
13108
13055
|
...state,
|
|
13109
13056
|
manifests: {
|
|
@@ -13137,11 +13084,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
|
|
|
13137
13084
|
|
|
13138
13085
|
class DefaultTooltipComponent extends BaseTooltipComponent {
|
|
13139
13086
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DefaultTooltipComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
13140
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: DefaultTooltipComponent, selector: "pry-default-tooltip", usesInheritance: true, ngImport: i0, template: "<div class=\"m-tooltip__item__content\">\n <ng-container *ngIf=\"data.item.properties; else defaultTooltip\">\n <p *ngFor=\"let property of data.item.properties\">\n <span>{{ property.key | titlecase }} :</span> {{ property.value }}\n </p>\n </ng-container>\n</div>\n<ng-template #defaultTooltip>\n <h3 class=\"a-h3 -attribute\">\n <img\n [src]=\"data.item | translateItemToSymbol | async\"\n [alt]=\"data.item.oClass | translateId
|
|
13087
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: DefaultTooltipComponent, selector: "pry-default-tooltip", usesInheritance: true, ngImport: i0, template: "<div class=\"m-tooltip__item__content\">\n <ng-container *ngIf=\"data.item.properties; else defaultTooltip\">\n <p *ngFor=\"let property of data.item.properties\">\n <span>{{ property.key | titlecase }} :</span> {{ property.value }}\n </p>\n </ng-container>\n</div>\n<ng-template #defaultTooltip>\n <h3 class=\"a-h3 -attribute\">\n <img\n [src]=\"data.item | translateItemToSymbol | async\"\n [alt]=\"data.item.oClass | translateId: { type: 'class', output: 'name' } | async\"\n width=\"32\"\n aria-hidden=\"true\"\n />\n <span>{{ data.item.oClass | translateId: { type: 'class', output: 'name' } | async }}</span>\n </h3>\n <p>\n <span>{{ '@pry.widget.itemId' | i18n }} :</span> {{ data.item?.id }}\n </p>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$1.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: TranslateItemToSymbolPipe, name: "translateItemToSymbol" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
13141
13088
|
}
|
|
13142
13089
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: DefaultTooltipComponent, decorators: [{
|
|
13143
13090
|
type: Component,
|
|
13144
|
-
args: [{ selector: 'pry-default-tooltip', template: "<div class=\"m-tooltip__item__content\">\n <ng-container *ngIf=\"data.item.properties; else defaultTooltip\">\n <p *ngFor=\"let property of data.item.properties\">\n <span>{{ property.key | titlecase }} :</span> {{ property.value }}\n </p>\n </ng-container>\n</div>\n<ng-template #defaultTooltip>\n <h3 class=\"a-h3 -attribute\">\n <img\n [src]=\"data.item | translateItemToSymbol | async\"\n [alt]=\"data.item.oClass | translateId
|
|
13091
|
+
args: [{ selector: 'pry-default-tooltip', template: "<div class=\"m-tooltip__item__content\">\n <ng-container *ngIf=\"data.item.properties; else defaultTooltip\">\n <p *ngFor=\"let property of data.item.properties\">\n <span>{{ property.key | titlecase }} :</span> {{ property.value }}\n </p>\n </ng-container>\n</div>\n<ng-template #defaultTooltip>\n <h3 class=\"a-h3 -attribute\">\n <img\n [src]=\"data.item | translateItemToSymbol | async\"\n [alt]=\"data.item.oClass | translateId: { type: 'class', output: 'name' } | async\"\n width=\"32\"\n aria-hidden=\"true\"\n />\n <span>{{ data.item.oClass | translateId: { type: 'class', output: 'name' } | async }}</span>\n </h3>\n <p>\n <span>{{ '@pry.widget.itemId' | i18n }} :</span> {{ data.item?.id }}\n </p>\n</ng-template>\n" }]
|
|
13145
13092
|
}] });
|
|
13146
13093
|
|
|
13147
13094
|
const TOOLTIP_DEFINITION = new InjectionToken('Tooltip definition');
|
|
@@ -13188,7 +13135,8 @@ class TooltipFactoryService {
|
|
|
13188
13135
|
isModuleLoaded(type) {
|
|
13189
13136
|
return this.reference$.pipe(map((componentDefs) => !!componentDefs[type]));
|
|
13190
13137
|
}
|
|
13191
|
-
generateTooltip(type,
|
|
13138
|
+
generateTooltip(type, // class id
|
|
13139
|
+
parentInjector, container) {
|
|
13192
13140
|
const definition = this.defs[type] ?? { type };
|
|
13193
13141
|
return this.resolveComponent(definition.type).pipe(map((component) => {
|
|
13194
13142
|
if (component) {
|
|
@@ -13461,5 +13409,5 @@ function filterLoader(module, prop) {
|
|
|
13461
13409
|
* Generated bundle index. Do not edit.
|
|
13462
13410
|
*/
|
|
13463
13411
|
|
|
13464
|
-
export { ALIGNMENT_OPTIONS, AUTHENTICATED_USERS_GROUP, AccordionComponent, AccordionItemComponent, Aggregation, BASE_DISPLAY_OPTIONS, BaseFilterComponent, BaseFilterModule, BaseLayoutComponent, BaseMenuComponent, BaseToolboxComponent, BaseTooltipComponent, BaseTooltipModule, BaseWidgetComponent, BaseWidgetModule, BusService, CategoryActions, CategorySelectors, CategoryService, ChartOptionDefault, ChipsSelectorComponent, ClassActions, ClassSelectors, ClassService, ConfigActions, ConfigSelectors, ConfigService, ContextMenuActions, ContextMenuComponent, ContextMenuSelectors, DEFAULT_CATEGORY_UUID, DEFAULT_COLUMNS_NUMBER, DEFAULT_DASHBOARD_ICON_URL, DEFAULT_GAP_PX, DEFAULT_ICON_URL, DEFAULT_MSG_TIMEOUT, DEFAULT_NAMED_QUERY_ID, DEFAULT_PROJECTION, DEFAULT_RESTITUTION_ICON_URL, DEFAULT_ROWS_NUMBER, DEFAULT_ROW_HEIGHT_PX, DEFAULT_SEARCH_LIMIT_NUMBER, DEFAULT_TABLE_WIDGET_STYLE, DELAY_FOR_HIDE, DashboardActions, DashboardComponent, DashboardGridLayout, DashboardSelectors, DataSourceActions, DataSourceSelectors, DataSourceService, DataWidgetComponent, DatasourceSelectorComponent, DatasourceUtils, DateRangeHighlightPipe, DateUtils, DefaultTooltipComponent, ENV_OPTIONS, EXPLORE_NAMED_QUERY_ID, EllipsisDirective,
|
|
13412
|
+
export { ALIGNMENT_OPTIONS, AUTHENTICATED_USERS_GROUP, AccordionComponent, AccordionItemComponent, Aggregation, BASE_DISPLAY_OPTIONS, BaseFilterComponent, BaseFilterModule, BaseLayoutComponent, BaseMenuComponent, BaseToolboxComponent, BaseTooltipComponent, BaseTooltipModule, BaseWidgetComponent, BaseWidgetModule, BusService, CategoryActions, CategorySelectors, CategoryService, ChartOptionDefault, ChipsSelectorComponent, ClassActions, ClassSelectors, ClassService, ConfigActions, ConfigSelectors, ConfigService, ContextMenuActions, ContextMenuComponent, ContextMenuSelectors, DEFAULT_CATEGORY_UUID, DEFAULT_COLUMNS_NUMBER, DEFAULT_DASHBOARD_ICON_URL, DEFAULT_GAP_PX, DEFAULT_ICON_URL, DEFAULT_MSG_TIMEOUT, DEFAULT_NAMED_QUERY_ID, DEFAULT_PROJECTION, DEFAULT_RESTITUTION_ICON_URL, DEFAULT_ROWS_NUMBER, DEFAULT_ROW_HEIGHT_PX, DEFAULT_SEARCH_LIMIT_NUMBER, DEFAULT_TABLE_WIDGET_STYLE, DELAY_FOR_HIDE, DashboardActions, DashboardComponent, DashboardGridLayout, DashboardSelectors, DataSourceActions, DataSourceSelectors, DataSourceService, DataWidgetComponent, DatasourceSelectorComponent, DatasourceUtils, DateRangeHighlightPipe, DateUtils, DefaultTooltipComponent, ENV_OPTIONS, EXPLORE_NAMED_QUERY_ID, EllipsisDirective, FIELD_I18N, FIELD_UUID, FILTERS_DOMAIN, FILTER_DEFINITION, FieldActions, FieldSelectors, FieldService, FieldType, FilterFactoryService, FilterGroupComponent, FilterInstanciatorComponent, FilterParamEncoder, GeoMetadata, GeometricFieldTypes, GetSecuredImagePipe, GraphType, HTTP_ORIGIN_METADATA, I18nPipe, INTERNALLY_STORED_IMAGE_PREFIX, IconPosition, ImageActions, ImageService, ImagesSelectors, ItemUtils, LibraryTypes, LoopScrollColumnComponent, METADATA_TYPE, META_OPTIONS, MIME_TYPE_RESULTSET, MIME_TYPE_WIDGET_MANIFEST, MIME_TYPE_WIDGET_SIZE, MIME_TYPE_WIDGET_TYPE, ManifestService, ManifestUtils, ManifestsComponent, MarkSubType, MarkType, MetadataComponent, NamedQueryTypes, NumericFieldTypes, OPERATOR_OPTIONS, Operation, PRY_ACCESS_GUARD, PRY_ACCESS_TOKEN, PRY_CUSTOMEVENT_TYPE, PRY_DIALOG_DATA, PRY_GEOAUTH_TOKEN, PUBLIC_GROUP, PryAboutComponent, PryAboutModule, PryAccessDirective, PryAccessRightsShareComponent, PryAccessRightsShareModalComponent, PryAccessUtils, PryAggregationService, PryBackendAggregationService, PryBaseAccess, PryBaseAccessGuard, PryChipsSelectorModule, PryCoreModule, PryDashboardModule, PryDatasetType, PryDatasourceCardComponent, PryDatasourceListComponent, PryDatePickerComponent, PryDatePickerModule, PryDefaultAccessGuard, PryDefaultAccessService, PryDefaultGeoAuthService, PryDialogConfirmComponent, PryDialogRef, PryDialogService, PryEditInputComponent, PryEditInputModule, PryFilterGroupCssComponent, PryFrontendAggregationService, PryGeoAuthService, PryGroupShareComponent, PryHiddenWhenOverlay, PryHiddenWhenOverlayDirective, PryHttpErrorInterceptorService, PryI18nModule, PryI18nService, PryIconComponent, PryIconModule, PryModalComponent, PryModalModule, PryNqColorSelectorComponent, PryObjectEditionComponent, PryOverlayDirective, PryOverlayModule, PryRangeComponent, PryRangeModule, PrySelectComponent, PrySelectImageComponent, PrySelectModule, PryShareComponent, PryShareMode, PryShareModule, PrySinceDateModule, PrySnackbarComponent, PrySnackbarModule, PrySnackbarService, PrySortDataPipe, PrySortHeaderComponent, PrySortHeaderDirective, PrySortModule, PrySortTableDirective, PryStatusModalComponent, PryStatusModalModule, PryTimePickerComponent, PryTitleService, PryToggleComponent, PryToggleModule, PryUploadComponent, PryVisibilityType, PryWidgetHeaderComponent, READ_ACCESS, RawService, RelationTypesActions, RelationTypesSelectors, RelationTypesService, ResultSetSizePipe, ResultsetUtils, SYMBOL_DOMAIN, SYSTEM_GROUPS, SearchActions, SearchSelectors, SearchService, SettingsComponent, SinceDatePipe, SubscriptionnerDirective, SymbolService, TABLE_ATTR_DOMAIN, TILE_ATTR_DOMAIN, TOOLTIPS_DOMAIN, TOOLTIP_DEFINITION, TabComponent, TabGroupComponent, TextFieldTypes, ToolboxManifestService, ToolboxMenuService, TooltipFactoryService, TooltipMode, TranslateIdPipe, TranslateItemToSymbolPipe, UNKNOWN_DATASOURCE, USE_CURRENT_RESULTSET, VARIABLE_TYPE, VegaColorType, VegaType, ViewMode, VizualizeRawComponent, WIDGET_DEFINITION, WIDGET_HEADER_HEIGHT, WRITE_ACCESS, WebsocketService, WidgetFactoryService, WidgetInstanciatorComponent, WidgetPlaceholderComponent, WidgetPlacementUtils, WmsService, adapter$2 as adapter, aggregationDefault, baseItemProperties, canManifestBeMadePublic, classReducer, classesFeatureKey, compareOperationFunctions, contextMenuFeatureKey, contextMenuReducer, createPlacedWidgetCopy, dashboardFeatureKey, dashboardInitialState, dashboardReducer, dataSourceFeatureKey, dataSourceReducer, deepMerge, defaultColors, defaultMenuStructure, enTranslations$1 as enTranslations, filterLoader, frTranslations$1 as frTranslations, getAccessArray, getAccessRightsArrayByGroup, getAccessRightsStringByGroup, getAccessString, getCommonDatasourceGroupsForManifest, getDisplayOptions, getGroupLabel, getGroupLabelByName, getShareLevel, httpErrorOptions, imageFeatureKey, imageReducer, initialClassState, initialContextMenuState, initialDataSourceState, initialImageState, initialSearchState, latLonToGeographicFieldTransformation, markTypesDefault, notificationFeatureKey, orderWidgetsAccordingToPlacement, searchFeatureKey, searchReducer, selectAll$2 as selectAll, selectEntities$2 as selectEntities, solveCollisions, solvingCollisionOptions, sortByName$2 as sortByName, subTypesDefault, tooltipLoader, vegaColorSchemesDefault, widgetLoader, widgetMapConfig };
|
|
13465
13413
|
//# sourceMappingURL=provoly-dashboard.mjs.map
|