@provoly/dashboard 0.25.2 → 0.25.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,6 +3,7 @@ import { DataSourceActions, DataSourceSelectors, PryDatasetType, Subscriptionner
3
3
  import { map, take } from 'rxjs';
4
4
  import { ImportActions } from '../store/import.actions';
5
5
  import { ImportSelectors } from '../store/import.selectors';
6
+ import { catchError } from 'rxjs/operators';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@ngrx/store";
8
9
  import * as i2 from "@provoly/dashboard";
@@ -60,7 +61,7 @@ export class PryImportComponent extends SubscriptionnerDirective {
60
61
  fileType: this.selectedFileType,
61
62
  normalizeGeo: this.normalizeGeoShape,
62
63
  datasetVersionInformation: {
63
- productionDate: this.productionDate,
64
+ productionDate: new Date(this.productionDate).toISOString(),
64
65
  producer: this.producer,
65
66
  additionalInformation: this.additionalInformation.length > 0 ? this.additionalInformation : undefined
66
67
  }
@@ -90,9 +91,11 @@ export class PryImportComponent extends SubscriptionnerDirective {
90
91
  if ($event) {
91
92
  this.subscriptions.add(this.dsService
92
93
  .getLastActiveDatasetVersion($event.id)
93
- .pipe(take(1))
94
+ .pipe(take(1), catchError(() => []))
94
95
  .subscribe((version) => {
95
- this.producer = version.producer || '';
96
+ if (version && version.producer) {
97
+ this.producer = version.producer || '';
98
+ }
96
99
  }));
97
100
  }
98
101
  }
@@ -103,4 +106,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
103
106
  type: Component,
104
107
  args: [{ selector: 'pry-import', template: "<pry-import-css></pry-import-css>\n<div class=\"o-import\">\n <h1 class=\"a-h1\">{{ '@pry.import.title' | i18n }}</h1>\n <div class=\"o-import__container\">\n <div class=\"o-import__container__input\">\n <div class=\"m-form-label-field\">\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\" for=\"datasets\">{{ '@pry.import.fileType' | i18n }}</label>\n <pry-select\n id=\"fileType\"\n [items]=\"fileTypes\"\n [ngModel]=\"fileTypes[0].value\"\n [disabled]=\"false\"\n (ngModelChange)=\"onFileTypeChange($event)\"\n bindValue=\"value\"\n bindLabel=\"label\"\n ></pry-select>\n </div>\n <label class=\"a-h3\" for=\"upload_input\">\n {{ '@pry.import.uploadTitle' + selectedFileType | i18n }}\n </label>\n <div class=\"o-file-input\">\n <div *ngIf=\"file\" class=\"o-import__container__input__file\">\n <pry-icon iconSvg=\"download\"></pry-icon>\n <h3>{{ file.name }}</h3>\n <span>{{ getFileSize(file.size) }}</span>\n </div>\n <pry-upload\n id=\"upload_input\"\n [accept]=\"fileExtension[selectedFileType]\"\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 id=\"datasets\"\n [items]=\"datasets$ | async\"\n [(ngModel)]=\"selectedDataset\"\n (ngModelChange)=\"getLastActiveVersion($event)\"\n [placeholder]=\"'@pry.import.dataset' | i18n\"\n bindLabel=\"name\"\n ></pry-select>\n </div>\n <pry-checkbox [(ngModel)]=\"normalizeGeoShape\">{{ '@pry.import.normalize' | i18n }}</pry-checkbox>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input class=\"a-form-field\" type=\"datetime-local\" [max]=\"maxDate\" [(ngModel)]=\"productionDate\" />\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input class=\"a-form-field\" type=\"text\" maxlength=\"100\" [(ngModel)]=\"producer\" />\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-h3\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor [(ngModel)]=\"additionalInformation\"></pry-text-editor>\n </div>\n <div class=\"o-import__container__input__actions\">\n <button class=\"a-btn a-btn--primary\" (click)=\"submit()\" [disabled]=\"isSubmitDisabled()\">\n {{ '@pry.import.import' | i18n }}\n </button>\n </div>\n </div>\n <ng-container *ngIf=\"showMessage\">\n <div class=\"o-import__result\">\n <h1>\n {{\n '@pry.import.consultDataset'\n | i18n\n : { parameter: selectedDataset?.id ?? '' | translateId: { type: 'datasource', output: 'name' } | async }\n }}\n </h1>\n </div>\n </ng-container>\n </div>\n</div>\n" }]
105
108
  }], ctorParameters: () => [{ type: i1.Store }, { type: i2.DataSourceService }] });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2ltcG9ydC9jb21wb25lbnRzL2ltcG9ydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9pbXBvcnQvY29tcG9uZW50cy9pbXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUVuQixjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLEdBQUcsRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7O0FBUTVELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSx3QkFBd0I7SUE0QjlELFlBQ1UsS0FBWSxFQUNaLFNBQTRCO1FBRXBDLEtBQUssRUFBRSxDQUFDO1FBSEEsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLGNBQVMsR0FBVCxTQUFTLENBQW1CO1FBMUJ0QyxxQkFBZ0IsR0FBa0IsS0FBSyxDQUFDO1FBRXhDLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUMxQixjQUFTLEdBQThDO1lBQ3JEO2dCQUNFLEtBQUssRUFBRSxLQUFLO2dCQUNaLEtBQUssRUFBRSxLQUFLO2FBQ2I7WUFDRDtnQkFDRSxLQUFLLEVBQUUsV0FBVztnQkFDbEIsS0FBSyxFQUFFLEtBQUs7YUFDYjtTQUNGLENBQUM7UUFFRixrQkFBYSxHQUFrQztZQUM3QyxHQUFHLEVBQUUsTUFBTTtZQUNY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SUFDSixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQVk7UUFDdEIsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksR0FBRyxPQUFPLEVBQUUsQ0FBQztZQUNuQyxPQUFPLEdBQUcsQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDMUMsQ0FBQzthQUFNLElBQUksSUFBSSxJQUFJLE9BQU8sRUFBRSxDQUFDO1lBQzNCLE9BQU8sR0FBRyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM3QyxDQUFDO1FBQ0QsT0FBTyxHQUFHLElBQUksUUFBUSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxRQUF1QjtRQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsUUFBUSxDQUFDO0lBQ25DLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxNQUFnQjtRQUNuQyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQ3BCLElBQUksQ0FBQyxTQUFTO2lCQUNYLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7aUJBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQ2IsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3JCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsSUFBSSxFQUFFLENBQUM7WUFDekMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDOzhHQTNHVSxrQkFBa0I7a0dBQWxCLGtCQUFrQix5RUNyQi9CLHN6R0ErRUE7OzJGRDFEYSxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0UsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIERhdGFzZXQsXG4gIERhdGFzZXRWZXJzaW9uLFxuICBEYXRhU291cmNlQWN0aW9ucyxcbiAgRGF0YVNvdXJjZVNlbGVjdG9ycyxcbiAgRGF0YVNvdXJjZVNlcnZpY2UsXG4gIFByeURhdGFzZXRUeXBlLFxuICBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmVcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW1wb3J0QWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlL2ltcG9ydC5hY3Rpb25zJztcbmltcG9ydCB7IEltcG9ydFNlbGVjdG9ycyB9IGZyb20gJy4uL3N0b3JlL2ltcG9ydC5zZWxlY3RvcnMnO1xuXG50eXBlIEZpbGVFeHRlbnNpb24gPSAnY3N2JyB8ICd6aXAnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktaW1wb3J0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ltcG9ydC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgUHJ5SW1wb3J0Q29tcG9uZW50IGV4dGVuZHMgU3Vic2NyaXB0aW9ubmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25EZXN0cm95IHtcbiAgZGF0YXNldHMkOiBPYnNlcnZhYmxlPERhdGFzZXRbXT47XG4gIGZpbGU/OiBGaWxlO1xuICBzZWxlY3RlZERhdGFzZXQ/OiBEYXRhc2V0O1xuICBzZWxlY3RlZEZpbGVUeXBlOiBGaWxlRXh0ZW5zaW9uID0gJ2Nzdic7XG4gIGxvYWRpbmckOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICBub3JtYWxpemVHZW9TaGFwZSA9IGZhbHNlO1xuICBmaWxlVHlwZXM6IHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IEZpbGVFeHRlbnNpb24gfVtdID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiAnQ3N2JyxcbiAgICAgIHZhbHVlOiAnY3N2J1xuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6ICdTaGFwZWZpbGUnLFxuICAgICAgdmFsdWU6ICd6aXAnXG4gICAgfVxuICBdO1xuXG4gIGZpbGVFeHRlbnNpb246IFJlY29yZDxGaWxlRXh0ZW5zaW9uLCBzdHJpbmc+ID0ge1xuICAgIGNzdjogJy5jc3YnLFxuICAgIHppcDogJy56aXAnXG4gIH07XG4gIHNob3dNZXNzYWdlOiBib29sZWFuID0gZmFsc2U7XG4gIHByb2R1Y3Rpb25EYXRlOiBzdHJpbmcgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgvOlxcZCtcXC5cXGQrWiQvLCAnJyk7XG4gIHByb2R1Y2VyOiBzdHJpbmcgPSAnJztcbiAgYWRkaXRpb25hbEluZm9ybWF0aW9uOiBzdHJpbmcgPSAnJztcbiAgbWF4RGF0ZSA9IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKS5yZXBsYWNlKCdaJywgJycpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlLFxuICAgIHByaXZhdGUgZHNTZXJ2aWNlOiBEYXRhU291cmNlU2VydmljZVxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHN0b3JlLmRpc3BhdGNoKERhdGFTb3VyY2VBY3Rpb25zLmRhdGFzZXQubG9hZERhdGFzZXQoKSk7XG4gICAgdGhpcy5kYXRhc2V0cyQgPSBzdG9yZVxuICAgICAgLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRzKVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoZGF0YXNldHMpID0+XG4gICAgICAgICAgZGF0YXNldHNcbiAgICAgICAgICAgIC5maWx0ZXIoKGRhdGFzZXQpID0+IGRhdGFzZXQudHlwZSA9PT0gUHJ5RGF0YXNldFR5cGUuQ0xPU0VEKVxuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IChhLm5hbWUudG9Mb3dlckNhc2UoKSA+IGIubmFtZS50b0xvd2VyQ2FzZSgpID8gMSA6IC0xKSlcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB0aGlzLmxvYWRpbmckID0gc3RvcmUuc2VsZWN0KEltcG9ydFNlbGVjdG9ycy5sb2FkaW5nKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCkge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5zaG93TWVzc2FnZSA9IGZhbHNlO1xuICB9XG5cbiAgdXBsb2FkZWRDaGFuZ2UoJGV2ZW50OiBGaWxlKSB7XG4gICAgdGhpcy5maWxlID0gJGV2ZW50O1xuICB9XG5cbiAgc3VibWl0KCkge1xuICAgIGlmICh0aGlzLmZpbGUgJiYgdGhpcy5zZWxlY3RlZERhdGFzZXQgJiYgdGhpcy5zZWxlY3RlZEZpbGVUeXBlKSB7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBJbXBvcnRBY3Rpb25zLnVwbG9hZCh7XG4gICAgICAgICAgZmlsZTogdGhpcy5maWxlLFxuICAgICAgICAgIGRhdGFzZXQ6IHRoaXMuc2VsZWN0ZWREYXRhc2V0LmlkLFxuICAgICAgICAgIGZpbGVUeXBlOiB0aGlzLnNlbGVjdGVkRmlsZVR5cGUsXG4gICAgICAgICAgbm9ybWFsaXplR2VvOiB0aGlzLm5vcm1hbGl6ZUdlb1NoYXBlLFxuICAgICAgICAgIGRhdGFzZXRWZXJzaW9uSW5mb3JtYXRpb246IHtcbiAgICAgICAgICAgIHByb2R1Y3Rpb25EYXRlOiB0aGlzLnByb2R1Y3Rpb25EYXRlLFxuICAgICAgICAgICAgcHJvZHVjZXI6IHRoaXMucHJvZHVjZXIsXG4gICAgICAgICAgICBhZGRpdGlvbmFsSW5mb3JtYXRpb246IHRoaXMuYWRkaXRpb25hbEluZm9ybWF0aW9uLmxlbmd0aCA+IDAgPyB0aGlzLmFkZGl0aW9uYWxJbmZvcm1hdGlvbiA6IHVuZGVmaW5lZFxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgICB0aGlzLnNob3dNZXNzYWdlID0gdHJ1ZTtcbiAgICAgIHRoaXMuZmlsZSA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBpc1N1Ym1pdERpc2FibGVkKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmZpbGUgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgdGhpcy5zZWxlY3RlZERhdGFzZXQgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgKHRoaXMuc2VsZWN0ZWREYXRhc2V0Py50eXBlID09PSBQcnlEYXRhc2V0VHlwZS5DTE9TRUQgJiYgKHRoaXMucHJvZHVjdGlvbkRhdGUgPT09ICcnIHx8IHRoaXMucHJvZHVjZXIgPT09ICcnKSlcbiAgICApO1xuICB9XG5cbiAgZ2V0RmlsZVNpemUoc2l6ZTogbnVtYmVyKSB7XG4gICAgaWYgKHNpemUgPj0gMTAwMCAmJiBzaXplIDwgMTAwMDAwMCkge1xuICAgICAgcmV0dXJuIGAkeyhzaXplIC8gMTAwMCkudG9GaXhlZCgxKX0gS0JgO1xuICAgIH0gZWxzZSBpZiAoc2l6ZSA+PSAxMDAwMDAwKSB7XG4gICAgICByZXR1cm4gYCR7KHNpemUgLyAxMDAwMDAwKS50b0ZpeGVkKDEpfSBNQmA7XG4gICAgfVxuICAgIHJldHVybiBgJHtzaXplfSBieXRlc2A7XG4gIH1cblxuICBvbkZpbGVUeXBlQ2hhbmdlKGZpbGVUeXBlOiBGaWxlRXh0ZW5zaW9uKSB7XG4gICAgdGhpcy5zZWxlY3RlZEZpbGVUeXBlID0gZmlsZVR5cGU7XG4gIH1cblxuICBnZXRMYXN0QWN0aXZlVmVyc2lvbigkZXZlbnQ/OiBEYXRhc2V0KSB7XG4gICAgaWYgKCRldmVudCkge1xuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgdGhpcy5kc1NlcnZpY2VcbiAgICAgICAgICAuZ2V0TGFzdEFjdGl2ZURhdGFzZXRWZXJzaW9uKCRldmVudC5pZClcbiAgICAgICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgICAgIC5zdWJzY3JpYmUoKHZlcnNpb24pID0+IHtcbiAgICAgICAgICAgIHRoaXMucHJvZHVjZXIgPSB2ZXJzaW9uLnByb2R1Y2VyIHx8ICcnO1xuICAgICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuIiwiPHByeS1pbXBvcnQtY3NzPjwvcHJ5LWltcG9ydC1jc3M+XG48ZGl2IGNsYXNzPVwiby1pbXBvcnRcIj5cbiAgPGgxIGNsYXNzPVwiYS1oMVwiPnt7ICdAcHJ5LmltcG9ydC50aXRsZScgfCBpMThuIH19PC9oMT5cbiAgPGRpdiBjbGFzcz1cIm8taW1wb3J0X19jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiby1pbXBvcnRfX2NvbnRhaW5lcl9faW5wdXRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImEtaDNcIiBmb3I9XCJkYXRhc2V0c1wiPnt7ICdAcHJ5LmltcG9ydC5maWxlVHlwZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgICA8cHJ5LXNlbGVjdFxuICAgICAgICAgICAgaWQ9XCJmaWxlVHlwZVwiXG4gICAgICAgICAgICBbaXRlbXNdPVwiZmlsZVR5cGVzXCJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cImZpbGVUeXBlc1swXS52YWx1ZVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25GaWxlVHlwZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIGJpbmRWYWx1ZT1cInZhbHVlXCJcbiAgICAgICAgICAgIGJpbmRMYWJlbD1cImxhYmVsXCJcbiAgICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1oM1wiIGZvcj1cInVwbG9hZF9pbnB1dFwiPlxuICAgICAgICAgIHt7ICdAcHJ5LmltcG9ydC51cGxvYWRUaXRsZScgKyBzZWxlY3RlZEZpbGVUeXBlIHwgaTE4biB9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiby1maWxlLWlucHV0XCI+XG4gICAgICAgICAgPGRpdiAqbmdJZj1cImZpbGVcIiBjbGFzcz1cIm8taW1wb3J0X19jb250YWluZXJfX2lucHV0X19maWxlXCI+XG4gICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImRvd25sb2FkXCI+PC9wcnktaWNvbj5cbiAgICAgICAgICAgIDxoMz57eyBmaWxlLm5hbWUgfX08L2gzPlxuICAgICAgICAgICAgPHNwYW4+e3sgZ2V0RmlsZVNpemUoZmlsZS5zaXplKSB9fTwvc3Bhbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8cHJ5LXVwbG9hZFxuICAgICAgICAgICAgaWQ9XCJ1cGxvYWRfaW5wdXRcIlxuICAgICAgICAgICAgW2FjY2VwdF09XCJmaWxlRXh0ZW5zaW9uW3NlbGVjdGVkRmlsZVR5cGVdXCJcbiAgICAgICAgICAgIG1vZGU9XCJmaWxlc1wiXG4gICAgICAgICAgICAodXBsb2FkZWRGaWxlKT1cInVwbG9hZGVkQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgbGFiZWxUcmFuc2xhdGU9XCJAcHJ5LmltcG9ydC5zZWxlY3RGaWxlXCJcbiAgICAgICAgICA+PC9wcnktdXBsb2FkPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWgzXCIgZm9yPVwiZGF0YXNldHNcIj57eyAnQHByeS5pbXBvcnQuZGF0YXNldEltcG9ydCcgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICBpZD1cImRhdGFzZXRzXCJcbiAgICAgICAgICBbaXRlbXNdPVwiZGF0YXNldHMkIHwgYXN5bmNcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWREYXRhc2V0XCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJnZXRMYXN0QWN0aXZlVmVyc2lvbigkZXZlbnQpXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ0BwcnkuaW1wb3J0LmRhdGFzZXQnIHwgaTE4blwiXG4gICAgICAgICAgYmluZExhYmVsPVwibmFtZVwiXG4gICAgICAgID48L3ByeS1zZWxlY3Q+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxwcnktY2hlY2tib3ggWyhuZ01vZGVsKV09XCJub3JtYWxpemVHZW9TaGFwZVwiPnt7ICdAcHJ5LmltcG9ydC5ub3JtYWxpemUnIHwgaTE4biB9fTwvcHJ5LWNoZWNrYm94PlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWgzXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnByb2R1Y3Rpb25EYXRlJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJhLWZvcm0tZmllbGRcIiB0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIiBbbWF4XT1cIm1heERhdGVcIiBbKG5nTW9kZWwpXT1cInByb2R1Y3Rpb25EYXRlXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWgzXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLnByb2R1Y2VyJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJhLWZvcm0tZmllbGRcIiB0eXBlPVwidGV4dFwiIG1heGxlbmd0aD1cIjEwMFwiIFsobmdNb2RlbCldPVwicHJvZHVjZXJcIiAvPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImEtaDNcIj57eyAnQHByeS5kYXRhc2V0LnZlcnNpb24uYWRkaXRpb25hbEluZm9ybWF0aW9uJyB8IGkxOG4gfX08L2xhYmVsPlxuICAgICAgICA8cHJ5LXRleHQtZWRpdG9yIFsobmdNb2RlbCldPVwiYWRkaXRpb25hbEluZm9ybWF0aW9uXCI+PC9wcnktdGV4dC1lZGl0b3I+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLWltcG9ydF9fY29udGFpbmVyX19pbnB1dF9fYWN0aW9uc1wiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiAoY2xpY2spPVwic3VibWl0KClcIiBbZGlzYWJsZWRdPVwiaXNTdWJtaXREaXNhYmxlZCgpXCI+XG4gICAgICAgICAge3sgJ0BwcnkuaW1wb3J0LmltcG9ydCcgfCBpMThuIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dNZXNzYWdlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1pbXBvcnRfX3Jlc3VsdFwiPlxuICAgICAgICA8aDE+XG4gICAgICAgICAge3tcbiAgICAgICAgICAgICdAcHJ5LmltcG9ydC5jb25zdWx0RGF0YXNldCdcbiAgICAgICAgICAgICAgfCBpMThuXG4gICAgICAgICAgICAgICAgOiB7IHBhcmFtZXRlcjogc2VsZWN0ZWREYXRhc2V0Py5pZCA/PyAnJyB8IHRyYW5zbGF0ZUlkOiB7IHR5cGU6ICdkYXRhc291cmNlJywgb3V0cHV0OiAnbmFtZScgfSB8IGFzeW5jIH1cbiAgICAgICAgICB9fVxuICAgICAgICA8L2gxPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wb3J0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2ltcG9ydC9jb21wb25lbnRzL2ltcG9ydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9pbXBvcnQvY29tcG9uZW50cy9pbXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUVyRCxPQUFPLEVBR0wsaUJBQWlCLEVBQ2pCLG1CQUFtQixFQUVuQixjQUFjLEVBQ2Qsd0JBQXdCLEVBQ3pCLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLEdBQUcsRUFBYyxJQUFJLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7OztBQVE1QyxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsd0JBQXdCO0lBNEI5RCxZQUNVLEtBQVksRUFDWixTQUE0QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQUhBLFVBQUssR0FBTCxLQUFLLENBQU87UUFDWixjQUFTLEdBQVQsU0FBUyxDQUFtQjtRQTFCdEMscUJBQWdCLEdBQWtCLEtBQUssQ0FBQztRQUV4QyxzQkFBaUIsR0FBRyxLQUFLLENBQUM7UUFDMUIsY0FBUyxHQUE4QztZQUNyRDtnQkFDRSxLQUFLLEVBQUUsS0FBSztnQkFDWixLQUFLLEVBQUUsS0FBSzthQUNiO1lBQ0Q7Z0JBQ0UsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLEtBQUssRUFBRSxLQUFLO2FBQ2I7U0FDRixDQUFD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QUFDOzhHQWhIVSxrQkFBa0I7a0dBQWxCLGtCQUFrQix5RUN0Qi9CLHN6R0ErRUE7OzJGRHpEYSxrQkFBa0I7a0JBSjlCLFNBQVM7K0JBQ0UsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIERhdGFzZXQsXG4gIERhdGFzZXRWZXJzaW9uLFxuICBEYXRhU291cmNlQWN0aW9ucyxcbiAgRGF0YVNvdXJjZVNlbGVjdG9ycyxcbiAgRGF0YVNvdXJjZVNlcnZpY2UsXG4gIFByeURhdGFzZXRUeXBlLFxuICBTdWJzY3JpcHRpb25uZXJEaXJlY3RpdmVcbn0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSW1wb3J0QWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlL2ltcG9ydC5hY3Rpb25zJztcbmltcG9ydCB7IEltcG9ydFNlbGVjdG9ycyB9IGZyb20gJy4uL3N0b3JlL2ltcG9ydC5zZWxlY3RvcnMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxudHlwZSBGaWxlRXh0ZW5zaW9uID0gJ2NzdicgfCAnemlwJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWltcG9ydCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9pbXBvcnQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFByeUltcG9ydENvbXBvbmVudCBleHRlbmRzIFN1YnNjcmlwdGlvbm5lckRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIGRhdGFzZXRzJDogT2JzZXJ2YWJsZTxEYXRhc2V0W10+O1xuICBmaWxlPzogRmlsZTtcbiAgc2VsZWN0ZWREYXRhc2V0PzogRGF0YXNldDtcbiAgc2VsZWN0ZWRGaWxlVHlwZTogRmlsZUV4dGVuc2lvbiA9ICdjc3YnO1xuICBsb2FkaW5nJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgbm9ybWFsaXplR2VvU2hhcGUgPSBmYWxzZTtcbiAgZmlsZVR5cGVzOiB7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBGaWxlRXh0ZW5zaW9uIH1bXSA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogJ0NzdicsXG4gICAgICB2YWx1ZTogJ2NzdidcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiAnU2hhcGVmaWxlJyxcbiAgICAgIHZhbHVlOiAnemlwJ1xuICAgIH1cbiAgXTtcblxuICBmaWxlRXh0ZW5zaW9uOiBSZWNvcmQ8RmlsZUV4dGVuc2lvbiwgc3RyaW5nPiA9IHtcbiAgICBjc3Y6ICcuY3N2JyxcbiAgICB6aXA6ICcuemlwJ1xuICB9O1xuICBzaG93TWVzc2FnZTogYm9vbGVhbiA9IGZhbHNlO1xuICBwcm9kdWN0aW9uRGF0ZTogc3RyaW5nID0gbmV3IERhdGUoKS50b0lTT1N0cmluZygpLnJlcGxhY2UoLzpcXGQrXFwuXFxkK1okLywgJycpO1xuICBwcm9kdWNlcjogc3RyaW5nID0gJyc7XG4gIGFkZGl0aW9uYWxJbmZvcm1hdGlvbjogc3RyaW5nID0gJyc7XG4gIG1heERhdGUgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkucmVwbGFjZSgnWicsICcnKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0b3JlOiBTdG9yZSxcbiAgICBwcml2YXRlIGRzU2VydmljZTogRGF0YVNvdXJjZVNlcnZpY2VcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICBzdG9yZS5kaXNwYXRjaChEYXRhU291cmNlQWN0aW9ucy5kYXRhc2V0LmxvYWREYXRhc2V0KCkpO1xuICAgIHRoaXMuZGF0YXNldHMkID0gc3RvcmVcbiAgICAgIC5zZWxlY3QoRGF0YVNvdXJjZVNlbGVjdG9ycy5kYXRhc2V0cylcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAoKGRhdGFzZXRzKSA9PlxuICAgICAgICAgIGRhdGFzZXRzXG4gICAgICAgICAgICAuZmlsdGVyKChkYXRhc2V0KSA9PiBkYXRhc2V0LnR5cGUgPT09IFByeURhdGFzZXRUeXBlLkNMT1NFRClcbiAgICAgICAgICAgIC5zb3J0KChhLCBiKSA9PiAoYS5uYW1lLnRvTG93ZXJDYXNlKCkgPiBiLm5hbWUudG9Mb3dlckNhc2UoKSA/IDEgOiAtMSkpXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgdGhpcy5sb2FkaW5nJCA9IHN0b3JlLnNlbGVjdChJbXBvcnRTZWxlY3RvcnMubG9hZGluZyk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuc2hvd01lc3NhZ2UgPSBmYWxzZTtcbiAgfVxuXG4gIHVwbG9hZGVkQ2hhbmdlKCRldmVudDogRmlsZSkge1xuICAgIHRoaXMuZmlsZSA9ICRldmVudDtcbiAgfVxuXG4gIHN1Ym1pdCgpIHtcbiAgICBpZiAodGhpcy5maWxlICYmIHRoaXMuc2VsZWN0ZWREYXRhc2V0ICYmIHRoaXMuc2VsZWN0ZWRGaWxlVHlwZSkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgSW1wb3J0QWN0aW9ucy51cGxvYWQoe1xuICAgICAgICAgIGZpbGU6IHRoaXMuZmlsZSxcbiAgICAgICAgICBkYXRhc2V0OiB0aGlzLnNlbGVjdGVkRGF0YXNldC5pZCxcbiAgICAgICAgICBmaWxlVHlwZTogdGhpcy5zZWxlY3RlZEZpbGVUeXBlLFxuICAgICAgICAgIG5vcm1hbGl6ZUdlbzogdGhpcy5ub3JtYWxpemVHZW9TaGFwZSxcbiAgICAgICAgICBkYXRhc2V0VmVyc2lvbkluZm9ybWF0aW9uOiB7XG4gICAgICAgICAgICBwcm9kdWN0aW9uRGF0ZTogbmV3IERhdGUodGhpcy5wcm9kdWN0aW9uRGF0ZSkudG9JU09TdHJpbmcoKSxcbiAgICAgICAgICAgIHByb2R1Y2VyOiB0aGlzLnByb2R1Y2VyLFxuICAgICAgICAgICAgYWRkaXRpb25hbEluZm9ybWF0aW9uOiB0aGlzLmFkZGl0aW9uYWxJbmZvcm1hdGlvbi5sZW5ndGggPiAwID8gdGhpcy5hZGRpdGlvbmFsSW5mb3JtYXRpb24gOiB1bmRlZmluZWRcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5zaG93TWVzc2FnZSA9IHRydWU7XG4gICAgICB0aGlzLmZpbGUgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgaXNTdWJtaXREaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5maWxlID09PSB1bmRlZmluZWQgfHxcbiAgICAgIHRoaXMuc2VsZWN0ZWREYXRhc2V0ID09PSB1bmRlZmluZWQgfHxcbiAgICAgICh0aGlzLnNlbGVjdGVkRGF0YXNldD8udHlwZSA9PT0gUHJ5RGF0YXNldFR5cGUuQ0xPU0VEICYmICh0aGlzLnByb2R1Y3Rpb25EYXRlID09PSAnJyB8fCB0aGlzLnByb2R1Y2VyID09PSAnJykpXG4gICAgKTtcbiAgfVxuXG4gIGdldEZpbGVTaXplKHNpemU6IG51bWJlcikge1xuICAgIGlmIChzaXplID49IDEwMDAgJiYgc2l6ZSA8IDEwMDAwMDApIHtcbiAgICAgIHJldHVybiBgJHsoc2l6ZSAvIDEwMDApLnRvRml4ZWQoMSl9IEtCYDtcbiAgICB9IGVsc2UgaWYgKHNpemUgPj0gMTAwMDAwMCkge1xuICAgICAgcmV0dXJuIGAkeyhzaXplIC8gMTAwMDAwMCkudG9GaXhlZCgxKX0gTUJgO1xuICAgIH1cbiAgICByZXR1cm4gYCR7c2l6ZX0gYnl0ZXNgO1xuICB9XG5cbiAgb25GaWxlVHlwZUNoYW5nZShmaWxlVHlwZTogRmlsZUV4dGVuc2lvbikge1xuICAgIHRoaXMuc2VsZWN0ZWRGaWxlVHlwZSA9IGZpbGVUeXBlO1xuICB9XG5cbiAgZ2V0TGFzdEFjdGl2ZVZlcnNpb24oJGV2ZW50PzogRGF0YXNldCkge1xuICAgIGlmICgkZXZlbnQpIHtcbiAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICAgIHRoaXMuZHNTZXJ2aWNlXG4gICAgICAgICAgLmdldExhc3RBY3RpdmVEYXRhc2V0VmVyc2lvbigkZXZlbnQuaWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBbXSlcbiAgICAgICAgICApXG4gICAgICAgICAgLnN1YnNjcmliZSgodmVyc2lvbikgPT4ge1xuICAgICAgICAgICAgaWYgKHZlcnNpb24gJiYgdmVyc2lvbi5wcm9kdWNlcikge1xuICAgICAgICAgICAgICB0aGlzLnByb2R1Y2VyID0gdmVyc2lvbi5wcm9kdWNlciB8fCAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxwcnktaW1wb3J0LWNzcz48L3ByeS1pbXBvcnQtY3NzPlxuPGRpdiBjbGFzcz1cIm8taW1wb3J0XCI+XG4gIDxoMSBjbGFzcz1cImEtaDFcIj57eyAnQHByeS5pbXBvcnQudGl0bGUnIHwgaTE4biB9fTwvaDE+XG4gIDxkaXYgY2xhc3M9XCJvLWltcG9ydF9fY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIm8taW1wb3J0X19jb250YWluZXJfX2lucHV0XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibS1mb3JtLWxhYmVsLWZpZWxkXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWgzXCIgZm9yPVwiZGF0YXNldHNcIj57eyAnQHByeS5pbXBvcnQuZmlsZVR5cGUnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgICAgPHByeS1zZWxlY3RcbiAgICAgICAgICAgIGlkPVwiZmlsZVR5cGVcIlxuICAgICAgICAgICAgW2l0ZW1zXT1cImZpbGVUeXBlc1wiXG4gICAgICAgICAgICBbbmdNb2RlbF09XCJmaWxlVHlwZXNbMF0udmFsdWVcIlxuICAgICAgICAgICAgW2Rpc2FibGVkXT1cImZhbHNlXCJcbiAgICAgICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uRmlsZVR5cGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgICAgICBiaW5kVmFsdWU9XCJ2YWx1ZVwiXG4gICAgICAgICAgICBiaW5kTGFiZWw9XCJsYWJlbFwiXG4gICAgICAgICAgPjwvcHJ5LXNlbGVjdD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxsYWJlbCBjbGFzcz1cImEtaDNcIiBmb3I9XCJ1cGxvYWRfaW5wdXRcIj5cbiAgICAgICAgICB7eyAnQHByeS5pbXBvcnQudXBsb2FkVGl0bGUnICsgc2VsZWN0ZWRGaWxlVHlwZSB8IGkxOG4gfX1cbiAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm8tZmlsZS1pbnB1dFwiPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJmaWxlXCIgY2xhc3M9XCJvLWltcG9ydF9fY29udGFpbmVyX19pbnB1dF9fZmlsZVwiPlxuICAgICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJkb3dubG9hZFwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgICA8aDM+e3sgZmlsZS5uYW1lIH19PC9oMz5cbiAgICAgICAgICAgIDxzcGFuPnt7IGdldEZpbGVTaXplKGZpbGUuc2l6ZSkgfX08L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHByeS11cGxvYWRcbiAgICAgICAgICAgIGlkPVwidXBsb2FkX2lucHV0XCJcbiAgICAgICAgICAgIFthY2NlcHRdPVwiZmlsZUV4dGVuc2lvbltzZWxlY3RlZEZpbGVUeXBlXVwiXG4gICAgICAgICAgICBtb2RlPVwiZmlsZXNcIlxuICAgICAgICAgICAgKHVwbG9hZGVkRmlsZSk9XCJ1cGxvYWRlZENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgIGxhYmVsVHJhbnNsYXRlPVwiQHByeS5pbXBvcnQuc2VsZWN0RmlsZVwiXG4gICAgICAgICAgPjwvcHJ5LXVwbG9hZD5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1oM1wiIGZvcj1cImRhdGFzZXRzXCI+e3sgJ0BwcnkuaW1wb3J0LmRhdGFzZXRJbXBvcnQnIHwgaTE4biB9fTwvbGFiZWw+XG4gICAgICAgIDxwcnktc2VsZWN0XG4gICAgICAgICAgaWQ9XCJkYXRhc2V0c1wiXG4gICAgICAgICAgW2l0ZW1zXT1cImRhdGFzZXRzJCB8IGFzeW5jXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkRGF0YXNldFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiZ2V0TGFzdEFjdGl2ZVZlcnNpb24oJGV2ZW50KVwiXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cIidAcHJ5LmltcG9ydC5kYXRhc2V0JyB8IGkxOG5cIlxuICAgICAgICAgIGJpbmRMYWJlbD1cIm5hbWVcIlxuICAgICAgICA+PC9wcnktc2VsZWN0PlxuICAgICAgPC9kaXY+XG4gICAgICA8cHJ5LWNoZWNrYm94IFsobmdNb2RlbCldPVwibm9ybWFsaXplR2VvU2hhcGVcIj57eyAnQHByeS5pbXBvcnQubm9ybWFsaXplJyB8IGkxOG4gfX08L3ByeS1jaGVja2JveD5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1oM1wiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWN0aW9uRGF0ZScgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwiYS1mb3JtLWZpZWxkXCIgdHlwZT1cImRhdGV0aW1lLWxvY2FsXCIgW21heF09XCJtYXhEYXRlXCIgWyhuZ01vZGVsKV09XCJwcm9kdWN0aW9uRGF0ZVwiIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtLWZvcm0tbGFiZWwtZmllbGRcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiYS1oM1wiPnt7ICdAcHJ5LmRhdGFzZXQudmVyc2lvbi5wcm9kdWNlcicgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgPGlucHV0IGNsYXNzPVwiYS1mb3JtLWZpZWxkXCIgdHlwZT1cInRleHRcIiBtYXhsZW5ndGg9XCIxMDBcIiBbKG5nTW9kZWwpXT1cInByb2R1Y2VyXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm0tZm9ybS1sYWJlbC1maWVsZFwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJhLWgzXCI+e3sgJ0BwcnkuZGF0YXNldC52ZXJzaW9uLmFkZGl0aW9uYWxJbmZvcm1hdGlvbicgfCBpMThuIH19PC9sYWJlbD5cbiAgICAgICAgPHByeS10ZXh0LWVkaXRvciBbKG5nTW9kZWwpXT1cImFkZGl0aW9uYWxJbmZvcm1hdGlvblwiPjwvcHJ5LXRleHQtZWRpdG9yPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1pbXBvcnRfX2NvbnRhaW5lcl9faW5wdXRfX2FjdGlvbnNcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCIgKGNsaWNrKT1cInN1Ym1pdCgpXCIgW2Rpc2FibGVkXT1cImlzU3VibWl0RGlzYWJsZWQoKVwiPlxuICAgICAgICAgIHt7ICdAcHJ5LmltcG9ydC5pbXBvcnQnIHwgaTE4biB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93TWVzc2FnZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8taW1wb3J0X19yZXN1bHRcIj5cbiAgICAgICAgPGgxPlxuICAgICAgICAgIHt7XG4gICAgICAgICAgICAnQHByeS5pbXBvcnQuY29uc3VsdERhdGFzZXQnXG4gICAgICAgICAgICAgIHwgaTE4blxuICAgICAgICAgICAgICAgIDogeyBwYXJhbWV0ZXI6IHNlbGVjdGVkRGF0YXNldD8uaWQgPz8gJycgfCB0cmFuc2xhdGVJZDogeyB0eXBlOiAnZGF0YXNvdXJjZScsIG91dHB1dDogJ25hbWUnIH0gfCBhc3luYyB9XG4gICAgICAgICAgfX1cbiAgICAgICAgPC9oMT5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -265,7 +265,7 @@ class PryTextEditorComponent {
265
265
  multi: true,
266
266
  useExisting: PryTextEditorComponent
267
267
  }
