@provoly/dashboard 0.15.13 → 0.18.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +3 -3
- package/esm2022/components/metadata-editor/metadata-editor.component.mjs +3 -3
- package/esm2022/lib/core/components/about/about.component.mjs +8 -3
- package/esm2022/lib/core/errors/http-error-interceptor.service.mjs +2 -2
- package/esm2022/lib/core/i18n/fr.translations.mjs +8 -8
- package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.mjs +23 -4
- package/esm2022/lib/dashboard/components/widgets/widget-instanciator/widgets-definition.model.mjs +1 -1
- package/esm2022/lib/dashboard/store/dashboard.effects.mjs +9 -6
- package/esm2022/presentation/components/add-edit-presentation/add-edit-presentation.component.mjs +15 -8
- package/esm2022/search/search-home/search-home.component.mjs +3 -3
- package/esm2022/search/style/css.component.mjs +2 -2
- package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +4 -4
- package/esm2022/widgets/widget-aggregated-chart/i18n/en.translations.mjs +3 -3
- package/esm2022/widgets/widget-aggregated-chart/i18n/fr.translations.mjs +3 -3
- package/fesm2022/provoly-dashboard-admin.mjs +2 -2
- package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +2 -2
- package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-presentation.mjs +14 -7
- package/fesm2022/provoly-dashboard-presentation.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-search.mjs +4 -4
- package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +7 -7
- package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
- package/fesm2022/provoly-dashboard.mjs +41 -18
- package/fesm2022/provoly-dashboard.mjs.map +1 -1
- package/lib/core/components/about/about.component.d.ts +1 -0
- package/lib/dashboard/components/widgets/widget-instanciator/widget-factory.service.d.ts +6 -1
- package/lib/dashboard/components/widgets/widget-instanciator/widgets-definition.model.d.ts +2 -0
- package/lib/dashboard/store/dashboard.effects.d.ts +3 -1
- package/package.json +19 -19
- package/presentation/components/add-edit-presentation/add-edit-presentation.component.d.ts +1 -0
- package/schematics/ng-add/index.js +13 -3
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/ng-add/index.spec.js +15 -0
- package/schematics/ng-add/index.spec.js.map +1 -1
- package/search/style/_o-pry-search-home.scss +1 -1
- package/styles/components/_a-chips.scss +15 -0
- package/styles/components/_a-tooltip.scss +2 -2
- package/styles/components/_o-about.scss +59 -0
- package/styles/components/_o-pry-admin-classes-customize.scss +0 -54
- package/styles/components/_o-pry-card.scss +8 -1
- package/styles/components/_o-pry-expand-panel.scss +2 -2
- package/styles/main.scss +2 -1
- package/styles-theme/components-theme/_o-pry-admin-classes-customize.theme.scss +1 -1
|
@@ -65,8 +65,8 @@ export const enTranslations = {
|
|
|
65
65
|
legendLabel: 'Legend',
|
|
66
66
|
tooltip: 'Display tooltip',
|
|
67
67
|
stacked: 'Vertical stacking',
|
|
68
|
-
noData: 'No
|
|
69
|
-
aggNoResult: '
|
|
68
|
+
noData: 'No selected datasource',
|
|
69
|
+
aggNoResult: 'No results to display',
|
|
70
70
|
scheme: {
|
|
71
71
|
accent: '8 colors n°1',
|
|
72
72
|
set2: '8 colors n°2',
|
|
@@ -102,4 +102,4 @@ export const enTranslations = {
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
};
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtYWdncmVnYXRlZC1jaGFydC9pMThuL2VuLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFO2dCQUNMLFlBQVksRUFBRTtvQkFDWixPQUFPLEVBQUUsR0FBRztvQkFDWixTQUFTLEVBQUUsR0FBRztvQkFDZCxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ2IsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztpQkFDcEI7Z0JBQ0QsZ0JBQWdCLEVBQUU7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLElBQUksRUFBRSxVQUFVO29CQUNoQixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztvQkFDckIsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsVUFBVSxDQUFDO29CQUNwRixTQUFTLEVBQUUsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUM7b0JBQzVELE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO29CQUNoRixXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFB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N0csNkJBQTZCLEVBQzNCLDRGQUE0RjtTQUMvRjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlblRyYW5zbGF0aW9ucyA9IHtcbiAgJ0BwcnknOiB7XG4gICAgd2lkZ2V0OiB7XG4gICAgICBjaGFydDoge1xuICAgICAgICBudW1iZXJMb2NhbGU6IHtcbiAgICAgICAgICBkZWNpbWFsOiAnLicsXG4gICAgICAgICAgdGhvdXNhbmRzOiAnLCcsXG4gICAgICAgICAgZ3JvdXBpbmc6IFszXSxcbiAgICAgICAgICBjdXJyZW5jeTogWyckJywgJyddXG4gICAgICAgIH0sXG4gICAgICAgIHRpbWVGb3JtYXRMb2NhbGU6IHtcbiAgICAgICAgICBkYXRlVGltZTogJyVZICVCICVkICVIOiVNOiVTJyxcbiAgICAgICAgICBkYXRlOiAnJWQvJW0vJVknLFxuICAgICAgICAgIHRpbWU6ICclSDolTTolUycsXG4gICAgICAgICAgcGVyaW9kczogWydBTScsICdQTSddLFxuICAgICAgICAgIGRheXM6IFsnc3VuZGF5JywgJ21vbmRheScsICd0dWVzZGF5JywgJ3dlZG5lc2RheScsICd0aHVyc2RheScsICdmcmlkYXknLCAnc2F0dXJkYXknXSxcbiAgICAgICAgICBzaG9ydERheXM6IFsnU3VuJywgJ01vbicsICdUdWUnLCAnV2VkJywgJ1RodScsICdGcmknLCAnU2F0J10sXG4gICAgICAgICAgbW9udGhzOiBbJzAxJywgJzAyJywgJzAzJywgJzA0JywgJzA1JywgJzA2JywgJzA3JywgJzA4JywgJzA5JywgJzEwJywgJzExJywgJzEyJ10sXG4gICAgICAgICAgc2hvcnRNb250aHM6IFsnMDEnLCAnMDInLCAnMDMnLCAnMDQnLCAnMDUnLCAnMDYnLCAnMDcnLCAnMDgnLCAnMDknLCAnMTAnLCAnMTEnLCAnMTInXVxuICAgICAgICB9LFxuICAgICAgICBvcGVyYXRpb246IHtcbiAgICAgICAgICBub25lOiAnQXR0cmlidXRlIHZhbHVlJyxcbiAgICAgICAgICBjb3VudDogJ0NvdW50JyxcbiAgICAgICAgICBzdW06ICdTdW0nLFxuICAgICAgICAgIGNhcmRpbmFsaXR5OiAnRGlzdGluY3QgZWxlbWVudHMnLFxuICAgICAgICAgIGF2ZzogJ0F2ZXJhZ2UnLFxuICAgICAgICAgIG1lZGlhbjogJ01lZGlhbicsXG4gICAgICAgICAgcTE6ICdMb3dlciBxdWFydGlsZScsXG4gICAgICAgICAgcTM6ICdVcHBlciBRdWFydGlsZScsXG4gICAgICAgICAgbWluOiAnTWluaW11bScsXG4gICAgICAgICAgbWF4OiAnTWF4aW11bScsXG4gICAgICAgICAgcGVyY2VudDogJ1BlcmNlbnQnLFxuICAgICAgICAgIHRpdGxlOiAnT3BlcmF0aW9uJ1xuICAgICAgICB9LFxuICAgICAgICBjaG9vc2VQYXJhbWV0ZXJzOiAnUGxlYXNlIHNlbGVjdCBwYXJhbWV0ZXJzIHRvIGRpc3BsYXkgY2hhcnQuJyxcbiAgICAgICAgc2VyaWVzOiAnU2VyaWVzJyxcbiAgICAgICAgdHlwZTogJ0NoYXJ0IHR5cGUnLFxuICAgICAgICB0aXRsZTogJ0NoYXJ0IHRpdGxlJyxcbiAgICAgICAgZ3JhcGhUeXBlOiB7XG4gICAgICAgICAgJ2FyZWEtZGVmYXVsdCc6ICdBcmVhJyxcbiAgICAgICAgICAnYXJlYS13aXRoLWxpbmVzLWFuZC1wb2ludHMnOiAnQ3VydmUgd2l0aCBsaW5lcyBhbmQgcG9pbnRzJyxcbiAgICAgICAgICAnYmFyLWRlZmF1bHQnOiAnQmFyJyxcbiAgICAgICAgICAnYXJjLWRlZmF1bHQnOiAnQ2lyY3VsYXInLFxuICAgICAgICAgICdsaW5lLWRlZmF1bHQnOiAnQ3VydmUnLFxuICAgICAgICAgICdsaW5lLXdpdGgtcG9pbnRzJzogJ0N1cnZlIHdpdGggcG9pbnRzJyxcbiAgICAgICAgICAnYXJjLWRvbnV0JzogJ0RvbnV0JyxcbiAgICAgICAgICAnYmFyLWhpc3RvZ3JhbSc6ICdIaXN0b2dyYW0nLFxuICAgICAgICAgICdwb2ludC1kZWZhdWx0JzogJ1BvaW50cydcbiAgICAgICAgfSxcbiAgICAgICAgZG9udXRTaXplOiAnRG9udXQgaW5uZXIgcmFkaXVzJyxcbiAgICAgICAgYWJzY2lzc2E6ICdBYnNjaXNzYScsXG4gICAgICAgIG9yZGluYXRlOiAnT3JkaW5hdGUnLFxuICAgICAgICBkYXRhTGFiZWw6ICdEYXRhIGxhYmVsJyxcbiAgICAgICAgb3JpZ2luOiAnQXhpcyBjb250YWluaW5nIDAnLFxuICAgICAgICBsaW1pdDogJ0xpbWl0IGVsZW1lbnRzJyxcbiAgICAgICAgYXNjOiAnQmlnZ2VzdCBlbGVtZW50cycsXG4gICAgICAgIGRlc2M6ICdTbWFsbGVzdCBlbGVtZW50cycsXG4gICAgICAgIHRpbWVJbnRlcnZhbDogJ1RpbWUgaW50ZXJ2YWwnLFxuICAgICAgICBvdGhlcnM6ICdSZWdyb3VwIHJlbWFpbmluZyB2YWx1ZXMgaW4gY2F0ZWdvcnkgXCJPdGhlclwiJyxcbiAgICAgICAgb3JkZXI6ICdDb21wb25lbnQgc2VsZWN0aW9uJyxcbiAgICAgICAgZ3JvdXBCeTogJ0dyb3VwIGJ5JyxcbiAgICAgICAgZ3JvdXBBdHRyOiAnR3JvdXBpbmcgYXR0cmlidXRlJyxcbiAgICAgICAgY29sb3JTY2hlbWU6ICdDb2xvciBzY2hlbWUnLFxuICAgICAgICBsZWdlbmQ6ICdEaXNwbGF5IGxlZ2VuZCcsXG4gICAgICAgIGxlZ2VuZExhYmVsOiAnTGVnZW5kJyxcbiAgICAgICAgdG9vbHRpcDogJ0Rpc3BsYXkgdG9vbHRpcCcsXG4gICAgICAgIHN0YWNrZWQ6ICdWZXJ0aWNhbCBzdGFja2luZycsXG4gICAgICAgIG5vRGF0YTogJ05vIHNlbGVjdGVkIGRhdGFzb3VyY2UnLFxuICAgICAgICBhZ2dOb1Jlc3VsdDogJ05vIHJlc3VsdHMgdG8gZGlzcGxheScsXG4gICAgICAgIHNjaGVtZToge1xuICAgICAgICAgIGFjY2VudDogJzggY29sb3JzIG7CsDEnLFxuICAgICAgICAgIHNldDI6ICc4IGNvbG9ycyBuwrAyJyxcbiAgICAgICAgICBkYXJrMjogJzggZGFyayBjb2xvcnMnLFxuICAgICAgICAgIHBhc3RlbDI6ICc4IHBhc3RlbCBjb2xvcnMnLFxuICAgICAgICAgIHNldDE6ICc5IGNvbG9ycycsXG4gICAgICAgICAgcGFzdGVsMTogJzkgcGFzdGVsIGNvbG9ycycsXG4gICAgICAgICAgY2F0ZWdvcnkxMDogJzEwIGNvbG9ycycsXG4gICAgICAgICAgdGFibGVhdTEwOiAnMTAgZGlmZmVyZW50IGNvbG9ycycsXG4gICAgICAgICAgc2V0MzogJzEyIGNvbG9ycycsXG4gICAgICAgICAgcGFpcmVkOiAnMTIgZGlmZmVyZW50IGNvbG9ycycsXG4gICAgICAgICAgdGFibGVhdTIwOiAnMjAgY29sb3JzJyxcbiAgICAgICAgICBjYXRlZ29yeTIwOiAnMjAgY29sb3JzIHdpdGggMiBzaGFkZXMnLFxuICAgICAgICAgIGNhdGVnb3J5MjBiOiAnMjAgY29sb3JzIHdpdGggNCBzaGFkZXMgbsKwMScsXG4gICAgICAgICAgY2F0ZWdvcnkyMGM6ICcyMCBjb2xvcnMgd2l0aCA0IHNoYWRlcyBuwrAyJyxcbiAgICAgICAgICAnS08vVy9PSyc6ICdUcmFmZmljIGxpZ2h0J1xuICAgICAgICB9LFxuICAgICAgICB0aW1lOiB7XG4gICAgICAgICAgc2Vjb25kOiAnU2Vjb25kJyxcbiAgICAgICAgICBtaW51dGU6ICdNaW51dGUnLFxuICAgICAgICAgIGhvdXI6ICdIb3VyJyxcbiAgICAgICAgICBkYXk6ICdEYXknLFxuICAgICAgICAgIHdlZWs6ICdXZWVrJyxcbiAgICAgICAgICBtb250aDogJ01vbnRoJyxcbiAgICAgICAgICBxdWFydGVyOiAnUXVhcnRlcicsXG4gICAgICAgICAgeWVhcjogJ1llYXInXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICAgIG1lc3NhZ2U6IHtcbiAgICAgICdiYWNrZW5kLW9ubHktMS1kYXRhc291cmNlJzogJ0FnZ3JlZ2F0aW9uIHNlcnZpY2UgY2FuIG9ubHkgbWFuYWdlIHRoZSBmaXJzdCBkYXRhc291cmNlIGxpbmtlZCB0byB0aGUgd2lkZ2V0LicsXG4gICAgICAnY2Fubm90LWFnZ3JlZ2F0ZS12aXJ0dWFsLWRzJzpcbiAgICAgICAgJ0FnZ3JlZ2F0aW9uIHNlcnZpY2UgY2Fubm90IHBlcmZvcm0gYWdncmVnYXRpb24gb24gdmlydHVhbCBkYXRhc2V0cyBzdWNoIGFzIGN1cnJlbnQgc2VhcmNoLidcbiAgICB9XG4gIH1cbn07XG4iXX0=
|
|
@@ -64,8 +64,8 @@ export const frTranslations = {
|
|
|
64
64
|
legendLabel: 'Légende',
|
|
65
65
|
tooltip: 'Affichage des info-bulles',
|
|
66
66
|
stacked: 'Superposition verticale',
|
|
67
|
-
noData: 'Aucune
|
|
68
|
-
aggNoResult:
|
|
67
|
+
noData: 'Aucune datasource sélectionnée',
|
|
68
|
+
aggNoResult: 'Aucune donnée à afficher',
|
|
69
69
|
scheme: {
|
|
70
70
|
accent: '8 couleurs n°1',
|
|
71
71
|
set2: '8 couleurs n°2',
|
|
@@ -101,4 +101,4 @@ export const frTranslations = {
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
};
|
|
104
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtYWdncmVnYXRlZC1jaGFydC9pMThuL2ZyLnRyYW5zbGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUc7SUFDNUIsTUFBTSxFQUFFO1FBQ04sTUFBTSxFQUFFO1lBQ04sS0FBSyxFQUFFO2dCQUNMLFlBQVksRUFBRTtvQkFDWixPQUFPLEVBQUUsR0FBRztvQkFDWixTQUFTLEVBQUUsR0FBRztvQkFDZCxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUM7b0JBQ2IsUUFBUSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQztpQkFDcEI7Z0JBQ0QsZ0JBQWdCLEVBQUU7b0JBQ2hCLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLElBQUksRUFBRSxVQUFVO29CQUNoQixJQUFJLEVBQUUsVUFBVTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQztvQkFDckIsSUFBSSxFQUFFLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxDQUFDO29CQUMvRSxTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUM7b0JBQ25FLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDO29CQUNoRixXQUFXLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFB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Ryw2QkFBNkIsRUFDM0IscUdBQXFHO1NBQ3hHO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGZyVHJhbnNsYXRpb25zID0ge1xuICAnQHByeSc6IHtcbiAgICB3aWRnZXQ6IHtcbiAgICAgIGNoYXJ0OiB7XG4gICAgICAgIG51bWJlckxvY2FsZToge1xuICAgICAgICAgIGRlY2ltYWw6ICcuJyxcbiAgICAgICAgICB0aG91c2FuZHM6ICcgJyxcbiAgICAgICAgICBncm91cGluZzogWzNdLFxuICAgICAgICAgIGN1cnJlbmN5OiBbJ+KCrCcsICcnXVxuICAgICAgICB9LFxuICAgICAgICB0aW1lRm9ybWF0TG9jYWxlOiB7XG4gICAgICAgICAgZGF0ZVRpbWU6ICclWSAlQiAlZCAlSDolTTolUycsXG4gICAgICAgICAgZGF0ZTogJyVkLyVtLyVZJyxcbiAgICAgICAgICB0aW1lOiAnJUg6JU06JVMnLFxuICAgICAgICAgIHBlcmlvZHM6IFsnQU0nLCAnUE0nXSxcbiAgICAgICAgICBkYXlzOiBbJ2RpbWFuY2hlJywgJ2x1bmRpJywgJ21hcmRpJywgJ21lcmNyZWRpJywgJ2pldWRpJywgJ3ZlbmRyZWRpJywgJ3NhbWVkaSddLFxuICAgICAgICAgIHNob3J0RGF5czogWydkaW0uJywgJ2x1bi4nLCAnbWFyLicsICdtZXIuJywgJ2pldS4nLCAndmVuLicsICdzYW0uJ10sXG4gICAgICAgICAgbW9udGhzOiBbJzAxJywgJzAyJywgJzAzJywgJzA0JywgJzA1JywgJzA2JywgJzA3JywgJzA4JywgJzA5JywgJzEwJywgJzExJywgJzEyJ10sXG4gICAgICAgICAgc2hvcnRNb250aHM6IFsnMDEnLCAnMDInLCAnMDMnLCAnMDQnLCAnMDUnLCAnMDYnLCAnMDcnLCAnMDgnLCAnMDknLCAnMTAnLCAnMTEnLCAnMTInXVxuICAgICAgICB9LFxuICAgICAgICBvcGVyYXRpb246IHtcbiAgICAgICAgICBub25lOiBcIlZhbGV1ciBkZSBsJ2F0dHJpYnV0XCIsXG4gICAgICAgICAgY291bnQ6ICdOb21icmUnLFxuICAgICAgICAgIHN1bTogJ1NvbW1lJyxcbiAgICAgICAgICBjYXJkaW5hbGl0eTogXCJOb21icmUgZCfDqWzDqW1lbnRzIGRpc3RpbmN0c1wiLFxuICAgICAgICAgIGF2ZzogJ01veWVubmUnLFxuICAgICAgICAgIG1lZGlhbjogJ03DqWRpYW5lJyxcbiAgICAgICAgICBxMTogJ1F1YXJ0aWxlIGluZsOpcmlldXInLFxuICAgICAgICAgIHEzOiAnUXVhcnRpbGUgc3Vww6lyaWV1cicsXG4gICAgICAgICAgbWluOiAnTWluaW11bScsXG4gICAgICAgICAgbWF4OiAnTWF4aW11bScsXG4gICAgICAgICAgcGVyY2VudDogJ1BvdXJjZW50YWdlJyxcbiAgICAgICAgICB0aXRsZTogJ09ww6lyYXRpb24nXG4gICAgICAgIH0sXG4gICAgICAgIGNob29zZVBhcmFtZXRlcnM6IFwiTWVyY2kgZGUgc8OpbGVjdGlvbm5lciBsZXMgcGFyYW3DqHRyZXMgYWZpbiBkJ2FmZmljaGVyIGxlIGdyYXBoaXF1ZVwiLFxuICAgICAgICB0eXBlOiAnVHlwZSBkZSBncmFwaGlxdWUnLFxuICAgICAgICB0aXRsZTogJ1RpdHJlIGR1IGdyYXBoaXF1ZScsXG4gICAgICAgIGdyYXBoVHlwZToge1xuICAgICAgICAgICdhcmVhLWRlZmF1bHQnOiAnQWlyZScsXG4gICAgICAgICAgJ2FyZWEtd2l0aC1saW5lcy1hbmQtcG9pbnRzJzogJ0FpcmUgYXZlYyBsaWduZXMgZXQgbWFycXVlcycsXG4gICAgICAgICAgJ2Jhci1kZWZhdWx0JzogJ0JhcnJlcycsXG4gICAgICAgICAgJ2FyYy1kZWZhdWx0JzogJ0NpcmN1bGFpcmUnLFxuICAgICAgICAgICdsaW5lLWRlZmF1bHQnOiAnQ291cmJlJyxcbiAgICAgICAgICAnbGluZS13aXRoLXBvaW50cyc6ICdDb3VyYmUgYXZlYyBtYXJxdWVzJyxcbiAgICAgICAgICAnYXJjLWRvbnV0JzogJ0RpYWdyYW1tZSBhbm5lYXUnLFxuICAgICAgICAgICdiYXItaGlzdG9ncmFtJzogJ0hpc3RvZ3JhbW1lJyxcbiAgICAgICAgICAncG9pbnQtZGVmYXVsdCc6ICdQb2ludHMnXG4gICAgICAgIH0sXG4gICAgICAgIGRvbnV0U2l6ZTogXCJEaWFtw6h0cmUgaW50w6lyaWV1ciBkZSBsJ2FubmVhdVwiLFxuICAgICAgICBhYnNjaXNzYTogJ0Fic2Npc3NlJyxcbiAgICAgICAgb3JkaW5hdGU6ICdPcmRvbm7DqWUnLFxuICAgICAgICBkYXRhTGFiZWw6ICdMaWJlbGzDqSBkZSBsYSBkb25uw6llJyxcbiAgICAgICAgb3JpZ2luOiAnQXhlIGNvbnRlbmFudCAwJyxcbiAgICAgICAgbGltaXQ6ICdMaW1pdGVyIGxlcyDDqWzDqW1lbnRzJyxcbiAgICAgICAgYXNjOiAnQXV4IHBsdXMgZ3JhbmRzIMOpbMOpbWVudHMnLFxuICAgICAgICBkZXNjOiAnQXV4IHBsdXMgcGV0aXRzIMOpbMOpbWVudHMnLFxuICAgICAgICB0aW1lSW50ZXJ2YWw6ICdJbnRlcnZhbGxlIGRlIHRlbXBzJyxcbiAgICAgICAgb3RoZXJzOiAnUmVncm91cGVyIGxlcyB2YWxldXJzIHJlc3RhbnRlcyBkYW5zIHVuZSBjYXTDqWdvcmllIFwiQXV0cmVcIicsXG4gICAgICAgIG9yZGVyOiAnQ2hvaXggZGVzIMOpbMOpbWVudHMnLFxuICAgICAgICBncm91cEJ5OiAnUmVncm91cGVtZW50JyxcbiAgICAgICAgZ3JvdXBBdHRyOiAnQXR0cmlidXQgZGUgcmVncm91cGVtZW50JyxcbiAgICAgICAgY29sb3JTY2hlbWU6ICdTY2jDqW1hIGRlIGNvdWxldXInLFxuICAgICAgICBsZWdlbmQ6ICdBZmZpY2hlciBsYSBsw6lnZW5kZScsXG4gICAgICAgIGxlZ2VuZExhYmVsOiAnTMOpZ2VuZGUnLFxuICAgICAgICB0b29sdGlwOiAnQWZmaWNoYWdlIGRlcyBpbmZvLWJ1bGxlcycsXG4gICAgICAgIHN0YWNrZWQ6ICdTdXBlcnBvc2l0aW9uIHZlcnRpY2FsZScsXG4gICAgICAgIG5vRGF0YTogJ0F1Y3VuZSBkYXRhc291cmNlIHPDqWxlY3Rpb25uw6llJyxcbiAgICAgICAgYWdnTm9SZXN1bHQ6ICdBdWN1bmUgZG9ubsOpZSDDoCBhZmZpY2hlcicsXG4gICAgICAgIHNjaGVtZToge1xuICAgICAgICAgIGFjY2VudDogJzggY291bGV1cnMgbsKwMScsXG4gICAgICAgICAgc2V0MjogJzggY291bGV1cnMgbsKwMicsXG4gICAgICAgICAgZGFyazI6ICc4IGNvdWxldXJzIHNvbWJyZScsXG4gICAgICAgICAgcGFzdGVsMjogJzggY291bGV1cnMgcGFzdGVsJyxcbiAgICAgICAgICBzZXQxOiAnOSBjb3VsZXVycycsXG4gICAgICAgICAgcGFzdGVsMTogJzkgY291bGV1cnMgcGFzdGVsJyxcbiAgICAgICAgICBjYXRlZ29yeTEwOiAnMTAgY291bGV1cnMnLFxuICAgICAgICAgIHRhYmxlYXUxMDogJzEwIGNvdWxldXJzIGRpZmbDqXJlbnRlcycsXG4gICAgICAgICAgc2V0MzogJzEyIGNvdWxldXJzJyxcbiAgICAgICAgICBwYWlyZWQ6ICcxMiBjb3VsZXVycyBkaWZmw6lyZW50ZXMnLFxuICAgICAgICAgIHRhYmxlYXUyMDogJzIwIGNvdWxldXJzJyxcbiAgICAgICAgICBjYXRlZ29yeTIwOiAnMjAgY291bGV1cnMgYXZlYyAyIG51YW5jZXMnLFxuICAgICAgICAgIGNhdGVnb3J5MjBiOiAnMjAgY291bGV1cnMgYXZlYyA0IG51YW5jZXMgbsKwMScsXG4gICAgICAgICAgY2F0ZWdvcnkyMGM6ICcyMCBjb3VsZXVycyBhdmVjIDQgbnVhbmNlcyBuwrAyJyxcbiAgICAgICAgICAnS08vVy9PSyc6ICdGZXUgZGUgc2lnbmFsaXNhdGlvbidcbiAgICAgICAgfSxcbiAgICAgICAgdGltZToge1xuICAgICAgICAgIHNlY29uZDogJ1NlY29uZGUnLFxuICAgICAgICAgIG1pbnV0ZTogJ01pbnV0ZScsXG4gICAgICAgICAgaG91cjogJ0hldXJlJyxcbiAgICAgICAgICBkYXk6ICdKb3VyJyxcbiAgICAgICAgICB3ZWVrOiAnU2VtYWluZScsXG4gICAgICAgICAgbW9udGg6ICdNb2lzJyxcbiAgICAgICAgICBxdWFydGVyOiAnVHJpbWVzdHJlJyxcbiAgICAgICAgICB5ZWFyOiAnQW5uw6llJ1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSxcbiAgICBtZXNzYWdlOiB7XG4gICAgICAnYmFja2VuZC1vbmx5LTEtZGF0YXNvdXJjZSc6XG4gICAgICAgICdMZSBzZXJ2aWNlIGFnZ3JlZ2F0aW9uIG5lIHBldXQgcHJlbmRyZSBlbiBjb21wdGUgcXVlIGxhIHByZW1pw6hyZSBkYXRhc291cmNlIGFzc29jacOpZSBhdSB3aWRnZXQuJyxcbiAgICAgICdjYW5ub3QtYWdncmVnYXRlLXZpcnR1YWwtZHMnOlxuICAgICAgICAnTGUgc2VydmljZSBhZ2dyZWdhdGlvbiBuZSBwZXV0IHBhcyBhZ3LDqWdlciBzdXIgZGVzIGRhdGFzZXQgdmlydHVlbHMgdGVscyBxdWUgbGEgcmVjaGVyY2hlIGNvdXJhbnRlLidcbiAgICB9XG4gIH1cbn07XG4iXX0=
|
|
@@ -1542,11 +1542,11 @@ class AdminAttributesFormComponent {
|
|
|
1542
1542
|
this.closeCategory();
|
|
1543
1543
|
}
|
|
1544
1544
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminAttributesFormComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3$1.UntypedFormBuilder }, { token: i5.Overlay }, { token: i0.ViewContainerRef }, { token: i4.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1545
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminAttributesFormComponent, selector: "pry-admin-attributes-form", inputs: { selectedClass: "selectedClass", interClass: "interClass", selectedAttribute: "selectedAttribute" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<form class=\"o-form\" [formGroup]=\"attrForm\" (ngSubmit)=\"addAttribute()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"attr_name\">{{ '@pry.admin.classes.attributes.name' | i18n }}</label>\n <input id=\"attr_name\" type=\"text\" class=\"a-form-field\" formControlName=\"name\" required />\n <label class=\"a-label a-label--help -error\" *ngIf=\"nameAlreadyExists$ | async\">{{\n '@pry.admin.exists' | i18n\n }}</label>\n <div *ngIf=\"attrForm.get('name')?.invalid\">\n <div *ngIf=\"attrForm.get('name')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.minLength' | i18n : { len: 2 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('maxlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.maxLength' | i18n : { len: 100 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('whitespace') && !attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.noWhitespace' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"type\">{{ '@pry.admin.classes.attributes.field' | i18n }}</label>\n <div class=\"title-container\">\n <pry-select\n id=\"type\"\n class=\"a-pry-select\"\n formControlName=\"field\"\n [items]=\"fields$ | async\"\n [itemsAsOption]=\"true\"\n [autocomplete]=\"true\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [isForm]=\"true\"\n required=\"true\"\n [templateLabel]=\"templateOption\"\n [templateOption]=\"templateOption\"\n ></pry-select>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"aligned-option\">\n <p>{{ item.name }}</p>\n <div class=\"chips\" *ngIf=\"item.crs\">{{ item.crs }}</div>\n </div>\n </ng-template>\n <ng-container *ngIf=\"selectedFieldTypeDescription$ | async as description\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip title-tooltip\">\n <p class=\"a-p -date\">{{ description }}</p>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"attrForm.get('field')?.invalid\">\n <div *ngIf=\"attrForm.get('field')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"category\">{{ '@pry.admin.classes.attributes.category' | i18n }}</label>\n <pry-select\n id=\"category\"\n class=\"form-control\"\n formControlName=\"category\"\n [labelTranslate]=\"true\"\n [items]=\"categories$ | async\"\n (click)=\"showCategory()\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n [readonly]=\"true\"\n ></pry-select>\n </div>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n *pryAccess=\"{ module: 'admin', page: 'classes', action: 'add_attribute' }\"\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [disabled]=\"attrForm.invalid || nameAlreadyExists\"\n [innerHTML]=\"(selectedAttribute ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n\n<ng-template #template>\n <div class=\"o-modal o-modal--selector\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.admin.classes.category.select' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeCategory()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <form (ngSubmit)=\"addCategory()\">\n <div class=\"m-form-label-field selector\">\n <label class=\"a-label\" for=\"name-search\">{{ '@pry.admin.classes.category.searchOrCreate' | i18n }}</label>\n <input\n type=\"text\"\n class=\"a-form-field\"\n (input)=\"search($event)\"\n [(ngModel)]=\"catToAdd.name\"\n name=\"name\"\n id=\"name-search\"\n />\n </div>\n\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.classes.category.name' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th scole=\"col\">{{ '@pry.admin.classes.category.name' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let cat of categories$ | async\">\n <td>\n <button type=\"button\" class=\"a-btn a-btn--ghost select-it\" (click)=\"setCategory(cat)\">\n <span class=\"u-visually-hidden\">{{ '@pry.admin.classes.category.selectIt' | i18n }}</span>\n {{ cat.name }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n <ng-container *ngIf=\"(categories$ | async)?.length === 0\">\n <p class=\"a-p a-p--create\">\n <strong>{{ catToAdd.name }} </strong>\n <span [innerHTML]=\"'@pry.admin.classes.category.add' | i18n\"></span>\n </p>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"'@pry.admin.classes.category.create' | i18n\"\n ></button>\n </ng-container>\n </form>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
|
|
1545
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminAttributesFormComponent, selector: "pry-admin-attributes-form", inputs: { selectedClass: "selectedClass", interClass: "interClass", selectedAttribute: "selectedAttribute" }, viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }], ngImport: i0, template: "<form class=\"o-form\" [formGroup]=\"attrForm\" (ngSubmit)=\"addAttribute()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"attr_name\">{{ '@pry.admin.classes.attributes.name' | i18n }}</label>\n <input id=\"attr_name\" type=\"text\" class=\"a-form-field\" formControlName=\"name\" required />\n <label class=\"a-label a-label--help -error\" *ngIf=\"nameAlreadyExists$ | async\">{{\n '@pry.admin.exists' | i18n\n }}</label>\n <div *ngIf=\"attrForm.get('name')?.invalid\">\n <div *ngIf=\"attrForm.get('name')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.minLength' | i18n : { len: 2 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('maxlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.maxLength' | i18n : { len: 100 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('whitespace') && !attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.noWhitespace' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"type\">{{ '@pry.admin.classes.attributes.field' | i18n }}</label>\n <div class=\"title-container\">\n <pry-select\n id=\"type\"\n class=\"a-pry-select\"\n formControlName=\"field\"\n [items]=\"fields$ | async\"\n [itemsAsOption]=\"true\"\n [autocomplete]=\"true\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [isForm]=\"true\"\n required=\"true\"\n [templateLabel]=\"templateOption\"\n [templateOption]=\"templateOption\"\n ></pry-select>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"aligned-option\">\n <p>{{ item.name }}</p>\n <div class=\"a-chips\" *ngIf=\"item.crs\">{{ item.crs }}</div>\n </div>\n </ng-template>\n <ng-container *ngIf=\"selectedFieldTypeDescription$ | async as description\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip title-tooltip\">\n <p class=\"a-p -date\">{{ description }}</p>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"attrForm.get('field')?.invalid\">\n <div *ngIf=\"attrForm.get('field')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"category\">{{ '@pry.admin.classes.attributes.category' | i18n }}</label>\n <pry-select\n id=\"category\"\n class=\"form-control\"\n formControlName=\"category\"\n [labelTranslate]=\"true\"\n [items]=\"categories$ | async\"\n (click)=\"showCategory()\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n [readonly]=\"true\"\n ></pry-select>\n </div>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n *pryAccess=\"{ module: 'admin', page: 'classes', action: 'add_attribute' }\"\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [disabled]=\"attrForm.invalid || nameAlreadyExists\"\n [innerHTML]=\"(selectedAttribute ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n\n<ng-template #template>\n <div class=\"o-modal o-modal--selector\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.admin.classes.category.select' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeCategory()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <form (ngSubmit)=\"addCategory()\">\n <div class=\"m-form-label-field selector\">\n <label class=\"a-label\" for=\"name-search\">{{ '@pry.admin.classes.category.searchOrCreate' | i18n }}</label>\n <input\n type=\"text\"\n class=\"a-form-field\"\n (input)=\"search($event)\"\n [(ngModel)]=\"catToAdd.name\"\n name=\"name\"\n id=\"name-search\"\n />\n </div>\n\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.classes.category.name' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th scole=\"col\">{{ '@pry.admin.classes.category.name' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let cat of categories$ | async\">\n <td>\n <button type=\"button\" class=\"a-btn a-btn--ghost select-it\" (click)=\"setCategory(cat)\">\n <span class=\"u-visually-hidden\">{{ '@pry.admin.classes.category.selectIt' | i18n }}</span>\n {{ cat.name }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n <ng-container *ngIf=\"(categories$ | async)?.length === 0\">\n <p class=\"a-p a-p--create\">\n <strong>{{ catToAdd.name }} </strong>\n <span [innerHTML]=\"'@pry.admin.classes.category.add' | i18n\"></span>\n </p>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"'@pry.admin.classes.category.create' | i18n\"\n ></button>\n </ng-container>\n </form>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3$1.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4.PrySelectComponent, selector: "pry-select", inputs: ["labelTranslate", "baseTranslate", "translationFn", "translationFnArgs", "clearable", "multiple", "multipleClearRight", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "items", "itemsAsOption", "bindData", "bindValue", "bindLabel", "bindIcon", "iconSize", "templateLabel", "templateOption", "autocomplete"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
|
|
1546
1546
|
}
|
|
1547
1547
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminAttributesFormComponent, decorators: [{
|
|
1548
1548
|
type: Component,
|
|
1549
|
-
args: [{ selector: 'pry-admin-attributes-form', template: "<form class=\"o-form\" [formGroup]=\"attrForm\" (ngSubmit)=\"addAttribute()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"attr_name\">{{ '@pry.admin.classes.attributes.name' | i18n }}</label>\n <input id=\"attr_name\" type=\"text\" class=\"a-form-field\" formControlName=\"name\" required />\n <label class=\"a-label a-label--help -error\" *ngIf=\"nameAlreadyExists$ | async\">{{\n '@pry.admin.exists' | i18n\n }}</label>\n <div *ngIf=\"attrForm.get('name')?.invalid\">\n <div *ngIf=\"attrForm.get('name')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.minLength' | i18n : { len: 2 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('maxlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.maxLength' | i18n : { len: 100 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('whitespace') && !attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.noWhitespace' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"type\">{{ '@pry.admin.classes.attributes.field' | i18n }}</label>\n <div class=\"title-container\">\n <pry-select\n id=\"type\"\n class=\"a-pry-select\"\n formControlName=\"field\"\n [items]=\"fields$ | async\"\n [itemsAsOption]=\"true\"\n [autocomplete]=\"true\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [isForm]=\"true\"\n required=\"true\"\n [templateLabel]=\"templateOption\"\n [templateOption]=\"templateOption\"\n ></pry-select>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"aligned-option\">\n <p>{{ item.name }}</p>\n <div class=\"chips\" *ngIf=\"item.crs\">{{ item.crs }}</div>\n </div>\n </ng-template>\n <ng-container *ngIf=\"selectedFieldTypeDescription$ | async as description\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip title-tooltip\">\n <p class=\"a-p -date\">{{ description }}</p>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"attrForm.get('field')?.invalid\">\n <div *ngIf=\"attrForm.get('field')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"category\">{{ '@pry.admin.classes.attributes.category' | i18n }}</label>\n <pry-select\n id=\"category\"\n class=\"form-control\"\n formControlName=\"category\"\n [labelTranslate]=\"true\"\n [items]=\"categories$ | async\"\n (click)=\"showCategory()\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n [readonly]=\"true\"\n ></pry-select>\n </div>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n *pryAccess=\"{ module: 'admin', page: 'classes', action: 'add_attribute' }\"\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [disabled]=\"attrForm.invalid || nameAlreadyExists\"\n [innerHTML]=\"(selectedAttribute ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n\n<ng-template #template>\n <div class=\"o-modal o-modal--selector\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.admin.classes.category.select' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeCategory()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <form (ngSubmit)=\"addCategory()\">\n <div class=\"m-form-label-field selector\">\n <label class=\"a-label\" for=\"name-search\">{{ '@pry.admin.classes.category.searchOrCreate' | i18n }}</label>\n <input\n type=\"text\"\n class=\"a-form-field\"\n (input)=\"search($event)\"\n [(ngModel)]=\"catToAdd.name\"\n name=\"name\"\n id=\"name-search\"\n />\n </div>\n\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.classes.category.name' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th scole=\"col\">{{ '@pry.admin.classes.category.name' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let cat of categories$ | async\">\n <td>\n <button type=\"button\" class=\"a-btn a-btn--ghost select-it\" (click)=\"setCategory(cat)\">\n <span class=\"u-visually-hidden\">{{ '@pry.admin.classes.category.selectIt' | i18n }}</span>\n {{ cat.name }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n <ng-container *ngIf=\"(categories$ | async)?.length === 0\">\n <p class=\"a-p a-p--create\">\n <strong>{{ catToAdd.name }} </strong>\n <span [innerHTML]=\"'@pry.admin.classes.category.add' | i18n\"></span>\n </p>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"'@pry.admin.classes.category.create' | i18n\"\n ></button>\n </ng-container>\n </form>\n </div>\n</ng-template>\n" }]
|
|
1549
|
+
args: [{ selector: 'pry-admin-attributes-form', template: "<form class=\"o-form\" [formGroup]=\"attrForm\" (ngSubmit)=\"addAttribute()\">\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"attr_name\">{{ '@pry.admin.classes.attributes.name' | i18n }}</label>\n <input id=\"attr_name\" type=\"text\" class=\"a-form-field\" formControlName=\"name\" required />\n <label class=\"a-label a-label--help -error\" *ngIf=\"nameAlreadyExists$ | async\">{{\n '@pry.admin.exists' | i18n\n }}</label>\n <div *ngIf=\"attrForm.get('name')?.invalid\">\n <div *ngIf=\"attrForm.get('name')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.minLength' | i18n : { len: 2 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('maxlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{\n '@pry.admin.maxLength' | i18n : { len: 100 }\n }}</label>\n </div>\n <div *ngIf=\"attrForm.get('name')?.hasError('whitespace') && !attrForm.get('name')?.hasError('minlength')\">\n <label class=\"a-label a-label--help -error\" for=\"attr_name\">{{ '@pry.admin.noWhitespace' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"type\">{{ '@pry.admin.classes.attributes.field' | i18n }}</label>\n <div class=\"title-container\">\n <pry-select\n id=\"type\"\n class=\"a-pry-select\"\n formControlName=\"field\"\n [items]=\"fields$ | async\"\n [itemsAsOption]=\"true\"\n [autocomplete]=\"true\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [isForm]=\"true\"\n required=\"true\"\n [templateLabel]=\"templateOption\"\n [templateOption]=\"templateOption\"\n ></pry-select>\n <ng-template #templateOption let-item=\"item\">\n <div class=\"aligned-option\">\n <p>{{ item.name }}</p>\n <div class=\"a-chips\" *ngIf=\"item.crs\">{{ item.crs }}</div>\n </div>\n </ng-template>\n <ng-container *ngIf=\"selectedFieldTypeDescription$ | async as description\">\n <div class=\"info-icon description-container description\">\n <span class=\"info-text\">i</span>\n </div>\n <div class=\"description-tooltip title-tooltip\">\n <p class=\"a-p -date\">{{ description }}</p>\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"attrForm.get('field')?.invalid\">\n <div *ngIf=\"attrForm.get('field')?.hasError('required')\">\n <label class=\"a-label a-label--help -error\">{{ '@pry.admin.required' | i18n }}</label>\n </div>\n </div>\n </div>\n\n <div class=\"m-form-label-field -width-sm\">\n <label class=\"a-label\" for=\"category\">{{ '@pry.admin.classes.attributes.category' | i18n }}</label>\n <pry-select\n id=\"category\"\n class=\"form-control\"\n formControlName=\"category\"\n [labelTranslate]=\"true\"\n [items]=\"categories$ | async\"\n (click)=\"showCategory()\"\n bindValue=\"id\"\n bindLabel=\"name\"\n [isForm]=\"true\"\n [readonly]=\"true\"\n ></pry-select>\n </div>\n\n <div class=\"m-btn-group -width-sm\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n (click)=\"goBack()\"\n [innerHTML]=\"'@pry.admin.cancel' | i18n\"\n ></button>\n <button\n *pryAccess=\"{ module: 'admin', page: 'classes', action: 'add_attribute' }\"\n class=\"a-btn a-btn--primary\"\n type=\"submit\"\n [disabled]=\"attrForm.invalid || nameAlreadyExists\"\n [innerHTML]=\"(selectedAttribute ? '@pry.admin.edit' : '@pry.admin.create') | i18n\"\n ></button>\n </div>\n</form>\n\n<ng-template #template>\n <div class=\"o-modal o-modal--selector\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.admin.classes.category.select' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"closeCategory()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <form (ngSubmit)=\"addCategory()\">\n <div class=\"m-form-label-field selector\">\n <label class=\"a-label\" for=\"name-search\">{{ '@pry.admin.classes.category.searchOrCreate' | i18n }}</label>\n <input\n type=\"text\"\n class=\"a-form-field\"\n (input)=\"search($event)\"\n [(ngModel)]=\"catToAdd.name\"\n name=\"name\"\n id=\"name-search\"\n />\n </div>\n\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.classes.category.name' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th scole=\"col\">{{ '@pry.admin.classes.category.name' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let cat of categories$ | async\">\n <td>\n <button type=\"button\" class=\"a-btn a-btn--ghost select-it\" (click)=\"setCategory(cat)\">\n <span class=\"u-visually-hidden\">{{ '@pry.admin.classes.category.selectIt' | i18n }}</span>\n {{ cat.name }}\n </button>\n </td>\n </tr>\n </tbody>\n </table>\n <ng-container *ngIf=\"(categories$ | async)?.length === 0\">\n <p class=\"a-p a-p--create\">\n <strong>{{ catToAdd.name }} </strong>\n <span [innerHTML]=\"'@pry.admin.classes.category.add' | i18n\"></span>\n </p>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n [innerHTML]=\"'@pry.admin.classes.category.create' | i18n\"\n ></button>\n </ng-container>\n </form>\n </div>\n</ng-template>\n" }]
|
|
1550
1550
|
}], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3$1.UntypedFormBuilder }, { type: i5.Overlay }, { type: i0.ViewContainerRef }, { type: i4.PryI18nService }]; }, propDecorators: { selectedClass: [{
|
|
1551
1551
|
type: Input
|
|
1552
1552
|
}], interClass: [{
|