@provoly/dashboard 1.3.28 → 1.3.29

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.
Files changed (101) hide show
  1. package/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.d.ts +1 -1
  2. package/admin/components/admin-abac-rules/store/abac-rules.model.d.ts +1 -1
  3. package/esm2022/admin/components/admin-abac-rules/admin-abac-rules-form/admin-abac-rules-form.component.mjs +3 -3
  4. package/esm2022/admin/components/admin-abac-rules/components/attribute-condition/attribute-condition.component.mjs +3 -3
  5. package/esm2022/admin/components/admin-abac-rules/components/metadata-condition/metadata-condition.component.mjs +10 -6
  6. package/esm2022/admin/components/admin-abac-rules/store/abac-rules.model.mjs +8 -2
  7. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +1 -1
  8. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +1 -1
  9. package/esm2022/admin/components/admin-classes/admin-classes-form/admin-classes-form.component.mjs +3 -3
  10. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +3 -3
  11. package/esm2022/admin/components/admin-dataset/admin-form-dataset/admin-form-dataset.component.mjs +1 -1
  12. package/esm2022/admin/components/admin-environment/admin-environment-form/admin-environment-form.component.mjs +3 -3
  13. package/esm2022/admin/components/admin-fields/admin-fields-form/admin-fields-form.component.mjs +1 -1
  14. package/esm2022/admin/components/admin-links/admin-links-new/admin-links-new.component.mjs +1 -1
  15. package/esm2022/admin/components/admin-metadata/shared/form-metadata/form-metadata.component.mjs +4 -3
  16. package/esm2022/admin/components/admin-metadata-rules/shared/admin-form-metadata-rules/admin-form-metadata-rules.component.mjs +1 -1
  17. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +1 -1
  18. package/esm2022/components/scheme-picker/scheme-picker.component.mjs +1 -1
  19. package/esm2022/filters/autocomplete/autocomplete.component.mjs +1 -1
  20. package/esm2022/filters/list/list-filter.component.mjs +1 -1
  21. package/esm2022/import/components/form/import-form.component.mjs +1 -1
  22. package/esm2022/import/components/list/import-list.component.mjs +7 -5
  23. package/esm2022/import/components/version-modal/version-modal.component.mjs +3 -3
  24. package/esm2022/import/import.module.mjs +8 -4
  25. package/esm2022/import/style/css.component.mjs +2 -2
  26. package/esm2022/lib/core/components/select/select.component.mjs +4 -7
  27. package/esm2022/lib/core/components/share/access-rights-share/access-rights-share.component.mjs +1 -1
  28. package/esm2022/lib/core/components/share/legacy-share/share.component.mjs +1 -1
  29. package/esm2022/lib/core/store/data-source/data-source.reducer.mjs +8 -8
  30. package/esm2022/lib/core/store/data-source/data-source.selectors.mjs +2 -2
  31. package/esm2022/lib/dashboard/components/context-menu/object-edition/object-edition.component.mjs +1 -1
  32. package/esm2022/lib/dashboard/components/widgets/datasource-selector/datasource-list/datasource-list.component.mjs +1 -1
  33. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +2 -2
  34. package/esm2022/pipeline-components/filter/component/filter.component.mjs +1 -1
  35. package/esm2022/pipeline-components/input-datasource/component/input-datasource.component.mjs +1 -1
  36. package/esm2022/pipeline-components/output-dataset/component/output-dataset.component.mjs +1 -1
  37. package/esm2022/restitution/components/restitution/restitution.component.mjs +1 -1
  38. package/esm2022/search/i18n/en.translations.mjs +4 -2
  39. package/esm2022/search/i18n/fr.translations.mjs +4 -2
  40. package/esm2022/search/search-mono-class/components/search-condition/search-condition.component.mjs +2 -2
  41. package/esm2022/search/search-mono-class/components/search-mono-class/search-mono-class.component.mjs +1 -1
  42. package/esm2022/search/search-mono-class/components/search-order/search-order.component.mjs +1 -1
  43. package/esm2022/search/search-multi-class/components/multi-class-condition/multi-class-condition.component.mjs +1 -1
  44. package/esm2022/search/search-tools/search-tools.component.mjs +2 -2
  45. package/esm2022/toolbox/components/filter-settings/filter-settings.component.mjs +1 -1
  46. package/esm2022/toolbox/shared/presentation-form/presentation-form.component.mjs +1 -1
  47. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +1 -1
  48. package/esm2022/widgets/widget-analytic/component/widget-analytic.component.mjs +1 -1
  49. package/esm2022/widgets/widget-chart/component/widget-chart.component.mjs +1 -1
  50. package/esm2022/widgets/widget-graph/component/widget-graph.component.mjs +1 -1
  51. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +1 -1
  52. package/esm2022/widgets/widget-table/component/widget-table.component.mjs +1 -1
  53. package/esm2022/widgets/widget-tile/component/widget-tile.component.mjs +1 -1
  54. package/fesm2022/provoly-dashboard-admin.mjs +35 -24
  55. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  56. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +1 -1
  57. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  58. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs +1 -1
  59. package/fesm2022/provoly-dashboard-components-scheme-picker.mjs.map +1 -1
  60. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs +1 -1
  61. package/fesm2022/provoly-dashboard-filters-autocomplete.mjs.map +1 -1
  62. package/fesm2022/provoly-dashboard-filters-list.mjs +1 -1
  63. package/fesm2022/provoly-dashboard-filters-list.mjs.map +1 -1
  64. package/fesm2022/provoly-dashboard-import.mjs +17 -11
  65. package/fesm2022/provoly-dashboard-import.mjs.map +1 -1
  66. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs +1 -1
  67. package/fesm2022/provoly-dashboard-pipeline-components-filter.mjs.map +1 -1
  68. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs +1 -1
  69. package/fesm2022/provoly-dashboard-pipeline-components-input-datasource.mjs.map +1 -1
  70. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs +1 -1
  71. package/fesm2022/provoly-dashboard-pipeline-components-output-dataset.mjs.map +1 -1
  72. package/fesm2022/provoly-dashboard-restitution.mjs +1 -1
  73. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  74. package/fesm2022/provoly-dashboard-search.mjs +11 -7
  75. package/fesm2022/provoly-dashboard-search.mjs.map +1 -1
  76. package/fesm2022/provoly-dashboard-toolbox.mjs +2 -2
  77. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  78. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +1 -1
  79. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  80. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs +1 -1
  81. package/fesm2022/provoly-dashboard-widgets-widget-analytic.mjs.map +1 -1
  82. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs +1 -1
  83. package/fesm2022/provoly-dashboard-widgets-widget-chart.mjs.map +1 -1
  84. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs +1 -1
  85. package/fesm2022/provoly-dashboard-widgets-widget-graph.mjs.map +1 -1
  86. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +1 -1
  87. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  88. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs +1 -1
  89. package/fesm2022/provoly-dashboard-widgets-widget-table.mjs.map +1 -1
  90. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs +1 -1
  91. package/fesm2022/provoly-dashboard-widgets-widget-tile.mjs.map +1 -1
  92. package/fesm2022/provoly-dashboard.mjs +16 -19
  93. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  94. package/import/components/list/import-list.component.d.ts +1 -0
  95. package/import/import.module.d.ts +2 -1
  96. package/import/style/_o-import.scss +2 -0
  97. package/lib/core/components/select/select.component.d.ts +1 -2
  98. package/lib/core/store/data-source/data-source.reducer.d.ts +1 -1
  99. package/package.json +31 -31
  100. package/search/i18n/en.translations.d.ts +2 -0
  101. package/search/i18n/fr.translations.d.ts +2 -0