268
- ], viewQueries: [{ propertyName: "textareaRef", first: true, predicate: ["textarea"], descendants: true }], ngImport: i0, template: "<pry-text-editor-css></pry-text-editor-css>\n<div class=\"o-text-editor\">\n <div class=\"o-text-editor__header\">\n <div class=\"o-text-editor__buttons\">\n @for (button of buttons; track button.style) {\n <button\n type=\"button\"\n class=\"o-text-editor__button a-tooltip\"\n (click)=\"formatText(button.style)\"\n [attr.data-tooltip]=\"'@pry.component.textEditor.' + button.style | i18n\"\n data-tooltip-position=\"bottom\"\n [attr.aria-label]=\"'@pry.component.textEditor.' + button.style | i18n\"\n >\n <pry-icon [height]=\"16\" [width]=\"16\" [iconSvg]=\"button.icon\"></pry-icon>\n </button>\n }\n </div>\n </div>\n <div class=\"o-text-editor__content\">\n @if (tabView) {\n <div\n class=\"o-text-editor__tab-panel\"\n [id]=\"'text-editor-panel-' + activeTab\"\n [attr.aria-labelledby]=\"'text-editor-tab-' + getActiveTabIndex()\"\n >\n @if (activeTab === 'write') {\n <textarea\n class=\"o-text-editor__textarea a-form-field -full-width -remove-corner-radius\"\n cols=\"64\"\n rows=\"10\"\n [(ngModel)]=\"value\"\n [attr.aria-label]=\"'@pry.component.textEditor.textAreaLabel' | i18n\"\n (keydown.enter)=\"insertListStyleCharacter()\"\n #textarea\n >\n </textarea>\n } @else {\n <div class=\"o-text-editor__preview\" [innerHTML]=\"value | mdToHtml\"></div>\n }\n </div>\n } @else {\n <textarea\n class=\"o-text-editor__textarea a-form-field -half-width\"\n cols=\"64\"\n rows=\"10\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [attr.aria-label]=\"'@pry.component.textEditor.textAreaLabel' | i18n\"\n (keydown.enter)=\"insertListStyleCharacter()\"\n #textarea\n >\n </textarea>\n <div class=\"o-text-editor__preview\" [innerHTML]=\"value | mdToHtml\"></div>\n }\n </div>\n @if (tabView) {\n <div class=\"o-text-editor__tabs\">\n @for (tab of tabs; track tab; let i = $index) {\n <button\n type=\"button\"\n role=\"tab\"\n class=\"o-text-editor__tab\"\n [id]=\"'text-editor-tab-' + i\"\n [class.-active]=\"tab === activeTab\"\n [attr.aria-selected]=\"tab === activeTab\"\n [attr.aria-controls]=\"'text-editor-panel-' + activeTab\"\n (click)=\"activeTab = tab\"\n >\n {{ '@pry.component.textEditor.' + tab | i18n }}\n </button>\n }\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: PryTextEditorCssComponent, selector: "pry-text-editor-css" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: MdToHtmlPipe, name: "mdToHtml" }] }); }
268
+ ], viewQueries: [{ propertyName: "textareaRef", first: true, predicate: ["textarea"], descendants: true }], ngImport: i0, template: "<pry-text-editor-css></pry-text-editor-css>\n<div class=\"o-text-editor\">\n <div class=\"o-text-editor__header\">\n <div class=\"o-text-editor__buttons\">\n @for (button of buttons; track button.style) {\n <button\n type=\"button\"\n class=\"o-text-editor__button a-tooltip\"\n (click)=\"formatText(button.style)\"\n [attr.data-tooltip]=\"'@pry.component.textEditor.' + button.style | i18n\"\n data-tooltip-position=\"bottom\"\n [attr.aria-label]=\"'@pry.component.textEditor.' + button.style | i18n\"\n >\n <pry-icon [height]=\"16\" [width]=\"16\" [iconSvg]=\"button.icon\"></pry-icon>\n </button>\n }\n </div>\n </div>\n <div class=\"o-text-editor__content\">\n @if (tabView) {\n <div\n class=\"o-text-editor__tab-panel\"\n [id]=\"'text-editor-panel-' + activeTab\"\n [attr.aria-labelledby]=\"'text-editor-tab-' + getActiveTabIndex()\"\n >\n @if (activeTab === 'write') {\n <textarea\n class=\"o-text-editor__textarea a-form-field -full-width -remove-corner-radius\"\n cols=\"64\"\n rows=\"10\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [attr.aria-label]=\"'@pry.component.textEditor.textAreaLabel' | i18n\"\n (keydown.enter)=\"insertListStyleCharacter()\"\n #textarea\n >\n </textarea>\n } @else {\n <div class=\"o-text-editor__preview\" [innerHTML]=\"value | mdToHtml\"></div>\n }\n </div>\n } @else {\n <textarea\n class=\"o-text-editor__textarea a-form-field -half-width\"\n cols=\"64\"\n rows=\"10\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [attr.aria-label]=\"'@pry.component.textEditor.textAreaLabel' | i18n\"\n (keydown.enter)=\"insertListStyleCharacter()\"\n #textarea\n >\n </textarea>\n <div class=\"o-text-editor__preview\" [innerHTML]=\"value | mdToHtml\"></div>\n }\n </div>\n @if (tabView) {\n <div class=\"o-text-editor__tabs\">\n @for (tab of tabs; track tab; let i = $index) {\n <button\n type=\"button\"\n role=\"tab\"\n class=\"o-text-editor__tab\"\n [id]=\"'text-editor-tab-' + i\"\n [class.-active]=\"tab === activeTab\"\n [attr.aria-selected]=\"tab === activeTab\"\n [attr.aria-controls]=\"'text-editor-panel-' + activeTab\"\n (click)=\"activeTab = tab\"\n >\n {{ '@pry.component.textEditor.' + tab | i18n }}\n </button>\n }\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: PryTextEditorCssComponent, selector: "pry-text-editor-css" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: MdToHtmlPipe, name: "mdToHtml" }] }); }
269
269
  }
