@provoly/dashboard 0.13.9 → 0.13.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/admin.module.d.ts +2 -1
- package/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts +5 -13
- package/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.d.ts +1 -1
- package/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.d.ts +1 -1
- package/admin/components/admin-user/admin-user-select/admin-user-select.component.d.ts +4 -9
- package/admin/components/association/association.component.d.ts +1 -3
- package/admin/store/admin.effects.d.ts +19 -15
- package/admin/store/admin.service.d.ts +0 -3
- package/components/metadata-editor/index.d.ts +5 -0
- package/components/metadata-editor/metadata-editor.component.d.ts +36 -0
- package/components/metadata-editor/metadata-editor.module.d.ts +12 -0
- package/components/metadata-editor/public-api.d.ts +7 -0
- package/components/metadata-editor/store/metadata.action.d.ts +112 -0
- package/components/metadata-editor/store/metadata.effects.d.ts +48 -0
- package/{admin/components/admin-metadata → components/metadata-editor}/store/metadata.reducer.d.ts +2 -1
- package/{admin/components/admin-metadata → components/metadata-editor}/store/metadata.selector.d.ts +1 -0
- package/components/metadata-editor/store/metadata.service.d.ts +15 -0
- package/dataset/i18n/en.translations.d.ts +1 -0
- package/dataset/i18n/fr.translations.d.ts +1 -0
- package/dataset/style/_o-pry-dataset-card.scss +7 -0
- package/esm2022/admin/admin.module.mjs +9 -17
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-edit/admin-abac-rules-edit.component.mjs +2 -2
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-new/admin-abac-rules-new.component.mjs +2 -2
- package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-view/admin-abac-rules-view.component.mjs +2 -2
- package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +2 -2
- package/esm2022/admin/components/admin-abac-rules/components/select-metadata/select-metadata.component.mjs +2 -2
- package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +21 -77
- package/esm2022/admin/components/admin-metadata/admin-edit-metadata/admin-edit-metadata.component.mjs +2 -3
- package/esm2022/admin/components/admin-metadata/admin-metadata.component.mjs +2 -3
- package/esm2022/admin/components/admin-metadata/admin-new-metadata/admin-new-metadata.component.mjs +2 -2
- package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +2 -3
- package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +2 -2
- package/esm2022/admin/components/admin-metadata-rules/admin-edit-metadata-rules/admin-edit-metadata-rules.component.mjs +1 -1
- package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +2 -3
- package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +17 -65
- package/esm2022/admin/components/association/association.component.mjs +1 -4
- package/esm2022/admin/store/admin.effects.mjs +6 -2
- package/esm2022/admin/store/admin.service.mjs +1 -16
- package/esm2022/components/metadata-editor/metadata-editor.component.mjs +111 -0
- package/esm2022/components/metadata-editor/metadata-editor.module.mjs +47 -0
- package/esm2022/components/metadata-editor/provoly-dashboard-components-metadata-editor.mjs +5 -0
- package/esm2022/components/metadata-editor/public-api.mjs +8 -0
- package/esm2022/components/metadata-editor/store/metadata.action.mjs +27 -0
- package/esm2022/components/metadata-editor/store/metadata.effects.mjs +44 -0
- package/esm2022/components/metadata-editor/store/metadata.reducer.mjs +39 -0
- package/esm2022/components/metadata-editor/store/metadata.selector.mjs +19 -0
- package/esm2022/components/metadata-editor/store/metadata.service.mjs +36 -0
- package/esm2022/dataset/components/dataset-card/dataset-card.component.mjs +3 -3
- package/esm2022/dataset/i18n/en.translations.mjs +3 -2
- package/esm2022/dataset/i18n/fr.translations.mjs +3 -2
- package/esm2022/dataset/style/css.component.mjs +2 -2
- package/esm2022/import/components/import.component.mjs +8 -4
- package/esm2022/lib/core/components/modal-status/modal-status.component.mjs +3 -12
- package/esm2022/lib/core/model/widget-map-manifest.interface.mjs +1 -1
- package/esm2022/lib/dashboard/store/manifest.service.mjs +2 -2
- package/esm2022/toolbox/components/save-view/save-view.component.mjs +3 -3
- package/esm2022/toolbox/components/toolbox-action-instanciator/toolbox-action-instanciator.component.mjs +31 -17
- package/esm2022/toolbox/components/toolbox.component.mjs +20 -14
- package/esm2022/widgets/widget-map/component/widget-map.component.mjs +45 -13
- package/esm2022/widgets/widget-map/i18n/en.translations.mjs +3 -1
- package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +3 -1
- package/esm2022/widgets/widget-map/pipe/widget-map-legend-url.pipe.mjs +2 -2
- package/esm2022/widgets/widget-map/public-api.mjs +3 -1
- package/esm2022/widgets/widget-map/utils/cql-utils.class.mjs +56 -0
- package/esm2022/widgets/widget-map/utils/xml-utils.class.mjs +32 -0
- package/fesm2022/provoly-dashboard-admin.mjs +107 -370
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +302 -0
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -0
- package/fesm2022/provoly-dashboard-dataset.mjs +8 -6
- package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-import.mjs +7 -3
- package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-toolbox.mjs +49 -29
- package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +104 -13
- package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +6 -13
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/import/components/import.component.d.ts +5 -3
- package/lib/core/components/modal-status/modal-status.component.d.ts +0 -8
- package/lib/core/model/widget-map-manifest.interface.d.ts +2 -0
- package/package.json +19 -13
- package/toolbox/components/toolbox-action-instanciator/toolbox-action-instanciator.component.d.ts +7 -5
- package/toolbox/components/toolbox.component.d.ts +10 -5
- package/widgets/widget-map/component/widget-map.component.d.ts +4 -1
- package/widgets/widget-map/i18n/en.translations.d.ts +2 -0
- package/widgets/widget-map/i18n/fr.translations.d.ts +2 -0
- package/widgets/widget-map/public-api.d.ts +2 -0
- package/widgets/widget-map/utils/cql-utils.class.d.ts +6 -0
- package/admin/components/admin-dataset/store/admin-dataset.actions.d.ts +0 -59
- package/admin/components/admin-dataset/store/admin-dataset.effects.d.ts +0 -30
- package/admin/components/admin-dataset/store/admin-dataset.reducer.d.ts +0 -6
- package/admin/components/admin-dataset/store/admin-dataset.selector.d.ts +0 -5
- package/admin/components/admin-metadata/store/metadata.action.d.ts +0 -56
- package/admin/components/admin-metadata/store/metadata.effects.d.ts +0 -36
- package/esm2022/admin/components/admin-dataset/store/admin-dataset.actions.mjs +0 -14
- package/esm2022/admin/components/admin-dataset/store/admin-dataset.effects.mjs +0 -36
- package/esm2022/admin/components/admin-dataset/store/admin-dataset.reducer.mjs +0 -11
- package/esm2022/admin/components/admin-dataset/store/admin-dataset.selector.mjs +0 -9
- package/esm2022/admin/components/admin-metadata/store/metadata.action.mjs +0 -19
- package/esm2022/admin/components/admin-metadata/store/metadata.effects.mjs +0 -33
- package/esm2022/admin/components/admin-metadata/store/metadata.reducer.mjs +0 -35
- package/esm2022/admin/components/admin-metadata/store/metadata.selector.mjs +0 -17
- package/esm2022/widgets/widget-map/pipe/xml-utils.class.mjs +0 -32
- /package/widgets/widget-map/{pipe → utils}/xml-utils.class.d.ts +0 -0
|
@@ -16,6 +16,8 @@ import * as i4 from '@provoly/dashboard';
|
|
|
16
16
|
import { ClassSelectors, FieldSelectors, FieldType, ClassActions, FieldActions, SubscriptionnerDirective, ConfigSelectors, ConfigActions, DEFAULT_ICON_URL, IconPosition, compareOperationFunctions, ItemUtils, CategoryActions, CategorySelectors, DEFAULT_CATEGORY_UUID, DataSourceActions, DataSourceSelectors, PryDatasetType, ENV_OPTIONS, FIELD_OPTIONS, META_OPTIONS, RelationTypesSelectors, RelationTypesActions, BaseMenuComponent, BaseLayoutComponent, PRY_ACCESS_GUARD, PryDialogConfirmComponent, PrySortModule, PryIconModule, PryModalModule, PryI18nModule, PryCoreModule, PrySelectModule, PryToggleModule, PryOverlayModule } from '@provoly/dashboard';
|
|
17
17
|
import * as i5$1 from '@provoly/dashboard/components/checkbox';
|
|
18
18
|
import { PryCheckboxModule } from '@provoly/dashboard/components/checkbox';
|
|
19
|
+
import * as i5$2 from '@provoly/dashboard/components/metadata-editor';
|
|
20
|
+
import { MetadataSelectors, MetadataActions, PryExpandPanelModule } from '@provoly/dashboard/components/metadata-editor';
|
|
19
21
|
import * as i2 from '@angular/router';
|
|
20
22
|
import { RouterModule } from '@angular/router';
|
|
21
23
|
import { switchMap, mergeMap, combineLatest, of, map, filter, combineLatestWith, Subscription, BehaviorSubject, Subject, zip, takeUntil, catchError, withLatestFrom, tap } from 'rxjs';
|
|
@@ -42,44 +44,26 @@ const AdminActions = {
|
|
|
42
44
|
fetchAssociationsFailure: createAction('[Admin] Fetch Associations failure', props())
|
|
43
45
|
};
|
|
44
46
|
|
|
45
|
-
const BASE$
|
|
46
|
-
const BASEAPI$
|
|
47
|
+
const BASE$1 = '[Admin/User]';
|
|
48
|
+
const BASEAPI$1 = '[Admin/User Api]';
|
|
47
49
|
const AdminMetadataUserActions = {
|
|
48
|
-
loadMetadata: createAction(`${BASE$2} Load Metadata`),
|
|
49
|
-
loadMetadataSuccess: createAction(`${BASEAPI$2} Load Metadata Success`, props()),
|
|
50
|
-
loadMetadataFailure: createAction(`${BASEAPI$2} Load Metadata Failure`, props()),
|
|
51
|
-
selectMetadata: createAction(`${BASE$2} Select Metadata`, props()),
|
|
52
|
-
unselectMetadata: createAction(`${BASE$2} unSelect Metadata`),
|
|
53
|
-
createMetadata: createAction(`${BASE$2} create metadata`, props()),
|
|
54
|
-
createMetadataSuccess: createAction(`${BASEAPI$2} create metadata Success`, props()),
|
|
55
|
-
createMetadataFailure: createAction(`${BASEAPI$2} create metadata Failure`, props()),
|
|
56
|
-
goToDetailsViewMetadata: createAction(`${BASE$2} go to details view metadata`, props()),
|
|
57
|
-
goToDetailsViewMetadataSuccess: createAction(`${BASEAPI$2} go to details view metadata success`, props()),
|
|
58
|
-
goToDetailsViewMetadataFailure: createAction(`${BASEAPI$2} go to details view metadata failure`, props()),
|
|
59
|
-
goToEditMetadata: createAction(`${BASE$2} go to edit view`, props()),
|
|
60
|
-
goToEditMetadataSuccess: createAction(`${BASE$2} go to edit view success`, props()),
|
|
61
|
-
goToEditMetadataFailure: createAction(`${BASE$2} go to edit view failure`, props()),
|
|
62
|
-
updateMetadata: createAction(`${BASE$2} update meta data`, props()),
|
|
63
|
-
updateMetadataSuccess: createAction(`${BASEAPI$2} update meta data Success`, props()),
|
|
64
|
-
updateMetadataFailure: createAction(`${BASEAPI$2} update meta data Failure`, props())
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
const BASE$1 = '[Admin/Metadata]';
|
|
68
|
-
const BASEAPI$1 = '[Admin/Metadata Api]';
|
|
69
|
-
const MetadataActions = {
|
|
70
50
|
loadMetadata: createAction(`${BASE$1} Load Metadata`),
|
|
71
51
|
loadMetadataSuccess: createAction(`${BASEAPI$1} Load Metadata Success`, props()),
|
|
72
52
|
loadMetadataFailure: createAction(`${BASEAPI$1} Load Metadata Failure`, props()),
|
|
53
|
+
selectMetadata: createAction(`${BASE$1} Select Metadata`, props()),
|
|
73
54
|
unselectMetadata: createAction(`${BASE$1} unSelect Metadata`),
|
|
74
|
-
goToNewMetadata: createAction(`${BASE$1} go to new metadata`, props()),
|
|
75
|
-
goToNewMetadataSuccess: createAction(`${BASEAPI$1} go to new metadata success`),
|
|
76
|
-
goToNewMetadataFailure: createAction(`${BASEAPI$1} go to new metadata failure`, props()),
|
|
77
55
|
createMetadata: createAction(`${BASE$1} create metadata`, props()),
|
|
78
56
|
createMetadataSuccess: createAction(`${BASEAPI$1} create metadata Success`, props()),
|
|
79
57
|
createMetadataFailure: createAction(`${BASEAPI$1} create metadata Failure`, props()),
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
58
|
+
goToDetailsViewMetadata: createAction(`${BASE$1} go to details view metadata`, props()),
|
|
59
|
+
goToDetailsViewMetadataSuccess: createAction(`${BASEAPI$1} go to details view metadata success`, props()),
|
|
60
|
+
goToDetailsViewMetadataFailure: createAction(`${BASEAPI$1} go to details view metadata failure`, props()),
|
|
61
|
+
goToEditMetadata: createAction(`${BASE$1} go to edit view`, props()),
|
|
62
|
+
goToEditMetadataSuccess: createAction(`${BASE$1} go to edit view success`, props()),
|
|
63
|
+
goToEditMetadataFailure: createAction(`${BASE$1} go to edit view failure`, props()),
|
|
64
|
+
updateMetadata: createAction(`${BASE$1} update meta data`, props()),
|
|
65
|
+
updateMetadataSuccess: createAction(`${BASEAPI$1} update meta data Success`, props()),
|
|
66
|
+
updateMetadataFailure: createAction(`${BASEAPI$1} update meta data Failure`, props())
|
|
83
67
|
};
|
|
84
68
|
|
|
85
69
|
const PredicatesActions = {
|
|
@@ -159,15 +143,15 @@ const predicateReducer = createReducer(initialPredicateState, on(PredicatesActio
|
|
|
159
143
|
loading: false
|
|
160
144
|
})));
|
|
161
145
|
|
|
162
|
-
const feature$
|
|
163
|
-
const predicates = createSelector(feature$
|
|
164
|
-
const loading$
|
|
165
|
-
const currentPredicate = createSelector(feature$
|
|
146
|
+
const feature$9 = createFeatureSelector(predicatesFeatureKey);
|
|
147
|
+
const predicates = createSelector(feature$9, (state) => state?.predicates);
|
|
148
|
+
const loading$5 = createSelector(feature$9, (state) => state?.loading);
|
|
149
|
+
const currentPredicate = createSelector(feature$9, (state) => state?.currentPredicate);
|
|
166
150
|
const currentPredicateId = createSelector(currentPredicate, (pred) => pred?.id);
|
|
167
151
|
const PredicatesSelectors = {
|
|
168
|
-
feature: feature$
|
|
152
|
+
feature: feature$9,
|
|
169
153
|
predicates,
|
|
170
|
-
loading: loading$
|
|
154
|
+
loading: loading$5,
|
|
171
155
|
currentPredicate,
|
|
172
156
|
currentPredicateId
|
|
173
157
|
};
|
|
@@ -280,11 +264,11 @@ const abacRuleReducer = createReducer(initialAbacRuleState, on(AbacRulesActions.
|
|
|
280
264
|
};
|
|
281
265
|
}));
|
|
282
266
|
|
|
283
|
-
const feature$
|
|
284
|
-
const abacRules = createSelector(feature$
|
|
285
|
-
const loading$
|
|
286
|
-
const editAbacRule = createSelector(feature$
|
|
287
|
-
const editAbacRuleConditions = createSelector(feature$
|
|
267
|
+
const feature$8 = createFeatureSelector(abacRulesFeatureKey);
|
|
268
|
+
const abacRules = createSelector(feature$8, (state) => state?.abacRules);
|
|
269
|
+
const loading$4 = createSelector(feature$8, (state) => state?.loading);
|
|
270
|
+
const editAbacRule = createSelector(feature$8, (state) => state?.editAbacRule);
|
|
271
|
+
const editAbacRuleConditions = createSelector(feature$8, (state) => state?.editAbacRuleConditions);
|
|
288
272
|
const editAbacRuleType = createSelector(editAbacRule, (rule) => rule?.type);
|
|
289
273
|
const editAbacRuleConditionsMasterId = createSelector(editAbacRuleConditions, (conditions) => conditions?.masterId);
|
|
290
274
|
const editAbacRuleConditionsTypeSelected = createSelector(editAbacRuleConditions, (conditions) => (conditions?.ids ?? []).find((id) => ['METADATA', 'ATTRIBUTE'].includes(conditions.entities[id].type)));
|
|
@@ -295,9 +279,9 @@ const editAbacRuleConditionsFirstAttribute = createSelector(editAbacRuleConditio
|
|
|
295
279
|
});
|
|
296
280
|
const editAbacRuleConditionsById = (id) => createSelector(editAbacRuleConditions, (conditions) => conditions.entities[id]);
|
|
297
281
|
const AbacRulesSelectors = {
|
|
298
|
-
feature: feature$
|
|
282
|
+
feature: feature$8,
|
|
299
283
|
abacRules,
|
|
300
|
-
loading: loading$
|
|
284
|
+
loading: loading$4,
|
|
301
285
|
editAbacRule,
|
|
302
286
|
editAbacRuleConditions,
|
|
303
287
|
editAbacRuleType,
|
|
@@ -307,54 +291,6 @@ const AbacRulesSelectors = {
|
|
|
307
291
|
editAbacRuleConditionsById
|
|
308
292
|
};
|
|
309
293
|
|
|
310
|
-
const metadataFeatureKey = '@pry/admin/metadata';
|
|
311
|
-
const initialMetadataState = {
|
|
312
|
-
metadata: [],
|
|
313
|
-
selectedMetadata: null,
|
|
314
|
-
loading: false,
|
|
315
|
-
errors: null
|
|
316
|
-
};
|
|
317
|
-
/**
|
|
318
|
-
* @TODO merge this store with admin user store ?
|
|
319
|
-
*/
|
|
320
|
-
const metadataReducer = createReducer(initialMetadataState, on(MetadataActions.loadMetadataSuccess, (state, action) => ({
|
|
321
|
-
...state,
|
|
322
|
-
metadata: [...action.metadata],
|
|
323
|
-
loading: false
|
|
324
|
-
})), on(MetadataActions.loadMetadataFailure, MetadataActions.goToNewMetadataFailure, MetadataActions.createMetadataFailure, MetadataActions.goToDetailsViewFailure, (state, action) => ({
|
|
325
|
-
...state,
|
|
326
|
-
loading: false,
|
|
327
|
-
errors: action.error
|
|
328
|
-
})), on(MetadataActions.unselectMetadata, (state) => ({
|
|
329
|
-
...state,
|
|
330
|
-
selectedMetadata: null
|
|
331
|
-
})), on(MetadataActions.loadMetadata, MetadataActions.goToNewMetadata, (state) => ({
|
|
332
|
-
...state,
|
|
333
|
-
loading: true
|
|
334
|
-
})), on(MetadataActions.createMetadataSuccess, (state, action) => ({
|
|
335
|
-
...state,
|
|
336
|
-
metadata: [...state.metadata, action.metadata],
|
|
337
|
-
loading: false
|
|
338
|
-
})), on(MetadataActions.goToDetailsView, (state, action) => ({
|
|
339
|
-
...state,
|
|
340
|
-
selectedMetadata: action.id
|
|
341
|
-
})));
|
|
342
|
-
|
|
343
|
-
const feature$9 = createFeatureSelector(metadataFeatureKey);
|
|
344
|
-
const metadata$1 = createSelector(feature$9, (state) => state?.metadata);
|
|
345
|
-
const loading$4 = createSelector(feature$9, (state) => state?.loading);
|
|
346
|
-
const selectedMetadata$1 = createSelector(feature$9, (state) => state?.metadata.find((x) => x.id === state.selectedMetadata) || null);
|
|
347
|
-
const selectedMetadataId$1 = createSelector(selectedMetadata$1, (metadata) => metadata?.id);
|
|
348
|
-
const selectMetadataById = (id) => createSelector(metadata$1, (metadata) => metadata?.find((m) => m.id === id));
|
|
349
|
-
const MetadataSelectors = {
|
|
350
|
-
feature: feature$9,
|
|
351
|
-
loading: loading$4,
|
|
352
|
-
metadata: metadata$1,
|
|
353
|
-
selectedMetadata: selectedMetadata$1,
|
|
354
|
-
selectedMetadataId: selectedMetadataId$1,
|
|
355
|
-
selectMetadataById
|
|
356
|
-
};
|
|
357
|
-
|
|
358
294
|
class SelectMetadataComponent {
|
|
359
295
|
constructor(store) {
|
|
360
296
|
this.store = store;
|
|
@@ -528,19 +464,19 @@ const adminMetadataUserReducer = createReducer(initialAdminUserState$1, on(Admin
|
|
|
528
464
|
loading: false
|
|
529
465
|
})));
|
|
530
466
|
|
|
531
|
-
const feature$
|
|
532
|
-
const metadata = createSelector(feature$
|
|
533
|
-
const loading$3 = createSelector(feature$
|
|
534
|
-
const selectedMetadata = createSelector(feature$
|
|
467
|
+
const feature$7 = createFeatureSelector(adminMetadataUserFeatureKey);
|
|
468
|
+
const metadata = createSelector(feature$7, (state) => state?.metadata);
|
|
469
|
+
const loading$3 = createSelector(feature$7, (state) => state?.loading);
|
|
470
|
+
const selectedMetadata = createSelector(feature$7, (state) => state?.metadata.find((x) => x.id === state.selectedMetadata) || null);
|
|
535
471
|
const selectedMetadataId = createSelector(selectedMetadata, (metadata) => metadata?.id);
|
|
536
|
-
const editable$
|
|
472
|
+
const editable$1 = createSelector(feature$7, (state) => ({ value: state?.editable }));
|
|
537
473
|
const AdminMetadataUserSelectors = {
|
|
538
|
-
feature: feature$
|
|
474
|
+
feature: feature$7,
|
|
539
475
|
loading: loading$3,
|
|
540
476
|
metadata,
|
|
541
477
|
selectedMetadata,
|
|
542
478
|
selectedMetadataId,
|
|
543
|
-
editable: editable$
|
|
479
|
+
editable: editable$1
|
|
544
480
|
};
|
|
545
481
|
|
|
546
482
|
class MetadataConditionComponent {
|
|
@@ -1071,17 +1007,17 @@ const classReducer = createReducer(initialClassState, on(AdminClassActions.selec
|
|
|
1071
1007
|
selectedAttribute: undefined
|
|
1072
1008
|
})));
|
|
1073
1009
|
|
|
1074
|
-
const feature$
|
|
1075
|
-
const loading$2 = createSelector(feature$
|
|
1076
|
-
const selectedClass = createSelector(feature$
|
|
1010
|
+
const feature$6 = createFeatureSelector(classesFeatureKey);
|
|
1011
|
+
const loading$2 = createSelector(feature$6, (state) => state?.loading);
|
|
1012
|
+
const selectedClass = createSelector(feature$6, (state) => state?.selectedClass);
|
|
1077
1013
|
const selectedClassId = createSelector(selectedClass, (state) => state?.id);
|
|
1078
|
-
const selectedAttribute = createSelector(feature$
|
|
1014
|
+
const selectedAttribute = createSelector(feature$6, (state) => state?.selectedAttribute);
|
|
1079
1015
|
const selectedAttributeId = createSelector(selectedAttribute, (state) => state?.id);
|
|
1080
|
-
const interClass = createSelector(feature$
|
|
1016
|
+
const interClass = createSelector(feature$6, (state) => state?.interClass);
|
|
1081
1017
|
const interClassId = createSelector(interClass, (state) => state?.id);
|
|
1082
|
-
const openModal = createSelector(feature$
|
|
1018
|
+
const openModal = createSelector(feature$6, (state) => state.openModal);
|
|
1083
1019
|
const AdminClassSelectors = {
|
|
1084
|
-
feature: feature$
|
|
1020
|
+
feature: feature$6,
|
|
1085
1021
|
loading: loading$2,
|
|
1086
1022
|
selectedClass,
|
|
1087
1023
|
selectedClassId,
|
|
@@ -2195,13 +2131,13 @@ const environmentReducer = createReducer(initialEnvironmentState, on(Environment
|
|
|
2195
2131
|
loading: false
|
|
2196
2132
|
})));
|
|
2197
2133
|
|
|
2198
|
-
const feature$
|
|
2199
|
-
const environments = createSelector(feature$
|
|
2200
|
-
const loading$1 = createSelector(feature$
|
|
2201
|
-
const currentEnv = createSelector(feature$
|
|
2134
|
+
const feature$5 = createFeatureSelector(environmentFeatureKey);
|
|
2135
|
+
const environments = createSelector(feature$5, (state) => state?.environments);
|
|
2136
|
+
const loading$1 = createSelector(feature$5, (state) => state?.loading);
|
|
2137
|
+
const currentEnv = createSelector(feature$5, (state) => state?.currentEnv);
|
|
2202
2138
|
const currentEnvName = createSelector(currentEnv, (env) => env?.name);
|
|
2203
2139
|
const EnvironmentSelectors = {
|
|
2204
|
-
feature: feature$
|
|
2140
|
+
feature: feature$5,
|
|
2205
2141
|
environments,
|
|
2206
2142
|
loading: loading$1,
|
|
2207
2143
|
currentEnv,
|
|
@@ -2509,12 +2445,12 @@ const fieldReducer = createReducer(initialFieldState, on(FieldsActions.selectFie
|
|
|
2509
2445
|
selectedField: undefined
|
|
2510
2446
|
})));
|
|
2511
2447
|
|
|
2512
|
-
const feature$
|
|
2513
|
-
const loading = createSelector(feature$
|
|
2514
|
-
const selectedField = createSelector(feature$
|
|
2448
|
+
const feature$4 = createFeatureSelector(fieldsFeatureKey);
|
|
2449
|
+
const loading = createSelector(feature$4, (state) => state?.loading);
|
|
2450
|
+
const selectedField = createSelector(feature$4, (state) => state?.selectedField);
|
|
2515
2451
|
const selectedFieldId = createSelector(selectedField, (state) => state?.id);
|
|
2516
2452
|
const FieldsSelectors = {
|
|
2517
|
-
feature: feature$
|
|
2453
|
+
feature: feature$4,
|
|
2518
2454
|
loading,
|
|
2519
2455
|
selectedField,
|
|
2520
2456
|
selectedFieldId
|
|
@@ -2616,15 +2552,15 @@ const adminReducer = createReducer(initialAdminState, on(AdminActions.highlightM
|
|
|
2616
2552
|
selectedAssociation: action.association
|
|
2617
2553
|
})));
|
|
2618
2554
|
|
|
2619
|
-
const feature$
|
|
2620
|
-
const highlightedMenu = createSelector(feature$
|
|
2621
|
-
const menuOpen = createSelector(feature$
|
|
2622
|
-
const menus = createSelector(feature$
|
|
2623
|
-
const actions = createSelector(feature$
|
|
2624
|
-
const subActions = createSelector(feature$
|
|
2625
|
-
const panelOpen = createSelector(feature$
|
|
2626
|
-
const componentType = createSelector(feature$
|
|
2627
|
-
const subMenus = createSelector(feature$
|
|
2555
|
+
const feature$3 = createFeatureSelector(adminFeatureKey);
|
|
2556
|
+
const highlightedMenu = createSelector(feature$3, (state) => state?.highlightedMenu);
|
|
2557
|
+
const menuOpen = createSelector(feature$3, (state) => state.menuOpen);
|
|
2558
|
+
const menus = createSelector(feature$3, (state) => state?.menus);
|
|
2559
|
+
const actions = createSelector(feature$3, (state) => state.actions);
|
|
2560
|
+
const subActions = createSelector(feature$3, (state) => state.subActions);
|
|
2561
|
+
const panelOpen = createSelector(feature$3, (state) => state.panelOpen);
|
|
2562
|
+
const componentType = createSelector(feature$3, (state) => state?.componentType);
|
|
2563
|
+
const subMenus = createSelector(feature$3, (state) => state?.menus.reduce((p, c) => {
|
|
2628
2564
|
const key = c.subMenu ?? 'none';
|
|
2629
2565
|
let menu = p.find((menu) => menu.name === key);
|
|
2630
2566
|
if (!menu) {
|
|
@@ -2634,9 +2570,9 @@ const subMenus = createSelector(feature$4, (state) => state?.menus.reduce((p, c)
|
|
|
2634
2570
|
menu.subMenus.push(c);
|
|
2635
2571
|
return p;
|
|
2636
2572
|
}, []));
|
|
2637
|
-
const selectedAssociation = createSelector(feature$
|
|
2573
|
+
const selectedAssociation = createSelector(feature$3, (state) => state?.selectedAssociation);
|
|
2638
2574
|
const AdminSelectors = {
|
|
2639
|
-
feature: feature$
|
|
2575
|
+
feature: feature$3,
|
|
2640
2576
|
highlightedMenu,
|
|
2641
2577
|
menuOpen,
|
|
2642
2578
|
menus,
|
|
@@ -2649,9 +2585,6 @@ const AdminSelectors = {
|
|
|
2649
2585
|
};
|
|
2650
2586
|
|
|
2651
2587
|
class PryAssociationComponent {
|
|
2652
|
-
ngOnInit() {
|
|
2653
|
-
console.log(this.associations);
|
|
2654
|
-
}
|
|
2655
2588
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryAssociationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2656
2589
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: PryAssociationComponent, selector: "pry-association", inputs: { associations: "associations" }, ngImport: i0, template: "<div *ngFor=\"let association of associations?.associations\" class=\"a-container-type\">\n <p class=\"a-label-type {{ association.type }}\">\n <strong>{{ '@pry.admin.association.' + association.type | i18n }}</strong>\n </p>\n <p>\n {{ association.name }}\n </p>\n</div>\n<p *ngIf=\"associations?.usedElsewhere === true\" class=\"a-p\">\n <strong>{{ '@pry.admin.classes.usedElsewhere' | i18n }}</strong>\n</p>\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: "pipe", type: i4.I18nPipe, name: "i18n" }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
|
|
2657
2590
|
}
|
|
@@ -2833,65 +2766,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
2833
2766
|
args: [{ selector: 'pry-admin-attribute-select', template: "<div\n *ngIf=\"selectedAttribute$ | async as attribute\"\n [id]=\"'panel-attr-' + attribute.id\"\n [attr.aria-labelledby]=\"'button-attr-' + attribute.id\"\n class=\"o-panel\"\n>\n <div>\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.classes.attributes.info' | i18n }}\n </h3>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.classes.associations' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.name' | i18n }} :\n <strong>{{ attribute.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.field' | i18n }} :\n <strong>{{ attribute.fieldName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.category' | i18n }} :\n <strong>{{ attribute.categoryName }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.attributes.multiValued' | i18n }} :\n <strong>{{ attribute.multiValued }}</strong>\n </p>\n </div>\n </div>\n </div>\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"2\"\n >\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 </div>\n </div>\n </div>\n</div>\n" }]
|
|
2834
2767
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }]; } });
|
|
2835
2768
|
|
|
2836
|
-
const AdminDatasetActions = {
|
|
2837
|
-
isEditable: createAction(`[Admin/Datasource] Is editable`, props()),
|
|
2838
|
-
loadDatasetMetadata: createAction(`[Admin/Datasource] Load Metadata of selected Datasets`, props()),
|
|
2839
|
-
loadDatasetMetadataSuccess: createAction(`[Admin/Datasource] Load Metadata of selected Datasets Success`, props()),
|
|
2840
|
-
loadDatasetMetadataFailure: createAction(`[Admin/Datasource] Load Metadata of selected Datasets Failure`, props()),
|
|
2841
|
-
addDatasetMetadata: createAction(`[Admin/Datasource] Add Metadata of selected Datasets`, props()),
|
|
2842
|
-
addDatasetMetadataSuccess: createAction(`[Admin/Datasource] Add Metadata of selected Datasets Success`, props()),
|
|
2843
|
-
addDatasetMetadataFailure: createAction(`[Admin/Datasource] Add Metadata of selected Datasets Failure`, props()),
|
|
2844
|
-
deleteDatasetMetadata: createAction(`[Admin/Datasource] Delete Metadata of selected Datasets`, props()),
|
|
2845
|
-
deleteDatasetMetadataSuccess: createAction(`[Admin/Datasource] Delete Metadata of selected Datasets Success`, props()),
|
|
2846
|
-
deleteDatasetMetadataFailure: createAction(`[Admin/Datasource] Delete Metadata of selected Datasets Failure`, props())
|
|
2847
|
-
};
|
|
2848
|
-
|
|
2849
|
-
const adminDatasetFeatureKey = '@pry/admin/dataset';
|
|
2850
|
-
const initialAdminDatasetState = {
|
|
2851
|
-
editable: false
|
|
2852
|
-
};
|
|
2853
|
-
const adminDatasetReducer = createReducer(initialAdminDatasetState, on(AdminDatasetActions.isEditable, (state, action) => ({
|
|
2854
|
-
...state,
|
|
2855
|
-
editable: action.editable
|
|
2856
|
-
})));
|
|
2857
|
-
|
|
2858
|
-
const feature$3 = createFeatureSelector(adminDatasetFeatureKey);
|
|
2859
|
-
const editable$1 = createSelector(feature$3, (state) => state.editable);
|
|
2860
|
-
const AdminDatasetSelectors = {
|
|
2861
|
-
feature: feature$3,
|
|
2862
|
-
editable: editable$1
|
|
2863
|
-
};
|
|
2864
|
-
|
|
2865
2769
|
let nextCompId$8 = 0;
|
|
2866
2770
|
class AdminSelectDatasetComponent extends SubscriptionnerDirective {
|
|
2867
2771
|
static { this.id = 'AdminSelectDatasetComponent'; }
|
|
2868
|
-
constructor(store, router, route
|
|
2772
|
+
constructor(store, router, route) {
|
|
2869
2773
|
super();
|
|
2870
2774
|
this.store = store;
|
|
2871
2775
|
this.router = router;
|
|
2872
2776
|
this.route = route;
|
|
2873
|
-
this.formBuilder = formBuilder;
|
|
2874
2777
|
this.sub = new Subscription();
|
|
2875
2778
|
this.currentTypeTranslation = '';
|
|
2876
2779
|
this.tab = 0;
|
|
2877
|
-
this.isSubmitted = false;
|
|
2878
|
-
this.datasetId = '';
|
|
2879
2780
|
this.store.dispatch(MetadataActions.loadMetadata());
|
|
2880
2781
|
this.selectedDataset$ = this.store.select(DataSourceSelectors.selectedDataset);
|
|
2881
2782
|
this.datasetMetadata$ = this.store.select(DataSourceSelectors.selectedDatasetMetadata);
|
|
2882
2783
|
this.associations$ = this.store.select(AdminSelectors.selectedAssociation);
|
|
2883
|
-
this.
|
|
2884
|
-
this.editable$ = this.store.select(AdminDatasetSelectors.editable);
|
|
2784
|
+
this.editable$ = this.store.select(MetadataSelectors.editable);
|
|
2885
2785
|
this.compId = nextCompId$8++;
|
|
2886
|
-
this.form = this.formBuilder.group({
|
|
2887
|
-
metadata: [{}, [Validators.required]],
|
|
2888
|
-
value: ['', [Validators.required, Validators.pattern('^[+-]?[0-9]*$')]]
|
|
2889
|
-
});
|
|
2890
2786
|
}
|
|
2891
2787
|
ngOnInit() {
|
|
2892
2788
|
this.subscriptions.add(this.selectedDataset$.subscribe((dataset) => {
|
|
2893
2789
|
if (dataset) {
|
|
2894
|
-
this.datasetId = dataset.id;
|
|
2895
2790
|
const editPath = this.router.createUrlTree(['.', 'dataset', 'edit', dataset.id], {
|
|
2896
2791
|
relativeTo: this.route
|
|
2897
2792
|
});
|
|
@@ -2921,21 +2816,6 @@ class AdminSelectDatasetComponent extends SubscriptionnerDirective {
|
|
|
2921
2816
|
}));
|
|
2922
2817
|
}
|
|
2923
2818
|
}));
|
|
2924
|
-
this.subscriptions.add(this.selectedDataset$.subscribe((dataset) => {
|
|
2925
|
-
if (dataset) {
|
|
2926
|
-
this.availableMetadata$?.subscribe((meta) => {
|
|
2927
|
-
this.form.patchValue({
|
|
2928
|
-
metadata: meta[0]
|
|
2929
|
-
});
|
|
2930
|
-
this.onMetaChange(meta[0]);
|
|
2931
|
-
this.form.patchValue({ value: '' });
|
|
2932
|
-
});
|
|
2933
|
-
}
|
|
2934
|
-
}));
|
|
2935
|
-
this.availableMetadata$ = combineLatest([this.datasetMetadata$, this.metadata$]).pipe(map(([datasetMetadata, metaDefs]) => {
|
|
2936
|
-
let datasetMetadataIds = datasetMetadata?.map((u) => u.metadataDef.id);
|
|
2937
|
-
return metaDefs.filter((meta) => !datasetMetadataIds?.includes(meta.id));
|
|
2938
|
-
}));
|
|
2939
2819
|
}
|
|
2940
2820
|
closePanel() {
|
|
2941
2821
|
const path = this.router.createUrlTree(['.', 'dataset', 'new'], { relativeTo: this.route });
|
|
@@ -2954,54 +2834,26 @@ class AdminSelectDatasetComponent extends SubscriptionnerDirective {
|
|
|
2954
2834
|
]
|
|
2955
2835
|
}));
|
|
2956
2836
|
}
|
|
2957
|
-
|
|
2958
|
-
this.
|
|
2959
|
-
if (this.form.valid) {
|
|
2960
|
-
this.isSubmitted = false;
|
|
2961
|
-
let payload = {
|
|
2962
|
-
datasetId: this.datasetId,
|
|
2963
|
-
metadataId: this.form.value['metadata']['id'],
|
|
2964
|
-
value: this.form.value['value']
|
|
2965
|
-
};
|
|
2966
|
-
this.store.dispatch(AdminDatasetActions.addDatasetMetadata(payload));
|
|
2967
|
-
}
|
|
2968
|
-
}
|
|
2969
|
-
onMetaChange(metadata) {
|
|
2970
|
-
if (metadata) {
|
|
2971
|
-
if (metadata.type === 'INTEGER') {
|
|
2972
|
-
this.form.controls['value'].setValidators([Validators.required, Validators.pattern('^[+-]?[0-9]*$')]);
|
|
2973
|
-
}
|
|
2974
|
-
else if (metadata.type === 'DOUBLE') {
|
|
2975
|
-
this.form.controls['value'].setValidators([Validators.required, Validators.pattern('[+-]?([0-9]*[.])?[0-9]+')]);
|
|
2976
|
-
}
|
|
2977
|
-
else {
|
|
2978
|
-
this.form.controls['value'].setValidators([Validators.required]);
|
|
2979
|
-
}
|
|
2980
|
-
}
|
|
2837
|
+
switch(number) {
|
|
2838
|
+
this.tab = number;
|
|
2981
2839
|
}
|
|
2982
2840
|
removeMetadata(metadata) {
|
|
2983
|
-
this.store.dispatch(
|
|
2984
|
-
}
|
|
2985
|
-
editMetadata(currentMetadata) {
|
|
2986
|
-
this.store.dispatch(AdminDatasetActions.isEditable({ editable: true }));
|
|
2987
|
-
let value = currentMetadata.value;
|
|
2988
|
-
let datasetMetadataDef = currentMetadata.metadataDef;
|
|
2989
|
-
this.form.patchValue({
|
|
2990
|
-
metadata: datasetMetadataDef,
|
|
2991
|
-
value: value
|
|
2992
|
-
});
|
|
2993
|
-
this.onMetaChange(datasetMetadataDef);
|
|
2841
|
+
this.store.dispatch(MetadataActions.deleteDatasetMetadata({ datasetId: metadata.id, metadataId: metadata.metadataId }));
|
|
2994
2842
|
}
|
|
2995
|
-
|
|
2996
|
-
this.
|
|
2843
|
+
addDatasetMetadata(metadata) {
|
|
2844
|
+
this.store.dispatch(MetadataActions.addDatasetMetadata({
|
|
2845
|
+
datasetId: metadata.id,
|
|
2846
|
+
metadataId: metadata.metadataId,
|
|
2847
|
+
value: metadata.value
|
|
2848
|
+
}));
|
|
2997
2849
|
}
|
|
2998
|
-
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 }
|
|
2999
|
-
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>\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.metadata.details' | i18n }}\n </h3>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.metadata.title' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.classes.associations' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content o-tabs__panels__item__content--profil\">\n <div *ngFor=\"let metadata of datasetMetadata$ | async\">\n <div class=\"o-tabs__panels__item__content\">\n <div class=\"o-tabs__panels__item__content__actions\">\n <div class=\"o-tabs__panels__item__content__actions__text\">\n <span class=\"o-tabs__panels__item__content__actions__text__label\"\n >{{ metadata.metadataDef.name }} :</span\n >\n <span class=\"o-tabs__panels__item__content__actions__text__value\">{{ metadata.value }}</span>\n </div>\n\n <div class=\"o-tabs__panels__item__content__actions__buttons\">\n <ng-container *pryAccess=\"{ module: 'admin', page: 'dataset', action: 'write' }\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.edit' | i18n }} {{ metadata.metadataDef.name }}</span\n >\n <pry-icon\n class=\"edit-icon\"\n iconSvg=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"editMetadata(metadata)\"\n ></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.delete' | i18n }} {{ metadata.metadataDef.name }}</span\n >\n <pry-icon\n class=\"delete-icon\"\n iconSvg=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"removeMetadata(metadata)\"\n ></pry-icon>\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-container *pryAccess=\"{ module: 'admin', page: 'dataset', action: 'write' }\">\n <ng-container *ngIf=\"form.value.metadata\">\n <form class=\"o-form -border-top\" [formGroup]=\"form\" (ngSubmit)=\"addDatasetMetadata()\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.action.editProfil' | i18n }}</legend>\n\n <div class=\"m-form-label-field\">\n <label for=\"metadata\" id=\"metadata-label\" class=\"a-label\">Data</label>\n <pry-select\n id=\"metadata\"\n class=\"a-pry-select\"\n formControlName=\"metadata\"\n [items]=\"availableMetadata$ | async\"\n (ngModelChange)=\"onMetaChange($event)\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [readonly]=\"(editable$ | async) ?? false\"\n [attr.aria-labelledby]=\"\n isSubmitted && form.get('metadata')?.invalid\n ? 'metadata-label metadata-error'\n : 'metadata-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && form.get('metadata')?.invalid\"\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && form.get('metadata')?.invalid\"\n id=\"metadata-error\"\n for=\"metadata\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <ng-container *ngIf=\"form.value['metadata']['type'] === 'DATE'; else inputList\">\n <div class=\"m-form-label-field\">\n <label id=\"form_date-label\" for=\"form_date\" class=\"a-label\">\n {{ '@pry.action.selectDate' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"form_date\"\n type=\"date\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && form.get('value')?.invalid\n ? 'form-date-label form-date-error'\n : 'form-date-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && form.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && form.get('value')?.invalid\"\n id=\"form_date-error\"\n for=\"form_date\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n </ng-container>\n\n <ng-template #inputList>\n <ng-container *ngIf=\"form.value['metadata']['type'] === 'LIST'; else inputText\">\n <div class=\"m-form-label-field\">\n <label id=\"list-label\" class=\"a-label\" for=\"list\">{{\n '@pry.action.choiceInList' | i18n\n }}</label>\n <pry-select\n id=\"list\"\n class=\"a-pry-select\"\n formControlName=\"value\"\n [items]=\"form.value['metadata']['allowedValues']\"\n [isForm]=\"true\"\n aria-labelledby=\"list-label\"\n ></pry-select>\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #inputText>\n <div class=\"m-form-label-field\">\n <label id=\"text-label\" class=\"a-label\" for=\"text\">\n {{ '@pry.action.text' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"text\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && form.get('value')?.invalid ? 'text-label text-error' : 'text-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && form.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && form.get('value')?.invalid\"\n id=\"test-error\"\n for=\"text\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"form.get('value')?.hasError('required')\">{{ '@pry.admin.required' | i18n }}</span>\n <ng-container *ngIf=\"form.get('value')?.hasError('pattern')\">\n <span *ngIf=\"form.value['metadata']['type'] === 'DOUBLE'\">\n {{ '@pry.admin.environment.formatDouble' | i18n }}\n </span>\n <span *ngIf=\"form.value['metadata']['type'] === 'INTEGER'\">\n {{ '@pry.admin.environment.formatInt' | i18n }}\n </span>\n </ng-container>\n </label>\n </div>\n </ng-template>\n </fieldset>\n\n <div class=\"m-btn-group -end\">\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"\n ((editable$ | async) ? '@pry.admin.userInfo.editMetadata' : '@pry.admin.userInfo.addMetadata')\n | i18n\n \"\n ></button>\n </div>\n </form>\n </ng-container>\n </ng-container>\n </div>\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"1\"\n >\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 </div>\n </div>\n </div>\n </div>\n</div>\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.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: "component", type: PryAssociationComponent, selector: "pry-association", inputs: ["associations"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
|
|
2850
|
+
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 }); }
|
|
2851
|
+
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>\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.metadata.details' | i18n }}\n </h3>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.metadata.title' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.classes.associations' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <pry-metadata-editor\n [targetId]=\"(selectedDataset$ | async)?.id ?? ''\"\n [editable]=\"(editable$ | async) ?? false\"\n [metadata]=\"(datasetMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addDatasetMetadata($event)\"\n ></pry-metadata-editor>\n </div>\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"1\"\n >\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 </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5$2.PryMetadataEditorComponent, selector: "pry-metadata-editor", inputs: ["targetId", "editable", "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" }] }); }
|
|
3000
2852
|
}
|
|
3001
2853
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminSelectDatasetComponent, decorators: [{
|
|
3002
2854
|
type: Component,
|
|
3003
|
-
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>\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.metadata.details' | i18n }}\n </h3>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.metadata.title' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.classes.associations' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content o-tabs__panels__item__content--profil\">\n <div *ngFor=\"let metadata of datasetMetadata$ | async\">\n <div class=\"o-tabs__panels__item__content\">\n <div class=\"o-tabs__panels__item__content__actions\">\n <div class=\"o-tabs__panels__item__content__actions__text\">\n <span class=\"o-tabs__panels__item__content__actions__text__label\"\n >{{ metadata.metadataDef.name }} :</span\n >\n <span class=\"o-tabs__panels__item__content__actions__text__value\">{{ metadata.value }}</span>\n </div>\n\n <div class=\"o-tabs__panels__item__content__actions__buttons\">\n <ng-container *pryAccess=\"{ module: 'admin', page: 'dataset', action: 'write' }\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.edit' | i18n }} {{ metadata.metadataDef.name }}</span\n >\n <pry-icon\n class=\"edit-icon\"\n iconSvg=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"editMetadata(metadata)\"\n ></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.delete' | i18n }} {{ metadata.metadataDef.name }}</span\n >\n <pry-icon\n class=\"delete-icon\"\n iconSvg=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"removeMetadata(metadata)\"\n ></pry-icon>\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-container *pryAccess=\"{ module: 'admin', page: 'dataset', action: 'write' }\">\n <ng-container *ngIf=\"form.value.metadata\">\n <form class=\"o-form -border-top\" [formGroup]=\"form\" (ngSubmit)=\"addDatasetMetadata()\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.action.editProfil' | i18n }}</legend>\n\n <div class=\"m-form-label-field\">\n <label for=\"metadata\" id=\"metadata-label\" class=\"a-label\">Data</label>\n <pry-select\n id=\"metadata\"\n class=\"a-pry-select\"\n formControlName=\"metadata\"\n [items]=\"availableMetadata$ | async\"\n (ngModelChange)=\"onMetaChange($event)\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [readonly]=\"(editable$ | async) ?? false\"\n [attr.aria-labelledby]=\"\n isSubmitted && form.get('metadata')?.invalid\n ? 'metadata-label metadata-error'\n : 'metadata-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && form.get('metadata')?.invalid\"\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && form.get('metadata')?.invalid\"\n id=\"metadata-error\"\n for=\"metadata\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <ng-container *ngIf=\"form.value['metadata']['type'] === 'DATE'; else inputList\">\n <div class=\"m-form-label-field\">\n <label id=\"form_date-label\" for=\"form_date\" class=\"a-label\">\n {{ '@pry.action.selectDate' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"form_date\"\n type=\"date\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && form.get('value')?.invalid\n ? 'form-date-label form-date-error'\n : 'form-date-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && form.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && form.get('value')?.invalid\"\n id=\"form_date-error\"\n for=\"form_date\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n </ng-container>\n\n <ng-template #inputList>\n <ng-container *ngIf=\"form.value['metadata']['type'] === 'LIST'; else inputText\">\n <div class=\"m-form-label-field\">\n <label id=\"list-label\" class=\"a-label\" for=\"list\">{{\n '@pry.action.choiceInList' | i18n\n }}</label>\n <pry-select\n id=\"list\"\n class=\"a-pry-select\"\n formControlName=\"value\"\n [items]=\"form.value['metadata']['allowedValues']\"\n [isForm]=\"true\"\n aria-labelledby=\"list-label\"\n ></pry-select>\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #inputText>\n <div class=\"m-form-label-field\">\n <label id=\"text-label\" class=\"a-label\" for=\"text\">\n {{ '@pry.action.text' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"text\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && form.get('value')?.invalid ? 'text-label text-error' : 'text-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && form.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && form.get('value')?.invalid\"\n id=\"test-error\"\n for=\"text\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"form.get('value')?.hasError('required')\">{{ '@pry.admin.required' | i18n }}</span>\n <ng-container *ngIf=\"form.get('value')?.hasError('pattern')\">\n <span *ngIf=\"form.value['metadata']['type'] === 'DOUBLE'\">\n {{ '@pry.admin.environment.formatDouble' | i18n }}\n </span>\n <span *ngIf=\"form.value['metadata']['type'] === 'INTEGER'\">\n {{ '@pry.admin.environment.formatInt' | i18n }}\n </span>\n </ng-container>\n </label>\n </div>\n </ng-template>\n </fieldset>\n\n <div class=\"m-btn-group -end\">\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"\n ((editable$ | async) ? '@pry.admin.userInfo.editMetadata' : '@pry.admin.userInfo.addMetadata')\n | i18n\n \"\n ></button>\n </div>\n </form>\n </ng-container>\n </ng-container>\n </div>\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"1\"\n >\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 </div>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
3004
|
-
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }
|
|
2855
|
+
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>\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.metadata.details' | i18n }}\n </h3>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.metadata.title' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.classes.associations' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <pry-metadata-editor\n [targetId]=\"(selectedDataset$ | async)?.id ?? ''\"\n [editable]=\"(editable$ | async) ?? false\"\n [metadata]=\"(datasetMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addDatasetMetadata($event)\"\n ></pry-metadata-editor>\n </div>\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"1\"\n >\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 </div>\n </div>\n </div>\n </div>\n</div>\n" }]
|
|
2856
|
+
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }]; } });
|
|
3005
2857
|
|
|
3006
2858
|
let nextCompId$7 = 0;
|
|
3007
2859
|
class AdminEnvironmentSelectComponent {
|
|
@@ -3613,9 +3465,8 @@ const AdminUserSelectors = {
|
|
|
3613
3465
|
let nextCompId = 0;
|
|
3614
3466
|
class AdminUserSelectComponent {
|
|
3615
3467
|
static { this.id = 'AdminUserSelectComponent'; }
|
|
3616
|
-
constructor(store
|
|
3468
|
+
constructor(store) {
|
|
3617
3469
|
this.store = store;
|
|
3618
|
-
this.formBuilder = formBuilder;
|
|
3619
3470
|
this.userId = '';
|
|
3620
3471
|
this.tab = 0;
|
|
3621
3472
|
this.sub = new Subscription();
|
|
@@ -3628,10 +3479,6 @@ class AdminUserSelectComponent {
|
|
|
3628
3479
|
this.metadata$ = this.store.select(AdminMetadataUserSelectors.metadata);
|
|
3629
3480
|
this.editable$ = this.store.select(AdminUserSelectors.editable);
|
|
3630
3481
|
this.compId = nextCompId++;
|
|
3631
|
-
this.metaForm = this.formBuilder.group({
|
|
3632
|
-
metadata: [{}, [Validators.required]],
|
|
3633
|
-
value: ['', [Validators.required, Validators.pattern('^[+-]?[0-9]*$')]]
|
|
3634
|
-
});
|
|
3635
3482
|
}
|
|
3636
3483
|
ngOnInit() {
|
|
3637
3484
|
this.sub.add(this.selectedUser$.subscribe((user) => {
|
|
@@ -3640,17 +3487,6 @@ class AdminUserSelectComponent {
|
|
|
3640
3487
|
}
|
|
3641
3488
|
}));
|
|
3642
3489
|
this.sub.add(this.editable$.subscribe((edit) => (this.editable = edit)));
|
|
3643
|
-
this.metadataAvailable$ = combineLatest([this.userMetadata$, this.metadata$]).pipe(map(([userMetas, metaDefs]) => {
|
|
3644
|
-
let userMetaIds = userMetas?.map((u) => u.userProfile.id);
|
|
3645
|
-
return metaDefs.filter((meta) => !userMetaIds?.includes(meta.id));
|
|
3646
|
-
}));
|
|
3647
|
-
this.sub.add(this.metadataAvailable$.subscribe((meta) => {
|
|
3648
|
-
this.metaForm.patchValue({
|
|
3649
|
-
metadata: meta[0]
|
|
3650
|
-
});
|
|
3651
|
-
this.onMetaChange(meta[0]);
|
|
3652
|
-
this.metaForm.patchValue({ value: '' });
|
|
3653
|
-
}));
|
|
3654
3490
|
}
|
|
3655
3491
|
ngOnDestroy() {
|
|
3656
3492
|
this.sub.unsubscribe();
|
|
@@ -3659,57 +3495,26 @@ class AdminUserSelectComponent {
|
|
|
3659
3495
|
this.store.dispatch(AdminActions.togglePanel({ panelOpen: false }));
|
|
3660
3496
|
this.store.dispatch(AdminUserActions.unselectUser());
|
|
3661
3497
|
}
|
|
3662
|
-
addMetadataUser() {
|
|
3663
|
-
this.
|
|
3664
|
-
|
|
3665
|
-
|
|
3666
|
-
|
|
3667
|
-
|
|
3668
|
-
metaId: this.metaForm.value['metadata']['id'],
|
|
3669
|
-
value: this.metaForm.value['value']
|
|
3670
|
-
};
|
|
3671
|
-
this.store.dispatch(AdminUserActions.addMetadataUser(payload));
|
|
3672
|
-
}
|
|
3673
|
-
}
|
|
3674
|
-
onMetaChange(metadata) {
|
|
3675
|
-
if (metadata) {
|
|
3676
|
-
if (metadata.type === 'INTEGER') {
|
|
3677
|
-
this.metaForm.controls['value'].setValidators([Validators.required, Validators.pattern('^[+-]?[0-9]*$')]);
|
|
3678
|
-
}
|
|
3679
|
-
else if (metadata.type === 'DOUBLE') {
|
|
3680
|
-
this.metaForm.controls['value'].setValidators([
|
|
3681
|
-
Validators.required,
|
|
3682
|
-
Validators.pattern('[+-]?([0-9]*[.])?[0-9]+')
|
|
3683
|
-
]);
|
|
3684
|
-
}
|
|
3685
|
-
else {
|
|
3686
|
-
this.metaForm.controls['value'].setValidators([Validators.required]);
|
|
3687
|
-
}
|
|
3688
|
-
}
|
|
3498
|
+
addMetadataUser(metadata) {
|
|
3499
|
+
this.store.dispatch(AdminUserActions.addMetadataUser({
|
|
3500
|
+
userId: metadata.id,
|
|
3501
|
+
metaId: metadata.metadataId,
|
|
3502
|
+
value: metadata.value
|
|
3503
|
+
}));
|
|
3689
3504
|
}
|
|
3690
3505
|
removeMetadata(metadata) {
|
|
3691
|
-
this.store.dispatch(AdminUserActions.deleteMetadataUser({ userId: this.userId, metadataId: metadata.
|
|
3692
|
-
}
|
|
3693
|
-
editMetadata(currentMetadata) {
|
|
3694
|
-
this.store.dispatch(AdminUserActions.isEditable({ editable: true }));
|
|
3695
|
-
let value = currentMetadata.value;
|
|
3696
|
-
let userProfile = currentMetadata.userProfile;
|
|
3697
|
-
this.metaForm.patchValue({
|
|
3698
|
-
metadata: userProfile,
|
|
3699
|
-
value: value
|
|
3700
|
-
});
|
|
3701
|
-
this.onMetaChange(userProfile);
|
|
3506
|
+
this.store.dispatch(AdminUserActions.deleteMetadataUser({ userId: this.userId, metadataId: metadata.metadataId }));
|
|
3702
3507
|
}
|
|
3703
3508
|
switch(number) {
|
|
3704
3509
|
this.tab = number;
|
|
3705
3510
|
}
|
|
3706
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminUserSelectComponent, deps: [{ token: i1.Store }
|
|
3707
|
-
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>\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 </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.userInfo.profile' | i18n }}\n </button>\n\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n [id]=\"'tab-' + compId + '-1'\"\n role=\"tab\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content o-tabs__panels__item__content--profil\">\n <div *ngFor=\"let metadata of userMetadata$ | async\">\n <div class=\"o-tabs__panels__item__content\">\n <div class=\"o-tabs__panels__item__content__actions\">\n <div class=\"o-tabs__panels__item__content__actions__text\">\n <span class=\"o-tabs__panels__item__content__actions__text__label\"\n >{{ metadata.userProfile.name }} :</span\n >\n <span class=\"o-tabs__panels__item__content__actions__text__value\">{{ metadata.value }}</span>\n </div>\n\n <div class=\"o-tabs__panels__item__content__actions__buttons\">\n <ng-container *pryAccess=\"{ module: 'admin', page: 'user', action: 'write' }\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.edit' | i18n }} {{ metadata.userProfile.name }}</span\n >\n <pry-icon\n class=\"edit-icon\"\n iconSvg=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"editMetadata(metadata)\"\n ></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.delete' | i18n }} {{ metadata.userProfile.name }}</span\n >\n <pry-icon\n class=\"delete-icon\"\n iconSvg=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"removeMetadata(metadata)\"\n ></pry-icon>\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-container *pryAccess=\"{ module: 'admin', page: 'user', action: 'write' }\">\n <ng-container *ngIf=\"metaForm.value.metadata\">\n <form class=\"o-form -border-top\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadataUser()\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.action.editProfil' | i18n }}</legend>\n\n <div class=\"m-form-label-field\">\n <label for=\"metadata\" id=\"metadata-label\" class=\"a-label\">Data</label>\n <pry-select\n id=\"metadata\"\n class=\"a-pry-select\"\n formControlName=\"metadata\"\n [items]=\"metadataAvailable$ | async\"\n (ngModelChange)=\"onMetaChange($event)\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [readonly]=\"editable\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('metadata')?.invalid\n ? 'metadata-label metadata-error'\n : 'metadata-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('metadata')?.invalid\"\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && metaForm.get('metadata')?.invalid\"\n id=\"metadata-error\"\n for=\"metadata\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <ng-container *ngIf=\"metaForm.value['metadata']['type'] === 'DATE'; else inputList\">\n <div class=\"m-form-label-field\">\n <label id=\"form_date-label\" for=\"form_date\" class=\"a-label\">\n {{ '@pry.action.selectDate' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"form_date\"\n type=\"date\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('value')?.invalid\n ? 'form-date-label form-date-error'\n : 'form-date-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('value')?.invalid\"\n id=\"form_date-error\"\n for=\"form_date\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n </ng-container>\n\n <ng-template #inputList>\n <ng-container *ngIf=\"metaForm.value['metadata']['type'] === 'LIST'; else inputText\">\n <div class=\"m-form-label-field\">\n <label id=\"list-label\" class=\"a-label\" for=\"list\">{{ '@pry.action.choiceInList' | i18n }}</label>\n <pry-select\n id=\"list\"\n class=\"a-pry-select\"\n formControlName=\"value\"\n [items]=\"metaForm.value['metadata']['allowedValues']\"\n [isForm]=\"true\"\n aria-labelledby=\"list-label\"\n ></pry-select>\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #inputText>\n <div class=\"m-form-label-field\">\n <label id=\"text-label\" class=\"a-label\" for=\"text\">\n {{ '@pry.action.text' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"text\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('value')?.invalid ? 'text-label text-error' : 'text-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('value')?.invalid\"\n id=\"test-error\"\n for=\"text\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"metaForm.get('value')?.hasError('required')\">{{\n '@pry.admin.required' | i18n\n }}</span>\n <ng-container *ngIf=\"metaForm.get('value')?.hasError('pattern')\">\n <span *ngIf=\"metaForm.value['metadata']['type'] === 'DOUBLE'\">\n {{ '@pry.admin.environment.formatDouble' | i18n }}\n </span>\n <span *ngIf=\"metaForm.value['metadata']['type'] === 'INTEGER'\">\n {{ '@pry.admin.environment.formatInt' | i18n }}\n </span>\n </ng-container>\n </label>\n </div>\n </ng-template>\n </fieldset>\n\n <div class=\"m-btn-group -end\">\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"\n ((editable$ | async) ? '@pry.admin.userInfo.editMetadata' : '@pry.admin.userInfo.addMetadata')\n | i18n\n \"\n ></button>\n </div>\n </form>\n </ng-container>\n </ng-container>\n </div>\n\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"0\"\n >\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 </div>\n </div>\n </div>\n</div>\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.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" }] }); }
|
|
3511
|
+
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 }); }
|
|
3512
|
+
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>\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 </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.userInfo.profile' | i18n }}\n </button>\n\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n [id]=\"'tab-' + compId + '-1'\"\n role=\"tab\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <pry-metadata-editor\n [targetId]=\"(selectedUser$ | async)?.id ?? ''\"\n [editable]=\"(editable$ | async) ?? false\"\n [metadata]=\"(userMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addMetadataUser($event)\"\n ></pry-metadata-editor>\n </div>\n\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"0\"\n >\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 </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i5$2.PryMetadataEditorComponent, selector: "pry-metadata-editor", inputs: ["targetId", "editable", "metadata"], outputs: ["addMeta", "removeMeta"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
|
|
3708
3513
|
}
|
|
3709
3514
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminUserSelectComponent, decorators: [{
|
|
3710
3515
|
type: Component,
|
|
3711
|
-
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>\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 </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.userInfo.profile' | i18n }}\n </button>\n\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n [id]=\"'tab-' + compId + '-1'\"\n role=\"tab\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content o-tabs__panels__item__content--profil\">\n <div *ngFor=\"let metadata of userMetadata$ | async\">\n <div class=\"o-tabs__panels__item__content\">\n <div class=\"o-tabs__panels__item__content__actions\">\n <div class=\"o-tabs__panels__item__content__actions__text\">\n <span class=\"o-tabs__panels__item__content__actions__text__label\"\n >{{ metadata.userProfile.name }} :</span\n >\n <span class=\"o-tabs__panels__item__content__actions__text__value\">{{ metadata.value }}</span>\n </div>\n\n <div class=\"o-tabs__panels__item__content__actions__buttons\">\n <ng-container *pryAccess=\"{ module: 'admin', page: 'user', action: 'write' }\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.edit' | i18n }} {{ metadata.userProfile.name }}</span\n >\n <pry-icon\n class=\"edit-icon\"\n iconSvg=\"edit\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"editMetadata(metadata)\"\n ></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" aria-pressed=\"false\">\n <span class=\"u-visually-hidden\"\n >{{ '@pry.action.delete' | i18n }} {{ metadata.userProfile.name }}</span\n >\n <pry-icon\n class=\"delete-icon\"\n iconSvg=\"delete\"\n [width]=\"15\"\n [height]=\"15\"\n (click)=\"removeMetadata(metadata)\"\n ></pry-icon>\n </button>\n </ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <ng-container *pryAccess=\"{ module: 'admin', page: 'user', action: 'write' }\">\n <ng-container *ngIf=\"metaForm.value.metadata\">\n <form class=\"o-form -border-top\" [formGroup]=\"metaForm\" (ngSubmit)=\"addMetadataUser()\">\n <fieldset>\n <legend class=\"u-visually-hidden\">{{ '@pry.action.editProfil' | i18n }}</legend>\n\n <div class=\"m-form-label-field\">\n <label for=\"metadata\" id=\"metadata-label\" class=\"a-label\">Data</label>\n <pry-select\n id=\"metadata\"\n class=\"a-pry-select\"\n formControlName=\"metadata\"\n [items]=\"metadataAvailable$ | async\"\n (ngModelChange)=\"onMetaChange($event)\"\n [isForm]=\"true\"\n [itemsAsOption]=\"true\"\n bindLabel=\"name\"\n [readonly]=\"editable\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('metadata')?.invalid\n ? 'metadata-label metadata-error'\n : 'metadata-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('metadata')?.invalid\"\n >\n </pry-select>\n <label\n *ngIf=\"isSubmitted && metaForm.get('metadata')?.invalid\"\n id=\"metadata-error\"\n for=\"metadata\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n\n <ng-container *ngIf=\"metaForm.value['metadata']['type'] === 'DATE'; else inputList\">\n <div class=\"m-form-label-field\">\n <label id=\"form_date-label\" for=\"form_date\" class=\"a-label\">\n {{ '@pry.action.selectDate' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"form_date\"\n type=\"date\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('value')?.invalid\n ? 'form-date-label form-date-error'\n : 'form-date-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('value')?.invalid\"\n id=\"form_date-error\"\n for=\"form_date\"\n class=\"a-label a-label--help -error\"\n >\n {{ '@pry.admin.required' | i18n }}\n </label>\n </div>\n </ng-container>\n\n <ng-template #inputList>\n <ng-container *ngIf=\"metaForm.value['metadata']['type'] === 'LIST'; else inputText\">\n <div class=\"m-form-label-field\">\n <label id=\"list-label\" class=\"a-label\" for=\"list\">{{ '@pry.action.choiceInList' | i18n }}</label>\n <pry-select\n id=\"list\"\n class=\"a-pry-select\"\n formControlName=\"value\"\n [items]=\"metaForm.value['metadata']['allowedValues']\"\n [isForm]=\"true\"\n aria-labelledby=\"list-label\"\n ></pry-select>\n </div>\n </ng-container>\n </ng-template>\n\n <ng-template #inputText>\n <div class=\"m-form-label-field\">\n <label id=\"text-label\" class=\"a-label\" for=\"text\">\n {{ '@pry.action.text' | i18n }} *\n <span class=\"u-visually-hidden\">({{ '@pry.admin.required' | i18n }})</span>\n </label>\n <input\n id=\"text\"\n type=\"text\"\n class=\"a-form-field\"\n formControlName=\"value\"\n [attr.aria-labelledby]=\"\n isSubmitted && metaForm.get('value')?.invalid ? 'text-label text-error' : 'text-label'\n \"\n [attr.aria-invalid]=\"isSubmitted && metaForm.get('value')?.invalid\"\n required\n />\n <label\n *ngIf=\"isSubmitted && metaForm.get('value')?.invalid\"\n id=\"test-error\"\n for=\"text\"\n class=\"a-label a-label--help -error\"\n >\n <span *ngIf=\"metaForm.get('value')?.hasError('required')\">{{\n '@pry.admin.required' | i18n\n }}</span>\n <ng-container *ngIf=\"metaForm.get('value')?.hasError('pattern')\">\n <span *ngIf=\"metaForm.value['metadata']['type'] === 'DOUBLE'\">\n {{ '@pry.admin.environment.formatDouble' | i18n }}\n </span>\n <span *ngIf=\"metaForm.value['metadata']['type'] === 'INTEGER'\">\n {{ '@pry.admin.environment.formatInt' | i18n }}\n </span>\n </ng-container>\n </label>\n </div>\n </ng-template>\n </fieldset>\n\n <div class=\"m-btn-group -end\">\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"\n ((editable$ | async) ? '@pry.admin.userInfo.editMetadata' : '@pry.admin.userInfo.addMetadata')\n | i18n\n \"\n ></button>\n </div>\n </form>\n </ng-container>\n </ng-container>\n </div>\n\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"0\"\n >\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 </div>\n </div>\n </div>\n</div>\n" }]
|
|
3712
|
-
}], ctorParameters: function () { return [{ type: i1.Store }
|
|
3516
|
+
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>\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 </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.userInfo.profile' | i18n }}\n </button>\n\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n [id]=\"'tab-' + compId + '-1'\"\n role=\"tab\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <pry-metadata-editor\n [targetId]=\"(selectedUser$ | async)?.id ?? ''\"\n [editable]=\"(editable$ | async) ?? false\"\n [metadata]=\"(userMetadata$ | async) ?? []\"\n (removeMeta)=\"removeMetadata($event)\"\n (addMeta)=\"addMetadataUser($event)\"\n ></pry-metadata-editor>\n </div>\n\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"0\"\n >\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 </div>\n </div>\n </div>\n</div>\n" }]
|
|
3517
|
+
}], ctorParameters: function () { return [{ type: i1.Store }]; }, propDecorators: { profil: [{
|
|
3713
3518
|
type: Input
|
|
3714
3519
|
}] } });
|
|
3715
3520
|
|
|
@@ -5418,21 +5223,6 @@ class AdminService {
|
|
|
5418
5223
|
.select(ConfigSelectors.refUrl)
|
|
5419
5224
|
.pipe(mergeMap((url) => this.httpClient.get(`${url}/predicates/id/${id}`)));
|
|
5420
5225
|
}
|
|
5421
|
-
getMetadataList() {
|
|
5422
|
-
return this.store
|
|
5423
|
-
.select(ConfigSelectors.refUrl)
|
|
5424
|
-
.pipe(mergeMap((url) => this.httpClient.get(`${url}/metadata`)));
|
|
5425
|
-
}
|
|
5426
|
-
getMetadata(id) {
|
|
5427
|
-
return this.store
|
|
5428
|
-
.select(ConfigSelectors.refUrl)
|
|
5429
|
-
.pipe(mergeMap((url) => this.httpClient.get(`${url}/metadata/id/${id}`)));
|
|
5430
|
-
}
|
|
5431
|
-
postMetadata(metadata) {
|
|
5432
|
-
return this.store
|
|
5433
|
-
.select(ConfigSelectors.refUrl)
|
|
5434
|
-
.pipe(mergeMap((url) => this.httpClient.post(`${url}/metadata`, metadata)));
|
|
5435
|
-
}
|
|
5436
5226
|
getUserMetadata() {
|
|
5437
5227
|
return this.store
|
|
5438
5228
|
.select(ConfigSelectors.refUrl)
|
|
@@ -5789,34 +5579,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
5789
5579
|
type: Injectable
|
|
5790
5580
|
}], ctorParameters: function () { return [{ type: i1$2.Actions }, { type: AdminService }, { type: i4.PryDialogService }, { type: AdminService }]; } });
|
|
5791
5581
|
|
|
5792
|
-
class AdminDatasetEffects {
|
|
5793
|
-
constructor(actions$, dataSourceService) {
|
|
5794
|
-
this.actions$ = actions$;
|
|
5795
|
-
this.dataSourceService = dataSourceService;
|
|
5796
|
-
this.addDatasetMetadata$ = createEffect(() => this.actions$.pipe(ofType(AdminDatasetActions.addDatasetMetadata), mergeMap$1((action) => this.dataSourceService.addDatasetMetadata(action.datasetId, action.metadataId, action.value).pipe(map$1(() => AdminDatasetActions.addDatasetMetadataSuccess({ datasetId: action.datasetId })), catchError$1((error) => [AdminDatasetActions.addDatasetMetadataFailure({ error })])))));
|
|
5797
|
-
this.addDatasetMetadataSuccess$ = createEffect(() => this.actions$.pipe(ofType(AdminDatasetActions.addDatasetMetadataSuccess), mergeMap$1((action) => {
|
|
5798
|
-
return [
|
|
5799
|
-
DataSourceActions.dataset.getDatasetById({ id: action.datasetId }),
|
|
5800
|
-
AdminDatasetActions.isEditable({ editable: false }),
|
|
5801
|
-
DataSourceActions.dataset.loadDataset()
|
|
5802
|
-
];
|
|
5803
|
-
})));
|
|
5804
|
-
this.deleteDatasetMetadata$ = createEffect(() => this.actions$.pipe(ofType(AdminDatasetActions.deleteDatasetMetadata), mergeMap$1((action) => this.dataSourceService.deleteDatasetMetadata(action.datasetId, action.metadataId).pipe(map$1(() => AdminDatasetActions.deleteDatasetMetadataSuccess({ datasetId: action.datasetId })), catchError$1((error) => [AdminDatasetActions.deleteDatasetMetadataFailure({ error })])))));
|
|
5805
|
-
this.deleteDatasetMetadataSuccess$ = createEffect(() => this.actions$.pipe(ofType(AdminDatasetActions.deleteDatasetMetadataSuccess), mergeMap$1((action) => {
|
|
5806
|
-
return [
|
|
5807
|
-
DataSourceActions.dataset.getDatasetById({ id: action.datasetId }),
|
|
5808
|
-
AdminDatasetActions.isEditable({ editable: false }),
|
|
5809
|
-
DataSourceActions.dataset.loadDataset()
|
|
5810
|
-
];
|
|
5811
|
-
})));
|
|
5812
|
-
}
|
|
5813
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminDatasetEffects, deps: [{ token: i1$2.Actions }, { token: i4.DataSourceService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5814
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminDatasetEffects }); }
|
|
5815
|
-
}
|
|
5816
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminDatasetEffects, decorators: [{
|
|
5817
|
-
type: Injectable
|
|
5818
|
-
}], ctorParameters: function () { return [{ type: i1$2.Actions }, { type: i4.DataSourceService }]; } });
|
|
5819
|
-
|
|
5820
5582
|
class EnvironmentEffects {
|
|
5821
5583
|
constructor(actions$, service, router) {
|
|
5822
5584
|
this.actions$ = actions$;
|
|
@@ -6001,29 +5763,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
6001
5763
|
}]
|
|
6002
5764
|
}] });
|
|
6003
5765
|
|
|
6004
|
-
class MetadataEffects {
|
|
6005
|
-
constructor(actions$, service, store, router) {
|
|
6006
|
-
this.actions$ = actions$;
|
|
6007
|
-
this.service = service;
|
|
6008
|
-
this.store = store;
|
|
6009
|
-
this.router = router;
|
|
6010
|
-
this.loadMetadata$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.loadMetadata), mergeMap$1((_) => this.service.getMetadataList().pipe(map$1((metadata) => MetadataActions.loadMetadataSuccess({ metadata: metadata })), catchError$1((error) => [MetadataActions.loadMetadataFailure({ error: error })])))));
|
|
6011
|
-
this.goToNewMetadata$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.goToNewMetadata), map$1((action) => {
|
|
6012
|
-
return AdminActions.routeTo({ path: action.route });
|
|
6013
|
-
})));
|
|
6014
|
-
this.goToDetailsView$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.goToDetailsView), mergeMap$1((action) => this.service.getMetadata(action.id).pipe(map$1((metadata) => MetadataActions.goToDetailsViewSuccess({ metadata })), catchError$1((error) => [MetadataActions.goToDetailsViewFailure({ error: error })])))));
|
|
6015
|
-
this.createMetadata$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.createMetadata), mergeMap$1((action) => this.service.postMetadata(action.metadata).pipe(map$1(() => MetadataActions.createMetadataSuccess({ metadata: action.metadata })), catchError$1((error) => [MetadataActions.createMetadataFailure({ error: error })])))));
|
|
6016
|
-
this.createMetadataSuccess$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.createMetadataSuccess), map$1((action) => {
|
|
6017
|
-
return MetadataActions.loadMetadata();
|
|
6018
|
-
})));
|
|
6019
|
-
}
|
|
6020
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: MetadataEffects, deps: [{ token: i1$2.Actions }, { token: AdminService }, { token: i1.Store }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6021
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: MetadataEffects }); }
|
|
6022
|
-
}
|
|
6023
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: MetadataEffects, decorators: [{
|
|
6024
|
-
type: Injectable
|
|
6025
|
-
}], ctorParameters: function () { return [{ type: i1$2.Actions }, { type: AdminService }, { type: i1.Store }, { type: i2.Router }]; } });
|
|
6026
|
-
|
|
6027
5766
|
class PredicatesEffects {
|
|
6028
5767
|
constructor(actions$, service, router) {
|
|
6029
5768
|
this.actions$ = actions$;
|
|
@@ -6760,11 +6499,14 @@ class AdminEffects {
|
|
|
6760
6499
|
this.actions$ = actions$;
|
|
6761
6500
|
this.service = service;
|
|
6762
6501
|
this.router = router;
|
|
6763
|
-
this.routeTo$ = createEffect(() => this.actions$.pipe(ofType(AdminActions.routeTo, DataSourceActions.dataset.created, DataSourceActions.dataset.updated), mergeMap
|
|
6502
|
+
this.routeTo$ = createEffect(() => this.actions$.pipe(ofType(AdminActions.routeTo, DataSourceActions.dataset.created, DataSourceActions.dataset.updated), mergeMap((action) => {
|
|
6764
6503
|
this.router.navigate([action.path], { queryParams: action.params });
|
|
6765
6504
|
return action.path === this.router.url ? [] : [AdminActions.resetActions()];
|
|
6766
6505
|
})));
|
|
6767
|
-
this.
|
|
6506
|
+
this.goToNewMetadata$ = createEffect(() => this.actions$.pipe(ofType(MetadataActions.goToNewMetadata), map((action) => {
|
|
6507
|
+
return AdminActions.routeTo({ path: action.route });
|
|
6508
|
+
})));
|
|
6509
|
+
this.deleteRelationTypeSuccess$ = createEffect(() => this.actions$.pipe(ofType(RelationTypesActions.deleteRelationTypeSuccess), mergeMap((action) => {
|
|
6768
6510
|
return [
|
|
6769
6511
|
RelationTypesActions.load(),
|
|
6770
6512
|
AdminActions.selectComponentType({ componentType: null }),
|
|
@@ -6782,10 +6524,10 @@ class AdminEffects {
|
|
|
6782
6524
|
})
|
|
6783
6525
|
];
|
|
6784
6526
|
})));
|
|
6785
|
-
this.closePanel$ = createEffect(() => this.actions$.pipe(ofType(AdminActions.highlightMenu), mergeMap
|
|
6527
|
+
this.closePanel$ = createEffect(() => this.actions$.pipe(ofType(AdminActions.highlightMenu), mergeMap((action) => {
|
|
6786
6528
|
return [AdminActions.togglePanel({ panelOpen: false })];
|
|
6787
6529
|
})));
|
|
6788
|
-
this.deleted$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.deleted), mergeMap
|
|
6530
|
+
this.deleted$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.deleted), mergeMap((action) => [
|
|
6789
6531
|
AdminActions.togglePanel({ panelOpen: false }),
|
|
6790
6532
|
AdminActions.selectComponentType({ componentType: null }),
|
|
6791
6533
|
AdminActions.mainActions({
|
|
@@ -6801,13 +6543,13 @@ class AdminEffects {
|
|
|
6801
6543
|
]
|
|
6802
6544
|
})
|
|
6803
6545
|
])));
|
|
6804
|
-
this.openNewDataset$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.openNewDataset), map
|
|
6546
|
+
this.openNewDataset$ = createEffect(() => this.actions$.pipe(ofType(DataSourceActions.dataset.openNewDataset), map((action) => {
|
|
6805
6547
|
return AdminActions.routeTo({ path: action.route });
|
|
6806
6548
|
})));
|
|
6807
|
-
this.fetchClassAssociations$ = createEffect(() => this.actions$.pipe(ofType(AdminActions.fetchClassAssociations), mergeMap
|
|
6808
|
-
this.fetchFieldAssociations$ = createEffect(() => this.actions$.pipe(ofType(AdminActions.fetchFieldAssociations), mergeMap
|
|
6809
|
-
this.fetchDatasetAssociations$ = createEffect(() => this.actions$.pipe(ofType(AdminActions.fetchDatasetAssociations), mergeMap
|
|
6810
|
-
this.fetchAttributeAssociations$ = createEffect(() => this.actions$.pipe(ofType(AdminActions.fetchAttributeAssociations), mergeMap
|
|
6549
|
+
this.fetchClassAssociations$ = createEffect(() => this.actions$.pipe(ofType(AdminActions.fetchClassAssociations), mergeMap((action) => this.service.getClassAssociations(action.id).pipe(map((association) => AdminActions.fetchAssociationsSuccess({ association })), catchError((error) => [AdminActions.fetchAssociationsFailure({ error: error })])))));
|
|
6550
|
+
this.fetchFieldAssociations$ = createEffect(() => this.actions$.pipe(ofType(AdminActions.fetchFieldAssociations), mergeMap((action) => this.service.getFieldAssociations(action.id).pipe(map((association) => AdminActions.fetchAssociationsSuccess({ association })), catchError((error) => [AdminActions.fetchAssociationsFailure({ error: error })])))));
|
|
6551
|
+
this.fetchDatasetAssociations$ = createEffect(() => this.actions$.pipe(ofType(AdminActions.fetchDatasetAssociations), mergeMap((action) => this.service.getDatasetAssociations(action.id).pipe(map((association) => AdminActions.fetchAssociationsSuccess({ association })), catchError((error) => [AdminActions.fetchAssociationsFailure({ error: error })])))));
|
|
6552
|
+
this.fetchAttributeAssociations$ = createEffect(() => this.actions$.pipe(ofType(AdminActions.fetchAttributeAssociations), mergeMap((action) => this.service.getAttributeAssociations(action.id).pipe(map((association) => AdminActions.fetchAssociationsSuccess({ association })), catchError((error) => [AdminActions.fetchAssociationsFailure({ error: error })])))));
|
|
6811
6553
|
}
|
|
6812
6554
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminEffects, deps: [{ token: i1$2.Actions }, { token: AdminService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6813
6555
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminEffects }); }
|
|
@@ -6897,7 +6639,7 @@ class PryAdminModule {
|
|
|
6897
6639
|
AdminClassesCustomizeSymbolComponent,
|
|
6898
6640
|
PryAssociationComponent], imports: [CommonModule,
|
|
6899
6641
|
PryCoreModule,
|
|
6900
|
-
AdminRoutingModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1
|
|
6642
|
+
AdminRoutingModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1.StoreFeatureModule, i1$2.EffectsFeatureModule, i1$2.EffectsFeatureModule, i1$2.EffectsFeatureModule, i1$2.EffectsFeatureModule, i1$2.EffectsFeatureModule, i1$2.EffectsFeatureModule, i1$2.EffectsFeatureModule, i1$2.EffectsFeatureModule, i1$2.EffectsFeatureModule, i1$2.EffectsFeatureModule, PryIconModule,
|
|
6901
6643
|
FormsModule,
|
|
6902
6644
|
ReactiveFormsModule,
|
|
6903
6645
|
PrySortModule,
|
|
@@ -6909,13 +6651,13 @@ class PryAdminModule {
|
|
|
6909
6651
|
OverlayModule,
|
|
6910
6652
|
PryOverlayModule,
|
|
6911
6653
|
DragDropModule,
|
|
6912
|
-
PryI18nModule
|
|
6654
|
+
PryI18nModule,
|
|
6655
|
+
PryExpandPanelModule] }); }
|
|
6913
6656
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryAdminModule, providers: [DatePipe], imports: [CommonModule,
|
|
6914
6657
|
PryCoreModule,
|
|
6915
6658
|
AdminRoutingModule,
|
|
6916
6659
|
StoreModule.forFeature(adminFeatureKey, adminReducer),
|
|
6917
6660
|
StoreModule.forFeature(predicatesFeatureKey, predicateReducer),
|
|
6918
|
-
StoreModule.forFeature(metadataFeatureKey, metadataReducer),
|
|
6919
6661
|
StoreModule.forFeature(abacRulesFeatureKey, abacRuleReducer),
|
|
6920
6662
|
StoreModule.forFeature(environmentFeatureKey, environmentReducer),
|
|
6921
6663
|
StoreModule.forFeature(adminMetadataUserFeatureKey, adminMetadataUserReducer),
|
|
@@ -6924,10 +6666,8 @@ class PryAdminModule {
|
|
|
6924
6666
|
StoreModule.forFeature(fieldsFeatureKey, fieldReducer),
|
|
6925
6667
|
StoreModule.forFeature(adminUserFeatureKey, adminUserReducer),
|
|
6926
6668
|
StoreModule.forFeature(linksFeatureKey, linkReducer),
|
|
6927
|
-
StoreModule.forFeature(adminDatasetFeatureKey, adminDatasetReducer),
|
|
6928
6669
|
EffectsModule.forFeature([AdminEffects]),
|
|
6929
6670
|
EffectsModule.forFeature([PredicatesEffects]),
|
|
6930
|
-
EffectsModule.forFeature([MetadataEffects]),
|
|
6931
6671
|
EffectsModule.forFeature([EnvironmentEffects]),
|
|
6932
6672
|
EffectsModule.forFeature([AbacRulesEffects]),
|
|
6933
6673
|
EffectsModule.forFeature([AdminMetadataUserEffects]),
|
|
@@ -6936,7 +6676,6 @@ class PryAdminModule {
|
|
|
6936
6676
|
EffectsModule.forFeature([AdminUserEffects]),
|
|
6937
6677
|
EffectsModule.forFeature([LinksEffects]),
|
|
6938
6678
|
EffectsModule.forFeature([AdminMetadataRulesEffects]),
|
|
6939
|
-
EffectsModule.forFeature([AdminDatasetEffects]),
|
|
6940
6679
|
PryIconModule,
|
|
6941
6680
|
FormsModule,
|
|
6942
6681
|
ReactiveFormsModule,
|
|
@@ -6949,7 +6688,8 @@ class PryAdminModule {
|
|
|
6949
6688
|
OverlayModule,
|
|
6950
6689
|
PryOverlayModule,
|
|
6951
6690
|
DragDropModule,
|
|
6952
|
-
PryI18nModule
|
|
6691
|
+
PryI18nModule,
|
|
6692
|
+
PryExpandPanelModule] }); }
|
|
6953
6693
|
}
|
|
6954
6694
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: PryAdminModule, decorators: [{
|
|
6955
6695
|
type: NgModule,
|
|
@@ -7036,7 +6776,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
7036
6776
|
AdminRoutingModule,
|
|
7037
6777
|
StoreModule.forFeature(adminFeatureKey, adminReducer),
|
|
7038
6778
|
StoreModule.forFeature(predicatesFeatureKey, predicateReducer),
|
|
7039
|
-
StoreModule.forFeature(metadataFeatureKey, metadataReducer),
|
|
7040
6779
|
StoreModule.forFeature(abacRulesFeatureKey, abacRuleReducer),
|
|
7041
6780
|
StoreModule.forFeature(environmentFeatureKey, environmentReducer),
|
|
7042
6781
|
StoreModule.forFeature(adminMetadataUserFeatureKey, adminMetadataUserReducer),
|
|
@@ -7045,10 +6784,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
7045
6784
|
StoreModule.forFeature(fieldsFeatureKey, fieldReducer),
|
|
7046
6785
|
StoreModule.forFeature(adminUserFeatureKey, adminUserReducer),
|
|
7047
6786
|
StoreModule.forFeature(linksFeatureKey, linkReducer),
|
|
7048
|
-
StoreModule.forFeature(adminDatasetFeatureKey, adminDatasetReducer),
|
|
7049
6787
|
EffectsModule.forFeature([AdminEffects]),
|
|
7050
6788
|
EffectsModule.forFeature([PredicatesEffects]),
|
|
7051
|
-
EffectsModule.forFeature([MetadataEffects]),
|
|
7052
6789
|
EffectsModule.forFeature([EnvironmentEffects]),
|
|
7053
6790
|
EffectsModule.forFeature([AbacRulesEffects]),
|
|
7054
6791
|
EffectsModule.forFeature([AdminMetadataUserEffects]),
|
|
@@ -7057,7 +6794,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
7057
6794
|
EffectsModule.forFeature([AdminUserEffects]),
|
|
7058
6795
|
EffectsModule.forFeature([LinksEffects]),
|
|
7059
6796
|
EffectsModule.forFeature([AdminMetadataRulesEffects]),
|
|
7060
|
-
EffectsModule.forFeature([AdminDatasetEffects]),
|
|
7061
6797
|
PryIconModule,
|
|
7062
6798
|
FormsModule,
|
|
7063
6799
|
ReactiveFormsModule,
|
|
@@ -7070,7 +6806,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
|
|
|
7070
6806
|
OverlayModule,
|
|
7071
6807
|
PryOverlayModule,
|
|
7072
6808
|
DragDropModule,
|
|
7073
|
-
PryI18nModule
|
|
6809
|
+
PryI18nModule,
|
|
6810
|
+
PryExpandPanelModule
|
|
7074
6811
|
]
|
|
7075
6812
|
}]
|
|
7076
6813
|
}], ctorParameters: function () { return [{ type: i4.PryI18nService }]; } });
|