@@ -1,4 +1,4 @@
1
- import * as i6 from '@angular/common';
1
+ import * as i7 from '@angular/common';
2
2
  import { CommonModule, DatePipe } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Component, ViewEncapsulation, EventEmitter, ViewChild, Output, NgModule, Injectable, Inject, signal, input } from '@angular/core';
@@ -23,6 +23,8 @@ import { HttpHeaders } from '@angular/common/http';
23
23
  import { GlobalPositionStrategy } from '@angular/cdk/overlay';
24
24
  import * as i4$1 from '@provoly/dashboard/components/paginator';
25
25
  import { PryPaginatorModule } from '@provoly/dashboard/components/paginator';
26
+ import * as i5$1 from '@provoly/dashboard/components/page-loader';
27
+ import { PryPageLoaderModule } from '@provoly/dashboard/components/page-loader';
26
28
 
27
29
  const enTranslations = {
28
30
  '@pry': {
@@ -156,11 +158,11 @@ const ImportSelectors = {
156
158
 
157
159
  class PryImportCssComponent {
158
160
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryImportCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
159
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryImportCssComponent, selector: "pry-import-css", ngImport: i0, template: '', isInline: true, styles: [".m-version-modal__list{margin:0;padding:0}.m-version-modal__list li{list-style:none}.o-import{overflow:scroll;height:100%;padding:.9375rem 1.5625rem}.o-import__header,.o-import__form-container{width:50%}.o-import .u-display-flex{gap:4.6875rem}.o-import .o-file-input{min-height:4.6875rem}.o-import__file{text-align:center}.o-import__actions{margin-top:3.125rem}.o-import__message{padding:.9375rem;background-color:#ecedf4;border-radius:.625rem;overflow-y:auto;height:fit-content}.o-import .a-pry-select__content{flex:1}.o-import-list{height:100%}.o-import-list .a-h1{padding:0}.o-import-list .warning{color:#fc5640}.o-import-list .m-filter__input-wrapper{height:2.5rem}.o-import-list .m-filter__date-input-separator{line-height:0}.o-import-list .a-table tbody td.-cell-with-icon{margin:0;padding:1.25rem .5rem;height:100%}.o-import-list__content{overflow:auto}.o-import-list__content table tr th .m-btn-sorttable{font-size:1rem}.o-import-list__content table tr th:first-child{width:30%}.o-import-list__content table tr td:nth-child(5) button{margin-right:.5rem}.o-import-list__state-filter pry-select{min-width:9.375rem}.m-version-modal{background-color:#fff;max-width:23.75rem;max-height:37.5rem;padding:0 1.25rem 1.25rem .625rem;box-shadow:0 4px 4px #00000040}.m-version-modal__list{overflow:auto}\n"], encapsulation: i0.ViewEncapsulation.None }); }
161
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryImportCssComponent, selector: "pry-import-css", ngImport: i0, template: '', isInline: true, styles: [".m-version-modal__list{margin:0;padding:0}.m-version-modal__list li{list-style:none}.o-import{overflow:scroll;height:100%;padding:.9375rem 1.5625rem}.o-import__header,.o-import__form-container{width:50%}.o-import .u-display-flex{gap:4.6875rem}.o-import .o-file-input{min-height:4.6875rem}.o-import__file{text-align:center}.o-import__actions{margin-top:3.125rem}.o-import__message{padding:.9375rem;background-color:#ecedf4;border-radius:.625rem;overflow-y:auto;height:fit-content}.o-import .a-pry-select__content{flex:1}.o-import-list{height:100%}.o-import-list .a-h1{padding:0}.o-import-list .warning{color:#fc5640}.o-import-list .m-filter__input-wrapper{height:2.5rem}.o-import-list .m-filter__date-input-separator{line-height:0}.o-import-list .a-table{height:100%}.o-import-list .a-table tbody td.-cell-with-icon{margin:0;padding:1.25rem .5rem;height:100%}.o-import-list__content{overflow:auto;height:100%}.o-import-list__content table tr th .m-btn-sorttable{font-size:1rem}.o-import-list__content table tr th:first-child{width:30%}.o-import-list__content table tr td:nth-child(5) button{margin-right:.5rem}.o-import-list__state-filter pry-select{min-width:9.375rem}.m-version-modal{background-color:#fff;max-width:23.75rem;max-height:37.5rem;padding:0 1.25rem 1.25rem .625rem;box-shadow:0 4px 4px #00000040}.m-version-modal__list{overflow:auto}\n"], encapsulation: i0.ViewEncapsulation.None }); }
160
162
  }
