@provoly/dashboard 0.14.8 → 0.14.10
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-layout/admin-layout.component.d.ts +5 -3
- package/admin/components/admin-metadata-user/admin-metadata-user.component.d.ts +1 -1
- package/admin/components/admin-metadata-user/store/admin-metadata-user.action.d.ts +0 -11
- package/admin/components/admin-metadata-user/store/admin-metadata-user.effects.d.ts +2 -7
- package/admin/components/admin-metadata-user/store/admin-metadata-user.reducer.d.ts +1 -3
- package/admin/components/admin-metadata-user/store/admin-metadata-user.selector.d.ts +1 -4
- package/admin/components/admin-user/store/admin-user.action.d.ts +1 -52
- package/admin/components/admin-user/store/admin-user.effects.d.ts +0 -28
- package/admin/components/admin-user/store/admin-user.reducer.d.ts +1 -2
- package/admin/components/admin-user/store/admin-user.selector.d.ts +0 -1
- package/admin/store/admin.service.d.ts +1 -4
- package/assets/svgs/map.svg +1 -1
- package/components/metadata-editor/metadata-editor.component.d.ts +6 -6
- package/components/metadata-editor/metadata-editor.module.d.ts +7 -6
- package/components/metadata-editor/public-api.d.ts +1 -0
- package/components/metadata-editor/store/metadata.action.d.ts +63 -1
- package/components/metadata-editor/store/metadata.effects.d.ts +33 -0
- package/components/metadata-editor/store/metadata.reducer.d.ts +3 -1
- package/components/metadata-editor/store/metadata.selector.d.ts +2 -0
- package/components/metadata-editor/store/metadata.service.d.ts +5 -1
- package/components/metadata-editor/style/_o-metadata-editor.scss +15 -0
- package/components/metadata-editor/style/css.component.d.ts +5 -0
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +2 -3
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +2 -3
- package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +2 -3
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-edit/admin-attributes-edit.component.mjs +1 -1
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +4 -4
- package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +3 -3
- package/esm2022/admin/components/admin-layout/admin-layout.component.mjs +10 -7
- package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +2 -3
- package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +3 -5
- package/esm2022/admin/components/admin-metadata-user/admin-metadata-user.component.mjs +9 -10
- package/esm2022/admin/components/admin-metadata-user/admin-user-edit-metadata/admin-user-edit-metadata.component.mjs +4 -4
- package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +7 -3
- package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.action.mjs +1 -4
- package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.effects.mjs +4 -4
- package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.reducer.mjs +8 -28
- package/esm2022/admin/components/admin-metadata-user/store/admin-metadata-user.selector.mjs +2 -6
- package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +9 -10
- package/esm2022/admin/components/admin-user/admin-user.component.mjs +1 -1
- package/esm2022/admin/components/admin-user/store/admin-user.action.mjs +2 -11
- package/esm2022/admin/components/admin-user/store/admin-user.effects.mjs +1 -19
- package/esm2022/admin/components/admin-user/store/admin-user.reducer.mjs +2 -7
- package/esm2022/admin/components/admin-user/store/admin-user.selector.mjs +1 -3
- package/esm2022/admin/i18n/en.translations.mjs +2 -2
- package/esm2022/admin/i18n/fr.translations.mjs +4 -4
- package/esm2022/admin/store/admin.effects.mjs +1 -1
- package/esm2022/admin/store/admin.service.mjs +1 -16
- package/esm2022/components/metadata-editor/metadata-editor.component.mjs +40 -45
- package/esm2022/components/metadata-editor/metadata-editor.module.mjs +5 -4
- package/esm2022/components/metadata-editor/public-api.mjs +2 -1
- package/esm2022/components/metadata-editor/store/metadata.action.mjs +14 -2
- package/esm2022/components/metadata-editor/store/metadata.effects.mjs +21 -1
- package/esm2022/components/metadata-editor/store/metadata.reducer.mjs +18 -2
- package/esm2022/components/metadata-editor/store/metadata.selector.mjs +6 -2
- package/esm2022/components/metadata-editor/store/metadata.service.mjs +21 -1
- package/esm2022/components/metadata-editor/style/css.component.mjs +11 -0
- package/esm2022/dataset/i18n/fr.translations.mjs +2 -2
- package/esm2022/import/i18n/en.translations.mjs +4 -1
- package/esm2022/import/i18n/fr.translations.mjs +4 -1
- package/esm2022/import/store/import.effects.mjs +8 -1
- package/esm2022/lib/core/components/about/about.component.mjs +29 -0
- package/esm2022/lib/core/components/about/pry-about.module.mjs +21 -0
- package/esm2022/lib/core/components/icon/icon.component.mjs +5 -1
- package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +10 -6
- package/esm2022/lib/core/components/snackbar/snackbar.service.mjs +1 -1
- package/esm2022/lib/core/i18n/en.translations.mjs +14 -3
- package/esm2022/lib/core/i18n/fr.translations.mjs +14 -3
- package/esm2022/lib/core/i18n/i18n.pipe.mjs +4 -3
- package/esm2022/lib/core/i18n/i18n.service.mjs +5 -5
- package/esm2022/lib/core/model/display-options.interface.mjs +1 -1
- package/esm2022/lib/core/model/manifest.interface.mjs +1 -1
- package/esm2022/lib/core/model/public-api.mjs +2 -1
- package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -1
- package/esm2022/lib/core/model/widget-vega-manifest.interface.mjs +2 -0
- package/esm2022/lib/core/public-api.mjs +3 -1
- package/esm2022/lib/core/store/class/class.effects.mjs +1 -1
- package/esm2022/lib/core/store/config/config.actions.mjs +5 -2
- package/esm2022/lib/core/store/config/config.effects.mjs +4 -1
- package/esm2022/lib/core/store/config/config.reducer.mjs +9 -2
- package/esm2022/lib/core/store/config/config.selectors.mjs +6 -4
- package/esm2022/lib/core/store/config/config.service.mjs +36 -2
- package/esm2022/lib/core/store/config/versions.interface.mjs +2 -0
- package/esm2022/lib/core/toolbox/toolbox-menu.service.mjs +1 -16
- package/esm2022/lib/dashboard/components/manifests/manifests.component.mjs +3 -1
- package/esm2022/lib/dashboard/components/widgets/base-widget.component.mjs +3 -2
- package/esm2022/lib/dashboard/store/dashboard.actions.mjs +3 -3
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +15 -6
- package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +10 -2
- package/esm2022/lib/dashboard/store/dashboard.selectors.mjs +3 -4
- package/esm2022/lib/dashboard/store/manifest.service.mjs +2 -3
- package/esm2022/notification/store/notification.effects.mjs +3 -3
- package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +23 -18
- package/esm2022/presentation/components/presentation.component.mjs +18 -18
- package/esm2022/presentation/style/css.component.mjs +2 -2
- package/esm2022/restitution/components/restitution-list/restitution-list.component.mjs +3 -3
- package/esm2022/restitution/components/restitution-list-item/restitution-list-item.component.mjs +6 -3
- package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.mjs +6 -3
- package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors.component.mjs +2 -2
- package/esm2022/supervision/components/supervision-layout/supervision-layout.component.mjs +2 -2
- package/esm2022/supervision/components/supervision.component.mjs +2 -2
- package/esm2022/supervision/store/supervision.actions.mjs +1 -1
- package/esm2022/supervision/store/supervision.reducer.mjs +3 -2
- package/esm2022/supervision/store/supervision.selectors.mjs +2 -2
- package/esm2022/toolbox/components/save-view/save-view.component.mjs +4 -4
- package/esm2022/tooltips/attribute/attribute-tooltip.component.mjs +18 -11
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +20 -6
- package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +1 -2
- package/esm2022/widgets/widget-map/component/widget-map-layer.service.mjs +4 -2
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +15 -9
- package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +5 -5
- package/esm2022/widgets/widget-map/utils/xml-utils.class.mjs +23 -1
- package/esm2022/widgets/widget-vega/component/widget-vega.component.mjs +139 -0
- package/esm2022/widgets/widget-vega/i18n/en.translations.mjs +11 -0
- package/esm2022/widgets/widget-vega/i18n/fr.translations.mjs +11 -0
- package/esm2022/widgets/widget-vega/provoly-dashboard-widgets-widget-vega.mjs +5 -0
- package/esm2022/widgets/widget-vega/public-api.mjs +3 -0
- package/esm2022/widgets/widget-vega/style/css.component.mjs +11 -0
- package/esm2022/widgets/widget-vega/widget-vega.module.mjs +68 -0
- package/fesm2022/provoly-dashboard-admin.mjs +134 -206
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +127 -52
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs +1 -1
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +13 -0
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-notification.mjs +2 -2
- package/fesm2022/provoly-dashboard-notification.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +41 -37
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-restitution.mjs +7 -4
- package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-supervision.mjs +11 -8
- package/fesm2022/provoly-dashboard-supervision.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +3 -3
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs +17 -10
- package/fesm2022/provoly-dashboard-tooltips-attribute.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +19 -6
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +43 -14
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs +235 -0
- package/fesm2022/provoly-dashboard-widgets-widget-vega.mjs.map +1 -0
- package/fesm2022/provoly-dashboard.mjs +188 -68
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/import/i18n/en.translations.d.ts +3 -0
- package/import/i18n/fr.translations.d.ts +3 -0
- package/lib/core/components/about/about.component.d.ts +12 -0
- package/lib/core/components/about/pry-about.module.d.ts +10 -0
- package/lib/core/i18n/en.translations.d.ts +11 -0
- package/lib/core/i18n/fr.translations.d.ts +11 -0
- package/lib/core/i18n/i18n.service.d.ts +2 -2
- package/lib/core/model/display-options.interface.d.ts +1 -1
- package/lib/core/model/manifest.interface.d.ts +2 -1
- package/lib/core/model/public-api.d.ts +1 -0
- package/lib/core/model/widget-map-manifest.interface.d.ts +2 -0
- package/lib/core/model/widget-vega-manifest.interface.d.ts +5 -0
- package/lib/core/public-api.d.ts +2 -0
- package/lib/core/store/config/config.actions.d.ts +12 -0
- package/lib/core/store/config/config.effects.d.ts +6 -0
- package/lib/core/store/config/config.reducer.d.ts +2 -0
- package/lib/core/store/config/config.selectors.d.ts +1 -0
- package/lib/core/store/config/config.service.d.ts +2 -0
- package/lib/core/store/config/versions.interface.d.ts +10 -0
- package/lib/dashboard/store/dashboard.actions.d.ts +10 -8
- package/lib/dashboard/store/dashboard.effects.d.ts +2 -0
- package/lib/dashboard/store/dashboard.selectors.d.ts +1 -1
- package/lib/dashboard/store/manifest.service.d.ts +1 -1
- package/package.json +31 -25
- package/presentation/components/add-edit-presentation/add-edit-presentation.component.d.ts +4 -3
- package/presentation/components/presentation.component.d.ts +2 -2
- package/presentation/style/_o-pry-new-presentation.scss +7 -0
- package/restitution/components/restitution-list-item/restitution-list-item.component.d.ts +3 -2
- package/schematics/ng-add/index.js +7 -1
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/schema.json +2 -1
- package/styles/components/_o-tabs.scss +1 -7
- package/styles/layout/_o-base-layout.scss +8 -1
- package/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.d.ts +1 -1
- package/supervision/store/supervision.actions.d.ts +2 -2
- package/supervision/store/supervision.reducer.d.ts +1 -1
- package/supervision/store/supervision.selectors.d.ts +1 -1
- package/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.d.ts +7 -0
- package/widgets/widget-aggregated-chart/i18n/fr.translations.d.ts +0 -1
- package/widgets/widget-map/component/widget-map.component.d.ts +3 -1
- package/widgets/widget-map/utils/xml-utils.class.d.ts +2 -0
- package/widgets/widget-vega/component/widget-vega.component.d.ts +37 -0
- package/widgets/widget-vega/i18n/en.translations.d.ts +10 -0
- package/widgets/widget-vega/i18n/fr.translations.d.ts +10 -0
- package/widgets/widget-vega/index.d.ts +5 -0
- package/widgets/widget-vega/public-api.d.ts +2 -0
- package/widgets/widget-vega/style/_o-widget-vega.scss +6 -0
- package/widgets/widget-vega/style/css.component.d.ts +5 -0
- package/widgets/widget-vega/widget-vega.module.d.ts +19 -0
|
@@ -45,28 +45,6 @@ const AdminActions = {
|
|
|
45
45
|
fetchAssociationsFailure: createAction('[Admin] Fetch Associations failure', props())
|
|
46
46
|
};
|
|
47
47
|
|
|
48
|
-
const BASE$1 = '[Admin/User]';
|
|
49
|
-
const BASEAPI$1 = '[Admin/User Api]';
|
|
50
|
-
const AdminMetadataUserActions = {
|
|
51
|
-
loadMetadata: createAction(`${BASE$1} Load Metadata`),
|
|
52
|
-
loadMetadataSuccess: createAction(`${BASEAPI$1} Load Metadata Success`, props()),
|
|
53
|
-
loadMetadataFailure: createAction(`${BASEAPI$1} Load Metadata Failure`, props()),
|
|
54
|
-
selectMetadata: createAction(`${BASE$1} Select Metadata`, props()),
|
|
55
|
-
unselectMetadata: createAction(`${BASE$1} unSelect Metadata`),
|
|
56
|
-
createMetadata: createAction(`${BASE$1} create metadata`, props()),
|
|
57
|
-
createMetadataSuccess: createAction(`${BASEAPI$1} create metadata Success`, props()),
|
|
58
|
-
createMetadataFailure: createAction(`${BASEAPI$1} create metadata Failure`, props()),
|
|
59
|
-
goToDetailsViewMetadata: createAction(`${BASE$1} go to details view metadata`, props()),
|
|
60
|
-
goToDetailsViewMetadataSuccess: createAction(`${BASEAPI$1} go to details view metadata success`, props()),
|
|
61
|
-
goToDetailsViewMetadataFailure: createAction(`${BASEAPI$1} go to details view metadata failure`, props()),
|
|
62
|
-
goToEditMetadata: createAction(`${BASE$1} go to edit view`, props()),
|
|
63
|
-
goToEditMetadataSuccess: createAction(`${BASE$1} go to edit view success`, props()),
|
|
64
|
-
goToEditMetadataFailure: createAction(`${BASE$1} go to edit view failure`, props()),
|
|
65
|
-
updateMetadata: createAction(`${BASE$1} update meta data`, props()),
|
|
66
|
-
updateMetadataSuccess: createAction(`${BASEAPI$1} update meta data Success`, props()),
|
|
67
|
-
updateMetadataFailure: createAction(`${BASEAPI$1} update meta data Failure`, props())
|
|
68
|
-
};
|
|
69
|
-
|
|
70
48
|
const PredicatesActions = {
|
|
71
49
|
loadPredicates: createAction('[Admin/Predicates] Load Predicates'),
|
|
72
50
|
loadPredicatesSuccess: createAction('[Admin/Predicates Api] Load Predicates Success', props()),
|
|
@@ -422,64 +400,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
422
400
|
type: Input
|
|
423
401
|
}] } });
|
|
424
402
|
|
|
425
|
-
const adminMetadataUserFeatureKey = '@pry/admin/metadata/user';
|
|
426
|
-
const initialAdminUserState$1 = {
|
|
427
|
-
metadata: [],
|
|
428
|
-
selectedMetadata: null,
|
|
429
|
-
loading: false,
|
|
430
|
-
editable: false,
|
|
431
|
-
errors: null
|
|
432
|
-
};
|
|
433
|
-
const adminMetadataUserReducer = createReducer(initialAdminUserState$1, on(AdminMetadataUserActions.loadMetadataSuccess, (state, action) => ({
|
|
434
|
-
...state,
|
|
435
|
-
metadata: [...action.metadata],
|
|
436
|
-
loading: false
|
|
437
|
-
})), on(AdminMetadataUserActions.loadMetadataFailure, AdminMetadataUserActions.createMetadataFailure, AdminMetadataUserActions.updateMetadataFailure, (state, action) => ({
|
|
438
|
-
...state,
|
|
439
|
-
loading: false,
|
|
440
|
-
errors: action.error
|
|
441
|
-
})), on(AdminMetadataUserActions.selectMetadata, (state, action) => ({
|
|
442
|
-
...state,
|
|
443
|
-
selectedMetadata: action.id
|
|
444
|
-
})), on(AdminMetadataUserActions.unselectMetadata, (state) => ({
|
|
445
|
-
...state,
|
|
446
|
-
selectedMetadata: null
|
|
447
|
-
})), on(AdminMetadataUserActions.loadMetadata, AdminMetadataUserActions.updateMetadata, (state) => ({
|
|
448
|
-
...state,
|
|
449
|
-
loading: true
|
|
450
|
-
})), on(AdminMetadataUserActions.createMetadataSuccess, (state, action) => ({
|
|
451
|
-
...state,
|
|
452
|
-
metadata: [...state.metadata, action.metadata],
|
|
453
|
-
loading: false
|
|
454
|
-
})), on(AdminMetadataUserActions.goToDetailsViewMetadata, (state, action) => ({
|
|
455
|
-
...state,
|
|
456
|
-
selectedMetadata: action.id,
|
|
457
|
-
editable: false
|
|
458
|
-
})), on(AdminMetadataUserActions.goToEditMetadata, (state, action) => ({
|
|
459
|
-
...state,
|
|
460
|
-
selectedMetadata: action.id,
|
|
461
|
-
editable: true
|
|
462
|
-
})), on(AdminMetadataUserActions.updateMetadataSuccess, (state, action) => ({
|
|
463
|
-
...state,
|
|
464
|
-
metadata: [...state.metadata.map((old) => (old.id === action.metadata.id ? action.metadata : old))],
|
|
465
|
-
loading: false
|
|
466
|
-
})));
|
|
467
|
-
|
|
468
|
-
const feature$7 = createFeatureSelector(adminMetadataUserFeatureKey);
|
|
469
|
-
const metadata = createSelector(feature$7, (state) => state?.metadata);
|
|
470
|
-
const loading$3 = createSelector(feature$7, (state) => state?.loading);
|
|
471
|
-
const selectedMetadata = createSelector(feature$7, (state) => state?.metadata.find((x) => x.id === state.selectedMetadata) || null);
|
|
472
|
-
const selectedMetadataId = createSelector(selectedMetadata, (metadata) => metadata?.id);
|
|
473
|
-
const editable$1 = createSelector(feature$7, (state) => ({ value: state?.editable }));
|
|
474
|
-
const AdminMetadataUserSelectors = {
|
|
475
|
-
feature: feature$7,
|
|
476
|
-
loading: loading$3,
|
|
477
|
-
metadata,
|
|
478
|
-
selectedMetadata,
|
|
479
|
-
selectedMetadataId,
|
|
480
|
-
editable: editable$1
|
|
481
|
-
};
|
|
482
|
-
|
|
483
403
|
class MetadataConditionComponent {
|
|
484
404
|
set id(val) {
|
|
485
405
|
this._id = val;
|
|
@@ -496,7 +416,7 @@ class MetadataConditionComponent {
|
|
|
496
416
|
{ operator: 'EQUALS', translation: '@pry.search.operator.equalsString' },
|
|
497
417
|
{ operator: 'NOT_EQUALS', translation: '@pry.search.operator.notEqualsString' }
|
|
498
418
|
]);
|
|
499
|
-
this.metadataUsers$ = this.store.select(
|
|
419
|
+
this.metadataUsers$ = this.store.select(MetadataSelectors.userProfile);
|
|
500
420
|
}
|
|
501
421
|
assignObservables() {
|
|
502
422
|
this.condition$ = this.store.select(AbacRulesSelectors.editAbacRuleConditionsById(this._id ?? ''));
|
|
@@ -646,7 +566,7 @@ class AdminAbacRulesEditComponent {
|
|
|
646
566
|
this.store.dispatch(FieldActions.load());
|
|
647
567
|
this.store.dispatch(PredicatesActions.loadPredicates());
|
|
648
568
|
this.store.dispatch(MetadataActions.loadMetadata());
|
|
649
|
-
this.store.dispatch(
|
|
569
|
+
this.store.dispatch(MetadataActions.loadUserProfile());
|
|
650
570
|
}
|
|
651
571
|
ngOnInit() {
|
|
652
572
|
this.route.params.subscribe((params) => {
|
|
@@ -841,7 +761,7 @@ class AdminAbacRulesNewComponent {
|
|
|
841
761
|
this.store.dispatch(FieldActions.load());
|
|
842
762
|
this.store.dispatch(PredicatesActions.loadPredicates());
|
|
843
763
|
this.store.dispatch(MetadataActions.loadMetadata());
|
|
844
|
-
this.store.dispatch(
|
|
764
|
+
this.store.dispatch(MetadataActions.loadUserProfile());
|
|
845
765
|
const newRule = this.abacRuleService.initializeNewAbacRule();
|
|
846
766
|
this.store.dispatch(AbacRulesActions.initEditAbacRule({ rule: newRule }));
|
|
847
767
|
}
|
|
@@ -1008,18 +928,18 @@ const classReducer = createReducer(initialClassState, on(AdminClassActions.selec
|
|
|
1008
928
|
selectedAttribute: undefined
|
|
1009
929
|
})));
|
|
1010
930
|
|
|
1011
|
-
const feature$
|
|
1012
|
-
const loading$
|
|
1013
|
-
const selectedClass = createSelector(feature$
|
|
931
|
+
const feature$7 = createFeatureSelector(classesFeatureKey);
|
|
932
|
+
const loading$3 = createSelector(feature$7, (state) => state?.loading);
|
|
933
|
+
const selectedClass = createSelector(feature$7, (state) => state?.selectedClass);
|
|
1014
934
|
const selectedClassId = createSelector(selectedClass, (state) => state?.id);
|
|
1015
|
-
const selectedAttribute = createSelector(feature$
|
|
935
|
+
const selectedAttribute = createSelector(feature$7, (state) => state?.selectedAttribute);
|
|
1016
936
|
const selectedAttributeId = createSelector(selectedAttribute, (state) => state?.id);
|
|
1017
|
-
const interClass = createSelector(feature$
|
|
937
|
+
const interClass = createSelector(feature$7, (state) => state?.interClass);
|
|
1018
938
|
const interClassId = createSelector(interClass, (state) => state?.id);
|
|
1019
|
-
const openModal = createSelector(feature$
|
|
939
|
+
const openModal = createSelector(feature$7, (state) => state.openModal);
|
|
1020
940
|
const AdminClassSelectors = {
|
|
1021
|
-
feature: feature$
|
|
1022
|
-
loading: loading$
|
|
941
|
+
feature: feature$7,
|
|
942
|
+
loading: loading$3,
|
|
1023
943
|
selectedClass,
|
|
1024
944
|
selectedClassId,
|
|
1025
945
|
selectedAttribute,
|
|
@@ -1505,7 +1425,7 @@ class AdminAttributesFormComponent {
|
|
|
1505
1425
|
this.categories$ = combineLatest([this.store.select(CategorySelectors.categories), this.filterCategories$]).pipe(map(([categories, filter]) => categories.filter((cat) => !filter || cat.name.toLocaleLowerCase().includes(filter.toLocaleLowerCase()))));
|
|
1506
1426
|
this.attrForm = this.formBuilder.group({
|
|
1507
1427
|
id: [v4()],
|
|
1508
|
-
name: ['', [Validators.required, Validators.minLength(
|
|
1428
|
+
name: ['', [Validators.required, Validators.minLength(2), Validators.maxLength(100), noWhitespaceValidator]],
|
|
1509
1429
|
description: [{ value: '', disabled: true }],
|
|
1510
1430
|
field: ['', [Validators.required]],
|
|
1511
1431
|
category: [DEFAULT_CATEGORY_UUID],
|
|
@@ -1607,11 +1527,11 @@ class AdminAttributesFormComponent {
|
|
|
1607
1527
|
this.closeCategory();
|
|
1608
1528
|
}
|
|
1609
1529
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminAttributesFormComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3$1.UntypedFormBuilder }, { token: i5.Overlay }, { token: i0.ViewContainerRef }, { token: i4.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1610
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminAttributesFormComponent, selector: "pry-admin-attributes-form", inputs: { selectedClass: "selectedClass", interClass: "interClass", selectedAttribute: "selectedAttribute" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<form class=\"o-form\" [formGroup]=\"attrForm\" (ngSubmit)=\"addAttribute()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"attr_name\">{{ '@pry.admin.classes.attributes.name' | i18n }}</label>\n <input id=\"attr_name\" type=\"text\" class=\"a-form-field\" formControlName=\"name\" required />\n <label class=\"a-label a-label--help -error\" *ngIf=\"nameAlreadyExists$ | async\">{{\n '@pry.admin.exists' | i18n\n }}</label>\n <div *ngIf=\"attrForm.get('name')?.invalid\">\n <div *ngIf=\"attrForm.get('name')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.minLength' | i18n : { len:
|
|
1530
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminAttributesFormComponent, selector: "pry-admin-attributes-form", inputs: { selectedClass: "selectedClass", interClass: "interClass", selectedAttribute: "selectedAttribute" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<form class=\"o-form\" [formGroup]=\"attrForm\" (ngSubmit)=\"addAttribute()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"attr_name\">{{ '@pry.admin.classes.attributes.name' | i18n }}</label>\n <input id=\"attr_name\" type=\"text\" class=\"a-form-field\" formControlName=\"name\" required />\n <label class=\"a-label a-label--help -error\" *ngIf=\"nameAlreadyExists$ | async\">{{\n '@pry.admin.exists' | i18n\n }}</label>\n <div *ngIf=\"attrForm.get('name')?.invalid\">\n <div *ngIf=\"attrForm.get('name')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.minLength' | i18n : { len: 2 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('maxlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.maxLength' | i18n : { len: 100 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('whitespace') && !attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.noWhitespace' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"type\">{{ '@pry.admin.classes.attributes.field' | i18n }}</label>\n <div class=\"title-container\">\n <pry-select\n id=\"type\"\n class=\"a-pry-select\"\n formControlName=\"field\"\n [labelTranslate]=\"true\"\n [items]=\"fields$ | async\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n required=\"true\"\n ></pry-select>\n <ng-container *ngIf=\"selectedFieldTypeDescription$ | async as description\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip title-tooltip\">\n <p class=\"a-p -date\">{{ description }}</p>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"attrForm.get('field')?.invalid\">\n <div *ngIf=\"attrForm.get('field')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"category\">{{ '@pry.admin.classes.attributes.category' | i18n }}</label>\n <pry-select\n id=\"category\"\n class=\"form-control\"\n formControlName=\"category\"\n [labelTranslate]=\"true\"\n [items]=\"categories$ | async\"\n (click)=\"showCategory()\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n [readonly]=\"true\"\n ></pry-select>\n </div>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n *pryAccess=\"{ module: 'admin', page: 'classes', action: 'add_attribute' }\"\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [disabled]=\"attrForm.invalid || nameAlreadyExists\"\n [innerHTML]=\"(selectedAttribute ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n\n<ng-template #template>\n <div class=\"o-modal o-modal--selector\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.admin.classes.category.select' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeCategory()\">\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 <form (ngSubmit)=\"addCategory()\">\n <div class=\"m-form-label-field selector\">\n <label class=\"a-label\" for=\"name-search\">{{ '@pry.admin.classes.category.searchOrCreate' | i18n }}</label>\n <input\n type=\"text\"\n class=\"a-form-field\"\n (input)=\"search($event)\"\n [(ngModel)]=\"catToAdd.name\"\n name=\"name\"\n id=\"name-search\"\n />\n </div>\n\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.classes.category.name' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th scole=\"col\">{{ '@pry.admin.classes.category.name' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let cat of categories$ | async\">\n <td>\n <button type=\"button\" class=\"a-btn a-btn--ghost select-it\" (click)=\"setCategory(cat)\">\n <span class=\"u-visually-hidden\">{{ '@pry.admin.classes.category.selectIt' | i18n }}</span>\n {{ cat.name }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n <ng-container *ngIf=\"(categories$ | async)?.length === 0\">\n <p class=\"a-p a-p--create\">\n <strong>{{ catToAdd.name }} </strong>\n <span [innerHTML]=\"'@pry.admin.classes.category.add' | i18n\"></span>\n </p>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"'@pry.admin.classes.category.create' | i18n\"\n ></button>\n </ng-container>\n </form>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.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: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
|
|
1611
1531
|
}
|
|
1612
1532
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminAttributesFormComponent, decorators: [{
|
|
1613
1533
|
type: Component,
|
|
1614
|
-
args: [{ selector: 'pry-admin-attributes-form', template: "<form class=\"o-form\" [formGroup]=\"attrForm\" (ngSubmit)=\"addAttribute()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"attr_name\">{{ '@pry.admin.classes.attributes.name' | i18n }}</label>\n <input id=\"attr_name\" type=\"text\" class=\"a-form-field\" formControlName=\"name\" required />\n <label class=\"a-label a-label--help -error\" *ngIf=\"nameAlreadyExists$ | async\">{{\n '@pry.admin.exists' | i18n\n }}</label>\n <div *ngIf=\"attrForm.get('name')?.invalid\">\n <div *ngIf=\"attrForm.get('name')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.minLength' | i18n : { len:
|
|
1534
|
+
args: [{ selector: 'pry-admin-attributes-form', template: "<form class=\"o-form\" [formGroup]=\"attrForm\" (ngSubmit)=\"addAttribute()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"attr_name\">{{ '@pry.admin.classes.attributes.name' | i18n }}</label>\n <input id=\"attr_name\" type=\"text\" class=\"a-form-field\" formControlName=\"name\" required />\n <label class=\"a-label a-label--help -error\" *ngIf=\"nameAlreadyExists$ | async\">{{\n '@pry.admin.exists' | i18n\n }}</label>\n <div *ngIf=\"attrForm.get('name')?.invalid\">\n <div *ngIf=\"attrForm.get('name')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.minLength' | i18n : { len: 2 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('maxlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.maxLength' | i18n : { len: 100 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('whitespace') && !attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.noWhitespace' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"type\">{{ '@pry.admin.classes.attributes.field' | i18n }}</label>\n <div class=\"title-container\">\n <pry-select\n id=\"type\"\n class=\"a-pry-select\"\n formControlName=\"field\"\n [labelTranslate]=\"true\"\n [items]=\"fields$ | async\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n required=\"true\"\n ></pry-select>\n <ng-container *ngIf=\"selectedFieldTypeDescription$ | async as description\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip title-tooltip\">\n <p class=\"a-p -date\">{{ description }}</p>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"attrForm.get('field')?.invalid\">\n <div *ngIf=\"attrForm.get('field')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"category\">{{ '@pry.admin.classes.attributes.category' | i18n }}</label>\n <pry-select\n id=\"category\"\n class=\"form-control\"\n formControlName=\"category\"\n [labelTranslate]=\"true\"\n [items]=\"categories$ | async\"\n (click)=\"showCategory()\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n [readonly]=\"true\"\n ></pry-select>\n </div>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n *pryAccess=\"{ module: 'admin', page: 'classes', action: 'add_attribute' }\"\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [disabled]=\"attrForm.invalid || nameAlreadyExists\"\n [innerHTML]=\"(selectedAttribute ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n\n<ng-template #template>\n <div class=\"o-modal o-modal--selector\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.admin.classes.category.select' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeCategory()\">\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 <form (ngSubmit)=\"addCategory()\">\n <div class=\"m-form-label-field selector\">\n <label class=\"a-label\" for=\"name-search\">{{ '@pry.admin.classes.category.searchOrCreate' | i18n }}</label>\n <input\n type=\"text\"\n class=\"a-form-field\"\n (input)=\"search($event)\"\n [(ngModel)]=\"catToAdd.name\"\n name=\"name\"\n id=\"name-search\"\n />\n </div>\n\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.classes.category.name' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th scole=\"col\">{{ '@pry.admin.classes.category.name' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let cat of categories$ | async\">\n <td>\n <button type=\"button\" class=\"a-btn a-btn--ghost select-it\" (click)=\"setCategory(cat)\">\n <span class=\"u-visually-hidden\">{{ '@pry.admin.classes.category.selectIt' | i18n }}</span>\n {{ cat.name }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n <ng-container *ngIf=\"(categories$ | async)?.length === 0\">\n <p class=\"a-p a-p--create\">\n <strong>{{ catToAdd.name }} </strong>\n <span [innerHTML]=\"'@pry.admin.classes.category.add' | i18n\"></span>\n </p>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"'@pry.admin.classes.category.create' | i18n\"\n ></button>\n </ng-container>\n </form>\n </div>\n</ng-template>\n" }]
|
|
1615
1535
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3$1.UntypedFormBuilder }, { type: i5.Overlay }, { type: i0.ViewContainerRef }, { type: i4.PryI18nService }]; }, propDecorators: { selectedClass: [{
|
|
1616
1536
|
type: Input
|
|
1617
1537
|
}], interClass: [{
|
|
@@ -2133,15 +2053,15 @@ const environmentReducer = createReducer(initialEnvironmentState, on(Environment
|
|
|
2133
2053
|
loading: false
|
|
2134
2054
|
})));
|
|
2135
2055
|
|
|
2136
|
-
const feature$
|
|
2137
|
-
const environments = createSelector(feature$
|
|
2138
|
-
const loading$
|
|
2139
|
-
const currentEnv = createSelector(feature$
|
|
2056
|
+
const feature$6 = createFeatureSelector(environmentFeatureKey);
|
|
2057
|
+
const environments = createSelector(feature$6, (state) => state?.environments);
|
|
2058
|
+
const loading$2 = createSelector(feature$6, (state) => state?.loading);
|
|
2059
|
+
const currentEnv = createSelector(feature$6, (state) => state?.currentEnv);
|
|
2140
2060
|
const currentEnvName = createSelector(currentEnv, (env) => env?.name);
|
|
2141
2061
|
const EnvironmentSelectors = {
|
|
2142
|
-
feature: feature$
|
|
2062
|
+
feature: feature$6,
|
|
2143
2063
|
environments,
|
|
2144
|
-
loading: loading$
|
|
2064
|
+
loading: loading$2,
|
|
2145
2065
|
currentEnv,
|
|
2146
2066
|
currentEnvName
|
|
2147
2067
|
};
|
|
@@ -2457,13 +2377,13 @@ const fieldReducer = createReducer(initialFieldState, on(FieldsActions.selectFie
|
|
|
2457
2377
|
selectedField: undefined
|
|
2458
2378
|
})));
|
|
2459
2379
|
|
|
2460
|
-
const feature$
|
|
2461
|
-
const loading = createSelector(feature$
|
|
2462
|
-
const selectedField = createSelector(feature$
|
|
2380
|
+
const feature$5 = createFeatureSelector(fieldsFeatureKey);
|
|
2381
|
+
const loading$1 = createSelector(feature$5, (state) => state?.loading);
|
|
2382
|
+
const selectedField = createSelector(feature$5, (state) => state?.selectedField);
|
|
2463
2383
|
const selectedFieldId = createSelector(selectedField, (state) => state?.id);
|
|
2464
2384
|
const FieldsSelectors = {
|
|
2465
|
-
feature: feature$
|
|
2466
|
-
loading,
|
|
2385
|
+
feature: feature$5,
|
|
2386
|
+
loading: loading$1,
|
|
2467
2387
|
selectedField,
|
|
2468
2388
|
selectedFieldId
|
|
2469
2389
|
};
|
|
@@ -2564,15 +2484,15 @@ const adminReducer = createReducer(initialAdminState, on(AdminActions.highlightM
|
|
|
2564
2484
|
selectedAssociation: action.association
|
|
2565
2485
|
})));
|
|
2566
2486
|
|
|
2567
|
-
const feature$
|
|
2568
|
-
const highlightedMenu = createSelector(feature$
|
|
2569
|
-
const menuOpen = createSelector(feature$
|
|
2570
|
-
const menus = createSelector(feature$
|
|
2571
|
-
const actions = createSelector(feature$
|
|
2572
|
-
const subActions = createSelector(feature$
|
|
2573
|
-
const panelOpen = createSelector(feature$
|
|
2574
|
-
const componentType = createSelector(feature$
|
|
2575
|
-
const subMenus = createSelector(feature$
|
|
2487
|
+
const feature$4 = createFeatureSelector(adminFeatureKey);
|
|
2488
|
+
const highlightedMenu = createSelector(feature$4, (state) => state?.highlightedMenu);
|
|
2489
|
+
const menuOpen = createSelector(feature$4, (state) => state.menuOpen);
|
|
2490
|
+
const menus = createSelector(feature$4, (state) => state?.menus);
|
|
2491
|
+
const actions = createSelector(feature$4, (state) => state.actions);
|
|
2492
|
+
const subActions = createSelector(feature$4, (state) => state.subActions);
|
|
2493
|
+
const panelOpen = createSelector(feature$4, (state) => state.panelOpen);
|
|
2494
|
+
const componentType = createSelector(feature$4, (state) => state?.componentType);
|
|
2495
|
+
const subMenus = createSelector(feature$4, (state) => state?.menus.reduce((p, c) => {
|
|
2576
2496
|
const key = c.subMenu ?? 'none';
|
|
2577
2497
|
let menu = p.find((menu) => menu.name === key);
|
|
2578
2498
|
if (!menu) {
|
|
@@ -2582,9 +2502,9 @@ const subMenus = createSelector(feature$3, (state) => state?.menus.reduce((p, c)
|
|
|
2582
2502
|
menu.subMenus.push(c);
|
|
2583
2503
|
return p;
|
|
2584
2504
|
}, []));
|
|
2585
|
-
const selectedAssociation = createSelector(feature$
|
|
2505
|
+
const selectedAssociation = createSelector(feature$4, (state) => state?.selectedAssociation);
|
|
2586
2506
|
const AdminSelectors = {
|
|
2587
|
-
feature: feature$
|
|
2507
|
+
feature: feature$4,
|
|
2588
2508
|
highlightedMenu,
|
|
2589
2509
|
menuOpen,
|
|
2590
2510
|
menus,
|
|
@@ -2843,11 +2763,11 @@ class AdminSelectDatasetComponent extends SubscriptionnerDirective {
|
|
|
2843
2763
|
}));
|
|
2844
2764
|
}
|
|
2845
2765
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminSelectDatasetComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2846
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminSelectDatasetComponent, selector: "pry-admin-select-dataset", usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"selectedDataset$ | async as dataset\"\n [id]=\"'panel-dataset-' + dataset.id\"\n [attr.aria-labelledby]=\"'button-dataset-' + dataset.id\"\n class=\"o-panel\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 class=\"a-h3\">\n {{ '@pry.admin.metadata.details' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"datasetMetadata\" name=\"metadata.title\"></pry-tab>\n <pry-tab [templateRef]=\"datasetAssociations\" name=\"classes.associations\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #datasetMetadata>\n <pry-metadata-editor\n [targetId]=\"(selectedDataset$ | async)?.id ?? ''\"\n [
|
|
2766
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminSelectDatasetComponent, selector: "pry-admin-select-dataset", usesInheritance: true, ngImport: i0, template: "<div\n *ngIf=\"selectedDataset$ | async as dataset\"\n [id]=\"'panel-dataset-' + dataset.id\"\n [attr.aria-labelledby]=\"'button-dataset-' + dataset.id\"\n class=\"o-panel\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 class=\"a-h3\">\n {{ '@pry.admin.metadata.details' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"datasetMetadata\" name=\"metadata.title\"></pry-tab>\n <pry-tab [templateRef]=\"datasetAssociations\" name=\"classes.associations\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #datasetMetadata>\n <pry-metadata-editor\n [targetId]=\"(selectedDataset$ | async)?.id ?? ''\"\n [isModification]=\"(editable$ | async) ?? false\"\n [metadata]=\"(datasetMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addDatasetMetadata($event)\"\n [type]=\"'meta'\"\n ></pry-metadata-editor>\n </ng-template>\n\n <ng-template #datasetAssociations>\n <div *ngIf=\"associations$ | async as associations\" class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.classes.associations' | i18n }}</h4>\n <pry-association [associations]=\"associations\"></pry-association>\n </div>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"] }, { kind: "component", type: i4.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5$3.PryMetadataEditorComponent, selector: "pry-metadata-editor", inputs: ["isModification", "targetId", "type", "metadata"], outputs: ["addMeta", "removeMeta"] }, { kind: "component", type: PryAssociationComponent, selector: "pry-association", inputs: ["associations"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
|
|
2847
2767
|
}
|
|
2848
2768
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminSelectDatasetComponent, decorators: [{
|
|
2849
2769
|
type: Component,
|
|
2850
|
-
args: [{ selector: 'pry-admin-select-dataset', template: "<div\n *ngIf=\"selectedDataset$ | async as dataset\"\n [id]=\"'panel-dataset-' + dataset.id\"\n [attr.aria-labelledby]=\"'button-dataset-' + dataset.id\"\n class=\"o-panel\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 class=\"a-h3\">\n {{ '@pry.admin.metadata.details' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"datasetMetadata\" name=\"metadata.title\"></pry-tab>\n <pry-tab [templateRef]=\"datasetAssociations\" name=\"classes.associations\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #datasetMetadata>\n <pry-metadata-editor\n [targetId]=\"(selectedDataset$ | async)?.id ?? ''\"\n [
|
|
2770
|
+
args: [{ selector: 'pry-admin-select-dataset', template: "<div\n *ngIf=\"selectedDataset$ | async as dataset\"\n [id]=\"'panel-dataset-' + dataset.id\"\n [attr.aria-labelledby]=\"'button-dataset-' + dataset.id\"\n class=\"o-panel\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 class=\"a-h3\">\n {{ '@pry.admin.metadata.details' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"datasetMetadata\" name=\"metadata.title\"></pry-tab>\n <pry-tab [templateRef]=\"datasetAssociations\" name=\"classes.associations\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #datasetMetadata>\n <pry-metadata-editor\n [targetId]=\"(selectedDataset$ | async)?.id ?? ''\"\n [isModification]=\"(editable$ | async) ?? false\"\n [metadata]=\"(datasetMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addDatasetMetadata($event)\"\n [type]=\"'meta'\"\n ></pry-metadata-editor>\n </ng-template>\n\n <ng-template #datasetAssociations>\n <div *ngIf=\"associations$ | async as associations\" class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.classes.associations' | i18n }}</h4>\n <pry-association [associations]=\"associations\"></pry-association>\n </div>\n </ng-template>\n</div>\n" }]
|
|
2851
2771
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }]; } });
|
|
2852
2772
|
|
|
2853
2773
|
class AdminEnvironmentSelectComponent {
|
|
@@ -3054,12 +2974,12 @@ const adminMetadataRulesReducer = createReducer(initialMetadataRulesState, on(Ad
|
|
|
3054
2974
|
error: action.error
|
|
3055
2975
|
})));
|
|
3056
2976
|
|
|
3057
|
-
const feature$
|
|
3058
|
-
const metadataRulesList = createSelector(feature$
|
|
3059
|
-
const metadataRulesSelectedId = createSelector(feature$
|
|
3060
|
-
const metadataRulesSelected = createSelector(feature$
|
|
2977
|
+
const feature$3 = createFeatureSelector(adminMetadataRulesFeatureKey);
|
|
2978
|
+
const metadataRulesList = createSelector(feature$3, (state) => state?.list);
|
|
2979
|
+
const metadataRulesSelectedId = createSelector(feature$3, (state) => state?.metadataRulesSelected?.id);
|
|
2980
|
+
const metadataRulesSelected = createSelector(feature$3, (state) => state?.metadataRulesSelected);
|
|
3061
2981
|
const MetadataRulesSelectors = {
|
|
3062
|
-
feature: feature$
|
|
2982
|
+
feature: feature$3,
|
|
3063
2983
|
metadataRulesList,
|
|
3064
2984
|
metadataRulesSelected,
|
|
3065
2985
|
metadataRulesSelectedId
|
|
@@ -3138,6 +3058,59 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
3138
3058
|
args: [{ selector: 'pry-admin-select-metadata-rules', template: "<div\n *ngIf=\"metadataRulesSelected$ | async as metadataRules\"\n [id]=\"'panel-meta-rule-' + metadataRules.id\"\n [attr.aria-labelledby]=\"'button-meta-rule-' + metadataRules.id\"\n class=\"o-panel\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 class=\"a-h3\">\n {{ '@pry.admin.metadata.details' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"metadataRuleDetails\" name=\"details\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #metadataRuleDetails>\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.label' | i18n }} :\n <strong>{{ metadataRules.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-item.name' | i18n }} :\n <strong>{{ metadataRules.metadata.name }}</strong>\n </p>\n <p class=\"a-p\" *ngIf=\"metadataRules.metadata.description\">\n {{ '@pry.admin.metadata-rules.metadata-item.description' | i18n }} :\n <strong>{{ metadataRules.metadata.description }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-item.type' | i18n }} :\n <strong>{{ metadataRules.metadata.type }}</strong>\n </p>\n <ng-container *ngIf=\"metadataRules.metadata.allowedValues\">\n <p class=\"a-p\" *ngFor=\"let item of metadataRules.metadata.allowedValues\">{{ item }}</p>\n </ng-container>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-user.name' | i18n }} :\n <strong>{{ metadataRules.userProfile.name }}</strong>\n </p>\n <p class=\"a-p\" *ngIf=\"metadataRules.userProfile.description\">\n {{ '@pry.admin.metadata-rules.metadata-user.description' | i18n }} :\n <strong>{{ metadataRules.userProfile.description }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.metadata-rules.metadata-user.type' | i18n }} :\n <strong>{{ metadataRules.userProfile.type }}</strong>\n </p>\n <ng-container *ngIf=\"metadataRules.userProfile.allowedValues\">\n <p class=\"a-p\" *ngFor=\"let item of metadataRules.userProfile.allowedValues\">{{ item }}</p>\n </ng-container>\n </ng-template>\n</div>\n" }]
|
|
3139
3059
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }]; } });
|
|
3140
3060
|
|
|
3061
|
+
const BASE$1 = '[Admin/User]';
|
|
3062
|
+
const BASEAPI$1 = '[Admin/User Api]';
|
|
3063
|
+
const AdminMetadataUserActions = {
|
|
3064
|
+
selectMetadata: createAction(`${BASE$1} Select Metadata`, props()),
|
|
3065
|
+
unselectMetadata: createAction(`${BASE$1} unSelect Metadata`),
|
|
3066
|
+
createMetadata: createAction(`${BASE$1} create metadata`, props()),
|
|
3067
|
+
createMetadataSuccess: createAction(`${BASEAPI$1} create metadata Success`, props()),
|
|
3068
|
+
createMetadataFailure: createAction(`${BASEAPI$1} create metadata Failure`, props()),
|
|
3069
|
+
goToDetailsViewMetadata: createAction(`${BASE$1} go to details view metadata`, props()),
|
|
3070
|
+
goToDetailsViewMetadataSuccess: createAction(`${BASEAPI$1} go to details view metadata success`, props()),
|
|
3071
|
+
goToDetailsViewMetadataFailure: createAction(`${BASEAPI$1} go to details view metadata failure`, props()),
|
|
3072
|
+
goToEditMetadata: createAction(`${BASE$1} go to edit view`, props()),
|
|
3073
|
+
goToEditMetadataSuccess: createAction(`${BASE$1} go to edit view success`, props()),
|
|
3074
|
+
goToEditMetadataFailure: createAction(`${BASE$1} go to edit view failure`, props()),
|
|
3075
|
+
updateMetadata: createAction(`${BASE$1} update meta data`, props()),
|
|
3076
|
+
updateMetadataSuccess: createAction(`${BASEAPI$1} update meta data Success`, props()),
|
|
3077
|
+
updateMetadataFailure: createAction(`${BASEAPI$1} update meta data Failure`, props())
|
|
3078
|
+
};
|
|
3079
|
+
|
|
3080
|
+
const adminMetadataUserFeatureKey = '@pry/admin/metadata/user';
|
|
3081
|
+
const initialAdminUserState$1 = {
|
|
3082
|
+
loading: false,
|
|
3083
|
+
editable: false,
|
|
3084
|
+
errors: null,
|
|
3085
|
+
selectedMetadataId: null
|
|
3086
|
+
};
|
|
3087
|
+
const adminMetadataUserReducer = createReducer(initialAdminUserState$1, on(AdminMetadataUserActions.selectMetadata, (state, action) => ({
|
|
3088
|
+
...state,
|
|
3089
|
+
selectedMetadataId: action.id
|
|
3090
|
+
})), on(AdminMetadataUserActions.unselectMetadata, (state) => ({
|
|
3091
|
+
...state,
|
|
3092
|
+
selectedMetadataId: null
|
|
3093
|
+
})), on(AdminMetadataUserActions.goToDetailsViewMetadata, (state, action) => ({
|
|
3094
|
+
...state,
|
|
3095
|
+
selectedMetadataId: action.id,
|
|
3096
|
+
editable: false
|
|
3097
|
+
})), on(AdminMetadataUserActions.goToEditMetadata, (state, action) => ({
|
|
3098
|
+
...state,
|
|
3099
|
+
selectedMetadataId: action.id,
|
|
3100
|
+
editable: true
|
|
3101
|
+
})));
|
|
3102
|
+
|
|
3103
|
+
const feature$2 = createFeatureSelector(adminMetadataUserFeatureKey);
|
|
3104
|
+
const loading = createSelector(feature$2, (state) => state?.loading);
|
|
3105
|
+
const editable$1 = createSelector(feature$2, (state) => ({ value: state?.editable }));
|
|
3106
|
+
const selectedMetadataId = createSelector(feature$2, (state) => state?.selectedMetadataId);
|
|
3107
|
+
const AdminMetadataUserSelectors = {
|
|
3108
|
+
feature: feature$2,
|
|
3109
|
+
loading,
|
|
3110
|
+
selectedMetadataId,
|
|
3111
|
+
editable: editable$1
|
|
3112
|
+
};
|
|
3113
|
+
|
|
3141
3114
|
class AdminUserSelectMetadataComponent {
|
|
3142
3115
|
static { this.id = 'AdminUserSelectMetadataComponent'; }
|
|
3143
3116
|
constructor(store, router, route) {
|
|
@@ -3146,7 +3119,10 @@ class AdminUserSelectMetadataComponent {
|
|
|
3146
3119
|
this.route = route;
|
|
3147
3120
|
this.sub = new Subscription();
|
|
3148
3121
|
this.currentTypeTranslation = '';
|
|
3149
|
-
this.metadata$ =
|
|
3122
|
+
this.metadata$ = combineLatest([
|
|
3123
|
+
this.store.select(AdminMetadataUserSelectors.selectedMetadataId),
|
|
3124
|
+
this.store.select(MetadataSelectors.userProfile)
|
|
3125
|
+
]).pipe(map(([id, metas]) => metas.find((meta) => meta.id === id)));
|
|
3150
3126
|
this.sub.add(this.metadata$.subscribe((meta) => {
|
|
3151
3127
|
const type = META_OPTIONS.find((el) => el.varType === meta?.type);
|
|
3152
3128
|
this.currentTypeTranslation = type ? type.translation : META_OPTIONS[0].translation;
|
|
@@ -3380,22 +3356,12 @@ const AdminUserActions = {
|
|
|
3380
3356
|
loadUsersFailure: createAction(`${BASEAPI} Load Users Failure`, props()),
|
|
3381
3357
|
selectUser: createAction(`${BASE} Select User`, props()),
|
|
3382
3358
|
unselectUser: createAction(`${BASE} unSelect User`),
|
|
3383
|
-
isEditable: createAction(`${BASE} Is editable`, props())
|
|
3384
|
-
loadMetadataUser: createAction(`${BASE} Load Metadata of selected Users`, props()),
|
|
3385
|
-
loadMetadataUserSuccess: createAction(`${BASEAPI} Load Metadata of selected Users Success`, props()),
|
|
3386
|
-
loadMetadataUserFailure: createAction(`${BASEAPI} Load Metadata of selected Users Failure`, props()),
|
|
3387
|
-
addMetadataUser: createAction(`${BASE} Add Metadata of selected Users`, props()),
|
|
3388
|
-
addMetadataUserSuccess: createAction(`${BASEAPI} Add Metadata of selected Users Success`, props()),
|
|
3389
|
-
addMetadataUserFailure: createAction(`${BASEAPI} Add Metadata of selected Users Failure`, props()),
|
|
3390
|
-
deleteMetadataUser: createAction(`${BASE} Delete Metadata of selected Users`, props()),
|
|
3391
|
-
deleteMetadataUserSuccess: createAction(`${BASEAPI} Delete Metadata of selected Users Success`, props()),
|
|
3392
|
-
deleteMetadataUserFailure: createAction(`${BASEAPI} Delete Metadata of selected Users Failure`, props())
|
|
3359
|
+
isEditable: createAction(`${BASE} Is editable`, props())
|
|
3393
3360
|
};
|
|
3394
3361
|
|
|
3395
3362
|
const adminUserFeatureKey = '@pry/admin/user';
|
|
3396
3363
|
const initialAdminUserState = {
|
|
3397
3364
|
users: [],
|
|
3398
|
-
selectedMetadataUser: [],
|
|
3399
3365
|
editable: false
|
|
3400
3366
|
};
|
|
3401
3367
|
const adminUserReducer = createReducer(initialAdminUserState, on(AdminUserActions.loadUsersSuccess, (state, action) => ({
|
|
@@ -3407,11 +3373,7 @@ const adminUserReducer = createReducer(initialAdminUserState, on(AdminUserAction
|
|
|
3407
3373
|
editable: false
|
|
3408
3374
|
})), on(AdminUserActions.unselectUser, (state, action) => ({
|
|
3409
3375
|
...state,
|
|
3410
|
-
selectedUser: undefined
|
|
3411
|
-
selectedMetadataUser: []
|
|
3412
|
-
})), on(AdminUserActions.loadMetadataUserSuccess, (state, action) => ({
|
|
3413
|
-
...state,
|
|
3414
|
-
selectedMetadataUser: action.metadata
|
|
3376
|
+
selectedUser: undefined
|
|
3415
3377
|
})), on(AdminUserActions.isEditable, (state, action) => ({
|
|
3416
3378
|
...state,
|
|
3417
3379
|
editable: action.editable
|
|
@@ -3420,13 +3382,11 @@ const adminUserReducer = createReducer(initialAdminUserState, on(AdminUserAction
|
|
|
3420
3382
|
const feature$1 = createFeatureSelector(adminUserFeatureKey);
|
|
3421
3383
|
const users = createSelector(feature$1, (state) => state?.users);
|
|
3422
3384
|
const selectedUser = createSelector(feature$1, (state) => state?.selectedUser);
|
|
3423
|
-
const selectedMetadataUser = createSelector(feature$1, (state) => state?.selectedMetadataUser);
|
|
3424
3385
|
const editable = createSelector(feature$1, (state) => state.editable);
|
|
3425
3386
|
const AdminUserSelectors = {
|
|
3426
3387
|
feature: feature$1,
|
|
3427
3388
|
users,
|
|
3428
3389
|
selectedUser,
|
|
3429
|
-
selectedMetadataUser,
|
|
3430
3390
|
editable
|
|
3431
3391
|
};
|
|
3432
3392
|
|
|
@@ -3441,10 +3401,10 @@ class AdminUserSelectComponent {
|
|
|
3441
3401
|
this.editable = false;
|
|
3442
3402
|
this.isSubmitted = false;
|
|
3443
3403
|
this.profil = false;
|
|
3444
|
-
this.store.dispatch(
|
|
3404
|
+
this.store.dispatch(MetadataActions.loadUserProfile());
|
|
3445
3405
|
this.selectedUser$ = this.store.select(AdminUserSelectors.selectedUser);
|
|
3446
|
-
this.userMetadata$ = this.store.select(
|
|
3447
|
-
this.metadata$ = this.store.select(
|
|
3406
|
+
this.userMetadata$ = this.store.select(MetadataSelectors.selectedUserProfile);
|
|
3407
|
+
this.metadata$ = this.store.select(MetadataSelectors.userProfile);
|
|
3448
3408
|
this.editable$ = this.store.select(AdminUserSelectors.editable);
|
|
3449
3409
|
this.compId = nextCompId++;
|
|
3450
3410
|
}
|
|
@@ -3464,24 +3424,24 @@ class AdminUserSelectComponent {
|
|
|
3464
3424
|
this.store.dispatch(AdminUserActions.unselectUser());
|
|
3465
3425
|
}
|
|
3466
3426
|
addMetadataUser(metadata) {
|
|
3467
|
-
this.store.dispatch(
|
|
3427
|
+
this.store.dispatch(MetadataActions.addMetadataUser({
|
|
3468
3428
|
userId: metadata.id,
|
|
3469
3429
|
metaId: metadata.metadataId,
|
|
3470
3430
|
value: metadata.value
|
|
3471
3431
|
}));
|
|
3472
3432
|
}
|
|
3473
3433
|
removeMetadata(metadata) {
|
|
3474
|
-
this.store.dispatch(
|
|
3434
|
+
this.store.dispatch(MetadataActions.deleteMetadataUser({ userId: this.userId, metadataId: metadata.metadataId }));
|
|
3475
3435
|
}
|
|
3476
3436
|
switch(number) {
|
|
3477
3437
|
this.tab = number;
|
|
3478
3438
|
}
|
|
3479
3439
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminUserSelectComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3480
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminUserSelectComponent, selector: "pry-admin-user-select", inputs: { profil: "profil" }, ngImport: i0, template: "<div\n *ngIf=\"selectedUser$ | async as user\"\n [id]=\"'panel-user-' + user.id\"\n [attr.aria-labelledby]=\"'button-user-' + user.id\"\n class=\"o-panel\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.userInfo.info' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"userProfile\" name=\"userInfo.profile\"></pry-tab>\n <pry-tab [templateRef]=\"userDetails\" name=\"details\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #userProfile>\n <pry-metadata-editor\n [targetId]=\"(selectedUser$ | async)?.id ?? ''\"\n [
|
|
3440
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminUserSelectComponent, selector: "pry-admin-user-select", inputs: { profil: "profil" }, ngImport: i0, template: "<div\n *ngIf=\"selectedUser$ | async as user\"\n [id]=\"'panel-user-' + user.id\"\n [attr.aria-labelledby]=\"'button-user-' + user.id\"\n class=\"o-panel\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.userInfo.info' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"userProfile\" name=\"userInfo.profile\"></pry-tab>\n <pry-tab [templateRef]=\"userDetails\" name=\"details\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #userProfile>\n <pry-metadata-editor\n [targetId]=\"(selectedUser$ | async)?.id ?? ''\"\n [isModification]=\"(editable$ | async) ?? false\"\n [metadata]=\"(userMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addMetadataUser($event)\"\n [type]=\"'user'\"\n ></pry-metadata-editor>\n </ng-template>\n\n <ng-template #userDetails>\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.name' | i18n }} :\n <strong>{{ user?.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.familyName' | i18n }} :\n <strong>{{ user.familyName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.email' | i18n }} :\n <strong>{{ user.email }}</strong>\n </p>\n </ng-template>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"] }, { kind: "component", type: i4.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5$3.PryMetadataEditorComponent, selector: "pry-metadata-editor", inputs: ["isModification", "targetId", "type", "metadata"], outputs: ["addMeta", "removeMeta"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
|
|
3481
3441
|
}
|
|
3482
3442
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminUserSelectComponent, decorators: [{
|
|
3483
3443
|
type: Component,
|
|
3484
|
-
args: [{ selector: 'pry-admin-user-select', template: "<div\n *ngIf=\"selectedUser$ | async as user\"\n [id]=\"'panel-user-' + user.id\"\n [attr.aria-labelledby]=\"'button-user-' + user.id\"\n class=\"o-panel\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.userInfo.info' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"userProfile\" name=\"userInfo.profile\"></pry-tab>\n <pry-tab [templateRef]=\"userDetails\" name=\"details\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #userProfile>\n <pry-metadata-editor\n [targetId]=\"(selectedUser$ | async)?.id ?? ''\"\n [
|
|
3444
|
+
args: [{ selector: 'pry-admin-user-select', template: "<div\n *ngIf=\"selectedUser$ | async as user\"\n [id]=\"'panel-user-' + user.id\"\n [attr.aria-labelledby]=\"'button-user-' + user.id\"\n class=\"o-panel\"\n>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.userInfo.info' | i18n }}\n </h3>\n </div>\n\n <pry-tab-group translationStringBase=\"@pry.admin.\">\n <pry-tab [templateRef]=\"userProfile\" name=\"userInfo.profile\"></pry-tab>\n <pry-tab [templateRef]=\"userDetails\" name=\"details\"></pry-tab>\n </pry-tab-group>\n\n <ng-template #userProfile>\n <pry-metadata-editor\n [targetId]=\"(selectedUser$ | async)?.id ?? ''\"\n [isModification]=\"(editable$ | async) ?? false\"\n [metadata]=\"(userMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addMetadataUser($event)\"\n [type]=\"'user'\"\n ></pry-metadata-editor>\n </ng-template>\n\n <ng-template #userDetails>\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.name' | i18n }} :\n <strong>{{ user?.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.familyName' | i18n }} :\n <strong>{{ user.familyName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.userInfo.email' | i18n }} :\n <strong>{{ user.email }}</strong>\n </p>\n </ng-template>\n</div>\n" }]
|
|
3485
3445
|
}], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { profil: [{
|
|
3486
3446
|
type: Input
|
|
3487
3447
|
}] } });
|
|
@@ -3548,9 +3508,11 @@ const TEMPLATE_COMPONENTS = [
|
|
|
3548
3508
|
AdminSelectDatasetComponent
|
|
3549
3509
|
];
|
|
3550
3510
|
class AdminLayoutComponent extends BaseLayoutComponent {
|
|
3551
|
-
constructor(store, router) {
|
|
3511
|
+
constructor(store, router, route) {
|
|
3552
3512
|
super(store, router);
|
|
3513
|
+
this.route = route;
|
|
3553
3514
|
this.sub = new Subscription();
|
|
3515
|
+
this.limit$ = new BehaviorSubject(undefined);
|
|
3554
3516
|
this.baseToolboxTranslation = '@pry.admin.';
|
|
3555
3517
|
this.actions$ = this.store.select(AdminSelectors.actions);
|
|
3556
3518
|
this.subActions$ = this.store.select(AdminSelectors.subActions);
|
|
@@ -3558,6 +3520,7 @@ class AdminLayoutComponent extends BaseLayoutComponent {
|
|
|
3558
3520
|
this.sub.add(this.store.select(AdminSelectors.componentType).subscribe((ct) => {
|
|
3559
3521
|
this.store.dispatch(AdminActions.togglePanel({ panelOpen: !!ct }));
|
|
3560
3522
|
}));
|
|
3523
|
+
this.subscriptions.add(this.route.data.subscribe((data) => this.limit$?.next(data['limitMenu'])));
|
|
3561
3524
|
}
|
|
3562
3525
|
init() {
|
|
3563
3526
|
this.menus$ = this.store.select(AdminSelectors.menus);
|
|
@@ -3581,13 +3544,13 @@ class AdminLayoutComponent extends BaseLayoutComponent {
|
|
|
3581
3544
|
ngOnDestroy() {
|
|
3582
3545
|
this.sub.unsubscribe();
|
|
3583
3546
|
}
|
|
3584
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminLayoutComponent, deps: [{ token: i1.Store }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3585
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminLayoutComponent, selector: "pry-admin-layout", viewQueries: [{ propertyName: "adminPanel", first: true, predicate: ["adminPanel"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"o-base-layout\" [ngClass]=\"{ 'is-menu-open': menuOpen$ | async }\">\n <pry-admin-title class=\"o-base-layout__title\"></pry-admin-title>\n <pry-admin-menu *ngIf=\"menuOpen$ | async\" class=\"o-base-layout__menu\"></pry-admin-menu>\n <pry-base-toolbox\n class=\"o-base-layout__toolbox\"\n [baseToolboxTranslation]=\"baseToolboxTranslation\"\n [actions$]=\"actions$\"\n [subActions$]=\"subActions$\"\n ></pry-base-toolbox>\n\n <div class=\"o-base-layout__contentwrapper\">\n <div class=\"o-base-layout__content\">\n <router-outlet></router-outlet>\n </div>\n\n <div
|
|
3547
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminLayoutComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3548
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminLayoutComponent, selector: "pry-admin-layout", viewQueries: [{ propertyName: "adminPanel", first: true, predicate: ["adminPanel"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"o-base-layout\" [ngClass]=\"{ 'is-menu-open': menuOpen$ | async }\">\n <pry-admin-title class=\"o-base-layout__title\"></pry-admin-title>\n <pry-admin-menu *ngIf=\"menuOpen$ | async\" class=\"o-base-layout__menu\"></pry-admin-menu>\n <pry-base-toolbox\n class=\"o-base-layout__toolbox\"\n [baseToolboxTranslation]=\"baseToolboxTranslation\"\n [actions$]=\"actions$\"\n [subActions$]=\"subActions$\"\n ></pry-base-toolbox>\n\n <div class=\"o-base-layout__contentwrapper\">\n <div class=\"o-base-layout__content\">\n <router-outlet></router-outlet>\n </div>\n\n <div\n class=\"o-base-layout__panel\"\n [class.is-open]=\"panelOpen$ | async\"\n [class.-model]=\"(limit$ | async) === 'model'\"\n >\n <div class=\"o-base-layout__panel__content\">\n <ng-template #adminPanel></ng-template>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.BaseToolboxComponent, selector: "pry-base-toolbox", inputs: ["baseToolboxTranslation", "actions$", "subActions$"] }, { kind: "directive", type: i2.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: AdminMenuComponent, selector: "pry-admin-menu" }, { kind: "component", type: AdminTitleComponent, selector: "pry-admin-title" }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }] }); }
|
|
3586
3549
|
}
|
|
3587
3550
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminLayoutComponent, decorators: [{
|
|
3588
3551
|
type: Component,
|
|
3589
|
-
args: [{ selector: 'pry-admin-layout', template: "<div class=\"o-base-layout\" [ngClass]=\"{ 'is-menu-open': menuOpen$ | async }\">\n <pry-admin-title class=\"o-base-layout__title\"></pry-admin-title>\n <pry-admin-menu *ngIf=\"menuOpen$ | async\" class=\"o-base-layout__menu\"></pry-admin-menu>\n <pry-base-toolbox\n class=\"o-base-layout__toolbox\"\n [baseToolboxTranslation]=\"baseToolboxTranslation\"\n [actions$]=\"actions$\"\n [subActions$]=\"subActions$\"\n ></pry-base-toolbox>\n\n <div class=\"o-base-layout__contentwrapper\">\n <div class=\"o-base-layout__content\">\n <router-outlet></router-outlet>\n </div>\n\n <div
|
|
3590
|
-
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }]; }, propDecorators: { adminPanel: [{
|
|
3552
|
+
args: [{ selector: 'pry-admin-layout', template: "<div class=\"o-base-layout\" [ngClass]=\"{ 'is-menu-open': menuOpen$ | async }\">\n <pry-admin-title class=\"o-base-layout__title\"></pry-admin-title>\n <pry-admin-menu *ngIf=\"menuOpen$ | async\" class=\"o-base-layout__menu\"></pry-admin-menu>\n <pry-base-toolbox\n class=\"o-base-layout__toolbox\"\n [baseToolboxTranslation]=\"baseToolboxTranslation\"\n [actions$]=\"actions$\"\n [subActions$]=\"subActions$\"\n ></pry-base-toolbox>\n\n <div class=\"o-base-layout__contentwrapper\">\n <div class=\"o-base-layout__content\">\n <router-outlet></router-outlet>\n </div>\n\n <div\n class=\"o-base-layout__panel\"\n [class.is-open]=\"panelOpen$ | async\"\n [class.-model]=\"(limit$ | async) === 'model'\"\n >\n <div class=\"o-base-layout__panel__content\">\n <ng-template #adminPanel></ng-template>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
3553
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }]; }, propDecorators: { adminPanel: [{
|
|
3591
3554
|
type: ViewChild,
|
|
3592
3555
|
args: ['adminPanel', { static: true, read: ViewContainerRef }]
|
|
3593
3556
|
}] } });
|
|
@@ -3767,7 +3730,7 @@ class AdminFormMetadataRulesComponent {
|
|
|
3767
3730
|
this.isSameRules = false;
|
|
3768
3731
|
this.isSubmitted = false;
|
|
3769
3732
|
this.metadataList$ = this.store.select(MetadataSelectors.metadata);
|
|
3770
|
-
this.metadataUserList$ = this.store.select(
|
|
3733
|
+
this.metadataUserList$ = this.store.select(MetadataSelectors.userProfile);
|
|
3771
3734
|
this.metadataRulesList$ = this.store.select(MetadataRulesSelectors.metadataRulesList);
|
|
3772
3735
|
this.form = this.formBuilder.group({
|
|
3773
3736
|
id: [v4()],
|
|
@@ -3781,7 +3744,7 @@ class AdminFormMetadataRulesComponent {
|
|
|
3781
3744
|
this.isSameName = false;
|
|
3782
3745
|
this.store.dispatch(AdminMetadataRulesActions.load());
|
|
3783
3746
|
this.store.dispatch(MetadataActions.loadMetadata());
|
|
3784
|
-
this.store.dispatch(
|
|
3747
|
+
this.store.dispatch(MetadataActions.loadUserProfile());
|
|
3785
3748
|
this.sub = this.metadataList$.subscribe((metadataList) => {
|
|
3786
3749
|
this.metadataList = metadataList;
|
|
3787
3750
|
});
|
|
@@ -4064,15 +4027,14 @@ class AdminMetadataUserComponent {
|
|
|
4064
4027
|
{ headerType: 'label', label: this.translateService.instant('@pry.admin.user.label') },
|
|
4065
4028
|
{ headerType: 'label', label: this.translateService.instant('@pry.admin.user.type') }
|
|
4066
4029
|
];
|
|
4067
|
-
this.metadata$ = this.store.select(
|
|
4030
|
+
this.metadata$ = this.store.select(MetadataSelectors.userProfile);
|
|
4068
4031
|
this.selectedMetadataId$ = this.store.select(AdminMetadataUserSelectors.selectedMetadataId);
|
|
4069
4032
|
this.store.dispatch(AdminMetadataUserActions.unselectMetadata());
|
|
4070
|
-
this.store.dispatch(
|
|
4071
|
-
this.store
|
|
4072
|
-
.
|
|
4073
|
-
.
|
|
4074
|
-
.
|
|
4075
|
-
this.value = selectedMetadata.name;
|
|
4033
|
+
this.store.dispatch(MetadataActions.loadUserProfile());
|
|
4034
|
+
combineLatest([this.store.select(AdminMetadataUserSelectors.selectedMetadataId), this.metadata$])
|
|
4035
|
+
.pipe(filter(([x]) => !!x), takeUntil(this.unsubscribe$))
|
|
4036
|
+
.subscribe(([id, metas]) => {
|
|
4037
|
+
this.value = metas.find((meta) => meta.id === id)?.name ?? '';
|
|
4076
4038
|
});
|
|
4077
4039
|
const path = this.router.createUrlTree(['.', 'new'], { relativeTo: this.route });
|
|
4078
4040
|
this.store.dispatch(AdminActions.mainActions({
|
|
@@ -4128,7 +4090,7 @@ class FormMetadataComponent {
|
|
|
4128
4090
|
ngOnInit() {
|
|
4129
4091
|
if (this.isMetaUser) {
|
|
4130
4092
|
this.metadataNames$ = this.store
|
|
4131
|
-
.select(
|
|
4093
|
+
.select(MetadataSelectors.userProfile)
|
|
4132
4094
|
.pipe(map((metadata) => metadata.map((metadata) => metadata.name.toLowerCase())));
|
|
4133
4095
|
}
|
|
4134
4096
|
else {
|
|
@@ -4224,8 +4186,8 @@ class AdminUserEditMetadataComponent {
|
|
|
4224
4186
|
this.store = store;
|
|
4225
4187
|
this.router = router;
|
|
4226
4188
|
this.route = route;
|
|
4227
|
-
this.metadata$ = this.store.select(
|
|
4228
|
-
this.store.dispatch(
|
|
4189
|
+
this.metadata$ = this.store.select(MetadataSelectors.selectedMetadata);
|
|
4190
|
+
this.store.dispatch(MetadataActions.loadUserProfile());
|
|
4229
4191
|
}
|
|
4230
4192
|
ngOnInit() {
|
|
4231
4193
|
this.route.params.subscribe((params) => {
|
|
@@ -5296,21 +5258,6 @@ class AdminService {
|
|
|
5296
5258
|
.select(ConfigSelectors.refUrl)
|
|
5297
5259
|
.pipe(mergeMap((url) => this.httpClient.get(`${url}/users`)));
|
|
5298
5260
|
}
|
|
5299
|
-
getMetadataUser(userId) {
|
|
5300
|
-
return this.store
|
|
5301
|
-
.select(ConfigSelectors.refUrl)
|
|
5302
|
-
.pipe(mergeMap((url) => this.httpClient.get(`${url}/users/id/${userId}/metadata`)));
|
|
5303
|
-
}
|
|
5304
|
-
addMetadataUser(userId, metaId, value) {
|
|
5305
|
-
return this.store.select(ConfigSelectors.refUrl).pipe(mergeMap((url) => this.httpClient.put(encodeURI(`${url}/users/id/${userId}/metadata/id/${metaId}`), {
|
|
5306
|
-
value: value
|
|
5307
|
-
})));
|
|
5308
|
-
}
|
|
5309
|
-
deleteMetadataUser(userId, metaId) {
|
|
5310
|
-
return this.store
|
|
5311
|
-
.select(ConfigSelectors.refUrl)
|
|
5312
|
-
.pipe(mergeMap((url) => this.httpClient.delete(encodeURI(`${url}/users/id/${userId}/metadata/id/${metaId}`))));
|
|
5313
|
-
}
|
|
5314
5261
|
getLinks() {
|
|
5315
5262
|
return this.store
|
|
5316
5263
|
.select(ConfigSelectors.refUrl)
|
|
@@ -5695,7 +5642,6 @@ class AdminMetadataUserEffects {
|
|
|
5695
5642
|
this.adminService = adminService;
|
|
5696
5643
|
this.store = store;
|
|
5697
5644
|
this.router = router;
|
|
5698
|
-
this.loadMetadata$ = createEffect(() => this.actions$.pipe(ofType(AdminMetadataUserActions.loadMetadata), mergeMap$1((_) => this.adminService.getUserMetadata().pipe(map$1((metadata) => AdminMetadataUserActions.loadMetadataSuccess({ metadata: metadata })), catchError$1((error) => [AdminMetadataUserActions.loadMetadataFailure({ error: error })])))));
|
|
5699
5645
|
this.goToDetailsView$ = createEffect(() => this.actions$.pipe(ofType(AdminMetadataUserActions.goToDetailsViewMetadata), mergeMap$1((action) => this.adminService.getUserMetadataDef(action.id).pipe(map$1((metadata) => AdminMetadataUserActions.goToDetailsViewMetadataSuccess({ metadata })), catchError$1((error) => [AdminMetadataUserActions.goToDetailsViewMetadataFailure({ error: error })])))));
|
|
5700
5646
|
this.switchToEditView$ = createEffect(() => this.actions$.pipe(ofType(AdminMetadataUserActions.goToEditMetadata), mergeMap$1((action) => this.adminService.getUserMetadataDef(action.id).pipe(map$1((metadata) => AdminMetadataUserActions.goToEditMetadataSuccess({ metadata, route: action.route })), catchError$1((error) => [AdminMetadataUserActions.goToEditMetadataFailure({ error: error })])))));
|
|
5701
5647
|
this.goToEditViewSuccess$ = createEffect(() => this.actions$.pipe(ofType(AdminMetadataUserActions.goToEditMetadataSuccess), map$1((action) => {
|
|
@@ -5703,11 +5649,11 @@ class AdminMetadataUserEffects {
|
|
|
5703
5649
|
})));
|
|
5704
5650
|
this.createMetadata$ = createEffect(() => this.actions$.pipe(ofType(AdminMetadataUserActions.createMetadata), mergeMap$1((action) => this.adminService.postUserMetadata(action.metadata).pipe(map$1(() => AdminMetadataUserActions.createMetadataSuccess({ metadata: action.metadata })), catchError$1((error) => [AdminMetadataUserActions.createMetadataFailure({ error: error })])))));
|
|
5705
5651
|
this.createMetadataSuccess$ = createEffect(() => this.actions$.pipe(ofType(AdminMetadataUserActions.createMetadataSuccess), map$1((action) => {
|
|
5706
|
-
return
|
|
5652
|
+
return MetadataActions.loadUserProfile();
|
|
5707
5653
|
})));
|
|
5708
5654
|
this.updateMetadata$ = createEffect(() => this.actions$.pipe(ofType(AdminMetadataUserActions.updateMetadata), mergeMap$1((action) => this.adminService.postUserMetadata(action.metadata).pipe(map$1(() => AdminMetadataUserActions.updateMetadataSuccess({ metadata: action.metadata })), catchError$1((error) => [AdminMetadataUserActions.updateMetadataFailure({ error: error })])))));
|
|
5709
5655
|
this.updateMetadataSuccess$ = createEffect(() => this.actions$.pipe(ofType(AdminMetadataUserActions.updateMetadataSuccess), map$1((action) => {
|
|
5710
|
-
return
|
|
5656
|
+
return MetadataActions.loadUserProfile();
|
|
5711
5657
|
})));
|
|
5712
5658
|
}
|
|
5713
5659
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminMetadataUserEffects, deps: [{ token: i1$2.Actions }, { token: AdminService }, { token: i1.Store }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -5755,24 +5701,6 @@ class AdminUserEffects {
|
|
|
5755
5701
|
this.actions$ = actions$;
|
|
5756
5702
|
this.adminService = adminService;
|
|
5757
5703
|
this.loadUsers$ = createEffect(() => this.actions$.pipe(ofType(AdminUserActions.loadUsers), mergeMap$1((_) => this.adminService.getUsers().pipe(map$1((users) => AdminUserActions.loadUsersSuccess({ users })), catchError$1((error) => [AdminUserActions.loadUsersFailure({ error })])))));
|
|
5758
|
-
this.loadMetadataUser$ = createEffect(() => this.actions$.pipe(ofType(AdminUserActions.loadMetadataUser), mergeMap$1((action) => this.adminService.getMetadataUser(action.userId).pipe(map$1((metadata) => AdminUserActions.loadMetadataUserSuccess({ metadata })), catchError$1((error) => [AdminUserActions.loadMetadataUserFailure({ error })])))));
|
|
5759
|
-
this.selectUser$ = createEffect(() => this.actions$.pipe(ofType(AdminUserActions.selectUser), map$1((action) => {
|
|
5760
|
-
return AdminUserActions.loadMetadataUser({ userId: action.userId });
|
|
5761
|
-
})));
|
|
5762
|
-
this.addMetadataUser$ = createEffect(() => this.actions$.pipe(ofType(AdminUserActions.addMetadataUser), mergeMap$1((action) => this.adminService.addMetadataUser(action.userId, action.metaId, action.value).pipe(map$1(() => AdminUserActions.addMetadataUserSuccess({ userId: action.userId })), catchError$1((error) => [AdminUserActions.addMetadataUserFailure({ error })])))));
|
|
5763
|
-
this.addMetadataUserSuccess$ = createEffect(() => this.actions$.pipe(ofType(AdminUserActions.addMetadataUserSuccess), mergeMap$1((action) => {
|
|
5764
|
-
return [
|
|
5765
|
-
AdminUserActions.loadMetadataUser({ userId: action.userId }),
|
|
5766
|
-
AdminUserActions.isEditable({ editable: false })
|
|
5767
|
-
];
|
|
5768
|
-
})));
|
|
5769
|
-
this.deleteMetadataUser$ = createEffect(() => this.actions$.pipe(ofType(AdminUserActions.deleteMetadataUser), mergeMap$1((action) => this.adminService.deleteMetadataUser(action.userId, action.metadataId).pipe(map$1(() => AdminUserActions.deleteMetadataUserSuccess({ userId: action.userId })), catchError$1((error) => [AdminUserActions.deleteMetadataUserFailure({ error })])))));
|
|
5770
|
-
this.deleteMetadataUserSuccess$ = createEffect(() => this.actions$.pipe(ofType(AdminUserActions.deleteMetadataUserSuccess), mergeMap$1((action) => {
|
|
5771
|
-
return [
|
|
5772
|
-
AdminUserActions.loadMetadataUser({ userId: action.userId }),
|
|
5773
|
-
AdminUserActions.isEditable({ editable: false })
|
|
5774
|
-
];
|
|
5775
|
-
})));
|
|
5776
5704
|
}
|
|
5777
5705
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminUserEffects, deps: [{ token: i1$2.Actions }, { token: AdminService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5778
5706
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminUserEffects }); }
|
|
@@ -6065,7 +5993,7 @@ const enTranslations = {
|
|
|
6065
5993
|
long: 'Allows you to store integer numeric data that can exceed 2^32',
|
|
6066
5994
|
decimal: 'Allows you to store numeric data with decimal places',
|
|
6067
5995
|
string: 'Allows you to store data in alphanumeric format. This data is not indexed: it is possible to search on it but no aggregation',
|
|
6068
|
-
keyword: '
|
|
5996
|
+
keyword: 'Allows you to store data in alphanumeric format. This data is indexed: it is possible to search on it as well as aggregations.',
|
|
6069
5997
|
instant: 'Allows you to store a date',
|
|
6070
5998
|
raw: 'allows you to store image or file type data',
|
|
6071
5999
|
point: 'Allows you to store geographic coordinates of an object represented by a point (geo-json format)',
|
|
@@ -6406,7 +6334,7 @@ const frTranslations = {
|
|
|
6406
6334
|
int: 'Nombre entier',
|
|
6407
6335
|
long: 'Nombre entier long',
|
|
6408
6336
|
decimal: 'Nombre décimal',
|
|
6409
|
-
string: 'Texte',
|
|
6337
|
+
string: 'Texte brut',
|
|
6410
6338
|
keyword: 'Texte indexé',
|
|
6411
6339
|
instant: 'Date',
|
|
6412
6340
|
raw: 'Donnée non structurée',
|
|
@@ -6421,7 +6349,7 @@ const frTranslations = {
|
|
|
6421
6349
|
long: 'Permet de stocker des données numériques entières pouvant dépasser 2^32',
|
|
6422
6350
|
decimal: 'Permet de stocker des données numériques avec des décimales',
|
|
6423
6351
|
string: "Permet de stocker des données au format alphanumérique. Ces données ne sont pas indexées : il est possible de faire une recherche dessus mais pas d'agrégation",
|
|
6424
|
-
keyword: '
|
|
6352
|
+
keyword: 'Permet de stocker des données au format alphanumérique. Ces données sont indexées : il est possible de faire une recherche dessus ainsi que des agrégations.',
|
|
6425
6353
|
instant: 'Permet de stocker une date',
|
|
6426
6354
|
raw: 'permet de stocker des données de type image ou fichier',
|
|
6427
6355
|
point: "Permet de stocker des coordonnées géographiques d'un objet représenté par un point (format géojson)",
|
|
@@ -6429,7 +6357,7 @@ const frTranslations = {
|
|
|
6429
6357
|
line: "Permet de stocker des coordonnées géographiques d'un objet représenté comme une ligne (format géojson)",
|
|
6430
6358
|
multiline: "Permet de stocker des coordonnées géographiques d'un objet représenté avec plusieurs lignes non reliées entre elles (longitude et latitude format géojson)",
|
|
6431
6359
|
polygon: "Permet de stocker des coordonnées géographiques d'un objet représenté par un polygone (format géojson)",
|
|
6432
|
-
multipolygon: "Permet de
|
|
6360
|
+
multipolygon: "Permet de stocker des coordonnées géographiques d'un objet représenté par plusieurs polygones imbriqués ou non (format géojson)"
|
|
6433
6361
|
}
|
|
6434
6362
|
},
|
|
6435
6363
|
rawMethods: {
|