270
270
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryTextEditorComponent, decorators: [{
271
271
  type: Component,
@@ -275,7 +275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
275
275
  multi: true,
276
276
  useExisting: PryTextEditorComponent
277
277
  }
278
- ], template: "<pry-text-editor-css></pry-text-editor-css>\n<div class=\"o-text-editor\">\n <div class=\"o-text-editor__header\">\n <div class=\"o-text-editor__buttons\">\n @for (button of buttons; track button.style) {\n <button\n type=\"button\"\n class=\"o-text-editor__button a-tooltip\"\n (click)=\"formatText(button.style)\"\n [attr.data-tooltip]=\"'@pry.component.textEditor.' + button.style | i18n\"\n data-tooltip-position=\"bottom\"\n [attr.aria-label]=\"'@pry.component.textEditor.' + button.style | i18n\"\n >\n <pry-icon [height]=\"16\" [width]=\"16\" [iconSvg]=\"button.icon\"></pry-icon>\n </button>\n }\n </div>\n </div>\n <div class=\"o-text-editor__content\">\n @if (tabView) {\n <div\n class=\"o-text-editor__tab-panel\"\n [id]=\"'text-editor-panel-' + activeTab\"\n [attr.aria-labelledby]=\"'text-editor-tab-' + getActiveTabIndex()\"\n >\n @if (activeTab === 'write') {\n <textarea\n class=\"o-text-editor__textarea a-form-field -full-width -remove-corner-radius\"\n cols=\"64\"\n rows=\"10\"\n [(ngModel)]=\"value\"\n [attr.aria-label]=\"'@pry.component.textEditor.textAreaLabel' | i18n\"\n (keydown.enter)=\"insertListStyleCharacter()\"\n #textarea\n >\n </textarea>\n } @else {\n <div class=\"o-text-editor__preview\" [innerHTML]=\"value | mdToHtml\"></div>\n }\n </div>\n } @else {\n <textarea\n class=\"o-text-editor__textarea a-form-field -half-width\"\n cols=\"64\"\n rows=\"10\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [attr.aria-label]=\"'@pry.component.textEditor.textAreaLabel' | i18n\"\n (keydown.enter)=\"insertListStyleCharacter()\"\n #textarea\n >\n </textarea>\n <div class=\"o-text-editor__preview\" [innerHTML]=\"value | mdToHtml\"></div>\n }\n </div>\n @if (tabView) {\n <div class=\"o-text-editor__tabs\">\n @for (tab of tabs; track tab; let i = $index) {\n <button\n type=\"button\"\n role=\"tab\"\n class=\"o-text-editor__tab\"\n [id]=\"'text-editor-tab-' + i\"\n [class.-active]=\"tab === activeTab\"\n [attr.aria-selected]=\"tab === activeTab\"\n [attr.aria-controls]=\"'text-editor-panel-' + activeTab\"\n (click)=\"activeTab = tab\"\n >\n {{ '@pry.component.textEditor.' + tab | i18n }}\n </button>\n }\n </div>\n }\n</div>\n" }]
278
+ ], template: "<pry-text-editor-css></pry-text-editor-css>\n<div class=\"o-text-editor\">\n <div class=\"o-text-editor__header\">\n <div class=\"o-text-editor__buttons\">\n @for (button of buttons; track button.style) {\n <button\n type=\"button\"\n class=\"o-text-editor__button a-tooltip\"\n (click)=\"formatText(button.style)\"\n [attr.data-tooltip]=\"'@pry.component.textEditor.' + button.style | i18n\"\n data-tooltip-position=\"bottom\"\n [attr.aria-label]=\"'@pry.component.textEditor.' + button.style | i18n\"\n >\n <pry-icon [height]=\"16\" [width]=\"16\" [iconSvg]=\"button.icon\"></pry-icon>\n </button>\n }\n </div>\n </div>\n <div class=\"o-text-editor__content\">\n @if (tabView) {\n <div\n class=\"o-text-editor__tab-panel\"\n [id]=\"'text-editor-panel-' + activeTab\"\n [attr.aria-labelledby]=\"'text-editor-tab-' + getActiveTabIndex()\"\n >\n @if (activeTab === 'write') {\n <textarea\n class=\"o-text-editor__textarea a-form-field -full-width -remove-corner-radius\"\n cols=\"64\"\n rows=\"10\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [attr.aria-label]=\"'@pry.component.textEditor.textAreaLabel' | i18n\"\n (keydown.enter)=\"insertListStyleCharacter()\"\n #textarea\n >\n </textarea>\n } @else {\n <div class=\"o-text-editor__preview\" [innerHTML]=\"value | mdToHtml\"></div>\n }\n </div>\n } @else {\n <textarea\n class=\"o-text-editor__textarea a-form-field -half-width\"\n cols=\"64\"\n rows=\"10\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [attr.aria-label]=\"'@pry.component.textEditor.textAreaLabel' | i18n\"\n (keydown.enter)=\"insertListStyleCharacter()\"\n #textarea\n >\n </textarea>\n <div class=\"o-text-editor__preview\" [innerHTML]=\"value | mdToHtml\"></div>\n }\n </div>\n @if (tabView) {\n <div class=\"o-text-editor__tabs\">\n @for (tab of tabs; track tab; let i = $index) {\n <button\n type=\"button\"\n role=\"tab\"\n class=\"o-text-editor__tab\"\n [id]=\"'text-editor-tab-' + i\"\n [class.-active]=\"tab === activeTab\"\n [attr.aria-selected]=\"tab === activeTab\"\n [attr.aria-controls]=\"'text-editor-panel-' + activeTab\"\n (click)=\"activeTab = tab\"\n >\n {{ '@pry.component.textEditor.' + tab | i18n }}\n </button>\n }\n </div>\n }\n</div>\n" }]
279
279
  }], ctorParameters: () => [{ type: TextEditorService }], propDecorators: { tabView: [{
280
280
  type: Input
281
281
  }], textareaRef: [{
@@ -1 +1 @@
1
- {"version":3,"file":"provoly-dashboard-components-text-editor.mjs","sources":["../../../../projects/provoly/dashboard/components/text-editor/style/css.component.ts","../../../../projects/provoly/dashboard/components/text-editor/service/text-editor.service.ts","../../../../projects/provoly/dashboard/components/text-editor/mdToHtml.pipe.ts","../../../../projects/provoly/dashboard/components/text-editor/component/text-editor.component.ts","../../../../projects/provoly/dashboard/components/text-editor/component/text-editor.component.html","../../../../projects/provoly/dashboard/components/text-editor/i18n/en.translations.ts","../../../../projects/provoly/dashboard/components/text-editor/i18n/fr.translations.ts","../../../../projects/provoly/dashboard/components/text-editor/text-editor.module.ts","../../../../projects/provoly/dashboard/components/text-editor/provoly-dashboard-components-text-editor.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-text-editor-css',\n template: '',\n styleUrls: ['./_o-text-editor.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryTextEditorCssComponent {}\n","import { Injectable } from '@angular/core';\n\nexport const mdStyles = {\n h1: '# ',\n h2: '## ',\n h3: '### ',\n h4: '#### ',\n h5: '##### ',\n h6: '###### ',\n bold: '**',\n italic: '*',\n underline: '<u>',\n strikeThrough: '~~',\n code: '`',\n blockquote: '> ',\n list: '- ',\n orderedList: '\\\\d+\\\\. ',\n table: '| | |\\n| --- | --- |\\n| | |',\n details: '<details>\\n<summary></summary>\\n'\n};\n\nexport type MdStyle = keyof typeof mdStyles;\n\nexport const wrapperStyles: MdStyle[] = ['bold', 'italic', 'underline', 'strikeThrough', 'code'];\nexport const selfClosingStyles: MdStyle[] = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\nexport const listStyles: MdStyle[] = ['blockquote', 'list', 'orderedList'];\nexport const otherStyles: MdStyle[] = ['table', 'details'];\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TextEditorService {\n constructor() {}\n\n getClosingTag(style: MdStyle) {\n switch (style) {\n case 'underline':\n return '</u>';\n case 'details':\n return '\\n</details>';\n case 'bold':\n case 'italic':\n case 'strikeThrough':\n case 'code':\n return mdStyles[style];\n default:\n return '';\n }\n }\n\n addMarkdown(text: string, style: MdStyle) {\n if (wrapperStyles.includes(style)) {\n return this.toggleWrapperStyle(text, style);\n }\n if (selfClosingStyles.includes(style)) {\n return this.toggleSelfClosingStyle(text, style);\n }\n if (listStyles.includes(style)) {\n return this.toggleListStyle(text, style);\n }\n if (otherStyles.includes(style)) {\n return this.insertOtherStyle(text, style);\n }\n console.error(`Markdown style ${style} not supported`);\n return text;\n }\n\n toggleWrapperStyle(text: string, style: MdStyle) {\n if (text.startsWith(mdStyles[style])) {\n const startRegex = new RegExp(`^${this.escapeRegExp(mdStyles[style])}`);\n const endRegex = new RegExp(`${this.escapeRegExp(this.getClosingTag(style))}$`);\n return text.replace(startRegex, '').replace(endRegex, '');\n }\n return `${mdStyles[style]}${text}${this.getClosingTag(style)}`;\n }\n\n toggleSelfClosingStyle(text: string, style: MdStyle) {\n if (text.startsWith(mdStyles[style])) {\n const startRegex = new RegExp(`^${this.escapeRegExp(mdStyles[style])}`);\n return text.replace(startRegex, '');\n }\n return `${mdStyles[style]}${text}`;\n }\n\n toggleListStyle(text: string, style: MdStyle) {\n const listStyle = mdStyles[style];\n const lines = text.split('\\n');\n const startRegex = new RegExp(`^${style === 'orderedList' ? listStyle : this.escapeRegExp(listStyle)}`);\n const isListAlready = lines.every((line) => startRegex.test(line));\n const newLines = lines.map((line, index) => {\n if (isListAlready) {\n return line.replace(startRegex, '');\n }\n return `${style === 'orderedList' ? (index + 1).toString() + '. ' : listStyle}${line}`;\n });\n return newLines.join('\\n');\n }\n\n insertOtherStyle(text: string, style: MdStyle) {\n return `${mdStyles[style]}${text}${this.getClosingTag(style)}`;\n }\n\n escapeRegExp(text: string): string {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n }\n\n isListLine(line: string) {\n return /^(\\d+\\.|- |\\* |\\> )/.test(line);\n }\n\n isOrderedListLine(text: string) {\n return /^\\d+\\./.test(text);\n }\n\n getListCharacter(previousLine: string) {\n if (this.isOrderedListLine(previousLine)) {\n const match = previousLine.match(/^\\d+/)?.[0];\n return (parseInt(match ?? '1') + 1).toString() + '. ';\n }\n if (/^- /.test(previousLine)) {\n return '- ';\n }\n if (/^\\* /.test(previousLine)) {\n return '* ';\n }\n if (/^\\> /.test(previousLine)) {\n return '> ';\n }\n return 'list';\n }\n\n updateOrderedListLines(text: string) {\n let order = 1;\n return text\n .split('\\n')\n .map((line) => {\n if (/^\\d+\\./.test(line)) {\n return line.replace(/^\\d+\\. /, `${order++}. `);\n }\n order = 1;\n return line;\n })\n .join('\\n');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { marked } from 'marked';\n\n@Pipe({\n name: 'mdToHtml'\n})\nexport class MdToHtmlPipe implements PipeTransform {\n transform(value?: string): string | Promise<string> {\n return marked.parse(value ?? '');\n }\n}\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { listStyles, MdStyle, TextEditorService } from '../service/text-editor.service';\nimport { distinctUntilChanged, Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-text-editor',\n templateUrl: 'text-editor.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: PryTextEditorComponent\n }\n ]\n})\nexport class PryTextEditorComponent implements ControlValueAccessor {\n value = '';\n onChange = (value: string) => {};\n onTouched = () => {};\n touched = false;\n disabled = false;\n valueChanged$ = new Subject<string>();\n\n @Input() tabView = true;\n tabs = ['write', 'preview'];\n activeTab = 'write';\n\n @ViewChild('textarea') textareaRef?: ElementRef<HTMLTextAreaElement>;\n buttons: { style: MdStyle; icon: string }[] = [\n { style: 'h3', icon: 'format_title' },\n { style: 'bold', icon: 'format_bold' },\n { style: 'italic', icon: 'format_italic' },\n { style: 'underline', icon: 'format_underlined' },\n { style: 'strikeThrough', icon: 'format_strikethrough' },\n { style: 'blockquote', icon: 'format_quote' },\n { style: 'list', icon: 'format_list_bulleted' },\n { style: 'orderedList', icon: 'format_list_numbered' },\n { style: 'table', icon: 'format_table' },\n { style: 'details', icon: 'format_details' }\n ];\n\n constructor(private service: TextEditorService) {\n this.valueChanged$.pipe(debounceTime(500), distinctUntilChanged()).subscribe((value) => {\n this.onChange(value);\n });\n }\n\n writeValue(value: string) {\n this.value = value;\n }\n\n registerOnChange(onChange: any) {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouched: any) {\n this.onTouched = onTouched;\n }\n\n markAsTouched() {\n if (!this.touched) {\n this.onTouched();\n this.touched = true;\n }\n }\n\n setDisabledState(disabled: boolean) {\n this.disabled = disabled;\n }\n\n onValueChange($event: string) {\n this.valueChanged$.next($event);\n }\n\n get textarea(): HTMLTextAreaElement {\n return this.textareaRef!.nativeElement;\n }\n\n getActiveTabIndex(): number {\n return this.tabs.findIndex((t) => t === this.activeTab);\n }\n\n formatText(style: MdStyle) {\n const start = listStyles.includes(style) ? this.getSelectionLineIndex() : this.textarea.selectionStart,\n selection = this.value.substring(start, this.textarea.selectionEnd);\n\n this.writeValue(this.getUpdatedValue(this.service.addMarkdown(selection, style), start));\n this.onChange(this.value);\n\n this.focusSelection(start, start + this.service.addMarkdown(selection, style).length);\n }\n\n getUpdatedValue(value: string, lineStart?: number) {\n const len = this.value.length,\n start = lineStart ?? this.textarea.selectionStart;\n return this.value.substring(0, start) + value + this.value.substring(this.textarea.selectionEnd, len);\n }\n\n getSelectionLineIndex() {\n const previousNewlineIndex = this.value.substring(0, this.textarea.selectionStart).lastIndexOf('\\n');\n return previousNewlineIndex ? previousNewlineIndex + 1 : 0;\n }\n\n focusSelection(start: number, end: number) {\n setTimeout(() => {\n this.textarea.focus();\n this.textarea.setSelectionRange(start, end);\n });\n }\n\n insertListStyleCharacter() {\n setTimeout(() => {\n const start = 0;\n const end = this.textarea.selectionStart;\n const text = this.value.substring(start, end);\n const previousLine = text?.split('\\n')[text?.split('\\n').length - 2];\n if (previousLine && this.service.isListLine(previousLine)) {\n const updatedValue = this.getUpdatedValue(this.service.getListCharacter(previousLine));\n this.writeValue(\n this.service.isOrderedListLine(previousLine)\n ? this.service.updateOrderedListLines(updatedValue)\n : updatedValue\n );\n this.onChange(this.value);\n }\n });\n }\n}\n","<pry-text-editor-css></pry-text-editor-css>\n<div class=\"o-text-editor\">\n <div class=\"o-text-editor__header\">\n <div class=\"o-text-editor__buttons\">\n @for (button of buttons; track button.style) {\n <button\n type=\"button\"\n class=\"o-text-editor__button a-tooltip\"\n (click)=\"formatText(button.style)\"\n [attr.data-tooltip]=\"'@pry.component.textEditor.' + button.style | i18n\"\n data-tooltip-position=\"bottom\"\n [attr.aria-label]=\"'@pry.component.textEditor.' + button.style | i18n\"\n >\n <pry-icon [height]=\"16\" [width]=\"16\" [iconSvg]=\"button.icon\"></pry-icon>\n </button>\n }\n </div>\n </div>\n <div class=\"o-text-editor__content\">\n @if (tabView) {\n <div\n class=\"o-text-editor__tab-panel\"\n [id]=\"'text-editor-panel-' + activeTab\"\n [attr.aria-labelledby]=\"'text-editor-tab-' + getActiveTabIndex()\"\n >\n @if (activeTab === 'write') {\n <textarea\n class=\"o-text-editor__textarea a-form-field -full-width -remove-corner-radius\"\n cols=\"64\"\n rows=\"10\"\n [(ngModel)]=\"value\"\n [attr.aria-label]=\"'@pry.component.textEditor.textAreaLabel' | i18n\"\n (keydown.enter)=\"insertListStyleCharacter()\"\n #textarea\n >\n </textarea>\n } @else {\n <div class=\"o-text-editor__preview\" [innerHTML]=\"value | mdToHtml\"></div>\n }\n </div>\n } @else {\n <textarea\n class=\"o-text-editor__textarea a-form-field -half-width\"\n cols=\"64\"\n rows=\"10\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [attr.aria-label]=\"'@pry.component.textEditor.textAreaLabel' | i18n\"\n (keydown.enter)=\"insertListStyleCharacter()\"\n #textarea\n >\n </textarea>\n <div class=\"o-text-editor__preview\" [innerHTML]=\"value | mdToHtml\"></div>\n }\n </div>\n @if (tabView) {\n <div class=\"o-text-editor__tabs\">\n @for (tab of tabs; track tab; let i = $index) {\n <button\n type=\"button\"\n role=\"tab\"\n class=\"o-text-editor__tab\"\n [id]=\"'text-editor-tab-' + i\"\n [class.-active]=\"tab === activeTab\"\n [attr.aria-selected]=\"tab === activeTab\"\n [attr.aria-controls]=\"'text-editor-panel-' + activeTab\"\n (click)=\"activeTab = tab\"\n >\n {{ '@pry.component.textEditor.' + tab | i18n }}\n </button>\n }\n </div>\n }\n</div>\n","export const enTranslations = {\n '@pry': {\n component: {\n textEditor: {\n textAreaLabel: 'Text editor',\n preview: 'Preview',\n write: 'Write',\n h3: 'Title',\n bold: 'Bold',\n italic: 'Italic',\n underline: 'Underline',\n strikeThrough: 'Strikethrough',\n blockquote: 'Quote',\n list: 'List',\n orderedList: 'Ordered list',\n table: 'Table',\n details: 'Details',\n more: 'More'\n }\n }\n }\n};\n","export const frTranslations = {\n '@pry': {\n component: {\n textEditor: {\n textAreaLabel: 'Éditeur de texte',\n preview: 'Aperçu',\n write: 'Écrire',\n h3: 'Titre',\n bold: 'Gras',\n italic: 'Italique',\n underline: 'Souligné',\n strikeThrough: 'Barré',\n blockquote: 'Citation',\n list: 'Liste',\n orderedList: 'Liste ordonnée',\n table: 'Tableau',\n details: 'Détails',\n more: 'Voir plus'\n }\n }\n }\n};\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { PryCoreModule, PryI18nModule, PryI18nService, PryIconModule } from '@provoly/dashboard';\nimport { PryTextEditorCssComponent } from './style/css.component';\nimport { PryTextEditorComponent } from './component/text-editor.component';\nimport { MdToHtmlPipe } from './mdToHtml.pipe';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { PryToolboxModule } from '@provoly/dashboard/toolbox';\n\n@NgModule({\n declarations: [PryTextEditorComponent, PryTextEditorCssComponent, MdToHtmlPipe],\n exports: [PryTextEditorComponent, MdToHtmlPipe],\n imports: [CommonModule, FormsModule, ReactiveFormsModule, PryCoreModule, PryIconModule, PryI18nModule, CdkOverlayOrigin, CdkConnectedOverlay, PryToolboxModule]\n})\nexport class PryTextEditorModule {\n constructor(private pryTranslateService: PryI18nService) {\n this.pryTranslateService.addLangObject('fr', 'textEditor', frTranslations);\n this.pryTranslateService.addLangObject('en', 'textEditor', enTranslations);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TextEditorService","i4.PryTextEditorCssComponent","i5.MdToHtmlPipe","i1"],"mappings":"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"}
1
+ {"version":3,"file":"provoly-dashboard-components-text-editor.mjs","sources":["../../../../projects/provoly/dashboard/components/text-editor/style/css.component.ts","../../../../projects/provoly/dashboard/components/text-editor/service/text-editor.service.ts","../../../../projects/provoly/dashboard/components/text-editor/mdToHtml.pipe.ts","../../../../projects/provoly/dashboard/components/text-editor/component/text-editor.component.ts","../../../../projects/provoly/dashboard/components/text-editor/component/text-editor.component.html","../../../../projects/provoly/dashboard/components/text-editor/i18n/en.translations.ts","../../../../projects/provoly/dashboard/components/text-editor/i18n/fr.translations.ts","../../../../projects/provoly/dashboard/components/text-editor/text-editor.module.ts","../../../../projects/provoly/dashboard/components/text-editor/provoly-dashboard-components-text-editor.ts"],"sourcesContent":["import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-text-editor-css',\n template: '',\n styleUrls: ['./_o-text-editor.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryTextEditorCssComponent {}\n","import { Injectable } from '@angular/core';\n\nexport const mdStyles = {\n h1: '# ',\n h2: '## ',\n h3: '### ',\n h4: '#### ',\n h5: '##### ',\n h6: '###### ',\n bold: '**',\n italic: '*',\n underline: '<u>',\n strikeThrough: '~~',\n code: '`',\n blockquote: '> ',\n list: '- ',\n orderedList: '\\\\d+\\\\. ',\n table: '| | |\\n| --- | --- |\\n| | |',\n details: '<details>\\n<summary></summary>\\n'\n};\n\nexport type MdStyle = keyof typeof mdStyles;\n\nexport const wrapperStyles: MdStyle[] = ['bold', 'italic', 'underline', 'strikeThrough', 'code'];\nexport const selfClosingStyles: MdStyle[] = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'];\nexport const listStyles: MdStyle[] = ['blockquote', 'list', 'orderedList'];\nexport const otherStyles: MdStyle[] = ['table', 'details'];\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TextEditorService {\n constructor() {}\n\n getClosingTag(style: MdStyle) {\n switch (style) {\n case 'underline':\n return '</u>';\n case 'details':\n return '\\n</details>';\n case 'bold':\n case 'italic':\n case 'strikeThrough':\n case 'code':\n return mdStyles[style];\n default:\n return '';\n }\n }\n\n addMarkdown(text: string, style: MdStyle) {\n if (wrapperStyles.includes(style)) {\n return this.toggleWrapperStyle(text, style);\n }\n if (selfClosingStyles.includes(style)) {\n return this.toggleSelfClosingStyle(text, style);\n }\n if (listStyles.includes(style)) {\n return this.toggleListStyle(text, style);\n }\n if (otherStyles.includes(style)) {\n return this.insertOtherStyle(text, style);\n }\n console.error(`Markdown style ${style} not supported`);\n return text;\n }\n\n toggleWrapperStyle(text: string, style: MdStyle) {\n if (text.startsWith(mdStyles[style])) {\n const startRegex = new RegExp(`^${this.escapeRegExp(mdStyles[style])}`);\n const endRegex = new RegExp(`${this.escapeRegExp(this.getClosingTag(style))}$`);\n return text.replace(startRegex, '').replace(endRegex, '');\n }\n return `${mdStyles[style]}${text}${this.getClosingTag(style)}`;\n }\n\n toggleSelfClosingStyle(text: string, style: MdStyle) {\n if (text.startsWith(mdStyles[style])) {\n const startRegex = new RegExp(`^${this.escapeRegExp(mdStyles[style])}`);\n return text.replace(startRegex, '');\n }\n return `${mdStyles[style]}${text}`;\n }\n\n toggleListStyle(text: string, style: MdStyle) {\n const listStyle = mdStyles[style];\n const lines = text.split('\\n');\n const startRegex = new RegExp(`^${style === 'orderedList' ? listStyle : this.escapeRegExp(listStyle)}`);\n const isListAlready = lines.every((line) => startRegex.test(line));\n const newLines = lines.map((line, index) => {\n if (isListAlready) {\n return line.replace(startRegex, '');\n }\n return `${style === 'orderedList' ? (index + 1).toString() + '. ' : listStyle}${line}`;\n });\n return newLines.join('\\n');\n }\n\n insertOtherStyle(text: string, style: MdStyle) {\n return `${mdStyles[style]}${text}${this.getClosingTag(style)}`;\n }\n\n escapeRegExp(text: string): string {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n }\n\n isListLine(line: string) {\n return /^(\\d+\\.|- |\\* |\\> )/.test(line);\n }\n\n isOrderedListLine(text: string) {\n return /^\\d+\\./.test(text);\n }\n\n getListCharacter(previousLine: string) {\n if (this.isOrderedListLine(previousLine)) {\n const match = previousLine.match(/^\\d+/)?.[0];\n return (parseInt(match ?? '1') + 1).toString() + '. ';\n }\n if (/^- /.test(previousLine)) {\n return '- ';\n }\n if (/^\\* /.test(previousLine)) {\n return '* ';\n }\n if (/^\\> /.test(previousLine)) {\n return '> ';\n }\n return 'list';\n }\n\n updateOrderedListLines(text: string) {\n let order = 1;\n return text\n .split('\\n')\n .map((line) => {\n if (/^\\d+\\./.test(line)) {\n return line.replace(/^\\d+\\. /, `${order++}. `);\n }\n order = 1;\n return line;\n })\n .join('\\n');\n }\n}\n","import { Pipe, PipeTransform } from '@angular/core';\nimport { marked } from 'marked';\n\n@Pipe({\n name: 'mdToHtml'\n})\nexport class MdToHtmlPipe implements PipeTransform {\n transform(value?: string): string | Promise<string> {\n return marked.parse(value ?? '');\n }\n}\n","import { Component, ElementRef, Input, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { listStyles, MdStyle, TextEditorService } from '../service/text-editor.service';\nimport { distinctUntilChanged, Subject } from 'rxjs';\nimport { debounceTime } from 'rxjs/operators';\n\n@Component({\n selector: 'pry-text-editor',\n templateUrl: 'text-editor.component.html',\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: PryTextEditorComponent\n }\n ]\n})\nexport class PryTextEditorComponent implements ControlValueAccessor {\n value = '';\n onChange = (value: string) => {};\n onTouched = () => {};\n touched = false;\n disabled = false;\n valueChanged$ = new Subject<string>();\n\n @Input() tabView = true;\n tabs = ['write', 'preview'];\n activeTab = 'write';\n\n @ViewChild('textarea') textareaRef?: ElementRef<HTMLTextAreaElement>;\n buttons: { style: MdStyle; icon: string }[] = [\n { style: 'h3', icon: 'format_title' },\n { style: 'bold', icon: 'format_bold' },\n { style: 'italic', icon: 'format_italic' },\n { style: 'underline', icon: 'format_underlined' },\n { style: 'strikeThrough', icon: 'format_strikethrough' },\n { style: 'blockquote', icon: 'format_quote' },\n { style: 'list', icon: 'format_list_bulleted' },\n { style: 'orderedList', icon: 'format_list_numbered' },\n { style: 'table', icon: 'format_table' },\n { style: 'details', icon: 'format_details' }\n ];\n\n constructor(private service: TextEditorService) {\n this.valueChanged$.pipe(debounceTime(500), distinctUntilChanged()).subscribe((value) => {\n this.onChange(value);\n });\n }\n\n writeValue(value: string) {\n this.value = value;\n }\n\n registerOnChange(onChange: any) {\n this.onChange = onChange;\n }\n\n registerOnTouched(onTouched: any) {\n this.onTouched = onTouched;\n }\n\n markAsTouched() {\n if (!this.touched) {\n this.onTouched();\n this.touched = true;\n }\n }\n\n setDisabledState(disabled: boolean) {\n this.disabled = disabled;\n }\n\n onValueChange($event: string) {\n this.valueChanged$.next($event);\n }\n\n get textarea(): HTMLTextAreaElement {\n return this.textareaRef!.nativeElement;\n }\n\n getActiveTabIndex(): number {\n return this.tabs.findIndex((t) => t === this.activeTab);\n }\n\n formatText(style: MdStyle) {\n const start = listStyles.includes(style) ? this.getSelectionLineIndex() : this.textarea.selectionStart,\n selection = this.value.substring(start, this.textarea.selectionEnd);\n\n this.writeValue(this.getUpdatedValue(this.service.addMarkdown(selection, style), start));\n this.onChange(this.value);\n\n this.focusSelection(start, start + this.service.addMarkdown(selection, style).length);\n }\n\n getUpdatedValue(value: string, lineStart?: number) {\n const len = this.value.length,\n start = lineStart ?? this.textarea.selectionStart;\n return this.value.substring(0, start) + value + this.value.substring(this.textarea.selectionEnd, len);\n }\n\n getSelectionLineIndex() {\n const previousNewlineIndex = this.value.substring(0, this.textarea.selectionStart).lastIndexOf('\\n');\n return previousNewlineIndex ? previousNewlineIndex + 1 : 0;\n }\n\n focusSelection(start: number, end: number) {\n setTimeout(() => {\n this.textarea.focus();\n this.textarea.setSelectionRange(start, end);\n });\n }\n\n insertListStyleCharacter() {\n setTimeout(() => {\n const start = 0;\n const end = this.textarea.selectionStart;\n const text = this.value.substring(start, end);\n const previousLine = text?.split('\\n')[text?.split('\\n').length - 2];\n if (previousLine && this.service.isListLine(previousLine)) {\n const updatedValue = this.getUpdatedValue(this.service.getListCharacter(previousLine));\n this.writeValue(\n this.service.isOrderedListLine(previousLine)\n ? this.service.updateOrderedListLines(updatedValue)\n : updatedValue\n );\n this.onChange(this.value);\n }\n });\n }\n}\n","<pry-text-editor-css></pry-text-editor-css>\n<div class=\"o-text-editor\">\n <div class=\"o-text-editor__header\">\n <div class=\"o-text-editor__buttons\">\n @for (button of buttons; track button.style) {\n <button\n type=\"button\"\n class=\"o-text-editor__button a-tooltip\"\n (click)=\"formatText(button.style)\"\n [attr.data-tooltip]=\"'@pry.component.textEditor.' + button.style | i18n\"\n data-tooltip-position=\"bottom\"\n [attr.aria-label]=\"'@pry.component.textEditor.' + button.style | i18n\"\n >\n <pry-icon [height]=\"16\" [width]=\"16\" [iconSvg]=\"button.icon\"></pry-icon>\n </button>\n }\n </div>\n </div>\n <div class=\"o-text-editor__content\">\n @if (tabView) {\n <div\n class=\"o-text-editor__tab-panel\"\n [id]=\"'text-editor-panel-' + activeTab\"\n [attr.aria-labelledby]=\"'text-editor-tab-' + getActiveTabIndex()\"\n >\n @if (activeTab === 'write') {\n <textarea\n class=\"o-text-editor__textarea a-form-field -full-width -remove-corner-radius\"\n cols=\"64\"\n rows=\"10\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [attr.aria-label]=\"'@pry.component.textEditor.textAreaLabel' | i18n\"\n (keydown.enter)=\"insertListStyleCharacter()\"\n #textarea\n >\n </textarea>\n } @else {\n <div class=\"o-text-editor__preview\" [innerHTML]=\"value | mdToHtml\"></div>\n }\n </div>\n } @else {\n <textarea\n class=\"o-text-editor__textarea a-form-field -half-width\"\n cols=\"64\"\n rows=\"10\"\n [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"\n [attr.aria-label]=\"'@pry.component.textEditor.textAreaLabel' | i18n\"\n (keydown.enter)=\"insertListStyleCharacter()\"\n #textarea\n >\n </textarea>\n <div class=\"o-text-editor__preview\" [innerHTML]=\"value | mdToHtml\"></div>\n }\n </div>\n @if (tabView) {\n <div class=\"o-text-editor__tabs\">\n @for (tab of tabs; track tab; let i = $index) {\n <button\n type=\"button\"\n role=\"tab\"\n class=\"o-text-editor__tab\"\n [id]=\"'text-editor-tab-' + i\"\n [class.-active]=\"tab === activeTab\"\n [attr.aria-selected]=\"tab === activeTab\"\n [attr.aria-controls]=\"'text-editor-panel-' + activeTab\"\n (click)=\"activeTab = tab\"\n >\n {{ '@pry.component.textEditor.' + tab | i18n }}\n </button>\n }\n </div>\n }\n</div>\n","export const enTranslations = {\n '@pry': {\n component: {\n textEditor: {\n textAreaLabel: 'Text editor',\n preview: 'Preview',\n write: 'Write',\n h3: 'Title',\n bold: 'Bold',\n italic: 'Italic',\n underline: 'Underline',\n strikeThrough: 'Strikethrough',\n blockquote: 'Quote',\n list: 'List',\n orderedList: 'Ordered list',\n table: 'Table',\n details: 'Details',\n more: 'More'\n }\n }\n }\n};\n","export const frTranslations = {\n '@pry': {\n component: {\n textEditor: {\n textAreaLabel: 'Éditeur de texte',\n preview: 'Aperçu',\n write: 'Écrire',\n h3: 'Titre',\n bold: 'Gras',\n italic: 'Italique',\n underline: 'Souligné',\n strikeThrough: 'Barré',\n blockquote: 'Citation',\n list: 'Liste',\n orderedList: 'Liste ordonnée',\n table: 'Tableau',\n details: 'Détails',\n more: 'Voir plus'\n }\n }\n }\n};\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { PryCoreModule, PryI18nModule, PryI18nService, PryIconModule } from '@provoly/dashboard';\nimport { PryTextEditorCssComponent } from './style/css.component';\nimport { PryTextEditorComponent } from './component/text-editor.component';\nimport { MdToHtmlPipe } from './mdToHtml.pipe';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { PryToolboxModule } from '@provoly/dashboard/toolbox';\n\n@NgModule({\n declarations: [PryTextEditorComponent, PryTextEditorCssComponent, MdToHtmlPipe],\n exports: [PryTextEditorComponent, MdToHtmlPipe],\n imports: [CommonModule, FormsModule, ReactiveFormsModule, PryCoreModule, PryIconModule, PryI18nModule, CdkOverlayOrigin, CdkConnectedOverlay, PryToolboxModule]\n})\nexport class PryTextEditorModule {\n constructor(private pryTranslateService: PryI18nService) {\n this.pryTranslateService.addLangObject('fr', 'textEditor', frTranslations);\n this.pryTranslateService.addLangObject('en', 'textEditor', enTranslations);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TextEditorService","i4.PryTextEditorCssComponent","i5.MdToHtmlPipe","i1"],"mappings":"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"}
@@ -15,11 +15,11 @@ import { PryTextEditorModule } from '@provoly/dashboard/components/text-editor';
15
15
 
16
16
  class PryDatasetCssComponent {
17
17
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetCssComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryDatasetCssComponent, selector: "pry-dataset-css", ngImport: i0, template: '', isInline: true, styles: [".o-pry-dataset{margin:0;padding:0}.o-pry-dataset li{list-style:none}.dataset-layout{display:flex;flex-direction:column;align-items:center}.dataset-layout__content{width:100%;padding:.625rem 1.25rem 3.125rem;height:100%;overflow:auto}.o-pry-dataset{display:grid;grid-template-columns:repeat(auto-fill,minmax(20.625rem,0fr));grid-gap:.625rem;column-gap:1.5rem;row-gap:2rem;padding-bottom:9.375rem}.o-pry-dataset__search{position:relative}.o-pry-dataset__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}.o-pry-dataset__item{display:flex;flex-direction:column;align-items:stretch}.o-dataset-layout{position:relative;z-index:1;overflow:hidden;height:100%}\n", ".o-pry-dataset-card{display:flex;flex-direction:column;align-items:stretch;position:relative;margin:0 auto;border-collapse:collapse;font-size:.875rem;min-width:20.625rem;height:9.375rem}.o-pry-dataset-card:hover{cursor:pointer}.o-pry-dataset-card:hover .o-pry-dataset-card__footer pry-icon{visibility:visible;opacity:1}.o-pry-dataset-card__header{display:flex;gap:.9375rem;padding:.625rem;max-width:20.625rem}.o-pry-dataset-card__description-container{position:relative;width:100%}.o-pry-dataset-card__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-pry-dataset-card__txt{flex-grow:1;padding:.625rem .9375rem}.o-pry-dataset-card__txt .a-h3{font-size:.875rem}.o-pry-dataset-card__txt .a-p{font-size:.8125rem}.o-pry-dataset-card__txt .a-p.-date{margin-bottom:0}.o-pry-dataset-card__footer{display:flex;align-items:center;justify-content:center}.o-pry-dataset-card__footer .a-btn{margin-left:1.25rem}.o-pry-dataset-card__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-pry-dataset-card .dataset-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n", "pry-dataset-detail .o-dataset-layout__panel .version-information h1,pry-dataset-detail .o-dataset-layout__panel .version-information h2,pry-dataset-detail .o-dataset-layout__panel .version-information h3,pry-dataset-detail .o-dataset-layout__panel .version-information h4,pry-dataset-detail .o-dataset-layout__panel .version-information h5,pry-dataset-detail .o-dataset-layout__panel .version-information h6{padding:0;margin:0;color:#253043}pry-dataset-detail .o-dataset-layout__panel .version-information h5{font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information span,pry-dataset-detail .o-dataset-layout__panel .version-information p{font-size:.875rem;color:#263340;white-space:pre-wrap}pry-dataset-detail .o-dataset-layout__panel .version-information div{padding-bottom:10px}pry-dataset-detail .o-dataset-layout__panel .version-information ul,pry-dataset-detail .o-dataset-layout__panel .version-information ol{margin:0;line-height:1rem}pry-dataset-detail .o-dataset-layout__panel .version-information li{color:#253043;font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information table{border-collapse:collapse}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr th{padding-top:.75rem;padding-bottom:.75rem;text-align:left}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr td{padding:.75rem .5rem;text-align:left}pry-dataset-detail{height:100%;width:100%}pry-dataset-detail .o-dataset-layout{display:flex}pry-dataset-detail .o-dataset-layout__content{overflow:hidden;height:100%;padding-left:2rem;padding-top:1.25rem;flex:1}pry-dataset-detail .o-dataset-layout__panel{width:20.625rem;border-left:solid 1px #D8E7F7;padding:.625rem;font-size:.875rem;color:#263340}pry-dataset-detail .o-dataset-layout__panel .a-label{font-weight:700}pry-dataset-detail .o-dataset-layout .panel__content{gap:.9375rem}pry-dataset-detail .dashboard-container{height:100%}pry-dataset-detail .table-container{flex:1 1}pry-dataset-detail .table-container pry-icon{position:relative;top:.3125rem}pry-dataset-detail .state-button{text-decoration:underline}pry-dataset-detail .m-info-icon{margin:0 .5rem}.o-dataset-detail{height:80%}.o-dataset-detail__information{padding:.625rem;font-size:.875rem;color:#263340;background:#fff;border-radius:4px;gap:.9375rem}.o-dataset-detail__information .a-label{font-weight:700}.o-dataset-detail pry-tab-group{height:100%}.o-dataset-detail pry-tab-group .o-tabs{padding-left:2rem;padding-right:2rem;height:100%}.o-dataset-detail pry-tab-group .o-tabs__panel__content{height:100%}.o-dataset-detail tr{height:1.875rem}.o-dataset-detail td .a-btn+.a-btn{margin-left:.625rem}\n", ".o-dataset-version-form .a-label{font-weight:700}\n"], encapsulation: i0.ViewEncapsulation.None }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.3", type: PryDatasetCssComponent, selector: "pry-dataset-css", ngImport: i0, template: '', isInline: true, styles: [".o-pry-dataset{margin:0;padding:0}.o-pry-dataset li{list-style:none}.dataset-layout{display:flex;flex-direction:column;align-items:center}.dataset-layout__content{width:100%;padding:.625rem 1.25rem 3.125rem;height:100%;overflow:auto}.o-pry-dataset{display:grid;grid-template-columns:repeat(auto-fill,minmax(20.625rem,0fr));grid-gap:.625rem;column-gap:1.5rem;row-gap:2rem;padding-bottom:9.375rem}.o-pry-dataset__search{position:relative}.o-pry-dataset__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}.o-pry-dataset__item{display:flex;flex-direction:column;align-items:stretch}.o-dataset-layout{position:relative;z-index:1;overflow:hidden;height:100%}\n", ".o-pry-dataset-card{display:flex;flex-direction:column;align-items:stretch;position:relative;margin:0 auto;border-collapse:collapse;font-size:.875rem;min-width:20.625rem;height:9.375rem}.o-pry-dataset-card:hover{cursor:pointer}.o-pry-dataset-card:hover .o-pry-dataset-card__footer pry-icon{visibility:visible;opacity:1}.o-pry-dataset-card__header{display:flex;gap:.9375rem;padding:.625rem;max-width:20.625rem}.o-pry-dataset-card__description-container{position:relative;width:100%}.o-pry-dataset-card__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-pry-dataset-card__txt{flex-grow:1;padding:.625rem .9375rem}.o-pry-dataset-card__txt .a-h3{font-size:.875rem}.o-pry-dataset-card__txt .a-p{font-size:.8125rem}.o-pry-dataset-card__txt .a-p.-date{margin-bottom:0}.o-pry-dataset-card__footer{display:flex;align-items:center;justify-content:center}.o-pry-dataset-card__footer .a-btn{margin-left:1.25rem}.o-pry-dataset-card__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-pry-dataset-card .dataset-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n", "pry-dataset-detail .o-dataset-layout__panel .version-information h1,pry-dataset-detail .o-dataset-layout__panel .version-information h2,pry-dataset-detail .o-dataset-layout__panel .version-information h3,pry-dataset-detail .o-dataset-layout__panel .version-information h4,pry-dataset-detail .o-dataset-layout__panel .version-information h5,pry-dataset-detail .o-dataset-layout__panel .version-information h6{padding:0;margin:0;color:#253043}pry-dataset-detail .o-dataset-layout__panel .version-information h5{font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information span,pry-dataset-detail .o-dataset-layout__panel .version-information p{font-size:.875rem;color:#263340;white-space:pre-wrap}pry-dataset-detail .o-dataset-layout__panel .version-information div{padding-bottom:10px}pry-dataset-detail .o-dataset-layout__panel .version-information ul,pry-dataset-detail .o-dataset-layout__panel .version-information ol{margin:0;line-height:1rem}pry-dataset-detail .o-dataset-layout__panel .version-information li{color:#253043;font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information table{border-collapse:collapse}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr th{padding-top:.75rem;padding-bottom:.75rem;text-align:left}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr td{padding:.75rem .5rem;text-align:left}pry-dataset-detail{height:100%;width:100%}pry-dataset-detail .o-dataset-layout{display:flex}pry-dataset-detail .o-dataset-layout__content{overflow:hidden;height:100%;padding-left:2rem;padding-top:1.25rem;flex:1}pry-dataset-detail .o-dataset-layout__panel{width:20.625rem;border-left:solid 1px #D8E7F7;padding:.625rem;font-size:.875rem;color:#263340}pry-dataset-detail .o-dataset-layout__panel .a-label{font-weight:700}pry-dataset-detail .o-dataset-layout .panel__content{gap:.9375rem}pry-dataset-detail .dashboard-container{height:100%}pry-dataset-detail .table-container{flex:1 1}pry-dataset-detail .table-container pry-icon{position:relative;top:.3125rem}pry-dataset-detail .state-button{text-decoration:underline}pry-dataset-detail .m-info-icon{margin:0 .5rem}.o-dataset-detail{height:80%}.o-dataset-detail__information{padding:.625rem;font-size:.875rem;color:#263340;background:#fff;border-radius:4px;gap:.9375rem}.o-dataset-detail__information .a-label{font-weight:700}.o-dataset-detail pry-tab-group{height:100%}.o-dataset-detail pry-tab-group .o-tabs{padding-left:2rem;padding-right:2rem;height:100%}.o-dataset-detail pry-tab-group .o-tabs__panel__content{height:100%}.o-dataset-detail tr{height:1.875rem}.o-dataset-detail tr.-selected{background-color:#f5f7f9}.o-dataset-detail td .a-btn+.a-btn{margin-left:.625rem}\n", ".o-dataset-version-form .a-label{font-weight:700}\n"], encapsulation: i0.ViewEncapsulation.None }); }
19
19
  }
20
20
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetCssComponent, decorators: [{
21
21
  type: Component,
22
- args: [{ selector: 'pry-dataset-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-pry-dataset{margin:0;padding:0}.o-pry-dataset li{list-style:none}.dataset-layout{display:flex;flex-direction:column;align-items:center}.dataset-layout__content{width:100%;padding:.625rem 1.25rem 3.125rem;height:100%;overflow:auto}.o-pry-dataset{display:grid;grid-template-columns:repeat(auto-fill,minmax(20.625rem,0fr));grid-gap:.625rem;column-gap:1.5rem;row-gap:2rem;padding-bottom:9.375rem}.o-pry-dataset__search{position:relative}.o-pry-dataset__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}.o-pry-dataset__item{display:flex;flex-direction:column;align-items:stretch}.o-dataset-layout{position:relative;z-index:1;overflow:hidden;height:100%}\n", ".o-pry-dataset-card{display:flex;flex-direction:column;align-items:stretch;position:relative;margin:0 auto;border-collapse:collapse;font-size:.875rem;min-width:20.625rem;height:9.375rem}.o-pry-dataset-card:hover{cursor:pointer}.o-pry-dataset-card:hover .o-pry-dataset-card__footer pry-icon{visibility:visible;opacity:1}.o-pry-dataset-card__header{display:flex;gap:.9375rem;padding:.625rem;max-width:20.625rem}.o-pry-dataset-card__description-container{position:relative;width:100%}.o-pry-dataset-card__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-pry-dataset-card__txt{flex-grow:1;padding:.625rem .9375rem}.o-pry-dataset-card__txt .a-h3{font-size:.875rem}.o-pry-dataset-card__txt .a-p{font-size:.8125rem}.o-pry-dataset-card__txt .a-p.-date{margin-bottom:0}.o-pry-dataset-card__footer{display:flex;align-items:center;justify-content:center}.o-pry-dataset-card__footer .a-btn{margin-left:1.25rem}.o-pry-dataset-card__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-pry-dataset-card .dataset-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n", "pry-dataset-detail .o-dataset-layout__panel .version-information h1,pry-dataset-detail .o-dataset-layout__panel .version-information h2,pry-dataset-detail .o-dataset-layout__panel .version-information h3,pry-dataset-detail .o-dataset-layout__panel .version-information h4,pry-dataset-detail .o-dataset-layout__panel .version-information h5,pry-dataset-detail .o-dataset-layout__panel .version-information h6{padding:0;margin:0;color:#253043}pry-dataset-detail .o-dataset-layout__panel .version-information h5{font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information span,pry-dataset-detail .o-dataset-layout__panel .version-information p{font-size:.875rem;color:#263340;white-space:pre-wrap}pry-dataset-detail .o-dataset-layout__panel .version-information div{padding-bottom:10px}pry-dataset-detail .o-dataset-layout__panel .version-information ul,pry-dataset-detail .o-dataset-layout__panel .version-information ol{margin:0;line-height:1rem}pry-dataset-detail .o-dataset-layout__panel .version-information li{color:#253043;font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information table{border-collapse:collapse}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr th{padding-top:.75rem;padding-bottom:.75rem;text-align:left}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr td{padding:.75rem .5rem;text-align:left}pry-dataset-detail{height:100%;width:100%}pry-dataset-detail .o-dataset-layout{display:flex}pry-dataset-detail .o-dataset-layout__content{overflow:hidden;height:100%;padding-left:2rem;padding-top:1.25rem;flex:1}pry-dataset-detail .o-dataset-layout__panel{width:20.625rem;border-left:solid 1px #D8E7F7;padding:.625rem;font-size:.875rem;color:#263340}pry-dataset-detail .o-dataset-layout__panel .a-label{font-weight:700}pry-dataset-detail .o-dataset-layout .panel__content{gap:.9375rem}pry-dataset-detail .dashboard-container{height:100%}pry-dataset-detail .table-container{flex:1 1}pry-dataset-detail .table-container pry-icon{position:relative;top:.3125rem}pry-dataset-detail .state-button{text-decoration:underline}pry-dataset-detail .m-info-icon{margin:0 .5rem}.o-dataset-detail{height:80%}.o-dataset-detail__information{padding:.625rem;font-size:.875rem;color:#263340;background:#fff;border-radius:4px;gap:.9375rem}.o-dataset-detail__information .a-label{font-weight:700}.o-dataset-detail pry-tab-group{height:100%}.o-dataset-detail pry-tab-group .o-tabs{padding-left:2rem;padding-right:2rem;height:100%}.o-dataset-detail pry-tab-group .o-tabs__panel__content{height:100%}.o-dataset-detail tr{height:1.875rem}.o-dataset-detail td .a-btn+.a-btn{margin-left:.625rem}\n", ".o-dataset-version-form .a-label{font-weight:700}\n"] }]
22
+ args: [{ selector: 'pry-dataset-css', template: '', encapsulation: ViewEncapsulation.None, styles: [".o-pry-dataset{margin:0;padding:0}.o-pry-dataset li{list-style:none}.dataset-layout{display:flex;flex-direction:column;align-items:center}.dataset-layout__content{width:100%;padding:.625rem 1.25rem 3.125rem;height:100%;overflow:auto}.o-pry-dataset{display:grid;grid-template-columns:repeat(auto-fill,minmax(20.625rem,0fr));grid-gap:.625rem;column-gap:1.5rem;row-gap:2rem;padding-bottom:9.375rem}.o-pry-dataset__search{position:relative}.o-pry-dataset__search .a-icon{position:absolute;right:.6875rem;bottom:.5625rem;opacity:.5;pointer-events:none}.o-pry-dataset__item{display:flex;flex-direction:column;align-items:stretch}.o-dataset-layout{position:relative;z-index:1;overflow:hidden;height:100%}\n", ".o-pry-dataset-card{display:flex;flex-direction:column;align-items:stretch;position:relative;margin:0 auto;border-collapse:collapse;font-size:.875rem;min-width:20.625rem;height:9.375rem}.o-pry-dataset-card:hover{cursor:pointer}.o-pry-dataset-card:hover .o-pry-dataset-card__footer pry-icon{visibility:visible;opacity:1}.o-pry-dataset-card__header{display:flex;gap:.9375rem;padding:.625rem;max-width:20.625rem}.o-pry-dataset-card__description-container{position:relative;width:100%}.o-pry-dataset-card__description-container.a-tooltip[data-tooltip]:after{width:100%}.o-pry-dataset-card__txt{flex-grow:1;padding:.625rem .9375rem}.o-pry-dataset-card__txt .a-h3{font-size:.875rem}.o-pry-dataset-card__txt .a-p{font-size:.8125rem}.o-pry-dataset-card__txt .a-p.-date{margin-bottom:0}.o-pry-dataset-card__footer{display:flex;align-items:center;justify-content:center}.o-pry-dataset-card__footer .a-btn{margin-left:1.25rem}.o-pry-dataset-card__footer pry-icon{visibility:hidden;opacity:0;transition:visibility .1s linear,opacity .1s linear;margin-left:.1875rem}.o-pry-dataset-card .dataset-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n", "pry-dataset-detail .o-dataset-layout__panel .version-information h1,pry-dataset-detail .o-dataset-layout__panel .version-information h2,pry-dataset-detail .o-dataset-layout__panel .version-information h3,pry-dataset-detail .o-dataset-layout__panel .version-information h4,pry-dataset-detail .o-dataset-layout__panel .version-information h5,pry-dataset-detail .o-dataset-layout__panel .version-information h6{padding:0;margin:0;color:#253043}pry-dataset-detail .o-dataset-layout__panel .version-information h5{font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information span,pry-dataset-detail .o-dataset-layout__panel .version-information p{font-size:.875rem;color:#263340;white-space:pre-wrap}pry-dataset-detail .o-dataset-layout__panel .version-information div{padding-bottom:10px}pry-dataset-detail .o-dataset-layout__panel .version-information ul,pry-dataset-detail .o-dataset-layout__panel .version-information ol{margin:0;line-height:1rem}pry-dataset-detail .o-dataset-layout__panel .version-information li{color:#253043;font-size:.875rem}pry-dataset-detail .o-dataset-layout__panel .version-information table{border-collapse:collapse}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table thead tr th{padding-top:.75rem;padding-bottom:.75rem;text-align:left}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr{border-bottom-width:.0625rem;border-bottom-style:solid}pry-dataset-detail .o-dataset-layout__panel .version-information table tbody tr td{padding:.75rem .5rem;text-align:left}pry-dataset-detail{height:100%;width:100%}pry-dataset-detail .o-dataset-layout{display:flex}pry-dataset-detail .o-dataset-layout__content{overflow:hidden;height:100%;padding-left:2rem;padding-top:1.25rem;flex:1}pry-dataset-detail .o-dataset-layout__panel{width:20.625rem;border-left:solid 1px #D8E7F7;padding:.625rem;font-size:.875rem;color:#263340}pry-dataset-detail .o-dataset-layout__panel .a-label{font-weight:700}pry-dataset-detail .o-dataset-layout .panel__content{gap:.9375rem}pry-dataset-detail .dashboard-container{height:100%}pry-dataset-detail .table-container{flex:1 1}pry-dataset-detail .table-container pry-icon{position:relative;top:.3125rem}pry-dataset-detail .state-button{text-decoration:underline}pry-dataset-detail .m-info-icon{margin:0 .5rem}.o-dataset-detail{height:80%}.o-dataset-detail__information{padding:.625rem;font-size:.875rem;color:#263340;background:#fff;border-radius:4px;gap:.9375rem}.o-dataset-detail__information .a-label{font-weight:700}.o-dataset-detail pry-tab-group{height:100%}.o-dataset-detail pry-tab-group .o-tabs{padding-left:2rem;padding-right:2rem;height:100%}.o-dataset-detail pry-tab-group .o-tabs__panel__content{height:100%}.o-dataset-detail tr{height:1.875rem}.o-dataset-detail tr.-selected{background-color:#f5f7f9}.o-dataset-detail td .a-btn+.a-btn{margin-left:.625rem}\n", ".o-dataset-version-form .a-label{font-weight:700}\n"] }]
23
23
  }] });
24
24
 
25
25
  class PryDatasetCardComponent {
@@ -86,7 +86,8 @@ class PryDatasetVersionFormComponent {
86
86
  this.store.dispatch(DataSourceActions.dataset.updateDatasetVersionInfo({
87
87
  version: {
88
88
  ...this.version,
89
- ...this.form.value
89
+ ...this.form.value,
90
+ productionDate: new Date(this.form.value.productionDate ?? '').toISOString()
90
91
  }
91
92
  }));
92
93
  }
@@ -249,11 +250,11 @@ class PryDatasetDetailComponent extends SubscriptionnerDirective {
249
250
  this.isEditingVersion = false;
250
251
  }
251
252
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetDetailComponent, deps: [{ token: i1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
252
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryDatasetDetailComponent, selector: "pry-dataset-detail", inputs: { dataset: "dataset" }, outputs: { goToCatalog: "goToCatalog" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h2 class=\"a-h1\">{{ dataset.name }}</h2>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\" role=\"button\" class=\"a-btn a-btn--primary u-self-end\" (click)=\"editVersion()\">\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n @if (activeVersion$ | async; as activeVersion) {\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (activeVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ?? ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ activeVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"activeVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\"\n ></div>\n </div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div *ngIf=\"activeVersion$ | async as activeVersion\" class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\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>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let version of datasetVersions$ | async\" (click)=\"togglePanel(version)\">\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"activeVersion.id === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n (activeVersion.id === version.id\n ? '@pry.dataset.version.currentlyActive'\n : '@pry.dataset.version.' + version.state\n ) | i18n\n }}\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"'@pry.dataset.tooltip.' + getVersionTooltipContent(version, activeVersion.id) | i18n\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"version.state !== 'LOADING' && version.state !== 'INDEXING' && version.state !== 'ERROR'\"\n >\n <ng-container *ngIf=\"dataset.owner && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\">\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction(version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors(version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"showModalStatus\">\n <pry-modal-status [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></pry-modal-status>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i3.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"], outputs: ["clickedTabIdx"] }, { kind: "component", type: i3.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "component", type: i3.DashboardComponent, selector: "pry-dashboard", inputs: ["staticDashboard", "forceModeEdition", "CloseOnDragOut", "displayOptions", "noBackground", "breakpoint"], outputs: ["rowHeight", "rows"] }, { kind: "component", type: i3.PryModalStatusComponent, selector: "pry-modal-status", inputs: ["version"], outputs: ["gotoConsult"] }, { kind: "component", type: PryDatasetVersionFormComponent, selector: "pry-dataset-version-form", inputs: ["version"], outputs: ["formValidated"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.PrySinceDatePipe, name: "sinceDate" }, { kind: "pipe", type: i3$1.MdToHtmlPipe, name: "mdToHtml" }] }); }
253
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: PryDatasetDetailComponent, selector: "pry-dataset-detail", inputs: { dataset: "dataset" }, outputs: { goToCatalog: "goToCatalog" }, usesInheritance: true, ngImport: i0, template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h2 class=\"a-h1\">{{ dataset.name }}</h2>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button\n *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\"\n role=\"button\"\n class=\"a-btn a-btn--primary u-self-end\"\n (click)=\"editVersion()\"\n >\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n @if (activeVersion$ | async; as activeVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (activeVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ?? ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ activeVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"activeVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\"\n ></div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div *ngIf=\"activeVersion$ | async as activeVersion\" class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\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>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let version of datasetVersions$ | async\"\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"activeVersion.id === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n (activeVersion.id === version.id\n ? '@pry.dataset.version.currentlyActive'\n : '@pry.dataset.version.' + version.state\n ) | i18n\n }}\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"'@pry.dataset.tooltip.' + getVersionTooltipContent(version, activeVersion.id) | i18n\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"version.state !== 'LOADING' && version.state !== 'INDEXING' && version.state !== 'ERROR'\"\n >\n <ng-container *ngIf=\"dataset.owner && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\">\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction(version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors(version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"showModalStatus\">\n <pry-modal-status [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></pry-modal-status>\n</ng-container>\n", dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i3.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i3.TabGroupComponent, selector: "pry-tab-group", inputs: ["translationStringBase"], outputs: ["clickedTabIdx"] }, { kind: "component", type: i3.TabComponent, selector: "pry-tab", inputs: ["name", "templateRef", "index"] }, { kind: "component", type: i3.DashboardComponent, selector: "pry-dashboard", inputs: ["staticDashboard", "forceModeEdition", "CloseOnDragOut", "displayOptions", "noBackground", "breakpoint"], outputs: ["rowHeight", "rows"] }, { kind: "component", type: i3.PryModalStatusComponent, selector: "pry-modal-status", inputs: ["version"], outputs: ["gotoConsult"] }, { kind: "component", type: PryDatasetVersionFormComponent, selector: "pry-dataset-version-form", inputs: ["version"], outputs: ["formValidated"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.DatePipe, name: "date" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }, { kind: "pipe", type: i5.PrySinceDatePipe, name: "sinceDate" }, { kind: "pipe", type: i3$1.MdToHtmlPipe, name: "mdToHtml" }] }); }
253
254
  }