161
163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryImportCssComponent, decorators: [{
162
164
  type: Component,
163
- args: [{ selector: 'pry-import-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".m-version-modal__list{margin:0;padding:0}.m-version-modal__list li{list-style:none}.o-import{overflow:scroll;height:100%;padding:.9375rem 1.5625rem}.o-import__header,.o-import__form-container{width:50%}.o-import .u-display-flex{gap:4.6875rem}.o-import .o-file-input{min-height:4.6875rem}.o-import__file{text-align:center}.o-import__actions{margin-top:3.125rem}.o-import__message{padding:.9375rem;background-color:#ecedf4;border-radius:.625rem;overflow-y:auto;height:fit-content}.o-import .a-pry-select__content{flex:1}.o-import-list{height:100%}.o-import-list .a-h1{padding:0}.o-import-list .warning{color:#fc5640}.o-import-list .m-filter__input-wrapper{height:2.5rem}.o-import-list .m-filter__date-input-separator{line-height:0}.o-import-list .a-table tbody td.-cell-with-icon{margin:0;padding:1.25rem .5rem;height:100%}.o-import-list__content{overflow:auto}.o-import-list__content table tr th .m-btn-sorttable{font-size:1rem}.o-import-list__content table tr th:first-child{width:30%}.o-import-list__content table tr td:nth-child(5) button{margin-right:.5rem}.o-import-list__state-filter pry-select{min-width:9.375rem}.m-version-modal{background-color:#fff;max-width:23.75rem;max-height:37.5rem;padding:0 1.25rem 1.25rem .625rem;box-shadow:0 4px 4px #00000040}.m-version-modal__list{overflow:auto}\n"] }]
165
+ args: [{ selector: 'pry-import-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".m-version-modal__list{margin:0;padding:0}.m-version-modal__list li{list-style:none}.o-import{overflow:scroll;height:100%;padding:.9375rem 1.5625rem}.o-import__header,.o-import__form-container{width:50%}.o-import .u-display-flex{gap:4.6875rem}.o-import .o-file-input{min-height:4.6875rem}.o-import__file{text-align:center}.o-import__actions{margin-top:3.125rem}.o-import__message{padding:.9375rem;background-color:#ecedf4;border-radius:.625rem;overflow-y:auto;height:fit-content}.o-import .a-pry-select__content{flex:1}.o-import-list{height:100%}.o-import-list .a-h1{padding:0}.o-import-list .warning{color:#fc5640}.o-import-list .m-filter__input-wrapper{height:2.5rem}.o-import-list .m-filter__date-input-separator{line-height:0}.o-import-list .a-table{height:100%}.o-import-list .a-table tbody td.-cell-with-icon{margin:0;padding:1.25rem .5rem;height:100%}.o-import-list__content{overflow:auto;height:100%}.o-import-list__content table tr th .m-btn-sorttable{font-size:1rem}.o-import-list__content table tr th:first-child{width:30%}.o-import-list__content table tr td:nth-child(5) button{margin-right:.5rem}.o-import-list__state-filter pry-select{min-width:9.375rem}.m-version-modal{background-color:#fff;max-width:23.75rem;max-height:37.5rem;padding:0 1.25rem 1.25rem .625rem;box-shadow:0 4px 4px #00000040}.m-version-modal__list{overflow:auto}\n"] }]
164
166
  }] });
165
167
 
166
168
  class PryImportFormComponent extends SubscriptionnerDirective {
@@ -308,7 +310,7 @@ class PryImportFormComponent extends SubscriptionnerDirective {
308
310
  this.multipleImportsValue.emit(checkBoxValue);
309
311
  }
310
312
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryImportFormComponent, deps: [{ token: i1.Store }, { token: i2.DataSourceService }, { token: i2.PrySnackbarService }, { token: i2.PryI18nService }], target: i0.ɵɵFactoryTarget.Component }); }
311
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryImportFormComponent, selector: "pry-import-form", outputs: { multipleImportsValue: "multipleImportsValue", formSubmitted: "formSubmitted" }, viewQueries: [{ propertyName: "message", first: true, predicate: ["message"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-import-css></pry-import-css>\n<div class=\"o-import u-display-flex -column\">\n <div class=\"o-import__header u-display-flex -justify-space-between\">\n <h1 class=\"a-h1\">{{ '@pry.import.title' | i18n }}</h1>\n <pry-checkbox [ngModel]=\"multipleImports\" (ngModelChange)=\"multipleImportChange($event)\">\n {{ '@pry.import.multiple' | i18n }}\n </pry-checkbox>\n </div>\n <div class=\"o-import__form-container u-display-flex\">\n <form class=\"o-import__form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.fileType' | i18n }}</label>\n <pry-select\n formControlName=\"fileType\"\n id=\"fileType\"\n [items]=\"Object.values(fileTypes)\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"upload_input\">\n {{ '@pry.import.uploadTitle' + fileType.value | i18n }}\n </label>\n <p>{{ '@pry.import.warning' | i18n }}</p>\n <div class=\"o-file-input\">\n @if (file.value?.size) {\n <div class=\"o-import__file\">\n <pry-icon iconSvg=\"download\"></pry-icon>\n <h3>{{ file.value?.name }}</h3>\n <span>{{ getFileSize(file.value?.size ?? 0) }}</span>\n </div>\n }\n <pry-upload\n id=\"upload_input\"\n [accept]=\"fileTypes[fileType.value].extension\"\n mode=\"files\"\n (uploadedFile)=\"uploadedChange($event)\"\n labelTranslate=\"@pry.import.selectFile\"\n ></pry-upload>\n </div>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.datasetImport' | i18n }}</label>\n <pry-select\n formControlName=\"dataset\"\n id=\"datasets\"\n [items]=\"datasets$ | async\"\n [placeholder]=\"'@pry.import.dataset' | i18n\"\n bindLabel=\"name\"\n [autocomplete]=\"true\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <pry-checkbox formControlName=\"normalizeGeo\" inputId=\"normalizeGeo\">{{\n '@pry.import.normalize' | i18n\n }}</pry-checkbox>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"productionDate\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input\n formControlName=\"productionDate\"\n id=\"productionDate\"\n class=\"a-form-field\"\n type=\"datetime-local\"\n [max]=\"maxDate\"\n [attr.aria-invalid]=\"productionDate.invalid\"\n />\n @if (productionDate.invalid) {\n <label id=\"productionDate-error\" for=\"productionDate\" class=\"a-label a-label--help -error\">\n @if (productionDate.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n } @else if (productionDate.errors?.['dateValidator']) {\n <span>{{ '@pry.dataset.form.date' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"producer\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input formControlName=\"producer\" id=\"producer\" class=\"a-form-field\" type=\"text\" maxlength=\"100\" />\n @if (producer.touched && producer.invalid) {\n <label id=\"producer-error\" for=\"producer\" class=\"a-label a-label--help -error\">\n @if (producer.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"additionalInformation\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\" id=\"additionalInformation\"></pry-text-editor>\n </div>\n <div class=\"o-import__actions u-display-flex -justify-center\">\n <button class=\"a-btn a-btn--primary\" [disabled]=\"form.invalid\">\n {{ '@pry.import.import' | i18n }}\n </button>\n </div>\n </form>\n <div class=\"o-import__message\" [class.u-visually-hidden]=\"!showMessage\" #message>\n <span>\n {{ '@pry.import.consultDataset1' | i18n }}\n <strong>{{ dataset.value?.id ?? '' | translateId: { type: 'datasource', output: 'name' } | async }}</strong>\n {{ '@pry.import.consultDataset2' | i18n }}\n </span>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i2.PryUploadComponent, selector: "pry-upload", inputs: ["mode", "accept", "labelTranslate"], outputs: ["uploaded", "uploadedFile"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.PryTextEditorComponent, selector: "pry-text-editor", inputs: ["tabView"] }, { kind: "component", type: PryImportCssComponent, selector: "pry-import-css" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
313
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryImportFormComponent, selector: "pry-import-form", outputs: { multipleImportsValue: "multipleImportsValue", formSubmitted: "formSubmitted" }, viewQueries: [{ propertyName: "message", first: true, predicate: ["message"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-import-css></pry-import-css>\n<div class=\"o-import u-display-flex -column\">\n <div class=\"o-import__header u-display-flex -justify-space-between\">\n <h1 class=\"a-h1\">{{ '@pry.import.title' | i18n }}</h1>\n <pry-checkbox [ngModel]=\"multipleImports\" (ngModelChange)=\"multipleImportChange($event)\">\n {{ '@pry.import.multiple' | i18n }}\n </pry-checkbox>\n </div>\n <div class=\"o-import__form-container u-display-flex\">\n <form class=\"o-import__form\" [formGroup]=\"form\" (ngSubmit)=\"submit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.fileType' | i18n }}</label>\n <pry-select\n formControlName=\"fileType\"\n id=\"fileType\"\n [items]=\"Object.values(fileTypes)\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"upload_input\">\n {{ '@pry.import.uploadTitle' + fileType.value | i18n }}\n </label>\n <p>{{ '@pry.import.warning' | i18n }}</p>\n <div class=\"o-file-input\">\n @if (file.value?.size) {\n <div class=\"o-import__file\">\n <pry-icon iconSvg=\"download\"></pry-icon>\n <h3>{{ file.value?.name }}</h3>\n <span>{{ getFileSize(file.value?.size ?? 0) }}</span>\n </div>\n }\n <pry-upload\n id=\"upload_input\"\n [accept]=\"fileTypes[fileType.value].extension\"\n mode=\"files\"\n (uploadedFile)=\"uploadedChange($event)\"\n labelTranslate=\"@pry.import.selectFile\"\n ></pry-upload>\n </div>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.datasetImport' | i18n }}</label>\n <pry-select\n formControlName=\"dataset\"\n id=\"datasets\"\n [items]=\"datasets$ | async\"\n [placeholder]=\"'@pry.import.dataset' | i18n\"\n bindLabel=\"name\"\n [autocomplete]=\"true\"\n ></pry-select>\n </div>\n <div class=\"m-form-label-field\">\n <pry-checkbox formControlName=\"normalizeGeo\" inputId=\"normalizeGeo\">{{\n '@pry.import.normalize' | i18n\n }}</pry-checkbox>\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"productionDate\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input\n formControlName=\"productionDate\"\n id=\"productionDate\"\n class=\"a-form-field\"\n type=\"datetime-local\"\n [max]=\"maxDate\"\n [attr.aria-invalid]=\"productionDate.invalid\"\n />\n @if (productionDate.invalid) {\n <label id=\"productionDate-error\" for=\"productionDate\" class=\"a-label a-label--help -error\">\n @if (productionDate.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n } @else if (productionDate.errors?.['dateValidator']) {\n <span>{{ '@pry.dataset.form.date' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"producer\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input formControlName=\"producer\" id=\"producer\" class=\"a-form-field\" type=\"text\" maxlength=\"100\" />\n @if (producer.touched && producer.invalid) {\n <label id=\"producer-error\" for=\"producer\" class=\"a-label a-label--help -error\">\n @if (producer.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"additionalInformation\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\" id=\"additionalInformation\"></pry-text-editor>\n </div>\n <div class=\"o-import__actions u-display-flex -justify-center\">\n <button class=\"a-btn a-btn--primary\" [disabled]=\"form.invalid\">\n {{ '@pry.import.import' | i18n }}\n </button>\n </div>\n </form>\n <div class=\"o-import__message\" [class.u-visually-hidden]=\"!showMessage\" #message>\n <span>\n {{ '@pry.import.consultDataset1' | i18n }}\n <strong>{{ dataset.value?.id ?? '' | translateId: { type: 'datasource', output: 'name' } | async }}</strong>\n {{ '@pry.import.consultDataset2' | i18n }}\n </span>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "component", type: i2.PryUploadComponent, selector: "pry-upload", inputs: ["mode", "accept", "labelTranslate"], outputs: ["uploaded", "uploadedFile"] }, { kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.PryCheckboxComponent, selector: "pry-checkbox", inputs: ["circle", "name", "inputId", "inhibit"] }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.PryTextEditorComponent, selector: "pry-text-editor", inputs: ["tabView"] }, { kind: "component", type: PryImportCssComponent, selector: "pry-import-css" }, { kind: "pipe", type: i2.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }] }); }
312
314
  }
313
315
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryImportFormComponent, decorators: [{
314
316
  type: Component,
@@ -424,11 +426,11 @@ class PryVersionModalComponent {
424
426
  this.dialogRef.close();
425
427
  }
426
428
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryVersionModalComponent, deps: [{ token: i2.PryDialogRef }, { token: PRY_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
427
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryVersionModalComponent, selector: "pry-version-modal", ngImport: i0, template: "<pry-import-css></pry-import-css>\n<div class=\"m-version-modal o-modal\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.toolbox.about' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"close()\">\n <pry-icon iconSvg=\"close\" [height]=\"20\" [width]=\"20\"></pry-icon>\n <h4 class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</h4>\n </button>\n </div>\n </div>\n @if (version) {\n <ul class=\"m-version-modal__list u-display-flex -column -gap-20\">\n <li>\n <h4 class=\"bold\">{{ '@pry.dataset.version.name' | i18n }}</h4>\n <span>{{ version.dataset.name }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.number' | i18n }}</h4>\n <span>{{ version.version }}</span>\n </li>\n <li>\n <h4 class=\"a-h4\">{{ '@pry.dataset.version.lastModifiedDate' | i18n }}</h4>\n <span>{{ version.lastModified | date: 'dd/MM/yyyy HH:mm' }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.stateTitle' | i18n }}</h4>\n <span>{{\n version.id === version.dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.fileName' | i18n }}</h4>\n <span>{{ version.fileName }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.producer' | i18n }}</h4>\n <span>{{ version.producer }}</span>\n </li>\n @if (version.additionalInformation) {\n <li>\n <h4>{{ '@pry.dataset.version.additionalInformation' | i18n }}</h4>\n <span>{{ version.additionalInformation | mdToHtml }}</span>\n </li>\n }\n </ul>\n }\n</div>\n", dependencies: [{ kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: PryImportCssComponent, selector: "pry-import-css" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i6.DatePipe, name: "date" }, { kind: "pipe", type: i5.MdToHtmlPipe, name: "mdToHtml" }] }); }
429
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryVersionModalComponent, selector: "pry-version-modal", ngImport: i0, template: "<pry-import-css></pry-import-css>\n<div class=\"m-version-modal o-modal\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.toolbox.about' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"close()\">\n <pry-icon iconSvg=\"close\" [height]=\"20\" [width]=\"20\"></pry-icon>\n <h4 class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</h4>\n </button>\n </div>\n </div>\n @if (version) {\n <ul class=\"m-version-modal__list u-display-flex -column -gap-20\">\n <li>\n <h4 class=\"bold\">{{ '@pry.dataset.version.name' | i18n }}</h4>\n <span>{{ version.dataset.name }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.number' | i18n }}</h4>\n <span>{{ version.version }}</span>\n </li>\n <li>\n <h4 class=\"a-h4\">{{ '@pry.dataset.version.lastModifiedDate' | i18n }}</h4>\n <span>{{ version.lastModified | date: 'dd/MM/yyyy HH:mm' }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.stateTitle' | i18n }}</h4>\n <span>{{\n version.id === version.dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.fileName' | i18n }}</h4>\n <span>{{ version.fileName }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.producer' | i18n }}</h4>\n <span>{{ version.producer }}</span>\n </li>\n @if (version.additionalInformation) {\n <li>\n <h4>{{ '@pry.dataset.version.additionalInformation' | i18n }}</h4>\n <span [innerHTML]=\"version.additionalInformation | mdToHtml\"></span>\n </li>\n }\n </ul>\n }\n</div>\n", dependencies: [{ kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: PryImportCssComponent, selector: "pry-import-css" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i7.DatePipe, name: "date" }, { kind: "pipe", type: i5.MdToHtmlPipe, name: "mdToHtml" }] }); }
428
430
  }
429
431
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryVersionModalComponent, decorators: [{
430
432
  type: Component,
431
- args: [{ selector: 'pry-version-modal', template: "<pry-import-css></pry-import-css>\n<div class=\"m-version-modal o-modal\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.toolbox.about' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"close()\">\n <pry-icon iconSvg=\"close\" [height]=\"20\" [width]=\"20\"></pry-icon>\n <h4 class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</h4>\n </button>\n </div>\n </div>\n @if (version) {\n <ul class=\"m-version-modal__list u-display-flex -column -gap-20\">\n <li>\n <h4 class=\"bold\">{{ '@pry.dataset.version.name' | i18n }}</h4>\n <span>{{ version.dataset.name }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.number' | i18n }}</h4>\n <span>{{ version.version }}</span>\n </li>\n <li>\n <h4 class=\"a-h4\">{{ '@pry.dataset.version.lastModifiedDate' | i18n }}</h4>\n <span>{{ version.lastModified | date: 'dd/MM/yyyy HH:mm' }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.stateTitle' | i18n }}</h4>\n <span>{{\n version.id === version.dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.fileName' | i18n }}</h4>\n <span>{{ version.fileName }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.producer' | i18n }}</h4>\n <span>{{ version.producer }}</span>\n </li>\n @if (version.additionalInformation) {\n <li>\n <h4>{{ '@pry.dataset.version.additionalInformation' | i18n }}</h4>\n <span>{{ version.additionalInformation | mdToHtml }}</span>\n </li>\n }\n </ul>\n }\n</div>\n" }]
433
+ args: [{ selector: 'pry-version-modal', template: "<pry-import-css></pry-import-css>\n<div class=\"m-version-modal o-modal\">\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">\n {{ '@pry.toolbox.about' | i18n }}\n </h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"close()\">\n <pry-icon iconSvg=\"close\" [height]=\"20\" [width]=\"20\"></pry-icon>\n <h4 class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</h4>\n </button>\n </div>\n </div>\n @if (version) {\n <ul class=\"m-version-modal__list u-display-flex -column -gap-20\">\n <li>\n <h4 class=\"bold\">{{ '@pry.dataset.version.name' | i18n }}</h4>\n <span>{{ version.dataset.name }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.number' | i18n }}</h4>\n <span>{{ version.version }}</span>\n </li>\n <li>\n <h4 class=\"a-h4\">{{ '@pry.dataset.version.lastModifiedDate' | i18n }}</h4>\n <span>{{ version.lastModified | date: 'dd/MM/yyyy HH:mm' }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.stateTitle' | i18n }}</h4>\n <span>{{\n version.id === version.dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.fileName' | i18n }}</h4>\n <span>{{ version.fileName }}</span>\n </li>\n <li>\n <h4>{{ '@pry.dataset.version.producer' | i18n }}</h4>\n <span>{{ version.producer }}</span>\n </li>\n @if (version.additionalInformation) {\n <li>\n <h4>{{ '@pry.dataset.version.additionalInformation' | i18n }}</h4>\n <span [innerHTML]=\"version.additionalInformation | mdToHtml\"></span>\n </li>\n }\n </ul>\n }\n</div>\n" }]
432
434
  }], ctorParameters: () => [{ type: i2.PryDialogRef }, { type: undefined, decorators: [{
433
435
  type: Inject,
434
436
  args: [PRY_DIALOG_DATA]
@@ -450,6 +452,7 @@ class PryImportListComponent extends SubscriptionnerDirective {
450
452
  };
451
453
  this.sort = { orderBy: 'DATE', sortBy: 'desc' };
452
454
  this.goBackToFirstPage$ = new Subject();
455
+ this.loading$ = this.store.select(DataSourceSelectors.isLoading);
453
456
  this.store.dispatch(DataSourceActions.dataset.loadDataset());
454
457
  this.datasets$ = this.store.select(DataSourceSelectors.datasets);
455
458
  this.datasetVersions$ = this.store.select(DataSourceSelectors.datasetVersions);
@@ -505,11 +508,11 @@ class PryImportListComponent extends SubscriptionnerDirective {
505
508
  setTimeout(() => this.goBackToFirstPage$.next(false), 50);
506
509
  }
507
510
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryImportListComponent, deps: [{ token: i1.Store }, { token: i2.PryDialogService }], target: i0.ɵɵFactoryTarget.Component }); }
508
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryImportListComponent, selector: "pry-import-list", inputs: { refreshClick: { classPropertyName: "refreshClick", publicName: "refreshClick", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<pry-import-css></pry-import-css>\n<div class=\"o-import-list u-display-flex -column -gap-20\">\n <h1 class=\"a-h1\">{{ '@pry.importList.title' | i18n }}</h1>\n <div class=\"o-import-list__filters u-display-flex -gap-20\">\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__dataset-filter\" #dsRef>\n <label class=\"a-label m-filter__label\" for=\"dataset_name_filter\">\n {{ '@pry.importList.filter.dsName' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"dataset_name_filter\"\n [items]=\"datasets$ | async\"\n [(ngModel)]=\"filters.dataset\"\n (ngModelChange)=\"updateFilters()\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [elementRef]=\"dsRef\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__state-filter\" #statusRef>\n <label class=\"a-label m-filter__label\" for=\"import_status\">\n {{ '@pry.importList.filter.status' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"import_status\"\n [items]=\"possibleStatus\"\n [(ngModel)]=\"filters.status\"\n (ngModelChange)=\"updateFilters()\"\n [clearable]=\"true\"\n aria-labelledby=\"item-label\"\n [elementRef]=\"statusRef\"\n i18nPrefix=\"@pry.dataset.version.stateFilter.\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__date-filter\">\n <fieldset class=\"u-display-flex -align-center\">\n <legend class=\"a-label m-filter__label\">{{ '@pry.importList.filter.date' | i18n }}&nbsp;:&nbsp;</legend>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMin\" (ngModelChange)=\"updateFilters()\" />\n <span class=\"m-filter__date-input-separator\">&nbsp;-&nbsp;</span>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMax\" (ngModelChange)=\"updateFilters()\" />\n </fieldset>\n </div>\n <button type=\"button\" class=\"a-btn a-btn--icon-only u-self-center\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"loadData()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n <div class=\"o-import-list__content\">\n <table\n class=\"a-table\"\n prySortTable\n (prySortChange)=\"sortChange($event)\"\n [prySortDirection]=\"sort.sortBy\"\n [prySortActive]=\"sort.orderBy\"\n >\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th id=\"import_list_header_dataset\" prySortHeader=\"DATASET_NAME\">\n {{ '@pry.importList.dsName' | i18n }}\n </th>\n <th>{{ '@pry.importList.number' | i18n }}</th>\n <th id=\"import_list_header_date\" prySortHeader=\"DATE\" (sortChange)=\"sortChange($event)\">\n {{ '@pry.importList.date' | i18n }}\n </th>\n <th>{{ '@pry.importList.status' | i18n }}</th>\n <th>{{ '@pry.importList.actions' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (version of datasetVersions$ | async; track version.id) {\n <tr>\n <td>{{ version.dataset.name }}</td>\n <td>\n {{ version.version }}\n </td>\n <td>\n {{ version.lastModified | date: 'dd/MM/yyyy HH:mm' }}\n </td>\n <td class=\"u-display-flex -align-center -cell-with-icon\">\n @if (version.state === 'ACTIVE') {\n <pry-icon iconSvg=\"check\" class=\"check\" [height]=\"20\" [width]=\"20\"></pry-icon>\n } @else if (version.state === 'WARNING' || version.state === 'ERROR') {\n <pry-icon iconSvg=\"warning-triangle\" class=\"warning\" [height]=\"20\" [width]=\"20\"></pry-icon>\n }\n {{\n version.id === version.dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}\n </td>\n @if (version.state === 'ERROR') {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openErrorModal(version)\">\n {{ '@pry.dataset.buttonAction.ERROR' | i18n }}\n </button>\n </td>\n } @else {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openInfoModal(version)\">\n {{ '@pry.dataset.consult' | i18n }}\n </button>\n @if (version.hasWarnings) {\n <button class=\"a-btn a-btn--secondary\" (click)=\"openErrorModal(version)\">\n {{ '@pry.dataset.buttonAction.WARNING' | i18n }}\n </button>\n }\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n <pry-paginator\n [action]=\"loadDataAction()\"\n [nbPerPage]=\"10\"\n [totalItemNb]=\"(totalVersionCount$ | async)!\"\n class=\"u-self-center\"\n [goBackToFirstPage]=\"goBackToFirstPage$ | async\"\n ></pry-paginator>\n</div>\n", dependencies: [{ kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "readonly", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$1.PryPaginatorComponent, selector: "pry-paginator", inputs: ["action", "nbPerPage", "totalItemNb", "mode", "goBackToFirstPage"], outputs: ["pageChange"] }, { kind: "component", type: i2.PrySortHeaderComponent, selector: "th[prySortHeader]", inputs: ["prySortHeader"], outputs: ["sortChange"] }, { kind: "directive", type: i2.PrySortHeaderDirective, selector: "[prySortHeader]" }, { kind: "directive", type: i2.PrySortTableDirective, selector: "[prySortTable]", inputs: ["prySortActive", "prySortDirection"], outputs: ["prySortChange"] }, { kind: "component", type: PryImportCssComponent, selector: "pry-import-css" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.DatePipe, name: "date" }] }); }
511
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryImportListComponent, selector: "pry-import-list", inputs: { refreshClick: { classPropertyName: "refreshClick", publicName: "refreshClick", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: "<pry-import-css></pry-import-css>\n<div class=\"o-import-list u-display-flex -column -gap-20\">\n <h1 class=\"a-h1\">{{ '@pry.importList.title' | i18n }}</h1>\n <div class=\"o-import-list__filters u-display-flex -gap-20\">\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__dataset-filter\" #dsRef>\n <label class=\"a-label m-filter__label\" for=\"dataset_name_filter\">\n {{ '@pry.importList.filter.dsName' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"dataset_name_filter\"\n [items]=\"datasets$ | async\"\n [(ngModel)]=\"filters.dataset\"\n (ngModelChange)=\"updateFilters()\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [elementRef]=\"dsRef\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__state-filter\" #statusRef>\n <label class=\"a-label m-filter__label\" for=\"import_status\">\n {{ '@pry.importList.filter.status' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"import_status\"\n [items]=\"possibleStatus\"\n [(ngModel)]=\"filters.status\"\n (ngModelChange)=\"updateFilters()\"\n [clearable]=\"true\"\n aria-labelledby=\"item-label\"\n [elementRef]=\"statusRef\"\n i18nPrefix=\"@pry.dataset.version.stateFilter.\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__date-filter\">\n <fieldset class=\"u-display-flex -align-center\">\n <legend class=\"a-label m-filter__label\">{{ '@pry.importList.filter.date' | i18n }}&nbsp;:&nbsp;</legend>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMin\" (ngModelChange)=\"updateFilters()\" />\n <span class=\"m-filter__date-input-separator\">&nbsp;-&nbsp;</span>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMax\" (ngModelChange)=\"updateFilters()\" />\n </fieldset>\n </div>\n <button type=\"button\" class=\"a-btn a-btn--icon-only u-self-center\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"loadData()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n <div class=\"o-import-list__content\">\n <table\n class=\"a-table\"\n prySortTable\n (prySortChange)=\"sortChange($event)\"\n [prySortDirection]=\"sort.sortBy\"\n [prySortActive]=\"sort.orderBy\"\n >\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th id=\"import_list_header_dataset\" prySortHeader=\"DATASET_NAME\">\n {{ '@pry.importList.dsName' | i18n }}\n </th>\n <th>{{ '@pry.importList.number' | i18n }}</th>\n <th id=\"import_list_header_date\" prySortHeader=\"DATE\" (sortChange)=\"sortChange($event)\">\n {{ '@pry.importList.date' | i18n }}\n </th>\n <th>{{ '@pry.importList.status' | i18n }}</th>\n <th>{{ '@pry.importList.actions' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @if (loading$ | async; as loading) {\n <tr>\n <td colSpan=\"5\">\n <div class=\"a-page-loader -relative\" [style.display]=\"'flex'\">\n <pry-page-loader></pry-page-loader>\n <p>{{ '@pry.widget.target.loading' | i18n }}...</p>\n </div>\n </td>\n </tr>\n } @else {\n @for (version of datasetVersions$ | async; track version.id) {\n <tr>\n <td>{{ version.dataset.name }}</td>\n <td>\n {{ version.version }}\n </td>\n <td>\n {{ version.lastModified | date: 'dd/MM/yyyy HH:mm' }}\n </td>\n <td class=\"u-display-flex -align-center -cell-with-icon\">\n @if (version.state === 'ACTIVE') {\n <pry-icon iconSvg=\"check\" class=\"check\" [height]=\"20\" [width]=\"20\"></pry-icon>\n } @else if (version.state === 'WARNING' || version.state === 'ERROR') {\n <pry-icon iconSvg=\"warning-triangle\" class=\"warning\" [height]=\"20\" [width]=\"20\"></pry-icon>\n }\n {{\n version.id === version.dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}\n </td>\n @if (version.state === 'ERROR') {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openErrorModal(version)\">\n {{ '@pry.dataset.buttonAction.ERROR' | i18n }}\n </button>\n </td>\n } @else {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openInfoModal(version)\">\n {{ '@pry.dataset.consult' | i18n }}\n </button>\n @if (version.hasWarnings) {\n <button class=\"a-btn a-btn--secondary\" (click)=\"openErrorModal(version)\">\n {{ '@pry.dataset.buttonAction.WARNING' | i18n }}\n </button>\n }\n </td>\n }\n </tr>\n }\n }\n </tbody>\n </table>\n </div>\n <pry-paginator\n [action]=\"loadDataAction()\"\n [nbPerPage]=\"10\"\n [totalItemNb]=\"(totalVersionCount$ | async)!\"\n class=\"u-self-center\"\n [goBackToFirstPage]=\"goBackToFirstPage$ | async\"\n ></pry-paginator>\n</div>\n", dependencies: [{ kind: "component", type: i2.PrySelectComponent, selector: "pry-select", inputs: ["items", "clearable", "multiple", "closeOnSelect", "placeholder", "isForm", "required", "name", "autocomplete", "alwaysShowAutosuggestedValues", "externalAutocompleteService", "bindValue", "bindLabel", "iconSize", "bindIcon", "template", "i18nPrefix", "bindClasses", "loading", "elementRef"], outputs: ["searched", "cleared", "clicked"] }, { kind: "component", type: i2.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4$1.PryPaginatorComponent, selector: "pry-paginator", inputs: ["action", "nbPerPage", "totalItemNb", "mode", "goBackToFirstPage"], outputs: ["pageChange"] }, { kind: "component", type: i2.PrySortHeaderComponent, selector: "th[prySortHeader]", inputs: ["prySortHeader"], outputs: ["sortChange"] }, { kind: "directive", type: i2.PrySortHeaderDirective, selector: "[prySortHeader]" }, { kind: "directive", type: i2.PrySortTableDirective, selector: "[prySortTable]", inputs: ["prySortActive", "prySortDirection"], outputs: ["prySortChange"] }, { kind: "component", type: i5$1.PryPageLoaderComponent, selector: "pry-page-loader", inputs: ["image", "imageAltText"] }, { kind: "component", type: PryImportCssComponent, selector: "pry-import-css" }, { kind: "pipe", type: i2.I18nPipe, name: "i18n" }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.DatePipe, name: "date" }] }); }
509
512
  }
