@provoly/dashboard 0.20.2 → 0.20.4
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-select/admin-fields-select.component.d.ts +1 -1
- package/admin/i18n/en.translations.d.ts +1 -0
- package/admin/i18n/fr.translations.d.ts +1 -0
- package/components/metadata-editor/style/_o-metadata-editor.scss +0 -5
- package/dataset/style/_o-pry-dataset-card.scss +5 -37
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +3 -3
- package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +3 -3
- package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +3 -3
- package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +3 -3
- package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +5 -5
- package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +3 -3
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +42 -12
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-new/admin-attributes-new.component.mjs +1 -1
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +3 -3
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +3 -3
- package/esm2022/admin/components/admin-dataset/shared/admin-form-dataset/admin-form-dataset.component.mjs +3 -3
- package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +3 -3
- package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +3 -3
- package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +2 -2
- package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +3 -3
- package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +3 -3
- package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +3 -3
- package/esm2022/admin/i18n/en.translations.mjs +3 -2
- package/esm2022/admin/i18n/fr.translations.mjs +3 -2
- package/esm2022/components/metadata-editor/metadata-editor.component.mjs +3 -3
- package/esm2022/components/metadata-editor/style/css.component.mjs +2 -2
- package/esm2022/components/scheme-picker/scheme-picker.component.mjs +3 -3
- package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +5 -5
- package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +1 -2
- package/esm2022/dataset/i18n/fr.translations.mjs +2 -2
- package/esm2022/dataset/style/css.component.mjs +2 -2
- package/esm2022/filters/autocomplete/autocomplete.component.mjs +13 -6
- package/esm2022/filters/autocomplete/autocomplete.module.mjs +5 -5
- package/esm2022/filters/autocomplete/style/css.component.mjs +2 -2
- package/esm2022/filters/list/list-filter.component.mjs +1 -1
- package/esm2022/import/components/import.component.mjs +3 -3
- package/esm2022/lib/core/components/ellipsis.directive.mjs +31 -0
- package/esm2022/lib/core/components/select/select.component.mjs +163 -38
- package/esm2022/lib/core/components/select/select.module.mjs +4 -5
- package/esm2022/lib/core/components/share/share.component.mjs +3 -3
- package/esm2022/lib/core/components/translate-id/translate-id.pipe.mjs +7 -8
- package/esm2022/lib/core/core.module.mjs +8 -4
- package/esm2022/lib/core/i18n/en.translations.mjs +7 -5
- package/esm2022/lib/core/i18n/fr.translations.mjs +8 -5
- package/esm2022/lib/core/model/admin-api.model.mjs +1 -1
- package/esm2022/lib/core/model/display-options.interface.mjs +18 -4
- package/esm2022/lib/core/model/filter.interface.mjs +1 -1
- package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
- package/esm2022/lib/core/public-api.mjs +2 -1
- package/esm2022/lib/core/store/class/class.interface.mjs +1 -1
- package/esm2022/lib/core/store/class/class.selectors.mjs +6 -2
- package/esm2022/lib/core/store/search/search.service.mjs +1 -1
- package/esm2022/lib/core/toolbox/toolbox-manifest.service.mjs +1 -4
- package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +28 -28
- package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +6 -15
- package/esm2022/lib/dashboard/components/widgets/settings/settings.component.mjs +3 -3
- package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +3 -3
- package/esm2022/lib/dashboard/filter/style/css.component.mjs +2 -2
- package/esm2022/lib/dashboard/item-utils.mjs +7 -7
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +1 -4
- package/esm2022/pipeline/store/pipeline.actions.mjs +1 -1
- package/esm2022/pipeline-components/filter/component/filter.component.mjs +4 -4
- package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +3 -3
- package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +3 -3
- package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +3 -3
- package/esm2022/presentation/components/presentation.component.mjs +3 -3
- package/esm2022/presentation/i18n/fr.translations.mjs +9 -9
- package/esm2022/presentation/style/css.component.mjs +2 -2
- package/esm2022/restitution/components/restitution/restitution.component.mjs +23 -22
- package/esm2022/restitution/components/restitution-catalog/restitution-catalog.component.mjs +13 -6
- package/esm2022/restitution/i18n/en.translations.mjs +2 -2
- package/esm2022/restitution/i18n/fr.translations.mjs +4 -4
- package/esm2022/restitution/style/css.component.mjs +2 -2
- package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +3 -3
- package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +3 -3
- package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +3 -3
- package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +3 -3
- package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors.component.mjs +3 -3
- package/esm2022/toolbox/components/automate-refresh/automate-refresh.component.mjs +3 -3
- package/esm2022/toolbox/components/clear-view/clear-view.component.mjs +3 -3
- package/esm2022/toolbox/components/drag-widgets/drag-widgets.component.mjs +3 -3
- package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +6 -6
- package/esm2022/toolbox/components/launch-tab/launch-tab.component.mjs +3 -3
- package/esm2022/toolbox/components/named-query/named-query.component.mjs +3 -3
- package/esm2022/toolbox/components/refresh-datasets/refresh-datasets.component.mjs +3 -3
- package/esm2022/toolbox/components/save-view/save-view.component.mjs +3 -3
- package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +3 -3
- package/esm2022/toolbox/components/toolbox.component.mjs +4 -3
- package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +8 -2
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +8 -7
- package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +12 -13
- package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +3 -3
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +13 -7
- package/esm2022/widgets/widget-map/i18n/en.translations.mjs +3 -2
- package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +3 -2
- package/esm2022/widgets/widget-map/pipe/widget-map-geometry-fields-for.pipe.mjs +3 -3
- package/esm2022/widgets/widget-map/style/css.component.mjs +2 -2
- package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +2 -2
- package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +6 -6
- package/esm2022/widgets/widget-table/component/widget-table.component.mjs +8 -8
- package/esm2022/widgets/widget-table/get-value/get-value.pipe.mjs +2 -2
- package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +3 -3
- package/fesm2022/provoly-dashboard-admin.mjs +80 -48
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +4 -4
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +2 -2
- package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs +5 -6
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +18 -11
- package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-filters-list.mjs +1 -1
- package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +2 -2
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +3 -3
- package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +2 -2
- package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +2 -2
- package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-pipeline.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +14 -14
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +39 -31
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-search.mjs +8 -8
- package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-supervision.mjs +2 -2
- package/fesm2022/provoly-dashboard-supervision.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +24 -23
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +7 -1
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +7 -6
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +11 -12
- package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +2 -2
- package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +26 -18
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +8 -8
- package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +2 -2
- package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +281 -122
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/filters/autocomplete/autocomplete.component.d.ts +1 -0
- package/filters/autocomplete/autocomplete.module.d.ts +1 -1
- package/filters/autocomplete/style/_m-autocomplete.scss +16 -3
- package/lib/core/components/ellipsis.directive.d.ts +11 -0
- package/lib/core/components/select/select.component.d.ts +39 -19
- package/lib/core/components/select/select.module.d.ts +4 -5
- package/lib/core/components/translate-id/translate-id.pipe.d.ts +1 -3
- package/lib/core/core.module.d.ts +15 -14
- package/lib/core/i18n/en.translations.d.ts +4 -2
- package/lib/core/i18n/fr.translations.d.ts +5 -2
- package/lib/core/model/admin-api.model.d.ts +1 -0
- package/lib/core/model/display-options.interface.d.ts +11 -0
- package/lib/core/model/filter.interface.d.ts +1 -1
- package/lib/core/model/manifest.interface.d.ts +1 -5
- package/lib/core/public-api.d.ts +1 -0
- package/lib/core/store/class/class.interface.d.ts +1 -0
- package/lib/core/store/class/class.selectors.d.ts +105 -5
- package/lib/core/store/search/search.service.d.ts +1 -1
- package/lib/dashboard/components/widgets/header/widget-header.component.d.ts +2 -5
- package/lib/dashboard/filter/style/_o-pry-filter-group.scss +0 -11
- package/lib/dashboard/store/dashboard.effects.d.ts +0 -1
- package/lib/dashboard/store/dashboard.selectors.d.ts +0 -9
- package/package.json +7 -8
- package/pipeline/store/pipeline.actions.d.ts +1 -1
- package/presentation/style/_o-pry-new-presentation.scss +0 -7
- package/presentation/style/_o-pry-presentation.scss +20 -55
- package/restitution/components/restitution-catalog/restitution-catalog.component.d.ts +1 -1
- package/restitution/i18n/en.translations.d.ts +1 -1
- package/restitution/i18n/fr.translations.d.ts +3 -3
- package/schematics/migration.json +6 -1
- package/schematics/ng-update/version-0-20/index.d.ts +2 -0
- package/schematics/ng-update/version-0-20/index.js +19 -0
- package/schematics/ng-update/version-0-20/index.js.map +1 -0
- package/styles/components/_a-pry-select.scss +34 -10
- package/styles/components/_a-tooltip.scss +2 -2
- package/styles/components/_m-filter.scss +11 -20
- package/styles/components/_o-dashboard.scss +4 -0
- package/styles/components/_o-draggable-menu.scss +1 -1
- package/styles/components/_o-widget.scss +2 -2
- package/styles/main.scss +0 -1
- package/styles-theme/abstracts-theme/variables/_variables-typo.scss +9 -0
- package/styles-theme/components-theme/_a-pry-select.theme.scss +23 -96
- package/styles-theme/components-theme/_a-tooltip.theme.scss +2 -2
- package/styles-theme/components-theme/_o-pry-composed-condition.theme.scss +0 -12
- package/toolbox/components/filter-settings/filter-settings.component.d.ts +2 -2
- package/toolbox/components/toolbox.component.d.ts +1 -0
- package/tooltips/attribute/attribute-tooltip.component.d.ts +1 -0
- package/widgets/widget-chart/component/widget-chart.component.d.ts +0 -1
- package/widgets/widget-map/component/widget-map.component.d.ts +2 -0
- package/widgets/widget-map/i18n/en.translations.d.ts +1 -0
- package/widgets/widget-map/i18n/fr.translations.d.ts +1 -0
- package/widgets/widget-map/style/_o-layer-legend.scss +21 -0
|
@@ -26,8 +26,6 @@ import * as i1$4 from '@angular/cdk/accordion';
|
|
|
26
26
|
import { CdkAccordionModule } from '@angular/cdk/accordion';
|
|
27
27
|
import * as i3$2 from '@angular/forms';
|
|
28
28
|
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
29
|
-
import * as i2$1 from '@ng-select/ng-select';
|
|
30
|
-
import { NgSelectModule } from '@ng-select/ng-select';
|
|
31
29
|
import { webSocket } from 'rxjs/webSocket';
|
|
32
30
|
import { v4 } from 'uuid';
|
|
33
31
|
import * as i8 from '@provoly/dashboard/components/checkbox';
|
|
@@ -182,6 +180,9 @@ function deepMerge(target, source) {
|
|
|
182
180
|
|
|
183
181
|
const enTranslations$1 = {
|
|
184
182
|
'@pry': {
|
|
183
|
+
select: {
|
|
184
|
+
label: 'Options list'
|
|
185
|
+
},
|
|
185
186
|
about: {
|
|
186
187
|
front: 'Version Front Library : {{value}} ',
|
|
187
188
|
ref: 'Version repository : {{value}}',
|
|
@@ -208,7 +209,6 @@ const enTranslations$1 = {
|
|
|
208
209
|
defineCatalog: 'Define catalog entry',
|
|
209
210
|
buttonChoice: 'Select a restitution',
|
|
210
211
|
tooltip: {
|
|
211
|
-
openParameter: 'Open parameter',
|
|
212
212
|
params: 'Parameter restitution presentation',
|
|
213
213
|
readSearch: 'Choose data',
|
|
214
214
|
deleteWidget: 'Delete restitution',
|
|
@@ -296,7 +296,6 @@ const enTranslations$1 = {
|
|
|
296
296
|
detail: 'Detail',
|
|
297
297
|
chart: 'Chart',
|
|
298
298
|
resultSet: 'Named Queries',
|
|
299
|
-
saveView: 'Save my presentation',
|
|
300
299
|
rename: 'Save my presentation',
|
|
301
300
|
restore: 'Restore closed pages',
|
|
302
301
|
save: 'Save',
|
|
@@ -496,7 +495,7 @@ const enTranslations$1 = {
|
|
|
496
495
|
}
|
|
497
496
|
},
|
|
498
497
|
filters: {
|
|
499
|
-
label: '
|
|
498
|
+
label: 'Filter settings',
|
|
500
499
|
noAttributes: 'Presentation had no available attributes',
|
|
501
500
|
noFilters: 'No filters set up for this presentation yet.',
|
|
502
501
|
clear: 'Clear all',
|
|
@@ -516,7 +515,8 @@ const enTranslations$1 = {
|
|
|
516
515
|
value: 'Value',
|
|
517
516
|
values: 'Values',
|
|
518
517
|
validate: 'Confirm',
|
|
519
|
-
limit: 'Autocomplete proposals'
|
|
518
|
+
limit: 'Autocomplete proposals',
|
|
519
|
+
dateRange: 'Date range'
|
|
520
520
|
},
|
|
521
521
|
attributes: {
|
|
522
522
|
datasource: 'Datasource',
|
|
@@ -536,6 +536,9 @@ const enTranslations$1 = {
|
|
|
536
536
|
|
|
537
537
|
const frTranslations$1 = {
|
|
538
538
|
'@pry': {
|
|
539
|
+
select: {
|
|
540
|
+
label: 'Liste des choix'
|
|
541
|
+
},
|
|
539
542
|
about: {
|
|
540
543
|
front: 'Librairie front',
|
|
541
544
|
ref: 'Référentiel',
|
|
@@ -562,7 +565,6 @@ const frTranslations$1 = {
|
|
|
562
565
|
defineCatalog: 'Définissez votre entrée de catalogue',
|
|
563
566
|
buttonChoice: 'Sélectionner une restitution',
|
|
564
567
|
tooltip: {
|
|
565
|
-
openParameter: 'Ouvrir les paramètres',
|
|
566
568
|
params: 'Paramétrer la vue de votre restitution',
|
|
567
569
|
readSearch: 'Choisir les données',
|
|
568
570
|
deleteWidget: 'Supprimer votre restitution',
|
|
@@ -650,10 +652,10 @@ const frTranslations$1 = {
|
|
|
650
652
|
detail: 'Détail',
|
|
651
653
|
chart: 'Graphique',
|
|
652
654
|
resultSet: 'Recherches nommées',
|
|
653
|
-
saveView: 'Enregistrer sous',
|
|
654
655
|
rename: 'Enregistrer sous',
|
|
655
656
|
restore: 'Restaurer les pages',
|
|
656
657
|
save: 'Enregistrer',
|
|
658
|
+
share: 'Partager',
|
|
657
659
|
drag: 'Restitution...',
|
|
658
660
|
dragIndication: 'Insérer un',
|
|
659
661
|
barchart: 'Barres',
|
|
@@ -861,7 +863,7 @@ const frTranslations$1 = {
|
|
|
861
863
|
modify: 'Modifier'
|
|
862
864
|
},
|
|
863
865
|
creation: {
|
|
864
|
-
create: '
|
|
866
|
+
create: 'Créer un filtre',
|
|
865
867
|
update: 'Modifier un filtre',
|
|
866
868
|
name: 'Nom du filtre',
|
|
867
869
|
type: 'Type du filtre',
|
|
@@ -870,7 +872,8 @@ const frTranslations$1 = {
|
|
|
870
872
|
value: 'Valeur',
|
|
871
873
|
values: 'Valeurs',
|
|
872
874
|
validate: 'Valider',
|
|
873
|
-
limit: 'Nombre de suggestions'
|
|
875
|
+
limit: 'Nombre de suggestions',
|
|
876
|
+
dateRange: 'Plage de dates'
|
|
874
877
|
},
|
|
875
878
|
attributes: {
|
|
876
879
|
datasource: 'Datasource',
|
|
@@ -1278,7 +1281,11 @@ function classReducer(state, action) {
|
|
|
1278
1281
|
|
|
1279
1282
|
const feature$8 = createFeatureSelector(classesFeatureKey);
|
|
1280
1283
|
const entities$2 = createSelector(feature$8, selectEntities$2);
|
|
1281
|
-
const
|
|
1284
|
+
const classEntities = createSelector(feature$8, selectAll$2);
|
|
1285
|
+
const classes = createSelector(classEntities, (classes) => classes.map((c) => ({
|
|
1286
|
+
...c,
|
|
1287
|
+
attributes: c.attributes.map((attr) => ({ ...attr, technicalName: attr.technicalName ?? attr.name }))
|
|
1288
|
+
})));
|
|
1282
1289
|
const memoizeClassById = {};
|
|
1283
1290
|
const classById = (id) => {
|
|
1284
1291
|
if (!memoizeClassById[id]) {
|
|
@@ -2153,7 +2160,7 @@ const frTranslations = {
|
|
|
2153
2160
|
'@pry': {
|
|
2154
2161
|
dataset: {
|
|
2155
2162
|
consult: 'Consulter',
|
|
2156
|
-
title: 'Catalogue
|
|
2163
|
+
title: 'Catalogue de données',
|
|
2157
2164
|
search: 'Rechercher',
|
|
2158
2165
|
date: 'Date',
|
|
2159
2166
|
status: 'Statut',
|
|
@@ -3161,13 +3168,13 @@ const UNKNOWN_DATASOURCE = (id) => ({
|
|
|
3161
3168
|
id: id,
|
|
3162
3169
|
color: '#FFFFFF',
|
|
3163
3170
|
name: id,
|
|
3164
|
-
request: { fullSearch: { value: '???' } }
|
|
3171
|
+
request: { fullSearch: { value: '???' }, type: NamedQueryTypes.FULL_TEXT },
|
|
3172
|
+
sourceType: 'namedQuery'
|
|
3165
3173
|
});
|
|
3166
3174
|
class TranslateIdPipe {
|
|
3167
|
-
constructor(store, translateService,
|
|
3175
|
+
constructor(store, translateService, symbolService) {
|
|
3168
3176
|
this.store = store;
|
|
3169
3177
|
this.translateService = translateService;
|
|
3170
|
-
this.imageService = imageService;
|
|
3171
3178
|
this.symbolService = symbolService;
|
|
3172
3179
|
}
|
|
3173
3180
|
transform(value, ...args) {
|
|
@@ -3249,7 +3256,7 @@ class TranslateIdPipe {
|
|
|
3249
3256
|
}
|
|
3250
3257
|
return of(value);
|
|
3251
3258
|
}
|
|
3252
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslateIdPipe, deps: [{ token: i1.Store }, { token: PryI18nService }, { token:
|
|
3259
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslateIdPipe, deps: [{ token: i1.Store }, { token: PryI18nService }, { token: SymbolService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
3253
3260
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: TranslateIdPipe, name: "translateId" }); }
|
|
3254
3261
|
}
|
|
3255
3262
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslateIdPipe, decorators: [{
|
|
@@ -3257,7 +3264,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3257
3264
|
args: [{
|
|
3258
3265
|
name: 'translateId'
|
|
3259
3266
|
}]
|
|
3260
|
-
}], ctorParameters: function () { return [{ type: i1.Store }, { type: PryI18nService }, { type:
|
|
3267
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: PryI18nService }, { type: SymbolService }]; } });
|
|
3261
3268
|
|
|
3262
3269
|
class TranslateItemToSymbolPipe {
|
|
3263
3270
|
constructor(store, translateService, imageService, symbolService) {
|
|
@@ -3924,6 +3931,16 @@ const BASE_DISPLAY_OPTIONS = {
|
|
|
3924
3931
|
default_size: false,
|
|
3925
3932
|
refresh_datasets: false,
|
|
3926
3933
|
automate_refresh: false
|
|
3934
|
+
},
|
|
3935
|
+
edit_toggle: false,
|
|
3936
|
+
widgetContextMenu: {
|
|
3937
|
+
datasourceSelection: true,
|
|
3938
|
+
parameters: true,
|
|
3939
|
+
window: true,
|
|
3940
|
+
maximize: true,
|
|
3941
|
+
addToCatalog: true,
|
|
3942
|
+
delete: true,
|
|
3943
|
+
changeSpot: true
|
|
3927
3944
|
}
|
|
3928
3945
|
};
|
|
3929
3946
|
function getDisplayOptions(mode) {
|
|
@@ -3932,14 +3949,16 @@ function getDisplayOptions(mode) {
|
|
|
3932
3949
|
return {
|
|
3933
3950
|
...BASE_DISPLAY_OPTIONS,
|
|
3934
3951
|
useFilters: true,
|
|
3935
|
-
toolbox: { ...BASE_DISPLAY_OPTIONS.toolbox, save_view_as: true, refresh_datasets: true }
|
|
3952
|
+
toolbox: { ...BASE_DISPLAY_OPTIONS.toolbox, save_view_as: true, refresh_datasets: true },
|
|
3953
|
+
widgetContextMenu: false
|
|
3936
3954
|
};
|
|
3937
3955
|
case ViewMode.SEARCH:
|
|
3938
3956
|
return {
|
|
3939
3957
|
...BASE_DISPLAY_OPTIONS,
|
|
3940
3958
|
presentationTitle: false,
|
|
3941
3959
|
search: true,
|
|
3942
|
-
toolbox: { ...BASE_DISPLAY_OPTIONS.toolbox, clear_view: true, default_size: true, refresh_datasets: true }
|
|
3960
|
+
toolbox: { ...BASE_DISPLAY_OPTIONS.toolbox, clear_view: true, default_size: true, refresh_datasets: true },
|
|
3961
|
+
edit_toggle: true
|
|
3943
3962
|
};
|
|
3944
3963
|
case ViewMode.EDITION:
|
|
3945
3964
|
case ViewMode.CREATION:
|
|
@@ -3952,7 +3971,9 @@ function getDisplayOptions(mode) {
|
|
|
3952
3971
|
acc[key] = true;
|
|
3953
3972
|
return acc;
|
|
3954
3973
|
}, {})
|
|
3955
|
-
}
|
|
3974
|
+
},
|
|
3975
|
+
edit_toggle: true,
|
|
3976
|
+
widgetContextMenu: false
|
|
3956
3977
|
};
|
|
3957
3978
|
default:
|
|
3958
3979
|
return BASE_DISPLAY_OPTIONS;
|
|
@@ -4548,14 +4569,14 @@ class ItemUtils {
|
|
|
4548
4569
|
}
|
|
4549
4570
|
if (attribute.multiValued) {
|
|
4550
4571
|
return (((!item.hasOwnProperty('oClass')
|
|
4551
|
-
? item.get('attributes')[attribute.
|
|
4552
|
-
: item.attributes[attribute.
|
|
4572
|
+
? item.get('attributes')[attribute.technicalName] ?? {}
|
|
4573
|
+
: item.attributes[attribute.technicalName]) ?? {}).values ?? [])
|
|
4553
4574
|
.map((v) => ({ ...v, value: v.visible ? v.value : hiddenFieldText }))
|
|
4554
4575
|
.sort(ItemUtils.sortAttributes);
|
|
4555
4576
|
}
|
|
4556
4577
|
return (!item.hasOwnProperty('oClass')
|
|
4557
|
-
? item.get('attributes')[attribute.
|
|
4558
|
-
: item.attributes[attribute.
|
|
4578
|
+
? item.get('attributes')[attribute.technicalName]
|
|
4579
|
+
: item.attributes[attribute.technicalName]);
|
|
4559
4580
|
}
|
|
4560
4581
|
static getAttributeCalculatedValue(item, attribute) {
|
|
4561
4582
|
if (!attribute) {
|
|
@@ -4619,7 +4640,7 @@ class ItemUtils {
|
|
|
4619
4640
|
...new Set(Object.keys(resultSet?.items || {})
|
|
4620
4641
|
.map((classId) => classes.find((cl) => cl.id === classId))
|
|
4621
4642
|
.filter((oClass) => oClass !== undefined)
|
|
4622
|
-
.map((oClass) => oClass.attributes.filter((attr) => ItemUtils.getAttributesDefinitionForClass(oClass, definitions, fields).includes(attr.
|
|
4643
|
+
.map((oClass) => oClass.attributes.filter((attr) => ItemUtils.getAttributesDefinitionForClass(oClass, definitions, fields).includes(attr.technicalName)))
|
|
4623
4644
|
.reduce((p, c) => [...p, ...c], [])
|
|
4624
4645
|
.filter((attr) => !!fields.find((f) => f.id === attr.field)))
|
|
4625
4646
|
];
|
|
@@ -4631,7 +4652,7 @@ class ItemUtils {
|
|
|
4631
4652
|
const attrField = fields.find((f) => f.id === attr.field);
|
|
4632
4653
|
return attrField && !GeometricFieldTypes.includes(attrField.type);
|
|
4633
4654
|
})
|
|
4634
|
-
.map((attr) => attr.
|
|
4655
|
+
.map((attr) => attr.technicalName));
|
|
4635
4656
|
}
|
|
4636
4657
|
static ensureItemIdHasCorrectFormat(item) {
|
|
4637
4658
|
if (!item.id.includes('@')) {
|
|
@@ -4989,6 +5010,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4989
5010
|
type: Injectable
|
|
4990
5011
|
}], ctorParameters: function () { return [{ type: i1$2.HttpClient }]; } });
|
|
4991
5012
|
|
|
5013
|
+
class EllipsisDirective {
|
|
5014
|
+
constructor(elementRef, renderer) {
|
|
5015
|
+
this.elementRef = elementRef;
|
|
5016
|
+
this.renderer = renderer;
|
|
5017
|
+
}
|
|
5018
|
+
ngAfterViewInit() {
|
|
5019
|
+
const element = this.elementRef.nativeElement;
|
|
5020
|
+
const child = this.elementRef.nativeElement.querySelector(this.textElementSelector);
|
|
5021
|
+
this.renderer.setStyle(child, 'overflow', 'hidden');
|
|
5022
|
+
this.renderer.setStyle(child, 'white-space', 'nowrap');
|
|
5023
|
+
this.renderer.setStyle(child, 'text-overflow', 'ellipsis');
|
|
5024
|
+
if (child && child.offsetWidth < child.scrollWidth) {
|
|
5025
|
+
this.renderer.addClass(element, 'a-tooltip');
|
|
5026
|
+
this.renderer.setAttribute(element, 'data-tooltip', child.innerHTML ?? element.innerHTML);
|
|
5027
|
+
this.renderer.setAttribute(element, 'data-tooltip-position', 'bottom');
|
|
5028
|
+
}
|
|
5029
|
+
}
|
|
5030
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EllipsisDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5031
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: EllipsisDirective, selector: "[ellipsis]", inputs: { textElementSelector: "textElementSelector" }, ngImport: i0 }); }
|
|
5032
|
+
}
|
|
5033
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EllipsisDirective, decorators: [{
|
|
5034
|
+
type: Directive,
|
|
5035
|
+
args: [{
|
|
5036
|
+
selector: '[ellipsis]'
|
|
5037
|
+
}]
|
|
5038
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { textElementSelector: [{
|
|
5039
|
+
type: Input
|
|
5040
|
+
}] } });
|
|
5041
|
+
|
|
4992
5042
|
const SELECTORS = [
|
|
4993
5043
|
TranslateIdPipe,
|
|
4994
5044
|
TranslateItemToSymbolPipe,
|
|
@@ -5003,7 +5053,8 @@ const SELECTORS = [
|
|
|
5003
5053
|
AccordionComponent,
|
|
5004
5054
|
AccordionItemComponent,
|
|
5005
5055
|
TabGroupComponent,
|
|
5006
|
-
TabComponent
|
|
5056
|
+
TabComponent,
|
|
5057
|
+
EllipsisDirective
|
|
5007
5058
|
];
|
|
5008
5059
|
class PryCoreModule {
|
|
5009
5060
|
constructor(pryTranslateService) {
|
|
@@ -5037,7 +5088,8 @@ class PryCoreModule {
|
|
|
5037
5088
|
AccordionComponent,
|
|
5038
5089
|
AccordionItemComponent,
|
|
5039
5090
|
TabGroupComponent,
|
|
5040
|
-
TabComponent,
|
|
5091
|
+
TabComponent,
|
|
5092
|
+
EllipsisDirective, BaseToolboxActionComponent], imports: [CommonModule,
|
|
5041
5093
|
RouterModule,
|
|
5042
5094
|
HttpClientModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1$3.EffectsFeatureModule, i1$3.EffectsFeatureModule, i1$3.EffectsFeatureModule, i1$3.EffectsFeatureModule, i1$3.EffectsFeatureModule, i1$3.EffectsFeatureModule, i1$3.EffectsFeatureModule, i1$3.EffectsFeatureModule, i1$3.EffectsFeatureModule, PryIconModule,
|
|
5043
5095
|
OverlayModule,
|
|
@@ -5058,7 +5110,8 @@ class PryCoreModule {
|
|
|
5058
5110
|
AccordionComponent,
|
|
5059
5111
|
AccordionItemComponent,
|
|
5060
5112
|
TabGroupComponent,
|
|
5061
|
-
TabComponent
|
|
5113
|
+
TabComponent,
|
|
5114
|
+
EllipsisDirective] }); }
|
|
5062
5115
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryCoreModule, providers: [AsyncPipe, TranslateIdPipe, TranslateItemToSymbolPipe], imports: [CommonModule,
|
|
5063
5116
|
RouterModule,
|
|
5064
5117
|
HttpClientModule,
|
|
@@ -6513,28 +6566,51 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
6513
6566
|
|
|
6514
6567
|
let uniqueId$1 = 0;
|
|
6515
6568
|
class PrySelectComponent {
|
|
6569
|
+
set items(items) {
|
|
6570
|
+
this._items$.next(items ?? []);
|
|
6571
|
+
}
|
|
6516
6572
|
get disabled() {
|
|
6517
6573
|
return this._disabled;
|
|
6518
6574
|
}
|
|
6519
|
-
|
|
6575
|
+
get modalId() {
|
|
6576
|
+
return 'select-modal-' + this.id;
|
|
6577
|
+
}
|
|
6578
|
+
constructor(_cd, overlay, viewContainerRef) {
|
|
6520
6579
|
this._cd = _cd;
|
|
6580
|
+
this.overlay = overlay;
|
|
6581
|
+
this.viewContainerRef = viewContainerRef;
|
|
6521
6582
|
this.id = uniqueId$1++;
|
|
6522
|
-
this.
|
|
6523
|
-
this.
|
|
6524
|
-
this.
|
|
6583
|
+
this._items$ = new BehaviorSubject([]);
|
|
6584
|
+
this.open = false;
|
|
6585
|
+
this.activeDescendant = -1;
|
|
6586
|
+
this.value$ = new BehaviorSubject(undefined);
|
|
6587
|
+
this.searchSelected$ = new BehaviorSubject(false);
|
|
6525
6588
|
this.clearable = false;
|
|
6526
6589
|
this.multiple = false;
|
|
6527
|
-
this.multipleClearRight = false;
|
|
6528
6590
|
this.closeOnSelect = true;
|
|
6529
6591
|
this.isForm = false;
|
|
6530
6592
|
this.readonly = false;
|
|
6531
|
-
this.itemsAsOption = false;
|
|
6532
|
-
this.bindData = false;
|
|
6533
|
-
this.iconSize = [14, 14];
|
|
6534
6593
|
this.autocomplete = false;
|
|
6594
|
+
this.iconSize = [14, 14];
|
|
6595
|
+
this.i18nPrefix = null;
|
|
6596
|
+
this.searched = new EventEmitter();
|
|
6597
|
+
this.cleared = new EventEmitter();
|
|
6598
|
+
this.search$ = new BehaviorSubject('');
|
|
6535
6599
|
this._onChange = (_) => { };
|
|
6536
6600
|
this._onTouched = () => { };
|
|
6537
6601
|
this._disabled = false;
|
|
6602
|
+
this.focused = false;
|
|
6603
|
+
this.modalWidth = 200;
|
|
6604
|
+
this.matchingItems$ = combineLatest([this._items$, this.search$, this.searchSelected$]).pipe(map$1(([items, term, alreadySelected]) => term && term.length > 0 && !alreadySelected
|
|
6605
|
+
? items.filter((i) => {
|
|
6606
|
+
const itemValue = this.bindLabel ? i?.[this.bindLabel] : i;
|
|
6607
|
+
return itemValue.indexOf(term) > -1;
|
|
6608
|
+
})
|
|
6609
|
+
: items));
|
|
6610
|
+
this.valueItems$ = combineLatest([this.value$, this._items$]).pipe(map$1(([value, items]) => (this.multiple ? value ?? [] : !!value ? [value] : []).map((value) => items.find((item) => {
|
|
6611
|
+
const itemValue = this.bindValue ? item?.[this.bindValue] : item;
|
|
6612
|
+
return itemValue === value;
|
|
6613
|
+
}))));
|
|
6538
6614
|
}
|
|
6539
6615
|
registerOnChange(fn) {
|
|
6540
6616
|
this._onChange = fn;
|
|
@@ -6547,21 +6623,121 @@ class PrySelectComponent {
|
|
|
6547
6623
|
this._cd.markForCheck();
|
|
6548
6624
|
}
|
|
6549
6625
|
writeValue(obj) {
|
|
6550
|
-
if (this.value !== obj) {
|
|
6551
|
-
this.value
|
|
6552
|
-
this._onChange(this.value);
|
|
6626
|
+
if (this.value$.getValue() !== obj) {
|
|
6627
|
+
this.value$.next(obj);
|
|
6628
|
+
this._onChange(this.value$.getValue());
|
|
6553
6629
|
this._onTouched();
|
|
6554
6630
|
this._cd.markForCheck();
|
|
6631
|
+
this.search$.next(obj);
|
|
6632
|
+
this.searchSelected$.next(true);
|
|
6633
|
+
}
|
|
6634
|
+
}
|
|
6635
|
+
clear($event, item) {
|
|
6636
|
+
$event.stopPropagation();
|
|
6637
|
+
const itemValue = this.bindValue ? item?.[this.bindValue] : item;
|
|
6638
|
+
this.writeValue(this.value$.getValue().filter((i) => i !== itemValue));
|
|
6639
|
+
}
|
|
6640
|
+
clearAll($event) {
|
|
6641
|
+
$event.stopPropagation();
|
|
6642
|
+
if (this.multiple) {
|
|
6643
|
+
this.writeValue([]);
|
|
6555
6644
|
}
|
|
6645
|
+
else {
|
|
6646
|
+
this.writeValue(undefined);
|
|
6647
|
+
}
|
|
6648
|
+
this.search('');
|
|
6649
|
+
this.cleared.next();
|
|
6650
|
+
}
|
|
6651
|
+
search($event) {
|
|
6652
|
+
this.search$.next($event);
|
|
6653
|
+
this.searched.next($event);
|
|
6654
|
+
this.searchSelected$.next(false);
|
|
6556
6655
|
}
|
|
6557
|
-
|
|
6558
|
-
|
|
6656
|
+
select($event, item, index) {
|
|
6657
|
+
const itemValue = this.bindValue ? item?.[this.bindValue] : item;
|
|
6658
|
+
if (this.multiple) {
|
|
6659
|
+
if (!this.value$.getValue()) {
|
|
6660
|
+
this.writeValue([itemValue]);
|
|
6661
|
+
}
|
|
6662
|
+
else {
|
|
6663
|
+
if (this.value$.getValue().includes(itemValue)) {
|
|
6664
|
+
this.clear($event, item);
|
|
6665
|
+
}
|
|
6666
|
+
else {
|
|
6667
|
+
this.writeValue([...this.value$.getValue(), itemValue]);
|
|
6668
|
+
}
|
|
6669
|
+
}
|
|
6670
|
+
}
|
|
6671
|
+
else {
|
|
6672
|
+
this.writeValue(itemValue);
|
|
6673
|
+
}
|
|
6674
|
+
if (this.closeOnSelect) {
|
|
6675
|
+
this.toggle(false);
|
|
6676
|
+
}
|
|
6677
|
+
this.activeDescendant = index;
|
|
6678
|
+
const itemLabel = this.bindLabel ? item?.[this.bindLabel] : item;
|
|
6679
|
+
this.search$.next(itemLabel);
|
|
6680
|
+
this.searchSelected$.next(true);
|
|
6681
|
+
}
|
|
6682
|
+
toggle(force) {
|
|
6683
|
+
if (!this.disabled) {
|
|
6684
|
+
if (this.open !== force) {
|
|
6685
|
+
this.open = force !== undefined ? force : !this.open;
|
|
6686
|
+
if (this.open) {
|
|
6687
|
+
this.modalWidth = this._elementRef.getBoundingClientRect().width - 5;
|
|
6688
|
+
this.overlayRef = this.overlay.create(this.getOverlayConfig());
|
|
6689
|
+
this.overlayRef.backdropClick().subscribe(() => {
|
|
6690
|
+
this.toggle(false);
|
|
6691
|
+
this.writeValue(this.search$.getValue());
|
|
6692
|
+
});
|
|
6693
|
+
this.overlayRef.attach(new TemplatePortal(this.optionsModal, this.viewContainerRef));
|
|
6694
|
+
}
|
|
6695
|
+
else {
|
|
6696
|
+
this.overlayRef?.dispose();
|
|
6697
|
+
this.overlayRef = undefined;
|
|
6698
|
+
}
|
|
6699
|
+
}
|
|
6700
|
+
}
|
|
6701
|
+
}
|
|
6702
|
+
getOverlayConfig() {
|
|
6703
|
+
const positionStrategy = this.overlay
|
|
6704
|
+
.position()
|
|
6705
|
+
.flexibleConnectedTo(this._elementRef)
|
|
6706
|
+
.withPush(false)
|
|
6707
|
+
.withPositions([
|
|
6708
|
+
{
|
|
6709
|
+
originX: 'start',
|
|
6710
|
+
originY: 'bottom',
|
|
6711
|
+
overlayX: 'start',
|
|
6712
|
+
overlayY: 'top'
|
|
6713
|
+
},
|
|
6714
|
+
{
|
|
6715
|
+
originX: 'start',
|
|
6716
|
+
originY: 'top',
|
|
6717
|
+
overlayX: 'start',
|
|
6718
|
+
overlayY: 'bottom'
|
|
6719
|
+
}
|
|
6720
|
+
]);
|
|
6721
|
+
const scrollStrategy = this.overlay.scrollStrategies.reposition();
|
|
6722
|
+
return new OverlayConfig({
|
|
6723
|
+
positionStrategy: positionStrategy,
|
|
6724
|
+
scrollStrategy: scrollStrategy,
|
|
6725
|
+
hasBackdrop: true,
|
|
6726
|
+
panelClass: ['a-pry-select__options'],
|
|
6727
|
+
backdropClass: 'a-pry-select__backdrop'
|
|
6728
|
+
});
|
|
6729
|
+
}
|
|
6730
|
+
get _elementRef() {
|
|
6731
|
+
return this.elementRef ?? this.selectElement.nativeElement;
|
|
6732
|
+
}
|
|
6733
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6734
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PrySelectComponent, selector: "pry-select", inputs: { items: "items", clearable: "clearable", multiple: "multiple", closeOnSelect: "closeOnSelect", placeholder: "placeholder", isForm: "isForm", required: "required", name: "name", readonly: "readonly", autocomplete: "autocomplete", bindValue: "bindValue", bindLabel: "bindLabel", iconSize: "iconSize", bindIcon: "bindIcon", template: "template", i18nPrefix: "i18nPrefix", elementRef: "elementRef" }, outputs: { searched: "searched", cleared: "cleared" }, providers: [
|
|
6559
6735
|
{
|
|
6560
6736
|
provide: NG_VALUE_ACCESSOR,
|
|
6561
6737
|
useExisting: forwardRef(() => PrySelectComponent),
|
|
6562
6738
|
multi: true
|
|
6563
6739
|
}
|
|
6564
|
-
],
|
|
6740
|
+
], viewQueries: [{ propertyName: "optionsModal", first: true, predicate: ["optionsModal"], descendants: true, read: TemplateRef }, { propertyName: "selectElement", first: true, predicate: ["selectElement"], descendants: true }], ngImport: i0, template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"toggle()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n>\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)\"\n (focus)=\"toggle(true)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\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 class=\"a-pry-select__value\" [class.pry-select-form]=\"isForm\" [class.-multiple]=\"multiple\">\n <ng-container *ngIf=\"template; else noTemplateLabel\">\n <ng-template let-item=\"item\" let-clear=\"clear\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-template>\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 <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<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 >\n <ng-container *ngFor=\"let item of matchingItems$ | async; let index = index\">\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 [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\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-icon *ngIf=\"bindIcon\" [iconSvg]=\"item[bindIcon]\" [width]=\"iconSize[0]\" [height]=\"iconSize[1]\"></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 </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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.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: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
6565
6741
|
}
|
|
6566
6742
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySelectComponent, decorators: [{
|
|
6567
6743
|
type: Component,
|
|
@@ -6571,21 +6747,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
6571
6747
|
useExisting: forwardRef(() => PrySelectComponent),
|
|
6572
6748
|
multi: true
|
|
6573
6749
|
}
|
|
6574
|
-
], template: "<
|
|
6575
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: {
|
|
6576
|
-
type: Input
|
|
6577
|
-
}], baseTranslate: [{
|
|
6578
|
-
type: Input
|
|
6579
|
-
}], translationFn: [{
|
|
6580
|
-
type: Input
|
|
6581
|
-
}], translationFnArgs: [{
|
|
6750
|
+
], template: "<div\n class=\"a-pry-select\"\n [attr.aria-disabled]=\"disabled\"\n #selectElement\n [class.-focused]=\"focused\"\n (click)=\"toggle()\"\n role=\"combobox\"\n [attr.aria-expanded]=\"open\"\n [attr.aria-owns]=\"open ? modalId : null\"\n aria-haspopup=\"listbox\"\n>\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)\"\n (focus)=\"toggle(true)\"\n aria-autocomplete=\"list\"\n [attr.aria-controls]=\"open ? modalId : null\"\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 class=\"a-pry-select__value\" [class.pry-select-form]=\"isForm\" [class.-multiple]=\"multiple\">\n <ng-container *ngIf=\"template; else noTemplateLabel\">\n <ng-template let-item=\"item\" let-clear=\"clear\">\n <ng-container [ngTemplateOutlet]=\"template\" [ngTemplateOutletContext]=\"{ item, clear }\"></ng-container>\n </ng-template>\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 <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<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 >\n <ng-container *ngFor=\"let item of matchingItems$ | async; let index = index\">\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 [style.width.px]=\"modalWidth\"\n role=\"option\"\n [id]=\"'select-option-' + index\"\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-icon *ngIf=\"bindIcon\" [iconSvg]=\"item[bindIcon]\" [width]=\"iconSize[0]\" [height]=\"iconSize[1]\"></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 </div>\n</ng-template>\n" }]
|
|
6751
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i2.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { items: [{
|
|
6582
6752
|
type: Input
|
|
6583
6753
|
}], clearable: [{
|
|
6584
6754
|
type: Input
|
|
6585
6755
|
}], multiple: [{
|
|
6586
6756
|
type: Input
|
|
6587
|
-
}], multipleClearRight: [{
|
|
6588
|
-
type: Input
|
|
6589
6757
|
}], closeOnSelect: [{
|
|
6590
6758
|
type: Input
|
|
6591
6759
|
}], placeholder: [{
|
|
@@ -6598,37 +6766,43 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
6598
6766
|
type: Input
|
|
6599
6767
|
}], readonly: [{
|
|
6600
6768
|
type: Input
|
|
6601
|
-
}],
|
|
6602
|
-
type: Input
|
|
6603
|
-
}], itemsAsOption: [{
|
|
6604
|
-
type: Input
|
|
6605
|
-
}], bindData: [{
|
|
6769
|
+
}], autocomplete: [{
|
|
6606
6770
|
type: Input
|
|
6607
6771
|
}], bindValue: [{
|
|
6608
6772
|
type: Input
|
|
6609
6773
|
}], bindLabel: [{
|
|
6610
6774
|
type: Input
|
|
6611
|
-
}], bindIcon: [{
|
|
6612
|
-
type: Input
|
|
6613
6775
|
}], iconSize: [{
|
|
6614
6776
|
type: Input
|
|
6615
|
-
}],
|
|
6777
|
+
}], bindIcon: [{
|
|
6778
|
+
type: Input
|
|
6779
|
+
}], template: [{
|
|
6616
6780
|
type: Input
|
|
6617
|
-
}],
|
|
6781
|
+
}], i18nPrefix: [{
|
|
6618
6782
|
type: Input
|
|
6619
|
-
}],
|
|
6783
|
+
}], searched: [{
|
|
6784
|
+
type: Output
|
|
6785
|
+
}], cleared: [{
|
|
6786
|
+
type: Output
|
|
6787
|
+
}], optionsModal: [{
|
|
6788
|
+
type: ViewChild,
|
|
6789
|
+
args: ['optionsModal', { read: TemplateRef }]
|
|
6790
|
+
}], selectElement: [{
|
|
6791
|
+
type: ViewChild,
|
|
6792
|
+
args: ['selectElement']
|
|
6793
|
+
}], elementRef: [{
|
|
6620
6794
|
type: Input
|
|
6621
6795
|
}] } });
|
|
6622
6796
|
|
|
6623
6797
|
class PrySelectModule {
|
|
6624
6798
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6625
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PrySelectModule, declarations: [PrySelectComponent], imports: [CommonModule,
|
|
6626
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySelectModule, imports: [CommonModule,
|
|
6799
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PrySelectModule, declarations: [PrySelectComponent], imports: [CommonModule, FormsModule, PryIconModule, PryI18nModule], exports: [PrySelectComponent] }); }
|
|
6800
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySelectModule, imports: [CommonModule, FormsModule, PryIconModule, PryI18nModule] }); }
|
|
6627
6801
|
}
|
|
6628
6802
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PrySelectModule, decorators: [{
|
|
6629
6803
|
type: NgModule,
|
|
6630
6804
|
args: [{
|
|
6631
|
-
imports: [CommonModule,
|
|
6805
|
+
imports: [CommonModule, FormsModule, PryIconModule, PryI18nModule],
|
|
6632
6806
|
declarations: [PrySelectComponent],
|
|
6633
6807
|
exports: [PrySelectComponent]
|
|
6634
6808
|
}]
|
|
@@ -6809,7 +6983,7 @@ class PryShareComponent {
|
|
|
6809
6983
|
useExisting: forwardRef(() => PryShareComponent),
|
|
6810
6984
|
multi: true
|
|
6811
6985
|
}
|
|
6812
|
-
], 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)=\"writeValueType($event)\"\n [
|
|
6986
|
+
], 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)=\"writeValueType($event)\"\n [items]=\"visibilityTypes\"\n [ngModel]=\"value?.type\"\n [disabled]=\"_disabled\"\n i18nPrefix=\"@pry.share.\"\n bindValue=\"value\"\n bindLabel=\"label\"\n id=\"share_type\"\n bindIcon=\"icon\"\n [iconSize]=\"[21, 18]\"\n ></pry-select>\n</div>\n\n<ng-container *ngIf=\"value?.type === PryVisibilityType.RESTRICTED\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"users\">{{ '@pry.share.users' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"writeValueUsers($event)\"\n [items]=\"users$ | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n [ngModel]=\"value?.users\"\n [disabled]=\"_disabled\"\n [bindLabel]=\"labelProperty\"\n [bindValue]=\"valueProperty\"\n [autocomplete]=\"true\"\n id=\"users\"\n ></pry-select>\n </div>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.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", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "elementRef"], outputs: ["searched", "cleared"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6813
6987
|
}
|
|
6814
6988
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryShareComponent, decorators: [{
|
|
6815
6989
|
type: Component,
|
|
@@ -6819,7 +6993,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
6819
6993
|
useExisting: forwardRef(() => PryShareComponent),
|
|
6820
6994
|
multi: true
|
|
6821
6995
|
}
|
|
6822
|
-
], 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)=\"writeValueType($event)\"\n [
|
|
6996
|
+
], 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)=\"writeValueType($event)\"\n [items]=\"visibilityTypes\"\n [ngModel]=\"value?.type\"\n [disabled]=\"_disabled\"\n i18nPrefix=\"@pry.share.\"\n bindValue=\"value\"\n bindLabel=\"label\"\n id=\"share_type\"\n bindIcon=\"icon\"\n [iconSize]=\"[21, 18]\"\n ></pry-select>\n</div>\n\n<ng-container *ngIf=\"value?.type === PryVisibilityType.RESTRICTED\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"users\">{{ '@pry.share.users' | i18n }}</label>\n <pry-select\n (ngModelChange)=\"writeValueUsers($event)\"\n [items]=\"users$ | async\"\n [multiple]=\"true\"\n [closeOnSelect]=\"false\"\n [ngModel]=\"value?.users\"\n [disabled]=\"_disabled\"\n [bindLabel]=\"labelProperty\"\n [bindValue]=\"valueProperty\"\n [autocomplete]=\"true\"\n id=\"users\"\n ></pry-select>\n </div>\n</ng-container>\n" }]
|
|
6823
6997
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { value: [{
|
|
6824
6998
|
type: Input
|
|
6825
6999
|
}], labelProperty: [{
|
|
@@ -7645,19 +7819,19 @@ class PryObjectEditionComponent extends SubscriptionnerDirective {
|
|
|
7645
7819
|
}
|
|
7646
7820
|
assignValue(attribute, $event) {
|
|
7647
7821
|
const value = this.fieldType(attribute) === FieldType.INSTANT && $event !== '' ? new Date($event).getTime() : $event;
|
|
7648
|
-
if (!this.tmpObject.attributes[attribute.
|
|
7649
|
-
this.tmpObject.attributes[attribute.
|
|
7822
|
+
if (!this.tmpObject.attributes[attribute.technicalName]) {
|
|
7823
|
+
this.tmpObject.attributes[attribute.technicalName] = { type: 'VALUE', metadata: {}, value, visible: true };
|
|
7650
7824
|
}
|
|
7651
7825
|
else {
|
|
7652
|
-
this.tmpObject.attributes[attribute.
|
|
7826
|
+
this.tmpObject.attributes[attribute.technicalName].value = value;
|
|
7653
7827
|
}
|
|
7654
7828
|
}
|
|
7655
7829
|
value(attribute) {
|
|
7656
|
-
const value = this.tmpObject.attributes[attribute.
|
|
7830
|
+
const value = this.tmpObject.attributes[attribute.technicalName]?.value;
|
|
7657
7831
|
if (this.fieldType(attribute) === FieldType.INSTANT) {
|
|
7658
7832
|
return value !== undefined && value !== '' ? DateUtils.formatDate(new Date(value)) : undefined;
|
|
7659
7833
|
}
|
|
7660
|
-
return (this.tmpObject.attributes[attribute.
|
|
7834
|
+
return (this.tmpObject.attributes[attribute.technicalName] ?? {}).value;
|
|
7661
7835
|
}
|
|
7662
7836
|
toggleDatePicker($event, id) {
|
|
7663
7837
|
$event.preventDefault();
|
|
@@ -7675,34 +7849,34 @@ class PryObjectEditionComponent extends SubscriptionnerDirective {
|
|
|
7675
7849
|
}
|
|
7676
7850
|
}
|
|
7677
7851
|
multiValues(attribute) {
|
|
7678
|
-
return (this.tmpObject.attributes[attribute.
|
|
7852
|
+
return (this.tmpObject.attributes[attribute.technicalName] ?? { values: [] }).values;
|
|
7679
7853
|
}
|
|
7680
7854
|
removeMultiValued(attribute, i) {
|
|
7681
|
-
this.tmpObject.attributes[attribute.
|
|
7855
|
+
this.tmpObject.attributes[attribute.technicalName].values.splice(i, 1);
|
|
7682
7856
|
}
|
|
7683
7857
|
addMultiValued(attribute) {
|
|
7684
|
-
if (!this.tmpObject.attributes[attribute.
|
|
7685
|
-
this.tmpObject.attributes[attribute.
|
|
7858
|
+
if (!this.tmpObject.attributes[attribute.technicalName]) {
|
|
7859
|
+
this.tmpObject.attributes[attribute.technicalName] = { type: 'MULTI', values: [] };
|
|
7686
7860
|
}
|
|
7687
|
-
this.tmpObject.attributes[attribute.
|
|
7861
|
+
this.tmpObject.attributes[attribute.technicalName].values.push({
|
|
7688
7862
|
type: 'VALUE',
|
|
7689
7863
|
metadata: {},
|
|
7690
7864
|
// @ts-ignore
|
|
7691
7865
|
value: undefined,
|
|
7692
7866
|
visible: true
|
|
7693
7867
|
});
|
|
7694
|
-
return this.tmpObject.attributes[attribute.
|
|
7868
|
+
return this.tmpObject.attributes[attribute.technicalName].values.length - 1;
|
|
7695
7869
|
}
|
|
7696
7870
|
valueMulti(attribute, i) {
|
|
7697
7871
|
return this.multiValues(attribute)[i].value;
|
|
7698
7872
|
}
|
|
7699
7873
|
assignValueMulti(attribute, $event, i) {
|
|
7700
7874
|
const value = this.fieldType(attribute) === FieldType.INSTANT ? new Date($event).getTime() : $event;
|
|
7701
|
-
if (!this.tmpObject.attributes[attribute.
|
|
7702
|
-
this.tmpObject.attributes[attribute.
|
|
7875
|
+
if (!this.tmpObject.attributes[attribute.technicalName]) {
|
|
7876
|
+
this.tmpObject.attributes[attribute.technicalName] = { type: 'MULTI', values: [] };
|
|
7703
7877
|
}
|
|
7704
|
-
if (!this.tmpObject.attributes[attribute.
|
|
7705
|
-
this.tmpObject.attributes[attribute.
|
|
7878
|
+
if (!this.tmpObject.attributes[attribute.technicalName].values[i]) {
|
|
7879
|
+
this.tmpObject.attributes[attribute.technicalName].values[i] = {
|
|
7706
7880
|
type: 'VALUE',
|
|
7707
7881
|
metadata: {},
|
|
7708
7882
|
value,
|
|
@@ -7710,7 +7884,7 @@ class PryObjectEditionComponent extends SubscriptionnerDirective {
|
|
|
7710
7884
|
};
|
|
7711
7885
|
}
|
|
7712
7886
|
else {
|
|
7713
|
-
this.tmpObject.attributes[attribute.
|
|
7887
|
+
this.tmpObject.attributes[attribute.technicalName].values[i].value = value;
|
|
7714
7888
|
}
|
|
7715
7889
|
}
|
|
7716
7890
|
changeClass($event) {
|
|
@@ -7718,7 +7892,7 @@ class PryObjectEditionComponent extends SubscriptionnerDirective {
|
|
|
7718
7892
|
this.tmpObject.oClass = $event;
|
|
7719
7893
|
if (this.from === 'map') {
|
|
7720
7894
|
this.attributes.forEach((attribute) => {
|
|
7721
|
-
if (['latitude', 'lat'].indexOf(attribute.
|
|
7895
|
+
if (['latitude', 'lat'].indexOf(attribute.technicalName) >= 0) {
|
|
7722
7896
|
if (attribute.multiValued) {
|
|
7723
7897
|
const idx = this.addMultiValued(attribute);
|
|
7724
7898
|
this.assignValueMulti(attribute, (this.coordinates ?? [])[0], idx);
|
|
@@ -7727,7 +7901,7 @@ class PryObjectEditionComponent extends SubscriptionnerDirective {
|
|
|
7727
7901
|
this.assignValue(attribute, (this.coordinates ?? [])[0]);
|
|
7728
7902
|
}
|
|
7729
7903
|
}
|
|
7730
|
-
if (['longitude', 'long', 'lon', 'lng'].indexOf(attribute.
|
|
7904
|
+
if (['longitude', 'long', 'lon', 'lng'].indexOf(attribute.technicalName) >= 0) {
|
|
7731
7905
|
if (attribute.multiValued) {
|
|
7732
7906
|
const idx = this.addMultiValued(attribute);
|
|
7733
7907
|
this.assignValueMulti(attribute, (this.coordinates ?? [])[1], idx);
|
|
@@ -7741,8 +7915,8 @@ class PryObjectEditionComponent extends SubscriptionnerDirective {
|
|
|
7741
7915
|
}
|
|
7742
7916
|
setRawMethod(attribute, $event) {
|
|
7743
7917
|
this.method = $event;
|
|
7744
|
-
if (!this.tmpObject.attributes[attribute.
|
|
7745
|
-
this.tmpObject.attributes[attribute.
|
|
7918
|
+
if (!this.tmpObject.attributes[attribute.technicalName]) {
|
|
7919
|
+
this.tmpObject.attributes[attribute.technicalName] = {
|
|
7746
7920
|
type: 'VALUE',
|
|
7747
7921
|
metadata: {},
|
|
7748
7922
|
value: '',
|
|
@@ -7754,30 +7928,30 @@ class PryObjectEditionComponent extends SubscriptionnerDirective {
|
|
|
7754
7928
|
}
|
|
7755
7929
|
if ($event === this.UPLOAD_METHOD) {
|
|
7756
7930
|
// @ts-ignore
|
|
7757
|
-
delete this.tmpObject.attributes[attribute.
|
|
7931
|
+
delete this.tmpObject.attributes[attribute.technicalName].metadata[HTTP_ORIGIN_METADATA];
|
|
7758
7932
|
}
|
|
7759
7933
|
}
|
|
7760
7934
|
valueMetadata(attribute, type) {
|
|
7761
|
-
return ((this.tmpObject.attributes[attribute.
|
|
7935
|
+
return ((this.tmpObject.attributes[attribute.technicalName] ?? {}).metadata ?? {})[type];
|
|
7762
7936
|
}
|
|
7763
7937
|
assignMetadata(attribute, $event, type) {
|
|
7764
|
-
if (!this.tmpObject.attributes[attribute.
|
|
7765
|
-
this.tmpObject.attributes[attribute.
|
|
7938
|
+
if (!this.tmpObject.attributes[attribute.technicalName].metadata) {
|
|
7939
|
+
this.tmpObject.attributes[attribute.technicalName].metadata = { [type]: $event };
|
|
7766
7940
|
}
|
|
7767
7941
|
else {
|
|
7768
7942
|
// @ts-ignore
|
|
7769
|
-
this.tmpObject.attributes[attribute.
|
|
7943
|
+
this.tmpObject.attributes[attribute.technicalName].metadata[type] = $event;
|
|
7770
7944
|
}
|
|
7771
7945
|
}
|
|
7772
7946
|
toggleInversion() {
|
|
7773
7947
|
this.inversion = !this.inversion;
|
|
7774
7948
|
}
|
|
7775
7949
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryObjectEditionComponent, deps: [{ token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7776
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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--ghost -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 [itemsAsOption]=\"true\"\n bindLabel=\"label\"\n bindValue=\"id\"\n class=\"a-pry-select\"\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 [itemsAsOption]=\"true\"\n bindValue=\"id\"\n bindLabel=\"name\"\n class=\"a-pry-select\"\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 [itemsAsOption]=\"true\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [labelTranslate]=\"true\"\n class=\"a-pry-select\"\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$2.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$2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { 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: i8.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" }] }); }
|
|
7950
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", 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--ghost -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$2.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$2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.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", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "elementRef"], outputs: ["searched", "cleared"] }, { 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: i8.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" }] }); }
|
|
7777
7951
|
}
|
|
7778
7952
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryObjectEditionComponent, decorators: [{
|
|
7779
7953
|
type: Component,
|
|
7780
|
-
args: [{ selector: 'pry-object-creation', 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--ghost -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
|
|
7954
|
+
args: [{ selector: 'pry-object-creation', 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--ghost -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" }]
|
|
7781
7955
|
}], ctorParameters: function () { return [{ type: i2.Overlay }, { type: i0.ViewContainerRef }, { type: i1.Store }]; }, propDecorators: { link: [{
|
|
7782
7956
|
type: Input
|
|
7783
7957
|
}], object: [{
|
|
@@ -8725,9 +8899,6 @@ class ToolboxManifestService extends SubscriptionnerDirective {
|
|
|
8725
8899
|
const manifest = this.get(id);
|
|
8726
8900
|
$event.dataTransfer.dropEffect = 'copy';
|
|
8727
8901
|
$event.dataTransfer.effectAllowed = 'copy';
|
|
8728
|
-
if (!this.isModel(id) && manifest.header !== false) {
|
|
8729
|
-
manifest.header = { datasourceSelection: false };
|
|
8730
|
-
}
|
|
8731
8902
|
$event.dataTransfer.setData(MIME_TYPE_WIDGET_MANIFEST, JSON.stringify(manifest));
|
|
8732
8903
|
$event.dataTransfer.setData(MIME_TYPE_WIDGET_TYPE + manifest.type, 'unused');
|
|
8733
8904
|
}
|
|
@@ -9546,9 +9717,9 @@ class PryWidgetHeaderComponent extends SubscriptionnerDirective {
|
|
|
9546
9717
|
this.subscriptions.add(this.windowManifest$.subscribe((manifest) => {
|
|
9547
9718
|
this.windowManifest = manifest;
|
|
9548
9719
|
}));
|
|
9549
|
-
this.
|
|
9550
|
-
.select(DashboardSelectors.
|
|
9551
|
-
.pipe(map((
|
|
9720
|
+
this.displayContextMenu$ = this.store
|
|
9721
|
+
.select(DashboardSelectors.displayOptions)
|
|
9722
|
+
.pipe(map((options) => options.widgetContextMenu));
|
|
9552
9723
|
this.usedDatasources$ = combineLatest([
|
|
9553
9724
|
this.store.select(DataSourceSelectors.getDataSourcesSorted),
|
|
9554
9725
|
this.selectedDataSourceIds$
|
|
@@ -9775,15 +9946,6 @@ class PryWidgetHeaderComponent extends SubscriptionnerDirective {
|
|
|
9775
9946
|
isActionDisabled(option) {
|
|
9776
9947
|
return !!option?.disabled ? option?.disabled(this) : false;
|
|
9777
9948
|
}
|
|
9778
|
-
displayOption(headerOptions, parameters) {
|
|
9779
|
-
return (headerOptions === undefined ||
|
|
9780
|
-
headerOptions === true ||
|
|
9781
|
-
headerOptions[parameters] === undefined ||
|
|
9782
|
-
headerOptions[parameters] === true);
|
|
9783
|
-
}
|
|
9784
|
-
displaySettings(headerOptions) {
|
|
9785
|
-
return headerOptions === undefined || headerOptions === true || Object.keys(headerOptions).length > 0;
|
|
9786
|
-
}
|
|
9787
9949
|
toggleChangeSpot() {
|
|
9788
9950
|
if (!this.spotRef) {
|
|
9789
9951
|
this.places = WidgetPlacementUtils.placementOptions({ type: 'icon' }, this.currentLayout, {
|
|
@@ -9858,11 +10020,11 @@ class PryWidgetHeaderComponent extends SubscriptionnerDirective {
|
|
|
9858
10020
|
this.openSub?.unsubscribe();
|
|
9859
10021
|
}
|
|
9860
10022
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryWidgetHeaderComponent, deps: [{ token: i1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }, { token: ToolboxMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9861
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: { manifest: "manifest", openData$: "openData$", additionalOptions: "additionalOptions", headerOptions: "headerOptions", displayCount: "displayCount", datasourceIds: "datasourceIds", widgetIndex: "widgetIndex" }, outputs: { manifestModified: "manifestModified" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }, { propertyName: "templateModal", first: true, predicate: ["templateModal"], descendants: true, read: TemplateRef }, { propertyName: "toggle", first: true, predicate: ["toggle"], descendants: true, read: TemplateRef }, { propertyName: "overlayMenu", first: true, predicate: ["overlayMenu"], descendants: true, read: TemplateRef }, { propertyName: "overlayCatalog", first: true, predicate: ["overlayCatalog"], descendants: true, read: TemplateRef }, { propertyName: "overlaySpot", first: true, predicate: ["overlaySpot"], descendants: true, read: TemplateRef }, { propertyName: "togglePanel", first: true, predicate: ["togglePanel"], descendants: true }, { propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "validate", first: true, predicate: ["validate"], descendants: true }, { propertyName: "validateCatalog", first: true, predicate: ["validateCatalog"], descendants: true }, { propertyName: "cancel", first: true, predicate: ["cancel"], descendants: true }, { propertyName: "crossCatalog", first: true, predicate: ["crossCatalog"], descendants: true }, { propertyName: "inputCatalog", first: true, predicate: ["inputCatalog"], descendants: true }, { propertyName: "menuList", first: true, predicate: ["menuList"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"o-widget__header\">\n <div class=\"o-widget__header__content\">\n <h2 class=\"o-widget__header__content__title\" *ngIf=\"(manifest$ | async)?.title; else querySelector\">\n {{ (manifest$ | async)?.title }}\n </h2>\n <ng-template #querySelector>\n <div *ngFor=\"let ds of usedDatasources$ | async\" class=\"o-widget__header__content__query\">\n <ng-container\n *ngIf=\"ds.id | translateId : { type: 'datasource', output: 'icon', noDefault: true } | async as url\"\n >\n <img [height]=\"20\" [src]=\"url\" [width]=\"20\" alt=\"\" class=\"o-widget__header__content__query__icon\" />\n </ng-container>\n <h3 class=\"o-widget__header__content__query__name\">{{ ds.name }}</h3>\n <h3 class=\"o-widget__header__content__query__name\" *ngIf=\"displayCount && !isGeo(ds)\">\n ({{ [ds.id] | resultSetSize | async }})\n </h3>\n </div>\n <div *ngIf=\"((usedDatasources$ | async) ?? []).length === 0\" class=\"o-widget__header__content__no-data\">\n <h2 class=\"o-widget__header__content__title\">{{ '@pry.widget.noData' | i18n }}</h2>\n </div>\n </ng-template>\n </div>\n <div class=\"m-btn-group\" *ngIf=\"!(lockedView$ | async) && displaySettings(headerOptions)\">\n <button\n type=\"button\"\n id=\"dialog_Menu\"\n aria-controls=\"menu\"\n [attr.aria-expanded]=\"this.menu\"\n #togglePanel\n class=\"a-btn a-btn--more\"\n (click)=\"menuOpen($event)\"\n >\n <pry-icon [height]=\"25\" [width]=\"25\" iconSvg=\"more_horiz\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.openMenuWidget' | i18n }}</span>\n </button>\n </div>\n</div>\n\n<ng-template #overlayMenu>\n <div class=\"m-context-menu\">\n <ul\n class=\"m-context-menu__list\"\n #menuList\n id=\"menu\"\n role=\"menu\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_Menu\"\n (keydown.arrowDown)=\"onArrowDown()\"\n (keydown.arrowUp)=\"onArrowUp()\"\n (keydown.escape)=\"menuOpen()\"\n >\n <li\n class=\"m-context-menu__list__item\"\n role=\"none\"\n *ngIf=\"(manifest$ | async)?.datasource && displayOption(headerOptions, 'datasourceSelection')\"\n >\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n id=\"toggleActions\"\n (click)=\"toggleDatasourceSelection()\"\n *pryAccess=\"{ module: 'dashboard', page: 'widget', action: 'select_named_query' }\"\n class=\"a-btn a-tooltip\"\n [attr.data-tooltip]=\"'@pry.widget.tooltip.readSearch' | i18n\"\n data-tooltip-position=\"bottom\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"stack-fill\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.readSearch' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"displayOption(headerOptions, 'parameters')\">\n <ng-content></ng-content>\n </li>\n <ng-container *ngIf=\"displayOption(headerOptions, 'window')\">\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngFor=\"let targetIndex of targetIndexes$ | async\">\n <button\n type=\"button\"\n (click)=\"moveInNewWindow(_widgetIndex, targetIndex)\"\n class=\"a-btn\"\n role=\"menuitem\"\n tabindex=\"-1\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"launch\"></pry-icon>\n {{\n (targetIndex !== -1 ? '@pry.widget.target.existing' : '@pry.widget.target.new')\n | i18n : { targetIndex: this.targetIndex + 1 }\n }}\n </button>\n </li>\n </ng-container>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"hasGrid && displayOption(headerOptions, 'changeSpot')\">\n <button\n type=\"button\"\n role=\"menuitem\"\n (click)=\"toggleChangeSpot()\"\n class=\"a-btn a-tooltip\"\n tabindex=\"-1\"\n [attr.data-tooltip]=\"'@pry.widget.tooltip.changeSpot' | i18n\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"move\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.changeSpot' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"displayOption(headerOptions, 'maximize')\">\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"maximize(_widgetIndex)\"\n class=\"a-btn\"\n (keydown.escape)=\"menuOpen()\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"fullscreen\"></pry-icon>\n {{ '@pry.widget.target.maximize' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"displayOption(headerOptions, 'addToCatalog')\">\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"toggleCatalog()\"\n class=\"a-btn a-tooltip\"\n [attr.data-tooltip]=\"'@pry.widget.tooltip.catalogWidget' | i18n\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"library_add\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.catalogWidget' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"displayOption(headerOptions, 'delete')\">\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"toggleRemoveConfirm($event)\"\n class=\"a-btn a-tooltip\"\n [attr.data-tooltip]=\"'@pry.widget.tooltip.deleteWidget' | i18n\"\n (keydown.tab)=\"menuOpen()\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"delete\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.deleteWidget' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngFor=\"let option of additionalOptions\">\n <button\n type=\"button\"\n class=\"a-btn\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"executeAction(option)\"\n [disabled]=\"isActionDisabled(option)\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" [iconSvg]=\"option.icon\"></pry-icon>\n {{ option.label | i18n }}\n </button>\n </li>\n </ul>\n </div>\n</ng-template>\n\n<ng-template #templateModal>\n <div\n class=\"o-modal\"\n (keydown.escape)=\"cancelRemoveConfirm()\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog confirm delete presentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.widget.modalTitle' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #cross (click)=\"cancelRemoveConfirm()\">\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 <div class=\"m-btn-group\">\n <button type=\"button\" (click)=\"cancelRemoveConfirm()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button type=\"submit\" (click)=\"confirmRemove()\" class=\"a-btn a-btn--primary\" (keydown.tab)=\"focusCrossElement()\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #template>\n <pry-datasource-selector\n (cancel)=\"toggleDatasourceSelection()\"\n (validated)=\"emitManifest()\"\n (nextTab)=\"focusInputCatalog()\"\n (previousTab)=\"focusValidation()\"\n (datasourcesChanged)=\"datasourcesChanged($event)\"\n [datasourceIds]=\"(selectedDataSourceIds$ | async) ?? []\"\n ></pry-datasource-selector>\n</ng-template>\n\n<ng-template #overlayCatalog>\n <div\n class=\"o-modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_Catalog\"\n (keydown.escape)=\"toggleCatalog()\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{ '@pry.widget.defineCatalog' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button\n class=\"a-btn a-btn--icon-only\"\n (keydown.shift.tab)=\"focusValidation()\"\n #crossCatalog\n (click)=\"toggleCatalog()\"\n >\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 <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"name\">{{ '@pry.toolbox.catalog.label' | i18n }}</label>\n <input [(ngModel)]=\"catalogInfo.name\" id=\"name\" type=\"text\" class=\"a-form-field\" required />\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"description\">{{ '@pry.toolbox.catalog.description' | i18n }}</label>\n <input [(ngModel)]=\"catalogInfo.description\" id=\"description\" type=\"text\" class=\"a-form-field\" required />\n </div>\n <div class=\"m-form-label-field\">\n <pry-select-image\n [iconUrl]=\"catalogInfo.image\"\n (changed)=\"catalogInfo.image = $event\"\n [mode]=\"type\"\n ></pry-select-image>\n </div>\n <div class=\"m-btn-group\">\n <button\n type=\"button\"\n (click)=\"toggleCatalog()\"\n #cancel\n (keydown.tab)=\"disableValidation()\"\n class=\"a-btn a-btn--secondary\"\n >\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n #validateCatalog\n (click)=\"confirmCatalog()\"\n [disabled]=\"!toolboxMenuService.isValidForCatalog(catalogInfo.name)\"\n class=\"a-btn a-btn--primary\"\n (keydown.tab)=\"focusCrossElement()\"\n >\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #overlaySpot>\n <div class=\"o-modal\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{ '@pry.widget.tooltip.changeSpot' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"toggleChangeSpot()\">\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 <ng-container *ngFor=\"let place of places; let i = index\">\n <ng-container *ngIf=\"currentPlacementIndex !== i\">\n <button type=\"button\" class=\"a-btn\" (click)=\"moveToPlace(place)\">\n <span>{{ '@pry.widget.tooltip.spotName' | i18n : { place: i + 1 } }}</span>\n </button>\n </ng-container>\n </ng-container>\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: i3$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$2.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: PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: PrySelectImageComponent, selector: "pry-select-image", inputs: ["iconUrl", "size", "mode"], outputs: ["toggled", "changed"] }, { kind: "component", type: DatasourceSelectorComponent, selector: "pry-datasource-selector", inputs: ["manifest", "datasourceIds"], outputs: ["cancel", "validated", "previousTab", "nextTab", "datasourcesChanged"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: I18nPipe, name: "i18n" }, { kind: "pipe", type: ResultSetSizePipe, name: "resultSetSize" }] }); }
|
|
10023
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryWidgetHeaderComponent, selector: "pry-widget-header", inputs: { manifest: "manifest", openData$: "openData$", additionalOptions: "additionalOptions", headerOptions: "headerOptions", displayCount: "displayCount", datasourceIds: "datasourceIds", widgetIndex: "widgetIndex" }, outputs: { manifestModified: "manifestModified" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }, { propertyName: "templateModal", first: true, predicate: ["templateModal"], descendants: true, read: TemplateRef }, { propertyName: "toggle", first: true, predicate: ["toggle"], descendants: true, read: TemplateRef }, { propertyName: "overlayMenu", first: true, predicate: ["overlayMenu"], descendants: true, read: TemplateRef }, { propertyName: "overlayCatalog", first: true, predicate: ["overlayCatalog"], descendants: true, read: TemplateRef }, { propertyName: "overlaySpot", first: true, predicate: ["overlaySpot"], descendants: true, read: TemplateRef }, { propertyName: "togglePanel", first: true, predicate: ["togglePanel"], descendants: true }, { propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "validate", first: true, predicate: ["validate"], descendants: true }, { propertyName: "validateCatalog", first: true, predicate: ["validateCatalog"], descendants: true }, { propertyName: "cancel", first: true, predicate: ["cancel"], descendants: true }, { propertyName: "crossCatalog", first: true, predicate: ["crossCatalog"], descendants: true }, { propertyName: "inputCatalog", first: true, predicate: ["inputCatalog"], descendants: true }, { propertyName: "menuList", first: true, predicate: ["menuList"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"o-widget__header\">\n <div class=\"o-widget__header__content\">\n <h2 class=\"o-widget__header__content__title\" *ngIf=\"(manifest$ | async)?.title; else querySelector\">\n {{ (manifest$ | async)?.title }}\n </h2>\n <ng-template #querySelector>\n <div *ngFor=\"let ds of usedDatasources$ | async\" class=\"o-widget__header__content__query\">\n <ng-container\n *ngIf=\"ds.id | translateId : { type: 'datasource', output: 'icon', noDefault: true } | async as url\"\n >\n <img [height]=\"20\" [src]=\"url\" [width]=\"20\" alt=\"\" class=\"o-widget__header__content__query__icon\" />\n </ng-container>\n <h3 class=\"o-widget__header__content__query__name\">{{ ds.name }}</h3>\n <h3 class=\"o-widget__header__content__query__name\" *ngIf=\"displayCount && !isGeo(ds)\">\n ({{ [ds.id] | resultSetSize | async }})\n </h3>\n </div>\n <div *ngIf=\"((usedDatasources$ | async) ?? []).length === 0\" class=\"o-widget__header__content__no-data\">\n <h2 class=\"o-widget__header__content__title\">{{ '@pry.widget.noData' | i18n }}</h2>\n </div>\n </ng-template>\n </div>\n <div class=\"m-btn-group\" *ngIf=\"displayContextMenu$ | async as options\">\n <button\n type=\"button\"\n id=\"dialog_Menu\"\n aria-controls=\"menu\"\n [attr.aria-expanded]=\"this.menu\"\n #togglePanel\n class=\"a-btn a-btn--more\"\n (click)=\"menuOpen($event)\"\n >\n <pry-icon [height]=\"25\" [width]=\"25\" iconSvg=\"more_horiz\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.openMenuWidget' | i18n }}</span>\n </button>\n </div>\n</div>\n\n<ng-template #overlayMenu>\n <div class=\"m-context-menu\" *ngIf=\"displayContextMenu$ | async as options\">\n <ul\n class=\"m-context-menu__list\"\n #menuList\n id=\"menu\"\n role=\"menu\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_Menu\"\n (keydown.arrowDown)=\"onArrowDown()\"\n (keydown.arrowUp)=\"onArrowUp()\"\n (keydown.escape)=\"menuOpen()\"\n >\n <li\n class=\"m-context-menu__list__item\"\n role=\"none\"\n *ngIf=\"(manifest$ | async)?.datasource && (options === true || options['datasourceSelection'] === true)\"\n >\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n id=\"toggleActions\"\n (click)=\"toggleDatasourceSelection()\"\n *pryAccess=\"{ module: 'dashboard', page: 'widget', action: 'select_named_query' }\"\n class=\"a-btn\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"stack-fill\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.readSearch' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"options === true || options!['parameters'] === true\">\n <ng-content></ng-content>\n </li>\n <ng-container *ngIf=\"options === true || options!['window'] === true\">\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngFor=\"let targetIndex of targetIndexes$ | async\">\n <button\n type=\"button\"\n (click)=\"moveInNewWindow(_widgetIndex, targetIndex)\"\n class=\"a-btn\"\n role=\"menuitem\"\n tabindex=\"-1\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"launch\"></pry-icon>\n {{\n (targetIndex !== -1 ? '@pry.widget.target.existing' : '@pry.widget.target.new')\n | i18n : { targetIndex: this.targetIndex + 1 }\n }}\n </button>\n </li>\n </ng-container>\n <li\n class=\"m-context-menu__list__item\"\n role=\"none\"\n *ngIf=\"hasGrid && (options === true || options!['changeSpot'] === true)\"\n >\n <button type=\"button\" role=\"menuitem\" (click)=\"toggleChangeSpot()\" class=\"a-btn\" tabindex=\"-1\">\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"move\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.changeSpot' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"options === true || options!['maximize'] === true\">\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"maximize(_widgetIndex)\"\n class=\"a-btn\"\n (keydown.escape)=\"menuOpen()\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"fullscreen\"></pry-icon>\n {{ '@pry.widget.target.maximize' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"options === true || options!['addToCatalog'] === true\">\n <button type=\"button\" role=\"menuitem\" tabindex=\"-1\" (click)=\"toggleCatalog()\" class=\"a-btn\">\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"library_add\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.catalogWidget' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"options === true || options!['delete'] === true\">\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"toggleRemoveConfirm($event)\"\n class=\"a-btn\"\n (keydown.tab)=\"menuOpen()\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"delete\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.deleteWidget' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngFor=\"let option of additionalOptions\">\n <button\n type=\"button\"\n class=\"a-btn\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"executeAction(option)\"\n [disabled]=\"isActionDisabled(option)\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" [iconSvg]=\"option.icon\"></pry-icon>\n {{ option.label | i18n }}\n </button>\n </li>\n </ul>\n </div>\n</ng-template>\n\n<ng-template #templateModal>\n <div\n class=\"o-modal\"\n (keydown.escape)=\"cancelRemoveConfirm()\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog confirm delete presentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.widget.modalTitle' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #cross (click)=\"cancelRemoveConfirm()\">\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 <div class=\"m-btn-group\">\n <button type=\"button\" (click)=\"cancelRemoveConfirm()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button type=\"submit\" (click)=\"confirmRemove()\" class=\"a-btn a-btn--primary\" (keydown.tab)=\"focusCrossElement()\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #template>\n <pry-datasource-selector\n (cancel)=\"toggleDatasourceSelection()\"\n (validated)=\"emitManifest()\"\n (nextTab)=\"focusInputCatalog()\"\n (previousTab)=\"focusValidation()\"\n (datasourcesChanged)=\"datasourcesChanged($event)\"\n [datasourceIds]=\"(selectedDataSourceIds$ | async) ?? []\"\n ></pry-datasource-selector>\n</ng-template>\n\n<ng-template #overlayCatalog>\n <div\n class=\"o-modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_Catalog\"\n (keydown.escape)=\"toggleCatalog()\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{ '@pry.widget.defineCatalog' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button\n class=\"a-btn a-btn--icon-only\"\n (keydown.shift.tab)=\"focusValidation()\"\n #crossCatalog\n (click)=\"toggleCatalog()\"\n >\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 <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"name\">{{ '@pry.toolbox.catalog.label' | i18n }}</label>\n <input [(ngModel)]=\"catalogInfo.name\" id=\"name\" type=\"text\" class=\"a-form-field\" required />\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"description\">{{ '@pry.toolbox.catalog.description' | i18n }}</label>\n <input [(ngModel)]=\"catalogInfo.description\" id=\"description\" type=\"text\" class=\"a-form-field\" required />\n </div>\n <div class=\"m-form-label-field\">\n <pry-select-image\n [iconUrl]=\"catalogInfo.image\"\n (changed)=\"catalogInfo.image = $event\"\n [mode]=\"type\"\n ></pry-select-image>\n </div>\n <div class=\"m-btn-group\">\n <button\n type=\"button\"\n (click)=\"toggleCatalog()\"\n #cancel\n (keydown.tab)=\"disableValidation()\"\n class=\"a-btn a-btn--secondary\"\n >\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n #validateCatalog\n (click)=\"confirmCatalog()\"\n [disabled]=\"!toolboxMenuService.isValidForCatalog(catalogInfo.name)\"\n class=\"a-btn a-btn--primary\"\n (keydown.tab)=\"focusCrossElement()\"\n >\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #overlaySpot>\n <div class=\"o-modal\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{ '@pry.widget.tooltip.changeSpot' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"toggleChangeSpot()\">\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 <ng-container *ngFor=\"let place of places; let i = index\">\n <ng-container *ngIf=\"currentPlacementIndex !== i\">\n <button type=\"button\" class=\"a-btn\" (click)=\"moveToPlace(place)\">\n <span>{{ '@pry.widget.tooltip.spotName' | i18n : { place: i + 1 } }}</span>\n </button>\n </ng-container>\n </ng-container>\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: i3$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$2.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: PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: PrySelectImageComponent, selector: "pry-select-image", inputs: ["iconUrl", "size", "mode"], outputs: ["toggled", "changed"] }, { kind: "component", type: DatasourceSelectorComponent, selector: "pry-datasource-selector", inputs: ["manifest", "datasourceIds"], outputs: ["cancel", "validated", "previousTab", "nextTab", "datasourcesChanged"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: I18nPipe, name: "i18n" }, { kind: "pipe", type: ResultSetSizePipe, name: "resultSetSize" }] }); }
|
|
9862
10024
|
}
|
|
9863
10025
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryWidgetHeaderComponent, decorators: [{
|
|
9864
10026
|
type: Component,
|
|
9865
|
-
args: [{ selector: 'pry-widget-header', template: "<div class=\"o-widget__header\">\n <div class=\"o-widget__header__content\">\n <h2 class=\"o-widget__header__content__title\" *ngIf=\"(manifest$ | async)?.title; else querySelector\">\n {{ (manifest$ | async)?.title }}\n </h2>\n <ng-template #querySelector>\n <div *ngFor=\"let ds of usedDatasources$ | async\" class=\"o-widget__header__content__query\">\n <ng-container\n *ngIf=\"ds.id | translateId : { type: 'datasource', output: 'icon', noDefault: true } | async as url\"\n >\n <img [height]=\"20\" [src]=\"url\" [width]=\"20\" alt=\"\" class=\"o-widget__header__content__query__icon\" />\n </ng-container>\n <h3 class=\"o-widget__header__content__query__name\">{{ ds.name }}</h3>\n <h3 class=\"o-widget__header__content__query__name\" *ngIf=\"displayCount && !isGeo(ds)\">\n ({{ [ds.id] | resultSetSize | async }})\n </h3>\n </div>\n <div *ngIf=\"((usedDatasources$ | async) ?? []).length === 0\" class=\"o-widget__header__content__no-data\">\n <h2 class=\"o-widget__header__content__title\">{{ '@pry.widget.noData' | i18n }}</h2>\n </div>\n </ng-template>\n </div>\n <div class=\"m-btn-group\" *ngIf=\"!(lockedView$ | async) && displaySettings(headerOptions)\">\n <button\n type=\"button\"\n id=\"dialog_Menu\"\n aria-controls=\"menu\"\n [attr.aria-expanded]=\"this.menu\"\n #togglePanel\n class=\"a-btn a-btn--more\"\n (click)=\"menuOpen($event)\"\n >\n <pry-icon [height]=\"25\" [width]=\"25\" iconSvg=\"more_horiz\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.openMenuWidget' | i18n }}</span>\n </button>\n </div>\n</div>\n\n<ng-template #overlayMenu>\n <div class=\"m-context-menu\">\n <ul\n class=\"m-context-menu__list\"\n #menuList\n id=\"menu\"\n role=\"menu\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_Menu\"\n (keydown.arrowDown)=\"onArrowDown()\"\n (keydown.arrowUp)=\"onArrowUp()\"\n (keydown.escape)=\"menuOpen()\"\n >\n <li\n class=\"m-context-menu__list__item\"\n role=\"none\"\n *ngIf=\"(manifest$ | async)?.datasource && displayOption(headerOptions, 'datasourceSelection')\"\n >\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n id=\"toggleActions\"\n (click)=\"toggleDatasourceSelection()\"\n *pryAccess=\"{ module: 'dashboard', page: 'widget', action: 'select_named_query' }\"\n class=\"a-btn a-tooltip\"\n [attr.data-tooltip]=\"'@pry.widget.tooltip.readSearch' | i18n\"\n data-tooltip-position=\"bottom\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"stack-fill\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.readSearch' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"displayOption(headerOptions, 'parameters')\">\n <ng-content></ng-content>\n </li>\n <ng-container *ngIf=\"displayOption(headerOptions, 'window')\">\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngFor=\"let targetIndex of targetIndexes$ | async\">\n <button\n type=\"button\"\n (click)=\"moveInNewWindow(_widgetIndex, targetIndex)\"\n class=\"a-btn\"\n role=\"menuitem\"\n tabindex=\"-1\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"launch\"></pry-icon>\n {{\n (targetIndex !== -1 ? '@pry.widget.target.existing' : '@pry.widget.target.new')\n | i18n : { targetIndex: this.targetIndex + 1 }\n }}\n </button>\n </li>\n </ng-container>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"hasGrid && displayOption(headerOptions, 'changeSpot')\">\n <button\n type=\"button\"\n role=\"menuitem\"\n (click)=\"toggleChangeSpot()\"\n class=\"a-btn a-tooltip\"\n tabindex=\"-1\"\n [attr.data-tooltip]=\"'@pry.widget.tooltip.changeSpot' | i18n\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"move\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.changeSpot' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"displayOption(headerOptions, 'maximize')\">\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"maximize(_widgetIndex)\"\n class=\"a-btn\"\n (keydown.escape)=\"menuOpen()\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"fullscreen\"></pry-icon>\n {{ '@pry.widget.target.maximize' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"displayOption(headerOptions, 'addToCatalog')\">\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"toggleCatalog()\"\n class=\"a-btn a-tooltip\"\n [attr.data-tooltip]=\"'@pry.widget.tooltip.catalogWidget' | i18n\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"library_add\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.catalogWidget' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"displayOption(headerOptions, 'delete')\">\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"toggleRemoveConfirm($event)\"\n class=\"a-btn a-tooltip\"\n [attr.data-tooltip]=\"'@pry.widget.tooltip.deleteWidget' | i18n\"\n (keydown.tab)=\"menuOpen()\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"delete\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.deleteWidget' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngFor=\"let option of additionalOptions\">\n <button\n type=\"button\"\n class=\"a-btn\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"executeAction(option)\"\n [disabled]=\"isActionDisabled(option)\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" [iconSvg]=\"option.icon\"></pry-icon>\n {{ option.label | i18n }}\n </button>\n </li>\n </ul>\n </div>\n</ng-template>\n\n<ng-template #templateModal>\n <div\n class=\"o-modal\"\n (keydown.escape)=\"cancelRemoveConfirm()\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog confirm delete presentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.widget.modalTitle' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #cross (click)=\"cancelRemoveConfirm()\">\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 <div class=\"m-btn-group\">\n <button type=\"button\" (click)=\"cancelRemoveConfirm()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button type=\"submit\" (click)=\"confirmRemove()\" class=\"a-btn a-btn--primary\" (keydown.tab)=\"focusCrossElement()\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #template>\n <pry-datasource-selector\n (cancel)=\"toggleDatasourceSelection()\"\n (validated)=\"emitManifest()\"\n (nextTab)=\"focusInputCatalog()\"\n (previousTab)=\"focusValidation()\"\n (datasourcesChanged)=\"datasourcesChanged($event)\"\n [datasourceIds]=\"(selectedDataSourceIds$ | async) ?? []\"\n ></pry-datasource-selector>\n</ng-template>\n\n<ng-template #overlayCatalog>\n <div\n class=\"o-modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_Catalog\"\n (keydown.escape)=\"toggleCatalog()\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{ '@pry.widget.defineCatalog' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button\n class=\"a-btn a-btn--icon-only\"\n (keydown.shift.tab)=\"focusValidation()\"\n #crossCatalog\n (click)=\"toggleCatalog()\"\n >\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 <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"name\">{{ '@pry.toolbox.catalog.label' | i18n }}</label>\n <input [(ngModel)]=\"catalogInfo.name\" id=\"name\" type=\"text\" class=\"a-form-field\" required />\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"description\">{{ '@pry.toolbox.catalog.description' | i18n }}</label>\n <input [(ngModel)]=\"catalogInfo.description\" id=\"description\" type=\"text\" class=\"a-form-field\" required />\n </div>\n <div class=\"m-form-label-field\">\n <pry-select-image\n [iconUrl]=\"catalogInfo.image\"\n (changed)=\"catalogInfo.image = $event\"\n [mode]=\"type\"\n ></pry-select-image>\n </div>\n <div class=\"m-btn-group\">\n <button\n type=\"button\"\n (click)=\"toggleCatalog()\"\n #cancel\n (keydown.tab)=\"disableValidation()\"\n class=\"a-btn a-btn--secondary\"\n >\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n #validateCatalog\n (click)=\"confirmCatalog()\"\n [disabled]=\"!toolboxMenuService.isValidForCatalog(catalogInfo.name)\"\n class=\"a-btn a-btn--primary\"\n (keydown.tab)=\"focusCrossElement()\"\n >\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #overlaySpot>\n <div class=\"o-modal\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{ '@pry.widget.tooltip.changeSpot' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"toggleChangeSpot()\">\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 <ng-container *ngFor=\"let place of places; let i = index\">\n <ng-container *ngIf=\"currentPlacementIndex !== i\">\n <button type=\"button\" class=\"a-btn\" (click)=\"moveToPlace(place)\">\n <span>{{ '@pry.widget.tooltip.spotName' | i18n : { place: i + 1 } }}</span>\n </button>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n" }]
|
|
10027
|
+
args: [{ selector: 'pry-widget-header', template: "<div class=\"o-widget__header\">\n <div class=\"o-widget__header__content\">\n <h2 class=\"o-widget__header__content__title\" *ngIf=\"(manifest$ | async)?.title; else querySelector\">\n {{ (manifest$ | async)?.title }}\n </h2>\n <ng-template #querySelector>\n <div *ngFor=\"let ds of usedDatasources$ | async\" class=\"o-widget__header__content__query\">\n <ng-container\n *ngIf=\"ds.id | translateId : { type: 'datasource', output: 'icon', noDefault: true } | async as url\"\n >\n <img [height]=\"20\" [src]=\"url\" [width]=\"20\" alt=\"\" class=\"o-widget__header__content__query__icon\" />\n </ng-container>\n <h3 class=\"o-widget__header__content__query__name\">{{ ds.name }}</h3>\n <h3 class=\"o-widget__header__content__query__name\" *ngIf=\"displayCount && !isGeo(ds)\">\n ({{ [ds.id] | resultSetSize | async }})\n </h3>\n </div>\n <div *ngIf=\"((usedDatasources$ | async) ?? []).length === 0\" class=\"o-widget__header__content__no-data\">\n <h2 class=\"o-widget__header__content__title\">{{ '@pry.widget.noData' | i18n }}</h2>\n </div>\n </ng-template>\n </div>\n <div class=\"m-btn-group\" *ngIf=\"displayContextMenu$ | async as options\">\n <button\n type=\"button\"\n id=\"dialog_Menu\"\n aria-controls=\"menu\"\n [attr.aria-expanded]=\"this.menu\"\n #togglePanel\n class=\"a-btn a-btn--more\"\n (click)=\"menuOpen($event)\"\n >\n <pry-icon [height]=\"25\" [width]=\"25\" iconSvg=\"more_horiz\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.openMenuWidget' | i18n }}</span>\n </button>\n </div>\n</div>\n\n<ng-template #overlayMenu>\n <div class=\"m-context-menu\" *ngIf=\"displayContextMenu$ | async as options\">\n <ul\n class=\"m-context-menu__list\"\n #menuList\n id=\"menu\"\n role=\"menu\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_Menu\"\n (keydown.arrowDown)=\"onArrowDown()\"\n (keydown.arrowUp)=\"onArrowUp()\"\n (keydown.escape)=\"menuOpen()\"\n >\n <li\n class=\"m-context-menu__list__item\"\n role=\"none\"\n *ngIf=\"(manifest$ | async)?.datasource && (options === true || options['datasourceSelection'] === true)\"\n >\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n id=\"toggleActions\"\n (click)=\"toggleDatasourceSelection()\"\n *pryAccess=\"{ module: 'dashboard', page: 'widget', action: 'select_named_query' }\"\n class=\"a-btn\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"stack-fill\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.readSearch' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"options === true || options!['parameters'] === true\">\n <ng-content></ng-content>\n </li>\n <ng-container *ngIf=\"options === true || options!['window'] === true\">\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngFor=\"let targetIndex of targetIndexes$ | async\">\n <button\n type=\"button\"\n (click)=\"moveInNewWindow(_widgetIndex, targetIndex)\"\n class=\"a-btn\"\n role=\"menuitem\"\n tabindex=\"-1\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"launch\"></pry-icon>\n {{\n (targetIndex !== -1 ? '@pry.widget.target.existing' : '@pry.widget.target.new')\n | i18n : { targetIndex: this.targetIndex + 1 }\n }}\n </button>\n </li>\n </ng-container>\n <li\n class=\"m-context-menu__list__item\"\n role=\"none\"\n *ngIf=\"hasGrid && (options === true || options!['changeSpot'] === true)\"\n >\n <button type=\"button\" role=\"menuitem\" (click)=\"toggleChangeSpot()\" class=\"a-btn\" tabindex=\"-1\">\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"move\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.changeSpot' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"options === true || options!['maximize'] === true\">\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"maximize(_widgetIndex)\"\n class=\"a-btn\"\n (keydown.escape)=\"menuOpen()\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"fullscreen\"></pry-icon>\n {{ '@pry.widget.target.maximize' | i18n }}\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"options === true || options!['addToCatalog'] === true\">\n <button type=\"button\" role=\"menuitem\" tabindex=\"-1\" (click)=\"toggleCatalog()\" class=\"a-btn\">\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"library_add\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.catalogWidget' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngIf=\"options === true || options!['delete'] === true\">\n <button\n type=\"button\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"toggleRemoveConfirm($event)\"\n class=\"a-btn\"\n (keydown.tab)=\"menuOpen()\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" iconSvg=\"delete\"></pry-icon>\n <span>{{ '@pry.widget.tooltip.deleteWidget' | i18n }}</span>\n </button>\n </li>\n <li class=\"m-context-menu__list__item\" role=\"none\" *ngFor=\"let option of additionalOptions\">\n <button\n type=\"button\"\n class=\"a-btn\"\n role=\"menuitem\"\n tabindex=\"-1\"\n (click)=\"executeAction(option)\"\n [disabled]=\"isActionDisabled(option)\"\n >\n <pry-icon [height]=\"17\" [width]=\"17\" [iconSvg]=\"option.icon\"></pry-icon>\n {{ option.label | i18n }}\n </button>\n </li>\n </ul>\n </div>\n</ng-template>\n\n<ng-template #templateModal>\n <div\n class=\"o-modal\"\n (keydown.escape)=\"cancelRemoveConfirm()\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog confirm delete presentation\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.widget.modalTitle' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #cross (click)=\"cancelRemoveConfirm()\">\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 <div class=\"m-btn-group\">\n <button type=\"button\" (click)=\"cancelRemoveConfirm()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button type=\"submit\" (click)=\"confirmRemove()\" class=\"a-btn a-btn--primary\" (keydown.tab)=\"focusCrossElement()\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #template>\n <pry-datasource-selector\n (cancel)=\"toggleDatasourceSelection()\"\n (validated)=\"emitManifest()\"\n (nextTab)=\"focusInputCatalog()\"\n (previousTab)=\"focusValidation()\"\n (datasourcesChanged)=\"datasourcesChanged($event)\"\n [datasourceIds]=\"(selectedDataSourceIds$ | async) ?? []\"\n ></pry-datasource-selector>\n</ng-template>\n\n<ng-template #overlayCatalog>\n <div\n class=\"o-modal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_Catalog\"\n (keydown.escape)=\"toggleCatalog()\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{ '@pry.widget.defineCatalog' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button\n class=\"a-btn a-btn--icon-only\"\n (keydown.shift.tab)=\"focusValidation()\"\n #crossCatalog\n (click)=\"toggleCatalog()\"\n >\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 <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"name\">{{ '@pry.toolbox.catalog.label' | i18n }}</label>\n <input [(ngModel)]=\"catalogInfo.name\" id=\"name\" type=\"text\" class=\"a-form-field\" required />\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"description\">{{ '@pry.toolbox.catalog.description' | i18n }}</label>\n <input [(ngModel)]=\"catalogInfo.description\" id=\"description\" type=\"text\" class=\"a-form-field\" required />\n </div>\n <div class=\"m-form-label-field\">\n <pry-select-image\n [iconUrl]=\"catalogInfo.image\"\n (changed)=\"catalogInfo.image = $event\"\n [mode]=\"type\"\n ></pry-select-image>\n </div>\n <div class=\"m-btn-group\">\n <button\n type=\"button\"\n (click)=\"toggleCatalog()\"\n #cancel\n (keydown.tab)=\"disableValidation()\"\n class=\"a-btn a-btn--secondary\"\n >\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n #validateCatalog\n (click)=\"confirmCatalog()\"\n [disabled]=\"!toolboxMenuService.isValidForCatalog(catalogInfo.name)\"\n class=\"a-btn a-btn--primary\"\n (keydown.tab)=\"focusCrossElement()\"\n >\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n\n<ng-template #overlaySpot>\n <div class=\"o-modal\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\">\n {{ '@pry.widget.tooltip.changeSpot' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"toggleChangeSpot()\">\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 <ng-container *ngFor=\"let place of places; let i = index\">\n <ng-container *ngIf=\"currentPlacementIndex !== i\">\n <button type=\"button\" class=\"a-btn\" (click)=\"moveToPlace(place)\">\n <span>{{ '@pry.widget.tooltip.spotName' | i18n : { place: i + 1 } }}</span>\n </button>\n </ng-container>\n </ng-container>\n </div>\n</ng-template>\n" }]
|
|
9866
10028
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }, { type: ToolboxMenuService }]; }, propDecorators: { template: [{
|
|
9867
10029
|
type: ViewChild,
|
|
9868
10030
|
args: ['template', { read: TemplateRef }]
|
|
@@ -9996,11 +10158,11 @@ class SettingsComponent extends SubscriptionnerDirective {
|
|
|
9996
10158
|
this.subscriptions.unsubscribe();
|
|
9997
10159
|
}
|
|
9998
10160
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SettingsComponent, deps: [{ token: i1.Store }, { token: i2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
9999
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SettingsComponent, selector: "pry-settings", inputs: { widgetIndex: "widgetIndex", isDisable: "isDisable", headerPresent: "headerPresent", open$: "open$", header: "header" }, outputs: { triggerClick: "triggerClick", saveTriggered: "saveTriggered", changeTitle: "changeTitle" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }, { propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "validate", first: true, predicate: ["validate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<button
|
|
10161
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: SettingsComponent, selector: "pry-settings", inputs: { widgetIndex: "widgetIndex", isDisable: "isDisable", headerPresent: "headerPresent", open$: "open$", header: "header" }, outputs: { triggerClick: "triggerClick", saveTriggered: "saveTriggered", changeTitle: "changeTitle" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }, { propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "validate", first: true, predicate: ["validate"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<button type=\"button\" (click)=\"toggle()\" class=\"a-btn a-btn--icon-text -settings\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n</button>\n\n<ng-template #template>\n <div class=\"o-settings__popup\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dialog_setting\">\n <div class=\"o-settings__popup__header\">\n <h2 class=\"a-h2\">{{ '@pry.widget.settings.title' | i18n }}</h2>\n <button\n type=\"button\"\n #cross\n (keydown.shift.tab)=\"focusElement(this.validate)\"\n (click)=\"toggle()\"\n class=\"a-btn a-btn--icon-only -close\"\n >\n <pry-icon iconSvg=\"close\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.close' | i18n }}</span>\n </button>\n </div>\n\n <div class=\"o-settings__popup__content\" (click)=\"this.triggerClick.next()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"widget_title\">{{ '@pry.widget.settings.changeTitle' | i18n }}</label>\n <input\n class=\"a-form-field\"\n id=\"widget_title\"\n type=\"text\"\n [value]=\"manifest?.title ?? ''\"\n (input)=\"emitTitle($event)\"\n />\n </div>\n <ng-content></ng-content>\n </div>\n\n <div class=\"o-settings__popup__footer\">\n <button\n (click)=\"saveAndClose()\"\n [class.btn-primary__disable]=\"isDisable\"\n [disabled]=\"isDisable\"\n (keydown.tab)=\"focusElement(this.cross)\"\n class=\"a-btn a-btn--primary\"\n #validate\n >\n {{ '@pry.widget.settings.validateUpdating' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
10000
10162
|
}
|
|
10001
10163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: SettingsComponent, decorators: [{
|
|
10002
10164
|
type: Component,
|
|
10003
|
-
args: [{ selector: 'pry-settings', template: "<button
|
|
10165
|
+
args: [{ selector: 'pry-settings', template: "<button type=\"button\" (click)=\"toggle()\" class=\"a-btn a-btn--icon-text -settings\">\n <pry-icon [height]=\"20\" [width]=\"20\" iconSvg=\"control\"></pry-icon>\n <span>{{ '@pry.widget.settings.title' | i18n }}</span>\n</button>\n\n<ng-template #template>\n <div class=\"o-settings__popup\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"dialog_setting\">\n <div class=\"o-settings__popup__header\">\n <h2 class=\"a-h2\">{{ '@pry.widget.settings.title' | i18n }}</h2>\n <button\n type=\"button\"\n #cross\n (keydown.shift.tab)=\"focusElement(this.validate)\"\n (click)=\"toggle()\"\n class=\"a-btn a-btn--icon-only -close\"\n >\n <pry-icon iconSvg=\"close\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.action.close' | i18n }}</span>\n </button>\n </div>\n\n <div class=\"o-settings__popup__content\" (click)=\"this.triggerClick.next()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"widget_title\">{{ '@pry.widget.settings.changeTitle' | i18n }}</label>\n <input\n class=\"a-form-field\"\n id=\"widget_title\"\n type=\"text\"\n [value]=\"manifest?.title ?? ''\"\n (input)=\"emitTitle($event)\"\n />\n </div>\n <ng-content></ng-content>\n </div>\n\n <div class=\"o-settings__popup__footer\">\n <button\n (click)=\"saveAndClose()\"\n [class.btn-primary__disable]=\"isDisable\"\n [disabled]=\"isDisable\"\n (keydown.tab)=\"focusElement(this.cross)\"\n class=\"a-btn a-btn--primary\"\n #validate\n >\n {{ '@pry.widget.settings.validateUpdating' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n" }]
|
|
10004
10166
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Overlay }, { type: i0.ViewContainerRef }]; }, propDecorators: { triggerClick: [{
|
|
10005
10167
|
type: Output
|
|
10006
10168
|
}], widgetIndex: [{
|
|
@@ -10174,11 +10336,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
10174
10336
|
|
|
10175
10337
|
class PryFilterGroupCssComponent {
|
|
10176
10338
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryFilterGroupCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10177
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryFilterGroupCssComponent, selector: "pry-filter-group-css", ngImport: i0, template: '', isInline: true, styles: [".o-container{height:100%}.o-container__filters{display:flex;padding:.5rem .625rem;max-height:50px;gap:.625rem}.o-container__filter-container{display:flex;justify-content:flex-start;margin-bottom:-.3125rem;max-height:50px;padding:.25rem 0;overflow-x:auto;overflow-y:hidden}.o-container__filter-
|
|
10339
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PryFilterGroupCssComponent, selector: "pry-filter-group-css", ngImport: i0, template: '', isInline: true, styles: [".o-container{height:100%}.o-container__filters{display:flex;padding:.5rem .625rem;max-height:50px;gap:.625rem}.o-container__filter-container{display:flex;justify-content:flex-start;margin-bottom:-.3125rem;max-height:50px;padding:.25rem 0;overflow-x:auto;overflow-y:hidden}.o-container__filter-actions{display:flex;align-items:center;gap:.625rem;padding:0 .625rem}\n"], encapsulation: i0.ViewEncapsulation.None }); }
|
|
10178
10340
|
}
|
|
10179
10341
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PryFilterGroupCssComponent, decorators: [{
|
|
10180
10342
|
type: Component,
|
|
10181
|
-
args: [{ selector: 'pry-filter-group-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-container{height:100%}.o-container__filters{display:flex;padding:.5rem .625rem;max-height:50px;gap:.625rem}.o-container__filter-container{display:flex;justify-content:flex-start;margin-bottom:-.3125rem;max-height:50px;padding:.25rem 0;overflow-x:auto;overflow-y:hidden}.o-container__filter-
|
|
10343
|
+
args: [{ selector: 'pry-filter-group-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-container{height:100%}.o-container__filters{display:flex;padding:.5rem .625rem;max-height:50px;gap:.625rem}.o-container__filter-container{display:flex;justify-content:flex-start;margin-bottom:-.3125rem;max-height:50px;padding:.25rem 0;overflow-x:auto;overflow-y:hidden}.o-container__filter-actions{display:flex;align-items:center;gap:.625rem;padding:0 .625rem}\n"] }]
|
|
10182
10344
|
}] });
|
|
10183
10345
|
|
|
10184
10346
|
class FilterGroupComponent {
|
|
@@ -10203,11 +10365,11 @@ class FilterGroupComponent {
|
|
|
10203
10365
|
?.contains(document.querySelector('ng-dropdown-panel.ng-dropdown-panel')) || false;
|
|
10204
10366
|
}
|
|
10205
10367
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterGroupComponent, deps: [{ token: i1.Store }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10206
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterGroupComponent, selector: "pry-filter-group", ngImport: i0, template: "<pry-filter-group-css></pry-filter-group-css>\n
|
|
10368
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FilterGroupComponent, selector: "pry-filter-group", ngImport: i0, template: "<pry-filter-group-css></pry-filter-group-css>\n<ng-container *ngIf=\"globalManifest$ | async as manifest\">\n <div class=\"o-container__filters\" *ngIf=\"manifest.filters && manifest.filters.length > 0\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n <pry-filter-instanciator\n *ngFor=\"let filter of manifest.filters\"\n [filter]=\"filter\"\n [applyFilter$]=\"apply$\"\n ></pry-filter-instanciator>\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--secondary a-btn--icon-only -size-md\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary -size-md\" (click)=\"filter()\">\n {{ '@pry.toolbox.filter' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\"></pry-icon>\n </button>\n </div>\n </div>\n</ng-container>\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: "component", type: PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: FilterInstanciatorComponent, selector: "pry-filter-instanciator", inputs: ["filter", "applyFilter$"] }, { kind: "component", type: PryFilterGroupCssComponent, selector: "pry-filter-group-css" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }, { kind: "pipe", type: I18nPipe, name: "i18n" }] }); }
|
|
10207
10369
|
}
|
|
10208
10370
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FilterGroupComponent, decorators: [{
|
|
10209
10371
|
type: Component,
|
|
10210
|
-
args: [{ selector: 'pry-filter-group', template: "<pry-filter-group-css></pry-filter-group-css>\n
|
|
10372
|
+
args: [{ selector: 'pry-filter-group', template: "<pry-filter-group-css></pry-filter-group-css>\n<ng-container *ngIf=\"globalManifest$ | async as manifest\">\n <div class=\"o-container__filters\" *ngIf=\"manifest.filters && manifest.filters.length > 0\">\n <div class=\"o-container__filter-container\" (click)=\"openSelect()\">\n <pry-filter-instanciator\n *ngFor=\"let filter of manifest.filters\"\n [filter]=\"filter\"\n [applyFilter$]=\"apply$\"\n ></pry-filter-instanciator>\n </div>\n <div class=\"o-container__filter-actions\">\n <button type=\"button\" class=\"a-btn a-btn--secondary a-btn--icon-only -size-md\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary -size-md\" (click)=\"filter()\">\n {{ '@pry.toolbox.filter' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\"></pry-icon>\n </button>\n </div>\n </div>\n</ng-container>\n" }]
|
|
10211
10373
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: Document, decorators: [{
|
|
10212
10374
|
type: Inject,
|
|
10213
10375
|
args: [DOCUMENT]
|
|
@@ -10694,9 +10856,6 @@ class DashboardEffects {
|
|
|
10694
10856
|
...action.additionalOptions
|
|
10695
10857
|
}
|
|
10696
10858
|
};
|
|
10697
|
-
if (!this.toolboxManifestService.isModel(action.widgetType) && newWidgetManifest.header !== false) {
|
|
10698
|
-
newWidgetManifest.header = { datasourceSelection: false };
|
|
10699
|
-
}
|
|
10700
10859
|
if (!!action.id) {
|
|
10701
10860
|
newWidgetManifest.datasource = action.id;
|
|
10702
10861
|
}
|
|
@@ -11798,5 +11957,5 @@ function filterLoader(module, prop) {
|
|
|
11798
11957
|
* Generated bundle index. Do not edit.
|
|
11799
11958
|
*/
|
|
11800
11959
|
|
|
11801
|
-
export { AccordionComponent, AccordionItemComponent, Aggregation, BASE_DISPLAY_OPTIONS, BaseFilterComponent, BaseFilterModule, BaseLayoutComponent, BaseMenuComponent, BaseToolboxComponent, BaseTooltipComponent, BaseTooltipModule, BaseWidgetComponent, BaseWidgetModule, BusService, CategoryActions, CategorySelectors, CategoryService, ChartOptionDefault, ClassActions, ClassSelectors, ClassService, ConfigActions, ConfigSelectors, ConfigService, ContextMenuActions, ContextMenuComponent, ContextMenuSelectors, DEFAULT_CATEGORY_UUID, DEFAULT_COLUMNS_NUMBER, 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, DELAY_FOR_HIDE, DashboardActions, DashboardComponent, DashboardGridLayout, DashboardSelectors, DataSourceActions, DataSourceSelectors, DataSourceService, DataWidgetComponent, DatasourceSelectorComponent, DatasourceUtils, DateRangeHighlightPipe, DateUtils, DefaultTooltipComponent, ENV_OPTIONS, EXPLORE_NAMED_QUERY_ID, FIELD_OPTIONS, FIELD_UUID, FILTERS_DOMAIN, FILTER_DEFINITION, FieldActions, FieldSelectors, FieldService, FieldType, FilterFactoryService, FilterGroupComponent, FilterInstanciatorComponent, 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, PryAboutComponent, PryAboutModule, PryAccessDirective, PryAccessUtils, PryAggregationService, PryBackendAggregationService, PryBaseAccess, PryBaseAccessGuard, PryCoreModule, PryDashboardModule, PryDatasetType, PryDatePickerComponent, PryDatePickerModule, PryDefaultAccessGuard, PryDefaultAccessService, PryDefaultGeoAuthService, PryDialogConfirmComponent, PryDialogRef, PryDialogService, PryEditInputComponent, PryEditInputModule, PryFilterGroupCssComponent, PryFrontendAggregationService, PryGeoAuthService, PryHiddenWhenOverlay, PryHiddenWhenOverlayDirective, PryHttpErrorInterceptorService, PryI18nModule, PryI18nService, PryIconComponent, PryIconModule, PryModalComponent, PryModalModule, PryModalStatusComponent, PryModalStatusModule, PryNqColorSelectorComponent, PryObjectEditionComponent, PryOverlayDirective, PryOverlayModule, PryRangeComponent, PryRangeModule, PrySelectComponent, PrySelectImageComponent, PrySelectModule, PryShareComponent, PryShareModule, PrySnackbarComponent, PrySnackbarModule, PrySnackbarService, PrySortDataPipe, PrySortHeaderComponent, PrySortHeaderDirective, PrySortModule, PrySortTableDirective, PryTimePickerComponent, PryTitleService, PryToggleComponent, PryToggleModule, PryUploadComponent, PryVisibilityType, PryWidgetHeaderComponent, RawService, RelationTypesActions, RelationTypesSelectors, RelationTypesService, ResultSetSizePipe, ResultsetUtils, SYMBOL_DOMAIN, SearchActions, SearchSelectors, SearchService, SettingsComponent, SubscriptionnerDirective, SymbolService, TABLE_ATTR_DOMAIN, TILE_ATTR_DOMAIN, TOOLTIPS_DOMAIN, TOOLTIP_DEFINITION, TabComponent, TabGroupComponent, ToolboxManifestService, ToolboxMenuService, TooltipFactoryService, TooltipMode, TranslateIdPipe, TranslateItemToSymbolPipe, UNKNOWN_DATASOURCE, USE_CURRENT_RESULTSET, VARIABLE_TYPE, VegaColorType, VegaType, ViewMode, VizualizeRawComponent, WIDGET_DEFINITION, WIDGET_HEADER_HEIGHT, WebsocketService, WidgetFactoryService, WidgetInstanciatorComponent, WidgetPlaceholderComponent, WidgetPlacementUtils, WmsService, adapter$2 as adapter, aggregationDefault, baseItemProperties, classReducer, classesFeatureKey, compareOperationFunctions, contextMenuFeatureKey, contextMenuReducer, createPlacedWidgetCopy, dashboardFeatureKey, dashboardInitialState, dashboardReducer, dataSourceFeatureKey, dataSourceReducer, deepMerge, defaultColors, defaultMenuStructure, enTranslations$1 as enTranslations, filterLoader, frTranslations$1 as frTranslations, getDisplayOptions, httpErrorOptions, imageFeatureKey, imageReducer, initialClassState, initialContextMenuState, initialDataSourceState, initialImageState, initialSearchState, latLonToGeographicFieldTransformation, markTypesDefault, notificationFeatureKey, orderWidgetsAccordingToPlacement, searchFeatureKey, searchReducer, selectAll$2 as selectAll, selectEntities$2 as selectEntities, selectIds$2 as selectIds, selectTotal$2 as selectTotal, solveCollisions, solvingCollisionOptions, sortByName$2 as sortByName, subTypesDefault, tooltipLoader, vegaColorSchemesDefault, widgetLoader, widgetMapConfig };
|
|
11960
|
+
export { AccordionComponent, AccordionItemComponent, Aggregation, BASE_DISPLAY_OPTIONS, BaseFilterComponent, BaseFilterModule, BaseLayoutComponent, BaseMenuComponent, BaseToolboxComponent, BaseTooltipComponent, BaseTooltipModule, BaseWidgetComponent, BaseWidgetModule, BusService, CategoryActions, CategorySelectors, CategoryService, ChartOptionDefault, ClassActions, ClassSelectors, ClassService, ConfigActions, ConfigSelectors, ConfigService, ContextMenuActions, ContextMenuComponent, ContextMenuSelectors, DEFAULT_CATEGORY_UUID, DEFAULT_COLUMNS_NUMBER, 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, DELAY_FOR_HIDE, DashboardActions, DashboardComponent, DashboardGridLayout, DashboardSelectors, DataSourceActions, DataSourceSelectors, DataSourceService, DataWidgetComponent, DatasourceSelectorComponent, DatasourceUtils, DateRangeHighlightPipe, DateUtils, DefaultTooltipComponent, ENV_OPTIONS, EXPLORE_NAMED_QUERY_ID, EllipsisDirective, FIELD_OPTIONS, FIELD_UUID, FILTERS_DOMAIN, FILTER_DEFINITION, FieldActions, FieldSelectors, FieldService, FieldType, FilterFactoryService, FilterGroupComponent, FilterInstanciatorComponent, 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, PryAboutComponent, PryAboutModule, PryAccessDirective, PryAccessUtils, PryAggregationService, PryBackendAggregationService, PryBaseAccess, PryBaseAccessGuard, PryCoreModule, PryDashboardModule, PryDatasetType, PryDatePickerComponent, PryDatePickerModule, PryDefaultAccessGuard, PryDefaultAccessService, PryDefaultGeoAuthService, PryDialogConfirmComponent, PryDialogRef, PryDialogService, PryEditInputComponent, PryEditInputModule, PryFilterGroupCssComponent, PryFrontendAggregationService, PryGeoAuthService, PryHiddenWhenOverlay, PryHiddenWhenOverlayDirective, PryHttpErrorInterceptorService, PryI18nModule, PryI18nService, PryIconComponent, PryIconModule, PryModalComponent, PryModalModule, PryModalStatusComponent, PryModalStatusModule, PryNqColorSelectorComponent, PryObjectEditionComponent, PryOverlayDirective, PryOverlayModule, PryRangeComponent, PryRangeModule, PrySelectComponent, PrySelectImageComponent, PrySelectModule, PryShareComponent, PryShareModule, PrySnackbarComponent, PrySnackbarModule, PrySnackbarService, PrySortDataPipe, PrySortHeaderComponent, PrySortHeaderDirective, PrySortModule, PrySortTableDirective, PryTimePickerComponent, PryTitleService, PryToggleComponent, PryToggleModule, PryUploadComponent, PryVisibilityType, PryWidgetHeaderComponent, RawService, RelationTypesActions, RelationTypesSelectors, RelationTypesService, ResultSetSizePipe, ResultsetUtils, SYMBOL_DOMAIN, SearchActions, SearchSelectors, SearchService, SettingsComponent, SubscriptionnerDirective, SymbolService, TABLE_ATTR_DOMAIN, TILE_ATTR_DOMAIN, TOOLTIPS_DOMAIN, TOOLTIP_DEFINITION, TabComponent, TabGroupComponent, ToolboxManifestService, ToolboxMenuService, TooltipFactoryService, TooltipMode, TranslateIdPipe, TranslateItemToSymbolPipe, UNKNOWN_DATASOURCE, USE_CURRENT_RESULTSET, VARIABLE_TYPE, VegaColorType, VegaType, ViewMode, VizualizeRawComponent, WIDGET_DEFINITION, WIDGET_HEADER_HEIGHT, WebsocketService, WidgetFactoryService, WidgetInstanciatorComponent, WidgetPlaceholderComponent, WidgetPlacementUtils, WmsService, adapter$2 as adapter, aggregationDefault, baseItemProperties, classReducer, classesFeatureKey, compareOperationFunctions, contextMenuFeatureKey, contextMenuReducer, createPlacedWidgetCopy, dashboardFeatureKey, dashboardInitialState, dashboardReducer, dataSourceFeatureKey, dataSourceReducer, deepMerge, defaultColors, defaultMenuStructure, enTranslations$1 as enTranslations, filterLoader, frTranslations$1 as frTranslations, getDisplayOptions, httpErrorOptions, imageFeatureKey, imageReducer, initialClassState, initialContextMenuState, initialDataSourceState, initialImageState, initialSearchState, latLonToGeographicFieldTransformation, markTypesDefault, notificationFeatureKey, orderWidgetsAccordingToPlacement, searchFeatureKey, searchReducer, selectAll$2 as selectAll, selectEntities$2 as selectEntities, selectIds$2 as selectIds, selectTotal$2 as selectTotal, solveCollisions, solvingCollisionOptions, sortByName$2 as sortByName, subTypesDefault, tooltipLoader, vegaColorSchemesDefault, widgetLoader, widgetMapConfig };
|
|
11802
11961
|
//# sourceMappingURL=provoly-dashboard.mjs.map
|