254
255
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: PryDatasetDetailComponent, decorators: [{
255
256
  type: Component,
256
- args: [{ selector: 'pry-dataset-detail', template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h2 class=\"a-h1\">{{ dataset.name }}</h2>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\" role=\"button\" class=\"a-btn a-btn--primary u-self-end\" (click)=\"editVersion()\">\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n @if (activeVersion$ | async; as activeVersion) {\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (activeVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ?? ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ activeVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"activeVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\"\n ></div>\n </div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div *ngIf=\"activeVersion$ | async as activeVersion\" class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\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>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let version of datasetVersions$ | async\" (click)=\"togglePanel(version)\">\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"activeVersion.id === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n (activeVersion.id === version.id\n ? '@pry.dataset.version.currentlyActive'\n : '@pry.dataset.version.' + version.state\n ) | i18n\n }}\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"'@pry.dataset.tooltip.' + getVersionTooltipContent(version, activeVersion.id) | i18n\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"version.state !== 'LOADING' && version.state !== 'INDEXING' && version.state !== 'ERROR'\"\n >\n <ng-container *ngIf=\"dataset.owner && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\">\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction(version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors(version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"showModalStatus\">\n <pry-modal-status [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></pry-modal-status>\n</ng-container>\n" }]
257
+ args: [{ selector: 'pry-dataset-detail', template: "<div class=\"o-manifest-layout__toolbox\">\n <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@pry.dataset.returnToList' | i18n }}</button>\n <button class=\"a-btn a-btn--secondary\" (click)=\"refresh()\">\n {{ '@pry.dataset.refresh' | i18n }}\n <pry-icon iconSvg=\"synchro\"></pry-icon>\n </button>\n</div>\n\n<div class=\"o-dataset-layout\">\n <div class=\"o-dataset-layout__content\">\n <div class=\"a-p\">\n <h2 class=\"a-h1\">{{ dataset.name }}</h2>\n </div>\n\n <div class=\"o-dataset-detail\">\n <div class=\"o-dataset-detail__content\">\n <pry-tab-group translationStringBase=\"@pry.dataset.\" (clickedTabIdx)=\"onTabSwitch($event)\">\n <pry-tab [templateRef]=\"information\" name=\"information\"></pry-tab>\n <pry-tab [templateRef]=\"table\" name=\"data\"></pry-tab>\n <pry-tab [templateRef]=\"map\" name=\"map\"></pry-tab>\n <pry-tab [templateRef]=\"datasetVersions\" name=\"versionHistory\"></pry-tab>\n </pry-tab-group>\n </div>\n </div>\n </div>\n @if (isPanelOpen) {\n <div class=\"o-dataset-layout__panel\">\n <div class=\"panel__header u-display-flex -justify-space-between\">\n <h3>{{ '@pry.dataset.information' | i18n }}</h3>\n <button role=\"button\" (click)=\"togglePanel()\">\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n </div>\n <div class=\"panel__content u-display-flex -column\">\n @if (!isEditingVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (selectedVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ??\n ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ selectedVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"\n selectedVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n <button\n *pryAccess=\"{ module: 'admin', page: 'list-dataset', action: 'edit_version' }\"\n role=\"button\"\n class=\"a-btn a-btn--primary u-self-end\"\n (click)=\"editVersion()\"\n >\n {{ '@pry.action.edit' | i18n }}\n </button>\n } @else {\n <pry-dataset-version-form\n [version]=\"selectedVersion\"\n (formValidated)=\"formValidated($event)\"\n ></pry-dataset-version-form>\n }\n </div>\n </div>\n }\n</div>\n\n<ng-template #information>\n <div class=\"u-display-flex -column o-dataset-detail__information\">\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.description' | i18n }}</span>\n <span>{{ dataset.description ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n @if (activeVersion$ | async; as activeVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (activeVersion?.productionDate | date: 'dd-MM-yyyy, HH:mm') ?? ('@pry.dataset.version.notProvided' | i18n)\n }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</span>\n <span>{{ activeVersion?.producer ?? ('@pry.dataset.version.notProvided' | i18n) }}</span>\n </div>\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</span>\n <div\n class=\"version-information\"\n [innerHTML]=\"activeVersion?.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\"\n ></div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n </div>\n</ng-template>\n\n<ng-template #table>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['table']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #map>\n <div class=\"dashboard-container\">\n <pry-dashboard [staticDashboard]=\"{ widgets: [widgetManifest['map']] }\"></pry-dashboard>\n </div>\n</ng-template>\n<ng-template #datasetVersions>\n <div *ngIf=\"activeVersion$ | async as activeVersion\" class=\"dataset-detail__table table-container\">\n <table class=\"a-table\">\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>{{ '@pry.dataset.version.title' | i18n }}</th>\n <th>{{ '@pry.dataset.date' | i18n }}</th>\n <th>{{ '@pry.dataset.status' | i18n }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let version of datasetVersions$ | async\"\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n <pry-icon *ngIf=\"activeVersion.id === version.id\" iconSvg=\"check\" class=\"check\"></pry-icon>\n </td>\n <td>\n <div\n class=\"a-tooltip\"\n [attr.data-tooltip]=\"version.lastModified | sinceDate: { onlyLocale: true }\"\n data-tooltip-position=\"right\"\n >\n {{ version.lastModified | sinceDate: { onlyLocale: true } }}\n </div>\n </td>\n <td>\n {{\n (activeVersion.id === version.id\n ? '@pry.dataset.version.currentlyActive'\n : '@pry.dataset.version.' + version.state\n ) | i18n\n }}\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"'@pry.dataset.tooltip.' + getVersionTooltipContent(version, activeVersion.id) | i18n\"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </td>\n <td>\n <ng-container\n *ngIf=\"version.state !== 'LOADING' && version.state !== 'INDEXING' && version.state !== 'ERROR'\"\n >\n <ng-container *ngIf=\"dataset.owner && (version.state === 'ACTIVE' || version.state === 'INACTIVE')\">\n <ng-container *pryAccess=\"{ module: 'dashboard', page: 'list-dataset', action: 'activate' }\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--primary a-btn--icon-text ng-star-inserted\"\n (click)=\"handleButtonAction(version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n <ng-container *ngIf=\"version.state === 'ACTIVE' || version.state === 'INACTIVE'\">\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-lg\"\n [attr.data-tooltip]=\"\n (version.state === 'ACTIVE'\n ? '@pry.dataset.tooltip.invalidateButton'\n : '@pry.dataset.tooltip.validateButton'\n ) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n </ng-container>\n </ng-container>\n </ng-container>\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"version.hasWarnings || version.state === 'ERROR'\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"consultErrors(version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</ng-template>\n\n<ng-container *ngIf=\"showModalStatus\">\n <pry-modal-status [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></pry-modal-status>\n</ng-container>\n" }]
257
258
  }], ctorParameters: () => [{ type: i1.Store }], propDecorators: { dataset: [{
258
259
  type: Input
259
260
  }], goToCatalog: [{