510
513
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryImportListComponent, decorators: [{
511
514
  type: Component,
512
- args: [{ selector: 'pry-import-list', template: "<pry-import-css></pry-import-css>\n<div class=\"o-import-list u-display-flex -column -gap-20\">\n <h1 class=\"a-h1\">{{ '@pry.importList.title' | i18n }}</h1>\n <div class=\"o-import-list__filters u-display-flex -gap-20\">\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__dataset-filter\" #dsRef>\n <label class=\"a-label m-filter__label\" for=\"dataset_name_filter\">\n {{ '@pry.importList.filter.dsName' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"dataset_name_filter\"\n [items]=\"datasets$ | async\"\n [(ngModel)]=\"filters.dataset\"\n (ngModelChange)=\"updateFilters()\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [elementRef]=\"dsRef\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__state-filter\" #statusRef>\n <label class=\"a-label m-filter__label\" for=\"import_status\">\n {{ '@pry.importList.filter.status' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"import_status\"\n [items]=\"possibleStatus\"\n [(ngModel)]=\"filters.status\"\n (ngModelChange)=\"updateFilters()\"\n [clearable]=\"true\"\n aria-labelledby=\"item-label\"\n [elementRef]=\"statusRef\"\n i18nPrefix=\"@pry.dataset.version.stateFilter.\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__date-filter\">\n <fieldset class=\"u-display-flex -align-center\">\n <legend class=\"a-label m-filter__label\">{{ '@pry.importList.filter.date' | i18n }}&nbsp;:&nbsp;</legend>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMin\" (ngModelChange)=\"updateFilters()\" />\n <span class=\"m-filter__date-input-separator\">&nbsp;-&nbsp;</span>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMax\" (ngModelChange)=\"updateFilters()\" />\n </fieldset>\n </div>\n <button type=\"button\" class=\"a-btn a-btn--icon-only u-self-center\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"loadData()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n <div class=\"o-import-list__content\">\n <table\n class=\"a-table\"\n prySortTable\n (prySortChange)=\"sortChange($event)\"\n [prySortDirection]=\"sort.sortBy\"\n [prySortActive]=\"sort.orderBy\"\n >\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th id=\"import_list_header_dataset\" prySortHeader=\"DATASET_NAME\">\n {{ '@pry.importList.dsName' | i18n }}\n </th>\n <th>{{ '@pry.importList.number' | i18n }}</th>\n <th id=\"import_list_header_date\" prySortHeader=\"DATE\" (sortChange)=\"sortChange($event)\">\n {{ '@pry.importList.date' | i18n }}\n </th>\n <th>{{ '@pry.importList.status' | i18n }}</th>\n <th>{{ '@pry.importList.actions' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (version of datasetVersions$ | async; track version.id) {\n <tr>\n <td>{{ version.dataset.name }}</td>\n <td>\n {{ version.version }}\n </td>\n <td>\n {{ version.lastModified | date: 'dd/MM/yyyy HH:mm' }}\n </td>\n <td class=\"u-display-flex -align-center -cell-with-icon\">\n @if (version.state === 'ACTIVE') {\n <pry-icon iconSvg=\"check\" class=\"check\" [height]=\"20\" [width]=\"20\"></pry-icon>\n } @else if (version.state === 'WARNING' || version.state === 'ERROR') {\n <pry-icon iconSvg=\"warning-triangle\" class=\"warning\" [height]=\"20\" [width]=\"20\"></pry-icon>\n }\n {{\n version.id === version.dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}\n </td>\n @if (version.state === 'ERROR') {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openErrorModal(version)\">\n {{ '@pry.dataset.buttonAction.ERROR' | i18n }}\n </button>\n </td>\n } @else {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openInfoModal(version)\">\n {{ '@pry.dataset.consult' | i18n }}\n </button>\n @if (version.hasWarnings) {\n <button class=\"a-btn a-btn--secondary\" (click)=\"openErrorModal(version)\">\n {{ '@pry.dataset.buttonAction.WARNING' | i18n }}\n </button>\n }\n </td>\n }\n </tr>\n }\n </tbody>\n </table>\n </div>\n <pry-paginator\n [action]=\"loadDataAction()\"\n [nbPerPage]=\"10\"\n [totalItemNb]=\"(totalVersionCount$ | async)!\"\n class=\"u-self-center\"\n [goBackToFirstPage]=\"goBackToFirstPage$ | async\"\n ></pry-paginator>\n</div>\n" }]
515
+ args: [{ selector: 'pry-import-list', template: "<pry-import-css></pry-import-css>\n<div class=\"o-import-list u-display-flex -column -gap-20\">\n <h1 class=\"a-h1\">{{ '@pry.importList.title' | i18n }}</h1>\n <div class=\"o-import-list__filters u-display-flex -gap-20\">\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__dataset-filter\" #dsRef>\n <label class=\"a-label m-filter__label\" for=\"dataset_name_filter\">\n {{ '@pry.importList.filter.dsName' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"dataset_name_filter\"\n [items]=\"datasets$ | async\"\n [(ngModel)]=\"filters.dataset\"\n (ngModelChange)=\"updateFilters()\"\n [clearable]=\"true\"\n [autocomplete]=\"true\"\n aria-labelledby=\"item-label\"\n bindLabel=\"name\"\n bindValue=\"id\"\n [elementRef]=\"dsRef\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__state-filter\" #statusRef>\n <label class=\"a-label m-filter__label\" for=\"import_status\">\n {{ '@pry.importList.filter.status' | i18n }}&nbsp;:&nbsp;\n </label>\n <pry-select\n id=\"import_status\"\n [items]=\"possibleStatus\"\n [(ngModel)]=\"filters.status\"\n (ngModelChange)=\"updateFilters()\"\n [clearable]=\"true\"\n aria-labelledby=\"item-label\"\n [elementRef]=\"statusRef\"\n i18nPrefix=\"@pry.dataset.version.stateFilter.\"\n ></pry-select>\n </div>\n <div class=\"m-filter__input-wrapper m-filter__input-wrapper--dropdown o-import-list__date-filter\">\n <fieldset class=\"u-display-flex -align-center\">\n <legend class=\"a-label m-filter__label\">{{ '@pry.importList.filter.date' | i18n }}&nbsp;:&nbsp;</legend>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMin\" (ngModelChange)=\"updateFilters()\" />\n <span class=\"m-filter__date-input-separator\">&nbsp;-&nbsp;</span>\n <input class=\"m-filter__input\" type=\"date\" [(ngModel)]=\"filters.dateMax\" (ngModelChange)=\"updateFilters()\" />\n </fieldset>\n </div>\n <button type=\"button\" class=\"a-btn a-btn--icon-only u-self-center\" (click)=\"clearFilters()\">\n <pry-icon iconSvg=\"clear_filter\" [width]=\"30\" [height]=\"30\"></pry-icon>\n </button>\n <button type=\"button\" class=\"a-btn a-btn--primary\" (click)=\"loadData()\">\n {{ '@pry.toolbox.apply' | i18n }}\n <pry-icon iconSvg=\"refresh_filter\" [width]=\"18\" [height]=\"18\"></pry-icon>\n </button>\n </div>\n <div class=\"o-import-list__content\">\n <table\n class=\"a-table\"\n prySortTable\n (prySortChange)=\"sortChange($event)\"\n [prySortDirection]=\"sort.sortBy\"\n [prySortActive]=\"sort.orderBy\"\n >\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th id=\"import_list_header_dataset\" prySortHeader=\"DATASET_NAME\">\n {{ '@pry.importList.dsName' | i18n }}\n </th>\n <th>{{ '@pry.importList.number' | i18n }}</th>\n <th id=\"import_list_header_date\" prySortHeader=\"DATE\" (sortChange)=\"sortChange($event)\">\n {{ '@pry.importList.date' | i18n }}\n </th>\n <th>{{ '@pry.importList.status' | i18n }}</th>\n <th>{{ '@pry.importList.actions' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @if (loading$ | async; as loading) {\n <tr>\n <td colSpan=\"5\">\n <div class=\"a-page-loader -relative\" [style.display]=\"'flex'\">\n <pry-page-loader></pry-page-loader>\n <p>{{ '@pry.widget.target.loading' | i18n }}...</p>\n </div>\n </td>\n </tr>\n } @else {\n @for (version of datasetVersions$ | async; track version.id) {\n <tr>\n <td>{{ version.dataset.name }}</td>\n <td>\n {{ version.version }}\n </td>\n <td>\n {{ version.lastModified | date: 'dd/MM/yyyy HH:mm' }}\n </td>\n <td class=\"u-display-flex -align-center -cell-with-icon\">\n @if (version.state === 'ACTIVE') {\n <pry-icon iconSvg=\"check\" class=\"check\" [height]=\"20\" [width]=\"20\"></pry-icon>\n } @else if (version.state === 'WARNING' || version.state === 'ERROR') {\n <pry-icon iconSvg=\"warning-triangle\" class=\"warning\" [height]=\"20\" [width]=\"20\"></pry-icon>\n }\n {{\n version.id === version.dataset.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : ('@pry.dataset.version.state.' + version.state | i18n)\n }}\n </td>\n @if (version.state === 'ERROR') {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openErrorModal(version)\">\n {{ '@pry.dataset.buttonAction.ERROR' | i18n }}\n </button>\n </td>\n } @else {\n <td>\n <button class=\"a-btn a-btn--secondary\" (click)=\"openInfoModal(version)\">\n {{ '@pry.dataset.consult' | i18n }}\n </button>\n @if (version.hasWarnings) {\n <button class=\"a-btn a-btn--secondary\" (click)=\"openErrorModal(version)\">\n {{ '@pry.dataset.buttonAction.WARNING' | i18n }}\n </button>\n }\n </td>\n }\n </tr>\n }\n }\n </tbody>\n </table>\n </div>\n <pry-paginator\n [action]=\"loadDataAction()\"\n [nbPerPage]=\"10\"\n [totalItemNb]=\"(totalVersionCount$ | async)!\"\n class=\"u-self-center\"\n [goBackToFirstPage]=\"goBackToFirstPage$ | async\"\n ></pry-paginator>\n</div>\n" }]
513
516
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.PryDialogService }] });
514
517
 
515
518
  class PryImportModule {
@@ -531,7 +534,8 @@ class PryImportModule {
531
534
  PryDatePickerModule,
532
535
  PrySinceDateModule,
533
536
  PryPaginatorModule,
534
- PrySortModule], exports: [PryImportFormComponent, PryImportListComponent, PryVersionModalComponent] }); }
537
+ PrySortModule,
538
+ PryPageLoaderModule], exports: [PryImportFormComponent, PryImportListComponent, PryVersionModalComponent] }); }
535
539
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryImportModule, providers: [DatePipe], imports: [PryCoreModule,
536
540
  PrySelectModule,
537
541
  PryI18nModule,
@@ -547,7 +551,8 @@ class PryImportModule {
547
551
  PryDatePickerModule,
548
552
  PrySinceDateModule,
549
553
  PryPaginatorModule,
550
- PrySortModule] }); }
554
+ PrySortModule,
555
+ PryPageLoaderModule] }); }
551
556
  }
552
557
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryImportModule, decorators: [{
553
558
  type: NgModule,
@@ -570,7 +575,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
570
575
  PryDatePickerModule,
571
576
  PrySinceDateModule,
572
577
  PryPaginatorModule,
573
- PrySortModule
578
+ PrySortModule,
579
+ PryPageLoaderModule
574
580
  ],
575
581
  exports: [PryImportFormComponent, PryImportListComponent, PryVersionModalComponent]
576
582
  }]