@provoly/dashboard 1.4.22 → 1.4.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +1 -1
  2. package/esm2022/lib/core/store/search/search.effects.mjs +2 -2
  3. package/esm2022/lib/core/store/search/search.service.mjs +14 -5
  4. package/esm2022/lib/dashboard/components/dashboard.component.mjs +24 -9
  5. package/esm2022/lib/dashboard/components/widgets/data-widget.component.mjs +4 -2
  6. package/esm2022/lib/dashboard/components/widgets/header/widget-header.component.mjs +1 -1
  7. package/esm2022/lib/dashboard/filter/components/filter-group/filter-group.component.mjs +6 -4
  8. package/esm2022/lib/dashboard/resultset-utils.mjs +18 -11
  9. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +2 -2
  10. package/esm2022/lib/dashboard/store/dashboard.effects.mjs +6 -4
  11. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +5 -2
  12. package/esm2022/toolbox/components/select-grid-layout/select-grid-layout.component.mjs +1 -1
  13. package/fesm2022/provoly-dashboard-dataset.mjs +1 -1
  14. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  15. package/fesm2022/provoly-dashboard-toolbox.mjs +1 -1
  16. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  17. package/fesm2022/provoly-dashboard.mjs +72 -32
  18. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  19. package/lib/core/store/search/search.service.d.ts +2 -2
  20. package/lib/dashboard/components/dashboard.component.d.ts +3 -1
  21. package/lib/dashboard/filter/components/filter-group/filter-group.component.d.ts +2 -1
  22. package/lib/dashboard/resultset-utils.d.ts +1 -0
  23. package/lib/dashboard/store/dashboard.actions.d.ts +11 -1
  24. package/lib/dashboard/store/dashboard.effects.d.ts +1 -0
  25. package/package.json +43 -43
@@ -1 +1 @@
1
- {"version":3,"file":"provoly-dashboard-dataset.mjs","sources":["../../../../projects/provoly/dashboard/dataset/components/dataset-version-form/dataset-version-form.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset-version-form/dataset-version-form.component.html","../../../../projects/provoly/dashboard/dataset/components/dataset-detail/dataset-detail.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset-detail/dataset-detail.component.html","../../../../projects/provoly/dashboard/dataset/style/css.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset.component.html","../../../../projects/provoly/dashboard/dataset/i18n/en.translations.ts","../../../../projects/provoly/dashboard/dataset/i18n/fr.translations.ts","../../../../projects/provoly/dashboard/dataset/dataset.module.ts","../../../../projects/provoly/dashboard/dataset/provoly-dashboard-dataset.ts"],"sourcesContent":["import { DatasetVersion, DataSourceActions, DateUtils } from '@provoly/dashboard';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Store } from '@ngrx/store';\n\ninterface DatasetVersionInfoForm {\n productionDate: FormControl<string>;\n producer: FormControl<string>;\n additionalInformation: FormControl<string>;\n}\n\n@Component({\n selector: 'pry-dataset-version-form',\n templateUrl: './dataset-version-form.component.html'\n})\nexport class PryDatasetVersionFormComponent implements OnInit {\n @Input() version?: DatasetVersion;\n form = new FormGroup<DatasetVersionInfoForm>({\n productionDate: new FormControl('', {\n validators: [Validators.required, DateUtils.onlyPastDateValidator],\n nonNullable: true\n }),\n producer: new FormControl('', {\n validators: [Validators.required, Validators.minLength(1), Validators.maxLength(100)],\n nonNullable: true\n }),\n additionalInformation: new FormControl('', { validators: [Validators.required], nonNullable: true })\n });\n maxDate = new Date().toISOString().replace('Z', '');\n\n @Output() formValidated = new EventEmitter<Partial<DatasetVersion>>();\n\n constructor(private store: Store) {}\n\n ngOnInit() {\n if (this.version) {\n this.form.patchValue({\n producer: this.version.producer,\n additionalInformation: this.version.additionalInformation\n });\n if (this.version.productionDate) {\n this.form.patchValue({\n productionDate: new Date(this.version.productionDate).toISOString().replace('Z', '')\n });\n }\n }\n }\n\n get productionDate() {\n return this.form.get('productionDate');\n }\n\n get producer() {\n return this.form.get('producer');\n }\n\n onSubmit() {\n if (this.version) {\n this.store.dispatch(\n DataSourceActions.dataset.updateDatasetVersionInfo({\n version: {\n ...this.version,\n ...this.form.value,\n productionDate: new Date(this.form.value.productionDate ?? '').toISOString()\n }\n })\n );\n }\n this.formValidated.emit();\n }\n}\n","<form class=\"o-dataset-version-form u-display-flex -column\" [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"productionDate\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input\n class=\"a-form-field\"\n type=\"datetime-local\"\n [max]=\"maxDate\"\n formControlName=\"productionDate\"\n id=\"productionDate\"\n [attr.aria-invalid]=\"productionDate?.invalid\"\n />\n @if (productionDate?.invalid) {\n <label id=\"productionDate-error\" for=\"productionDate\" class=\"a-label a-label--help -error\">\n @if (productionDate?.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n } @else if (productionDate?.errors?.['dateValidator']) {\n <span>{{ '@pry.dataset.form.date' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input\n class=\"a-form-field\"\n type=\"text\"\n formControlName=\"producer\"\n id=\"producer\"\n [attr.aria-invalid]=\"producer?.invalid\"\n />\n @if (producer?.invalid) {\n <label id=\"producer-error\" for=\"producer\" class=\"a-label a-label--help -error\">\n @if (producer?.errors?.['required'] ?? false) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\"></pry-text-editor>\n </div>\n <button class=\"a-btn a-btn--primary u-self-end\" type=\"submit\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n</form>\n","import { Component, EventEmitter, Inject, Input, OnInit, Optional, Output } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n DashboardActions,\n DashboardSelectors,\n Dataset,\n DatasetVersion,\n DataSourceActions,\n DataSourceSelectors,\n PRY_ACCESS_TOKEN,\n PryBaseAccess,\n PryDialogService,\n PryI18nService,\n PryStatusModalComponent,\n PryTitleService,\n ResultSets,\n SearchActions,\n SubscriptionnerDirective,\n ViewMode,\n WidgetFactoryService,\n WidgetManifest\n} from '@provoly/dashboard';\nimport { map, Observable, of, tap } from 'rxjs';\n\nlet nextCompId = 0;\n\n@Component({\n selector: 'pry-dataset-detail',\n templateUrl: './dataset-detail.component.html'\n})\nexport class PryDatasetDetailComponent extends SubscriptionnerDirective implements OnInit {\n @Input() dataset!: Dataset;\n @Output() goToCatalog = new EventEmitter();\n widgetManifest = {\n table: {\n header: true,\n type: 'table',\n layout: { x: 1, y: 1, height: 12, width: 12 },\n options: {},\n datasource: [''],\n excludeGeo: 'exclude-geo'\n },\n map: {\n header: false,\n type: 'map',\n layout: { x: 1, y: 1, height: 12, width: 12 },\n options: {\n layers: [],\n fit: true,\n automaticLayers: true\n },\n datasource: [''],\n excludeGeo: 'exclude-geo'\n }\n } as { [key: string]: WidgetManifest };\n protected readonly ViewMode = ViewMode;\n compId: number = 0;\n tab: number = 0;\n datasetItems$: Observable<ResultSets | null>;\n public datasetVersions$!: Observable<DatasetVersion[]>;\n selectedDatasetVersion?: DatasetVersion;\n selectedMode: ViewMode = ViewMode.CONSULT;\n isEditingVersion = false;\n canModify$!: Observable<boolean>;\n currentDataset$!: Observable<Dataset | undefined>;\n\n isPanelOpen: boolean = false;\n selectedVersion?: DatasetVersion;\n\n constructor(\n private store: Store,\n @Optional() @Inject(PRY_ACCESS_TOKEN) protected access: PryBaseAccess,\n private dialog: PryDialogService,\n private titleService: PryTitleService,\n private i18nService: PryI18nService,\n private widgetFactoryService: WidgetFactoryService\n ) {\n super();\n this.datasetItems$ = this.store.select(DashboardSelectors.resultSets);\n this.compId = nextCompId++;\n this.subscriptions.add(\n this.store.select(DashboardSelectors.dashboardEditionMode).subscribe((editionMode) => {\n if (editionMode) this.store.dispatch(DashboardActions.toggleEditionMode({}));\n })\n );\n }\n\n ngOnInit() {\n this.canModify$ = this.access?.canModifyDataset(this.dataset) ?? of(false);\n this.store.dispatch(DataSourceActions.dataset.listVersionsByDatasetId({ id: this.dataset.id }));\n this.store.dispatch(DashboardActions.removeFilters());\n\n this.currentDataset$ = this.store.select(DataSourceSelectors.datasets).pipe(\n map((datasets) => datasets.find((currentDataset) => currentDataset.id === this.dataset.id)),\n tap((dataset) => {\n if (dataset) {\n this.titleService.changeTitle(\n this.i18nService.instant('title.list-dataset-d', { name: dataset.name }, false)\n );\n }\n })\n );\n\n this.datasetVersions$ = this.store.select(DataSourceSelectors.datasetVersions);\n this.subscriptions.add(\n this.datasetVersions$.subscribe((versions) => {\n if (this.selectedVersion) {\n this.selectedVersion = {\n ...this.selectedVersion,\n ...versions.find((version) => version.id === this.selectedVersion?.id)\n };\n }\n })\n );\n\n this.widgetManifest['table'].datasource = [this.dataset.id];\n this.widgetManifest['map'].datasource = [this.dataset.id];\n }\n\n goBack() {\n this.goToCatalog.emit();\n this.titleService.changeTitle(this.i18nService.instant('title.list-dataset', {}, false));\n this.store.dispatch(DataSourceActions.dataset.listVersions({}));\n }\n\n refresh() {\n this.store.dispatch(\n SearchActions.getDatasourceItems({\n id: this.dataset.id,\n excludeGeo: false,\n from: 'PryDatasetDetailComponent.refresh()'\n })\n );\n this.store.dispatch(DataSourceActions.dataset.loadDataset({ force: true }));\n this.store.dispatch(DataSourceActions.dataset.listVersionsByDatasetId({ id: this.dataset.id }));\n }\n\n switch(number: number) {\n this.tab = number;\n }\n\n handleButtonAction($event: Event, version: DatasetVersion) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selectedDatasetVersion = version;\n switch (version.state) {\n case 'ACTIVE':\n this.deactivateVersion(version);\n break;\n case 'INACTIVE':\n this.activateVersion(version);\n break;\n default:\n break;\n }\n }\n\n consultErrors($event: Event, version: DatasetVersion) {\n $event.preventDefault();\n $event.stopPropagation();\n this.dialog.open(PryStatusModalComponent, { data: { version: version } });\n }\n\n getVersionTooltipContent(version: DatasetVersion, activeVersionId?: string) {\n switch (version.state) {\n case 'ERROR':\n return 'error';\n case 'ACTIVE':\n return version.id === activeVersionId ? 'active' : 'inactive';\n case 'LOADING':\n case 'INDEXING':\n return 'loading';\n case 'INACTIVE':\n return 'invalid';\n default:\n return 'unknown';\n }\n }\n\n private deactivateVersion(version: DatasetVersion) {\n this.store.dispatch(\n DataSourceActions.dataset.deactivateDatasetVersion({\n datasetId: this.dataset.id,\n versionId: version.id\n })\n );\n }\n\n private activateVersion(version: DatasetVersion) {\n this.store.dispatch(\n DataSourceActions.dataset.activateDatasetVersion({\n datasetId: this.dataset.id,\n versionId: version.id\n })\n );\n }\n\n onTabSwitch($event: number) {\n if ([0, 1, 2].includes($event)) {\n this.isPanelOpen = false;\n }\n }\n\n togglePanel(selectedVersion?: DatasetVersion) {\n if (selectedVersion) {\n this.selectedVersion = selectedVersion;\n this.isPanelOpen = true;\n this.isEditingVersion = false;\n } else {\n this.isPanelOpen = !this.isPanelOpen;\n this.selectedVersion = undefined;\n }\n }\n\n editVersion() {\n this.isEditingVersion = true;\n }\n\n formValidated($event: Partial<DatasetVersion>) {\n this.isEditingVersion = false;\n }\n\n askDelete(version: DatasetVersion, $event?: Event) {\n this.store.dispatch(DataSourceActions.dataset.confirmDeleteVersion({ version }));\n $event?.stopPropagation();\n }\n}\n","<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 <h1 class=\"a-h1\">{{ (currentDataset$ | async)?.name }}</h1>\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 (dataset.activeVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (dataset.activeVersion.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>{{ dataset.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]=\"\n dataset.activeVersion.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.tags' | i18n }}</span>\n <div class=\"u-display-flex -wrap\">\n @for (category of dataset.categories; track category.id) {\n <span class=\"a-chip -md\"> {{ category.name }}</span>\n }\n </div>\n </div>\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 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 <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (version of datasetVersions$ | async; track version) {\n <tr\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n @if ((currentDataset$ | async)?.activeVersion?.id === version.id) {\n <pry-icon\n iconSvg=\"check\"\n class=\"check\"\n ></pry-icon>\n }\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 (version.id === (currentDataset$ | async)?.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : '@pry.dataset.version.state.' + version.state\n ) | i18n\n }}\n @if (version.state !== 'DELETING') {\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"\n '@pry.dataset.tooltip.' +\n getVersionTooltipContent(version, (currentDataset$ | async)?.activeVersion?.id) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n }\n </td>\n <td>\n @if (\n version.state !== 'LOADING' &&\n version.state !== 'INDEXING' &&\n version.state !== 'ERROR' &&\n version.state !== 'DELETING'\n ) {\n @if ((canModify$ | async) && (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($event, version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n @if (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 }\n </ng-container>\n }\n }\n </td>\n <td>\n @if (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($event, version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n }\n </td>\n <td>\n @if (\n (canModify$ | async) &&\n (version.state === 'ACTIVE' || version.state === 'ERROR' || version.state === 'INACTIVE')\n ) {\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"askDelete(version, $event)\"\n >\n {{ '@pry.dataset.buttonAction.delete' | i18n }}\n </button>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n</ng-template>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-dataset-css',\n template: '',\n styleUrls: ['./_o-pry-dataset.scss', './_o-pry-dataset-detail.scss', './_o-pry-dataset-version-form.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryDatasetCssComponent {}\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { ClassActions, ConfigActions, Dataset, FieldActions, ViewMode } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-dataset',\n templateUrl: './dataset.component.html'\n})\nexport class PryDatasetComponent {\n selectedDataset?: Dataset;\n selectedMode: ViewMode = ViewMode.CATALOG;\n ViewMode = ViewMode;\n\n constructor(protected store: Store<any>) {\n this.store.dispatch(ClassActions.load({}));\n this.store.dispatch(FieldActions.load({}));\n this.store.dispatch(ConfigActions.loadCustomization({}));\n }\n\n consult(dataset: Dataset) {\n this.selectedDataset = dataset;\n this.selectedMode = ViewMode.CONSULT;\n }\n}\n","<pry-dataset-css></pry-dataset-css>\n<div class=\"o-dataset-layout u-display-flex -column\">\n @switch (selectedMode) {\n @case (ViewMode.CATALOG) {\n <h1 class=\"a-h1 u-self-start\">{{ '@pry.dataset.title' | i18n }}</h1>\n <pry-datasource-list (consultedDataset)=\"consult($event)\"></pry-datasource-list>\n }\n @case (ViewMode.CONSULT) {\n @if (selectedDataset) {\n <pry-dataset-detail\n [dataset]=\"selectedDataset\"\n (goToCatalog)=\"selectedMode = ViewMode.CATALOG\"\n ></pry-dataset-detail>\n }\n }\n }\n</div>\n","export const enTranslations = {\n '@pry': {\n dataset: {\n consult: 'View',\n title: 'Dataset catalog',\n search: 'Search',\n searchPlaceholder: 'Enter your search',\n filter: 'Filter by category',\n filterPlaceholder: 'Enter categories',\n name: 'Name',\n description: 'Description',\n noDescription: 'No description',\n tags: 'Tags',\n noTags: 'No associated tags',\n class: 'Class',\n date: 'Date',\n status: 'Status',\n versionHistory: 'Version history',\n information: 'Information',\n data: 'Data',\n table: 'Table',\n map: 'Map',\n export: 'Export',\n api: 'API',\n returnToList: 'Back to catalog',\n refresh: 'Refresh',\n since_day: 'Last update :',\n noActiveVersion: 'No active version',\n version: {\n delete: {\n title: 'Delete version',\n message: 'Deleting this version will remove associated data. Are you sure you want to delete it?'\n }\n },\n form: {\n obligatory: 'Obligatory field',\n date: 'The date cannot be in the future'\n },\n buttonAction: {\n ACTIVE: 'Invalidate',\n INACTIVE: 'Validate',\n ERROR: 'Consult errors',\n WARNING: 'Consult warnings',\n LOADING: '',\n INDEXING: '',\n delete: 'Delete',\n cancel: 'Cancel'\n },\n error: {\n type: 'Type',\n elements: 'Elements',\n message: 'Message',\n close: 'Fermer',\n modalTitle: {\n ERROR: 'List of errors',\n WARNING: 'List of warnings'\n },\n level: {\n ERROR: 'Error',\n WARNING: 'Warning'\n },\n code: {\n UNRECOGNIZED: 'Unrecognized attribute{{plural}} {{name}}',\n FORMAT: 'Wrong format for attribute {{name}}',\n STORAGE: 'Insertion error for element {{recordId}}',\n NO_VALUES: 'No value for {{recordId}} line',\n FORMAT_FILE_ERROR: 'Unsupported file format',\n NO_ATTRIBUTES: 'The imported data does not correspond to the data model indicated in the import target'\n }\n },\n tooltip: {\n error: 'Errors occurred when integrating the data into the solution. The data is not accessible',\n active: 'The data retrieved by default in the application corresponds to the data integrated in this version.',\n inactive:\n 'The data for this version is available but not uploaded by default. It is possible to display them by explicitly requesting this version.',\n loading: 'The data is currently being integrated into the solution',\n invalid:\n 'The data in this version is present in the solution but is not relevant. It is not available are not available for display',\n unknown: 'Unknown error',\n invalidateButton:\n 'Allows you to make the version\\'s data unavailable if it is considered irrelevant from a business point of view. If the invalidated version is the active version, then the data retrieved by default will be that of the most recent previous \"Available\" version, which will thus change to \"Active\" status.',\n validateButton:\n \"Allows the version's data to be made available if it is considered relevant from a business point of view after having been invalidated. If the validated version is the most recent, it will become the active version and its data will be the default.\"\n }\n }\n }\n};\n","export const frTranslations = {\n '@pry': {\n dataset: {\n consult: 'Consulter',\n title: 'Catalogue de données',\n search: 'Rechercher une donnée :',\n searchPlaceholder: 'Saisir votre recherche',\n filter: 'Filtrer par catégories :',\n filterPlaceholder: 'Saisir les catégories',\n name: 'Nom',\n description: 'Description',\n noDescription: 'Pas de description',\n tags: 'Tags',\n noTags: 'Pas de tags associés',\n class: 'Modèle de données',\n date: 'Date',\n status: 'Statut',\n versionHistory: 'Historique de versions',\n information: 'Informations',\n data: 'Données',\n table: 'Tableau',\n map: 'Carte',\n export: 'Export',\n api: 'API',\n returnToList: 'Retour au catalogue',\n refresh: 'Actualiser',\n since_day: 'Dernière mise à jour :',\n noActiveVersion: 'Aucune version active',\n version: {\n delete: {\n title: 'Supprimer une version',\n message:\n 'La suppression de cette version entraînera la suppression des données associées. Confirmez-vous la suppression ?'\n }\n },\n form: {\n obligatory: 'Champ obligatoire',\n date: 'La date de production ne peut pas être dans le futur'\n },\n buttonAction: {\n ACTIVE: 'Invalider',\n INACTIVE: 'Valider',\n ERROR: 'Consulter erreurs',\n WARNING: 'Consulter warnings',\n LOADING: '',\n INDEXING: '',\n delete: 'Supprimer',\n cancel: 'Annuler'\n },\n error: {\n ERROR: 'Erreur',\n WARNING: 'Warning',\n type: 'Type',\n elements: 'Elements',\n message: 'Message',\n close: 'Fermer',\n modalTitle: {\n ERROR: 'Liste des erreurs',\n WARNING: 'Liste des warnings'\n },\n level: {\n ERROR: 'Erreur',\n WARNING: 'Warning'\n },\n code: {\n UNRECOGNIZED: 'Attribut{{plural}} {{name}} non reconnu{{plural}}',\n FORMAT: \"Format d'attribut {{name}} incorrect\",\n STORAGE: \"Erreur d'insertion pour l'élément {{recordId}}\",\n NO_VALUES: 'Pas de valeur pour la ligne {{recordId}}',\n FORMAT_FILE_ERROR: \"Le format du fichier transmis n'est pas géré\",\n NO_ATTRIBUTES: \"Les données importées ne correspondent pas au modèle de données indiqué en cible de l'import\"\n }\n },\n tooltip: {\n error:\n \"Des erreurs sont apparues lors de l'intégration des données dans la solution. Les données ne sont pas accessibles\",\n active:\n \"Les données remontées par défaut dans l'application correspondent à celles intégrées dans cette version\",\n inactive:\n 'Les données de cette version sont disponibles mais non remontées par défaut. Il est possible de les afficher en demandant explicitement cette version.',\n loading: \"Les données sont en cours d'intégration dans la solution\",\n invalid:\n \"Les données de cette version sont présentes dans la solution mais sont non pertinentes. Elles ne sont pas disponibles pour l'affichage\",\n unknown: 'Erreur inconnue',\n invalidateButton:\n 'Permet de rendre indisponible les données de la version dans le cas où elles sont considérées comme non pertinente d\\'un point de vue métier. Si la version invalidée est la version active, alors les données récupérées par défaut seront celle de la version \"Disponible\" précédente la plus récente qui passera ainsi au statut \"Active\"',\n validateButton:\n \"Permet de rendre disponible les données de la version dans le cas où elles sont considérées comme pertinente d'un point de vue métier après avoir été invalider. Si la version validée est la plus récente, elle deviendra ainsi la version active et ses données seront celles remontées par défaut\"\n }\n }\n }\n};\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport {\n PryCoreModule,\n PryDashboardModule,\n PryI18nModule,\n PryI18nService,\n PryIconModule,\n PryOverlayModule,\n PrySelectModule, PrySinceDateModule\n} from '@provoly/dashboard';\nimport { PryDatasetDetailComponent } from './components/dataset-detail/dataset-detail.component';\nimport { PryDatasetComponent } from './components/dataset.component';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { PryDatasetCssComponent } from './style/css.component';\nimport { PryDatasetVersionFormComponent } from './components/dataset-version-form/dataset-version-form.component';\nimport { PryTextEditorModule } from '@provoly/dashboard/components/text-editor';\n\n@NgModule({\n declarations: [\n PryDatasetComponent,\n PryDatasetCssComponent,\n PryDatasetDetailComponent,\n PryDatasetVersionFormComponent\n ],\n imports: [\n CommonModule,\n PryIconModule,\n PryCoreModule,\n PryOverlayModule,\n PryI18nModule,\n FormsModule,\n PryDashboardModule,\n ReactiveFormsModule,\n PryTextEditorModule,\n PrySelectModule,\n PrySinceDateModule\n ],\n exports: [PryDatasetComponent, PryDatasetCssComponent, PryDatasetDetailComponent]\n})\nexport class PryDatasetModule {\n constructor(private pryTranslateService: PryI18nService) {\n this.pryTranslateService.addLangObject('fr', 'dataset', frTranslations);\n this.pryTranslateService.addLangObject('en', 'dataset', enTranslations);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i2","i3.PryDatasetVersionFormComponent","i5","i3.PryDatasetCssComponent","i4.PryDatasetDetailComponent","i1"],"mappings":";;;;;;;;;;;;;MAea,8BAA8B,CAAA;AAiBzC,IAAA,WAAA,CAAoB,KAAY,EAAA;QAAZ,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;QAfhC,IAAI,CAAA,IAAA,GAAG,IAAI,SAAS,CAAyB;AAC3C,YAAA,cAAc,EAAE,IAAI,WAAW,CAAC,EAAE,EAAE;gBAClC,UAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,qBAAqB,CAAC;AAClE,gBAAA,WAAW,EAAE,IAAI;aAClB,CAAC;AACF,YAAA,QAAQ,EAAE,IAAI,WAAW,CAAC,EAAE,EAAE;AAC5B,gBAAA,UAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AACrF,gBAAA,WAAW,EAAE,IAAI;aAClB,CAAC;AACF,YAAA,qBAAqB,EAAE,IAAI,WAAW,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AACrG,SAAA,CAAC,CAAC;AACH,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAE1C,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAA2B,CAAC;KAElC;IAEpC,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;AAChB,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACnB,gBAAA,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ;AAC/B,gBAAA,qBAAqB,EAAE,IAAI,CAAC,OAAO,CAAC,qBAAqB;AAC1D,aAAA,CAAC,CAAC;AACH,YAAA,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;AAC/B,gBAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;AACnB,oBAAA,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AACrF,iBAAA,CAAC,CAAC;aACJ;SACF;KACF;AAED,IAAA,IAAI,cAAc,GAAA;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;KACxC;AAED,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,OAAO,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,iBAAiB,CAAC,OAAO,CAAC,wBAAwB,CAAC;AACjD,gBAAA,OAAO,EAAE;oBACP,GAAG,IAAI,CAAC,OAAO;AACf,oBAAA,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK;AAClB,oBAAA,cAAc,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE;AAC7E,iBAAA;AACF,aAAA,CAAC,CACH,CAAC;SACH;AACD,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC3B;8GAtDU,8BAA8B,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAA9B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,8BAA8B,6ICf3C,s4DA8CA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,aAAA,EAAA,QAAA,EAAA,8CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,0FAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,OAAA,EAAA,CAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FD/Ba,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAJ1C,SAAS;+BACE,0BAA0B,EAAA,QAAA,EAAA,s4DAAA,EAAA,CAAA;0EAI3B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBAcI,aAAa,EAAA,CAAA;sBAAtB,MAAM;;;AENT,IAAI,UAAU,GAAG,CAAC,CAAC;AAMb,MAAO,yBAA0B,SAAQ,wBAAwB,CAAA;IAuCrE,WACU,CAAA,KAAY,EAC4B,MAAqB,EAC7D,MAAwB,EACxB,YAA6B,EAC7B,WAA2B,EAC3B,oBAA0C,EAAA;AAElD,QAAA,KAAK,EAAE,CAAC;QAPA,IAAK,CAAA,KAAA,GAAL,KAAK,CAAO;QAC4B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAe;QAC7D,IAAM,CAAA,MAAA,GAAN,MAAM,CAAkB;QACxB,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAiB;QAC7B,IAAW,CAAA,WAAA,GAAX,WAAW,CAAgB;QAC3B,IAAoB,CAAA,oBAAA,GAApB,oBAAoB,CAAsB;AA3C1C,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAE,CAAC;AAC3C,QAAA,IAAA,CAAA,cAAc,GAAG;AACf,YAAA,KAAK,EAAE;AACL,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,IAAI,EAAE,OAAO;AACb,gBAAA,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;AAC7C,gBAAA,OAAO,EAAE,EAAE;gBACX,UAAU,EAAE,CAAC,EAAE,CAAC;AAChB,gBAAA,UAAU,EAAE,aAAa;AAC1B,aAAA;AACD,YAAA,GAAG,EAAE;AACH,gBAAA,MAAM,EAAE,KAAK;AACb,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;AAC7C,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,EAAE;AACV,oBAAA,GAAG,EAAE,IAAI;AACT,oBAAA,eAAe,EAAE,IAAI;AACtB,iBAAA;gBACD,UAAU,EAAE,CAAC,EAAE,CAAC;AAChB,gBAAA,UAAU,EAAE,aAAa;AAC1B,aAAA;SACmC,CAAC;QACpB,IAAQ,CAAA,QAAA,GAAG,QAAQ,CAAC;QACvC,IAAM,CAAA,MAAA,GAAW,CAAC,CAAC;QACnB,IAAG,CAAA,GAAA,GAAW,CAAC,CAAC;AAIhB,QAAA,IAAA,CAAA,YAAY,GAAa,QAAQ,CAAC,OAAO,CAAC;QAC1C,IAAgB,CAAA,gBAAA,GAAG,KAAK,CAAC;QAIzB,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;AAY3B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;AACtE,QAAA,IAAI,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,aAAa,CAAC,GAAG,CACpB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,KAAI;AACnF,YAAA,IAAI,WAAW;AAAE,gBAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;SAC9E,CAAC,CACH,CAAC;KACH;IAED,QAAQ,GAAA;AACN,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAChG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC;QAEtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,IAAI,CACzE,GAAG,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,CAAC,cAAc,KAAK,cAAc,CAAC,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAC3F,GAAG,CAAC,CAAC,OAAO,KAAI;YACd,IAAI,OAAO,EAAE;gBACX,IAAI,CAAC,YAAY,CAAC,WAAW,CAC3B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAChF,CAAC;aACH;SACF,CAAC,CACH,CAAC;AAEF,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,CAAC;AAC/E,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CACpB,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAAC,QAAQ,KAAI;AAC3C,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,eAAe,GAAG;oBACrB,GAAG,IAAI,CAAC,eAAe;AACvB,oBAAA,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC;iBACvE,CAAC;aACH;SACF,CAAC,CACH,CAAC;AAEF,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;AAC5D,QAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KAC3D;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;AACxB,QAAA,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC;AACzF,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;KACjE;IAED,OAAO,GAAA;QACL,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,aAAa,CAAC,kBAAkB,CAAC;AAC/B,YAAA,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;AACnB,YAAA,UAAU,EAAE,KAAK;AACjB,YAAA,IAAI,EAAE,qCAAqC;AAC5C,SAAA,CAAC,CACH,CAAC;AACF,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,uBAAuB,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;KACjG;AAED,IAAA,MAAM,CAAC,MAAc,EAAA;AACnB,QAAA,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC;KACnB;IAED,kBAAkB,CAAC,MAAa,EAAE,OAAuB,EAAA;QACvD,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC;AACtC,QAAA,QAAQ,OAAO,CAAC,KAAK;AACnB,YAAA,KAAK,QAAQ;AACX,gBAAA,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBAChC,MAAM;AACR,YAAA,KAAK,UAAU;AACb,gBAAA,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;gBAC9B,MAAM;AACR,YAAA;gBACE,MAAM;SACT;KACF;IAED,aAAa,CAAC,MAAa,EAAE,OAAuB,EAAA;QAClD,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,CAAC,eAAe,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;KAC3E;IAED,wBAAwB,CAAC,OAAuB,EAAE,eAAwB,EAAA;AACxE,QAAA,QAAQ,OAAO,CAAC,KAAK;AACnB,YAAA,KAAK,OAAO;AACV,gBAAA,OAAO,OAAO,CAAC;AACjB,YAAA,KAAK,QAAQ;AACX,gBAAA,OAAO,OAAO,CAAC,EAAE,KAAK,eAAe,GAAG,QAAQ,GAAG,UAAU,CAAC;AAChE,YAAA,KAAK,SAAS,CAAC;AACf,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS,CAAC;AACnB,YAAA,KAAK,UAAU;AACb,gBAAA,OAAO,SAAS,CAAC;AACnB,YAAA;AACE,gBAAA,OAAO,SAAS,CAAC;SACpB;KACF;AAEO,IAAA,iBAAiB,CAAC,OAAuB,EAAA;QAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,iBAAiB,CAAC,OAAO,CAAC,wBAAwB,CAAC;AACjD,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,SAAS,EAAE,OAAO,CAAC,EAAE;AACtB,SAAA,CAAC,CACH,CAAC;KACH;AAEO,IAAA,eAAe,CAAC,OAAuB,EAAA;QAC7C,IAAI,CAAC,KAAK,CAAC,QAAQ,CACjB,iBAAiB,CAAC,OAAO,CAAC,sBAAsB,CAAC;AAC/C,YAAA,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE;YAC1B,SAAS,EAAE,OAAO,CAAC,EAAE;AACtB,SAAA,CAAC,CACH,CAAC;KACH;AAED,IAAA,WAAW,CAAC,MAAc,EAAA;AACxB,QAAA,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC9B,YAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;SAC1B;KACF;AAED,IAAA,WAAW,CAAC,eAAgC,EAAA;QAC1C,IAAI,eAAe,EAAE;AACnB,YAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;AACvC,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;AACxB,YAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;SAC/B;aAAM;AACL,YAAA,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;AACrC,YAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;SAClC;KACF;IAED,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;KAC9B;AAED,IAAA,aAAa,CAAC,MAA+B,EAAA;AAC3C,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;KAC/B;IAED,SAAS,CAAC,OAAuB,EAAE,MAAc,EAAA;AAC/C,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,iBAAiB,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,EAAE,eAAe,EAAE,CAAC;KAC3B;AAnMU,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,uCAyCd,gBAAgB,EAAA,QAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAAC,IAAA,CAAA,gBAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,eAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,cAAA,EAAA,EAAA,EAAA,KAAA,EAAAA,IAAA,CAAA,oBAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAzC3B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,yBAAyB,0JC9BtC,w3TAoQA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,EAAA,WAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,QAAA,EAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,aAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,uBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,YAAA,EAAA,QAAA,EAAA,SAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,aAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,kBAAA,EAAA,gBAAA,EAAA,gBAAA,EAAA,cAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,WAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,8BAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAD,IAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAE,EAAA,CAAA,YAAA,EAAA,IAAA,EAAA,UAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAF,IAAA,CAAA,aAAA,EAAA,IAAA,EAAA,WAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDtOa,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAJrC,SAAS;+BACE,oBAAoB,EAAA,QAAA,EAAA,w3TAAA,EAAA,CAAA;;0BA4C3B,QAAQ;;0BAAI,MAAM;2BAAC,gBAAgB,CAAA;8KAxC7B,OAAO,EAAA,CAAA;sBAAf,KAAK;gBACI,WAAW,EAAA,CAAA;sBAApB,MAAM;;;MExBI,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,uDAJvB,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,qIAAA,EAAA,i7FAAA,EAAA,qDAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;;2FAID,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBANlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,iBAAiB,EACjB,QAAA,EAAA,EAAE,EAEG,aAAA,EAAA,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAAA,CAAA,qIAAA,EAAA,i7FAAA,EAAA,qDAAA,CAAA,EAAA,CAAA;;;MCE1B,mBAAmB,CAAA;AAK9B,IAAA,WAAA,CAAsB,KAAiB,EAAA;QAAjB,IAAK,CAAA,KAAA,GAAL,KAAK,CAAY;AAHvC,QAAA,IAAA,CAAA,YAAY,GAAa,QAAQ,CAAC,OAAO,CAAC;QAC1C,IAAQ,CAAA,QAAA,GAAG,QAAQ,CAAC;AAGlB,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC,CAAC;KAC1D;AAED,IAAA,OAAO,CAAC,OAAgB,EAAA;AACtB,QAAA,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;AAC/B,QAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;KACtC;8GAdU,mBAAmB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAnB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,mBAAmB,mDCRhC,0kBAiBA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,0BAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,CAAA,MAAA,EAAA,qBAAA,CAAA,EAAA,OAAA,EAAA,CAAA,kBAAA,EAAA,oBAAA,EAAA,yBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAG,sBAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,yBAAA,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,aAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAAJ,IAAA,CAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FDTa,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,SAAS;+BACE,aAAa,EAAA,QAAA,EAAA,0kBAAA,EAAA,CAAA;;;AELlB,MAAM,cAAc,GAAG;AAC5B,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,KAAK,EAAE,iBAAiB;AACxB,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,iBAAiB,EAAE,mBAAmB;AACtC,YAAA,MAAM,EAAE,oBAAoB;AAC5B,YAAA,iBAAiB,EAAE,kBAAkB;AACrC,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,aAAa,EAAE,gBAAgB;AAC/B,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,MAAM,EAAE,oBAAoB;AAC5B,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,cAAc,EAAE,iBAAiB;AACjC,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,KAAK,EAAE,OAAO;AACd,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,YAAY,EAAE,iBAAiB;AAC/B,YAAA,OAAO,EAAE,SAAS;AAClB,YAAA,SAAS,EAAE,eAAe;AAC1B,YAAA,eAAe,EAAE,mBAAmB;AACpC,YAAA,OAAO,EAAE;AACP,gBAAA,MAAM,EAAE;AACN,oBAAA,KAAK,EAAE,gBAAgB;AACvB,oBAAA,OAAO,EAAE,wFAAwF;AAClG,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,UAAU,EAAE,kBAAkB;AAC9B,gBAAA,IAAI,EAAE,kCAAkC;AACzC,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,MAAM,EAAE,YAAY;AACpB,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,KAAK,EAAE,gBAAgB;AACvB,gBAAA,OAAO,EAAE,kBAAkB;AAC3B,gBAAA,OAAO,EAAE,EAAE;AACX,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,MAAM,EAAE,QAAQ;AAChB,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,UAAU,EAAE;AACV,oBAAA,KAAK,EAAE,gBAAgB;AACvB,oBAAA,OAAO,EAAE,kBAAkB;AAC5B,iBAAA;AACD,gBAAA,KAAK,EAAE;AACL,oBAAA,KAAK,EAAE,OAAO;AACd,oBAAA,OAAO,EAAE,SAAS;AACnB,iBAAA;AACD,gBAAA,IAAI,EAAE;AACJ,oBAAA,YAAY,EAAE,2CAA2C;AACzD,oBAAA,MAAM,EAAE,qCAAqC;AAC7C,oBAAA,OAAO,EAAE,0CAA0C;AACnD,oBAAA,SAAS,EAAE,gCAAgC;AAC3C,oBAAA,iBAAiB,EAAE,yBAAyB;AAC5C,oBAAA,aAAa,EAAE,wFAAwF;AACxG,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,KAAK,EAAE,yFAAyF;AAChG,gBAAA,MAAM,EAAE,sGAAsG;AAC9G,gBAAA,QAAQ,EACN,2IAA2I;AAC7I,gBAAA,OAAO,EAAE,0DAA0D;AACnE,gBAAA,OAAO,EACL,4HAA4H;AAC9H,gBAAA,OAAO,EAAE,eAAe;AACxB,gBAAA,gBAAgB,EACd,gTAAgT;AAClT,gBAAA,cAAc,EACZ,2PAA2P;AAC9P,aAAA;AACF,SAAA;AACF,KAAA;CACF;;ACtFM,MAAM,cAAc,GAAG;AAC5B,IAAA,MAAM,EAAE;AACN,QAAA,OAAO,EAAE;AACP,YAAA,OAAO,EAAE,WAAW;AACpB,YAAA,KAAK,EAAE,sBAAsB;AAC7B,YAAA,MAAM,EAAE,yBAAyB;AACjC,YAAA,iBAAiB,EAAE,wBAAwB;AAC3C,YAAA,MAAM,EAAE,0BAA0B;AAClC,YAAA,iBAAiB,EAAE,uBAAuB;AAC1C,YAAA,IAAI,EAAE,KAAK;AACX,YAAA,WAAW,EAAE,aAAa;AAC1B,YAAA,aAAa,EAAE,oBAAoB;AACnC,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,MAAM,EAAE,sBAAsB;AAC9B,YAAA,KAAK,EAAE,mBAAmB;AAC1B,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,cAAc,EAAE,wBAAwB;AACxC,YAAA,WAAW,EAAE,cAAc;AAC3B,YAAA,IAAI,EAAE,SAAS;AACf,YAAA,KAAK,EAAE,SAAS;AAChB,YAAA,GAAG,EAAE,OAAO;AACZ,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,GAAG,EAAE,KAAK;AACV,YAAA,YAAY,EAAE,qBAAqB;AACnC,YAAA,OAAO,EAAE,YAAY;AACrB,YAAA,SAAS,EAAE,wBAAwB;AACnC,YAAA,eAAe,EAAE,uBAAuB;AACxC,YAAA,OAAO,EAAE;AACP,gBAAA,MAAM,EAAE;AACN,oBAAA,KAAK,EAAE,uBAAuB;AAC9B,oBAAA,OAAO,EACL,kHAAkH;AACrH,iBAAA;AACF,aAAA;AACD,YAAA,IAAI,EAAE;AACJ,gBAAA,UAAU,EAAE,mBAAmB;AAC/B,gBAAA,IAAI,EAAE,sDAAsD;AAC7D,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,MAAM,EAAE,WAAW;AACnB,gBAAA,QAAQ,EAAE,SAAS;AACnB,gBAAA,KAAK,EAAE,mBAAmB;AAC1B,gBAAA,OAAO,EAAE,oBAAoB;AAC7B,gBAAA,OAAO,EAAE,EAAE;AACX,gBAAA,QAAQ,EAAE,EAAE;AACZ,gBAAA,MAAM,EAAE,WAAW;AACnB,gBAAA,MAAM,EAAE,SAAS;AAClB,aAAA;AACD,YAAA,KAAK,EAAE;AACL,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,QAAQ,EAAE,UAAU;AACpB,gBAAA,OAAO,EAAE,SAAS;AAClB,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,UAAU,EAAE;AACV,oBAAA,KAAK,EAAE,mBAAmB;AAC1B,oBAAA,OAAO,EAAE,oBAAoB;AAC9B,iBAAA;AACD,gBAAA,KAAK,EAAE;AACL,oBAAA,KAAK,EAAE,QAAQ;AACf,oBAAA,OAAO,EAAE,SAAS;AACnB,iBAAA;AACD,gBAAA,IAAI,EAAE;AACJ,oBAAA,YAAY,EAAE,mDAAmD;AACjE,oBAAA,MAAM,EAAE,sCAAsC;AAC9C,oBAAA,OAAO,EAAE,gDAAgD;AACzD,oBAAA,SAAS,EAAE,0CAA0C;AACrD,oBAAA,iBAAiB,EAAE,8CAA8C;AACjE,oBAAA,aAAa,EAAE,8FAA8F;AAC9G,iBAAA;AACF,aAAA;AACD,YAAA,OAAO,EAAE;AACP,gBAAA,KAAK,EACH,mHAAmH;AACrH,gBAAA,MAAM,EACJ,yGAAyG;AAC3G,gBAAA,QAAQ,EACN,wJAAwJ;AAC1J,gBAAA,OAAO,EAAE,0DAA0D;AACnE,gBAAA,OAAO,EACL,wIAAwI;AAC1I,gBAAA,OAAO,EAAE,iBAAiB;AAC1B,gBAAA,gBAAgB,EACd,8UAA8U;AAChV,gBAAA,cAAc,EACZ,sSAAsS;AACzS,aAAA;AACF,SAAA;AACF,KAAA;CACF;;MCjDY,gBAAgB,CAAA;AAC3B,IAAA,WAAA,CAAoB,mBAAmC,EAAA;QAAnC,IAAmB,CAAA,mBAAA,GAAnB,mBAAmB,CAAgB;QACrD,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;QACxE,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;KACzE;8GAJU,gBAAgB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAAK,IAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA,EAAA;AAAhB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,iBApBzB,mBAAmB;YACnB,sBAAsB;YACtB,yBAAyB;AACzB,YAAA,8BAA8B,aAG9B,YAAY;YACZ,aAAa;YACb,aAAa;YACb,gBAAgB;YAChB,aAAa;YACb,WAAW;YACX,kBAAkB;YAClB,mBAAmB;YACnB,mBAAmB;YACnB,eAAe;AACf,YAAA,kBAAkB,CAEV,EAAA,OAAA,EAAA,CAAA,mBAAmB,EAAE,sBAAsB,EAAE,yBAAyB,CAAA,EAAA,CAAA,CAAA,EAAA;AAErE,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,gBAAgB,YAdzB,YAAY;YACZ,aAAa;YACb,aAAa;YACb,gBAAgB;YAChB,aAAa;YACb,WAAW;YACX,kBAAkB;YAClB,mBAAmB;YACnB,mBAAmB;YACnB,eAAe;YACf,kBAAkB,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAIT,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAtB5B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE;wBACZ,mBAAmB;wBACnB,sBAAsB;wBACtB,yBAAyB;wBACzB,8BAA8B;AAC/B,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACP,YAAY;wBACZ,aAAa;wBACb,aAAa;wBACb,gBAAgB;wBAChB,aAAa;wBACb,WAAW;wBACX,kBAAkB;wBAClB,mBAAmB;wBACnB,mBAAmB;wBACnB,eAAe;wBACf,kBAAkB;AACnB,qBAAA;AACD,oBAAA,OAAO,EAAE,CAAC,mBAAmB,EAAE,sBAAsB,EAAE,yBAAyB,CAAC;AAClF,iBAAA,CAAA;;;ACzCD;;AAEG;;;;"}
1
+ {"version":3,"file":"provoly-dashboard-dataset.mjs","sources":["../../../../projects/provoly/dashboard/dataset/components/dataset-version-form/dataset-version-form.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset-version-form/dataset-version-form.component.html","../../../../projects/provoly/dashboard/dataset/components/dataset-detail/dataset-detail.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset-detail/dataset-detail.component.html","../../../../projects/provoly/dashboard/dataset/style/css.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset.component.ts","../../../../projects/provoly/dashboard/dataset/components/dataset.component.html","../../../../projects/provoly/dashboard/dataset/i18n/en.translations.ts","../../../../projects/provoly/dashboard/dataset/i18n/fr.translations.ts","../../../../projects/provoly/dashboard/dataset/dataset.module.ts","../../../../projects/provoly/dashboard/dataset/provoly-dashboard-dataset.ts"],"sourcesContent":["import { DatasetVersion, DataSourceActions, DateUtils } from '@provoly/dashboard';\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\nimport { Store } from '@ngrx/store';\n\ninterface DatasetVersionInfoForm {\n productionDate: FormControl<string>;\n producer: FormControl<string>;\n additionalInformation: FormControl<string>;\n}\n\n@Component({\n selector: 'pry-dataset-version-form',\n templateUrl: './dataset-version-form.component.html'\n})\nexport class PryDatasetVersionFormComponent implements OnInit {\n @Input() version?: DatasetVersion;\n form = new FormGroup<DatasetVersionInfoForm>({\n productionDate: new FormControl('', {\n validators: [Validators.required, DateUtils.onlyPastDateValidator],\n nonNullable: true\n }),\n producer: new FormControl('', {\n validators: [Validators.required, Validators.minLength(1), Validators.maxLength(100)],\n nonNullable: true\n }),\n additionalInformation: new FormControl('', { validators: [Validators.required], nonNullable: true })\n });\n maxDate = new Date().toISOString().replace('Z', '');\n\n @Output() formValidated = new EventEmitter<Partial<DatasetVersion>>();\n\n constructor(private store: Store) {}\n\n ngOnInit() {\n if (this.version) {\n this.form.patchValue({\n producer: this.version.producer,\n additionalInformation: this.version.additionalInformation\n });\n if (this.version.productionDate) {\n this.form.patchValue({\n productionDate: new Date(this.version.productionDate).toISOString().replace('Z', '')\n });\n }\n }\n }\n\n get productionDate() {\n return this.form.get('productionDate');\n }\n\n get producer() {\n return this.form.get('producer');\n }\n\n onSubmit() {\n if (this.version) {\n this.store.dispatch(\n DataSourceActions.dataset.updateDatasetVersionInfo({\n version: {\n ...this.version,\n ...this.form.value,\n productionDate: new Date(this.form.value.productionDate ?? '').toISOString()\n }\n })\n );\n }\n this.formValidated.emit();\n }\n}\n","<form class=\"o-dataset-version-form u-display-flex -column\" [formGroup]=\"form\" (ngSubmit)=\"onSubmit()\">\n <div class=\"m-form-label-field\">\n <label class=\"a-label\" for=\"productionDate\">{{ '@pry.dataset.version.productionDate' | i18n }}</label>\n <input\n class=\"a-form-field\"\n type=\"datetime-local\"\n [max]=\"maxDate\"\n formControlName=\"productionDate\"\n id=\"productionDate\"\n [attr.aria-invalid]=\"productionDate?.invalid\"\n />\n @if (productionDate?.invalid) {\n <label id=\"productionDate-error\" for=\"productionDate\" class=\"a-label a-label--help -error\">\n @if (productionDate?.errors?.['required']) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n } @else if (productionDate?.errors?.['dateValidator']) {\n <span>{{ '@pry.dataset.form.date' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.producer' | i18n }}</label>\n <input\n class=\"a-form-field\"\n type=\"text\"\n formControlName=\"producer\"\n id=\"producer\"\n [attr.aria-invalid]=\"producer?.invalid\"\n />\n @if (producer?.invalid) {\n <label id=\"producer-error\" for=\"producer\" class=\"a-label a-label--help -error\">\n @if (producer?.errors?.['required'] ?? false) {\n <span>{{ '@pry.dataset.form.obligatory' | i18n }}</span>\n }\n </label>\n }\n </div>\n <div class=\"m-form-label-field\">\n <label class=\"a-label\">{{ '@pry.dataset.version.additionalInformation' | i18n }}</label>\n <pry-text-editor formControlName=\"additionalInformation\"></pry-text-editor>\n </div>\n <button class=\"a-btn a-btn--primary u-self-end\" type=\"submit\" [disabled]=\"form.invalid\">\n {{ '@pry.toolbox.manifest.validate' | i18n }}\n </button>\n</form>\n","import { Component, EventEmitter, Inject, Input, OnInit, Optional, Output } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n DashboardActions,\n DashboardSelectors,\n Dataset,\n DatasetVersion,\n DataSourceActions,\n DataSourceSelectors,\n PRY_ACCESS_TOKEN,\n PryBaseAccess,\n PryDialogService,\n PryI18nService,\n PryStatusModalComponent,\n PryTitleService,\n ResultSets,\n SearchActions,\n SubscriptionnerDirective,\n ViewMode,\n WidgetFactoryService,\n WidgetManifest\n} from '@provoly/dashboard';\nimport { map, Observable, of, tap } from 'rxjs';\n\nlet nextCompId = 0;\n\n@Component({\n selector: 'pry-dataset-detail',\n templateUrl: './dataset-detail.component.html'\n})\nexport class PryDatasetDetailComponent extends SubscriptionnerDirective implements OnInit {\n @Input() dataset!: Dataset;\n @Output() goToCatalog = new EventEmitter();\n widgetManifest = {\n table: {\n header: true,\n type: 'table',\n layout: { x: 1, y: 1, height: 12, width: 12 },\n options: {},\n datasource: [''],\n excludeGeo: 'exclude-geo'\n },\n map: {\n header: false,\n type: 'map',\n layout: { x: 1, y: 1, height: 12, width: 12 },\n options: {\n layers: [],\n fit: true,\n automaticLayers: true\n },\n datasource: [''],\n excludeGeo: 'exclude-geo'\n }\n } as { [key: string]: WidgetManifest };\n protected readonly ViewMode = ViewMode;\n compId: number = 0;\n tab: number = 0;\n datasetItems$: Observable<ResultSets | null>;\n public datasetVersions$!: Observable<DatasetVersion[]>;\n selectedDatasetVersion?: DatasetVersion;\n selectedMode: ViewMode = ViewMode.CONSULT;\n isEditingVersion = false;\n canModify$!: Observable<boolean>;\n currentDataset$!: Observable<Dataset | undefined>;\n\n isPanelOpen: boolean = false;\n selectedVersion?: DatasetVersion;\n\n constructor(\n private store: Store,\n @Optional() @Inject(PRY_ACCESS_TOKEN) protected access: PryBaseAccess,\n private dialog: PryDialogService,\n private titleService: PryTitleService,\n private i18nService: PryI18nService,\n private widgetFactoryService: WidgetFactoryService\n ) {\n super();\n this.datasetItems$ = this.store.select(DashboardSelectors.resultSets);\n this.compId = nextCompId++;\n this.subscriptions.add(\n this.store.select(DashboardSelectors.dashboardEditionMode).subscribe((editionMode) => {\n if (editionMode) this.store.dispatch(DashboardActions.toggleEditionMode({}));\n })\n );\n }\n\n ngOnInit() {\n this.canModify$ = this.access?.canModifyDataset(this.dataset) ?? of(false);\n this.store.dispatch(DataSourceActions.dataset.listVersionsByDatasetId({ id: this.dataset.id }));\n this.store.dispatch(DashboardActions.removeFilters());\n\n this.currentDataset$ = this.store.select(DataSourceSelectors.datasets).pipe(\n map((datasets) => datasets.find((currentDataset) => currentDataset.id === this.dataset.id)),\n tap((dataset) => {\n if (dataset) {\n this.titleService.changeTitle(\n this.i18nService.instant('title.list-dataset-d', { name: dataset.name }, false)\n );\n }\n })\n );\n\n this.datasetVersions$ = this.store.select(DataSourceSelectors.datasetVersions);\n this.subscriptions.add(\n this.datasetVersions$.subscribe((versions) => {\n if (this.selectedVersion) {\n this.selectedVersion = {\n ...this.selectedVersion,\n ...versions.find((version) => version.id === this.selectedVersion?.id)\n };\n }\n })\n );\n\n this.widgetManifest['table'].datasource = [this.dataset.id];\n this.widgetManifest['map'].datasource = [this.dataset.id];\n }\n\n goBack() {\n this.goToCatalog.emit();\n this.titleService.changeTitle(this.i18nService.instant('title.list-dataset', {}, false));\n this.store.dispatch(DataSourceActions.dataset.listVersions({}));\n }\n\n refresh() {\n this.store.dispatch(\n SearchActions.getDatasourceItems({\n id: this.dataset.id,\n excludeGeo: false,\n from: 'PryDatasetDetailComponent.refresh()'\n })\n );\n this.store.dispatch(DataSourceActions.dataset.loadDataset({ force: true }));\n this.store.dispatch(DataSourceActions.dataset.listVersionsByDatasetId({ id: this.dataset.id }));\n }\n\n switch(number: number) {\n this.tab = number;\n }\n\n handleButtonAction($event: Event, version: DatasetVersion) {\n $event.preventDefault();\n $event.stopPropagation();\n this.selectedDatasetVersion = version;\n switch (version.state) {\n case 'ACTIVE':\n this.deactivateVersion(version);\n break;\n case 'INACTIVE':\n this.activateVersion(version);\n break;\n default:\n break;\n }\n }\n\n consultErrors($event: Event, version: DatasetVersion) {\n $event.preventDefault();\n $event.stopPropagation();\n this.dialog.open(PryStatusModalComponent, { data: { version: version } });\n }\n\n getVersionTooltipContent(version: DatasetVersion, activeVersionId?: string) {\n switch (version.state) {\n case 'ERROR':\n return 'error';\n case 'ACTIVE':\n return version.id === activeVersionId ? 'active' : 'inactive';\n case 'LOADING':\n case 'INDEXING':\n return 'loading';\n case 'INACTIVE':\n return 'invalid';\n default:\n return 'unknown';\n }\n }\n\n private deactivateVersion(version: DatasetVersion) {\n this.store.dispatch(\n DataSourceActions.dataset.deactivateDatasetVersion({\n datasetId: this.dataset.id,\n versionId: version.id\n })\n );\n }\n\n private activateVersion(version: DatasetVersion) {\n this.store.dispatch(\n DataSourceActions.dataset.activateDatasetVersion({\n datasetId: this.dataset.id,\n versionId: version.id\n })\n );\n }\n\n onTabSwitch($event: number) {\n if ([0, 1, 2].includes($event)) {\n this.isPanelOpen = false;\n }\n }\n\n togglePanel(selectedVersion?: DatasetVersion) {\n if (selectedVersion) {\n this.selectedVersion = selectedVersion;\n this.isPanelOpen = true;\n this.isEditingVersion = false;\n } else {\n this.isPanelOpen = !this.isPanelOpen;\n this.selectedVersion = undefined;\n }\n }\n\n editVersion() {\n this.isEditingVersion = true;\n }\n\n formValidated($event: Partial<DatasetVersion>) {\n this.isEditingVersion = false;\n }\n\n askDelete(version: DatasetVersion, $event?: Event) {\n this.store.dispatch(DataSourceActions.dataset.confirmDeleteVersion({ version }));\n $event?.stopPropagation();\n }\n}\n","<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 <h1 class=\"a-h1\">{{ (currentDataset$ | async)?.name }}</h1>\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 (dataset.activeVersion) {\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.version.productionDate' | i18n }}</span>\n <span>{{\n (dataset.activeVersion.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>{{ dataset.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]=\"\n dataset.activeVersion.additionalInformation ?? ('@pry.dataset.version.notProvided' | i18n) | mdToHtml\n \"\n ></div>\n </div>\n } @else {\n <div class=\"a-p\">\n <p>{{ '@pry.dataset.noActiveVersion' | i18n }}</p>\n </div>\n }\n <div>\n <span class=\"a-label\">{{ '@pry.dataset.tags' | i18n }}</span>\n <div class=\"u-display-flex -wrap\">\n @for (category of dataset.categories; track category.id) {\n <span class=\"a-chip -md\"> {{ category.name }}</span>\n }\n </div>\n </div>\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 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 <th></th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n @for (version of datasetVersions$ | async; track version) {\n <tr\n (click)=\"togglePanel(version)\"\n [class.-selected]=\"version.id === selectedVersion?.id\"\n >\n <td>\n {{ version.version }}\n @if ((currentDataset$ | async)?.activeVersion?.id === version.id) {\n <pry-icon\n iconSvg=\"check\"\n class=\"check\"\n ></pry-icon>\n }\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 (version.id === (currentDataset$ | async)?.activeVersion?.id\n ? '@pry.dataset.version.state.currentlyActive'\n : '@pry.dataset.version.state.' + version.state\n ) | i18n\n }}\n @if (version.state !== 'DELETING') {\n <div\n class=\"m-info-icon a-tooltip -tooltip-width-md\"\n [attr.data-tooltip]=\"\n '@pry.dataset.tooltip.' +\n getVersionTooltipContent(version, (currentDataset$ | async)?.activeVersion?.id) | i18n\n \"\n data-tooltip-position=\"right\"\n >\n <span>i</span>\n </div>\n }\n </td>\n <td>\n @if (\n version.state !== 'LOADING' &&\n version.state !== 'INDEXING' &&\n version.state !== 'ERROR' &&\n version.state !== 'DELETING'\n ) {\n @if ((canModify$ | async) && (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($event, version)\"\n >\n {{ '@pry.dataset.buttonAction.' + version.state | i18n }}\n </button>\n @if (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 }\n </ng-container>\n }\n }\n </td>\n <td>\n @if (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($event, version)\"\n >\n {{\n (version.state === 'ERROR' ? '@pry.dataset.buttonAction.ERROR' : '@pry.dataset.buttonAction.WARNING')\n | i18n\n }}\n </button>\n }\n </td>\n <td>\n @if (\n (canModify$ | async) &&\n (version.state === 'ACTIVE' || version.state === 'ERROR' || version.state === 'INACTIVE')\n ) {\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary a-btn--icon-text ng-star-inserted\"\n (click)=\"askDelete(version, $event)\"\n >\n {{ '@pry.dataset.buttonAction.delete' | i18n }}\n </button>\n }\n </td>\n </tr>\n }\n </tbody>\n </table>\n </div>\n</ng-template>\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n selector: 'pry-dataset-css',\n template: '',\n styleUrls: ['./_o-pry-dataset.scss', './_o-pry-dataset-detail.scss', './_o-pry-dataset-version-form.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class PryDatasetCssComponent {}\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { ClassActions, ConfigActions, Dataset, FieldActions, ViewMode } from '@provoly/dashboard';\n\n@Component({\n selector: 'pry-dataset',\n templateUrl: './dataset.component.html'\n})\nexport class PryDatasetComponent {\n selectedDataset?: Dataset;\n selectedMode: ViewMode = ViewMode.CATALOG;\n ViewMode = ViewMode;\n\n constructor(protected store: Store<any>) {\n this.store.dispatch(ClassActions.load({}));\n this.store.dispatch(FieldActions.load({}));\n this.store.dispatch(ConfigActions.loadCustomization({}));\n }\n\n consult(dataset: Dataset) {\n this.selectedDataset = dataset;\n this.selectedMode = ViewMode.CONSULT;\n }\n}\n","<pry-dataset-css></pry-dataset-css>\n<div class=\"o-dataset-layout u-display-flex -column\">\n @switch (selectedMode) {\n @case (ViewMode.CATALOG) {\n <h1 class=\"a-h1 u-self-start\">{{ '@pry.dataset.title' | i18n }}</h1>\n <pry-datasource-list (consultedDataset)=\"consult($event)\"></pry-datasource-list>\n }\n @case (ViewMode.CONSULT) {\n @if (selectedDataset) {\n <pry-dataset-detail\n [dataset]=\"selectedDataset\"\n (goToCatalog)=\"selectedMode = ViewMode.CATALOG\"\n ></pry-dataset-detail>\n }\n }\n }\n</div>\n","export const enTranslations = {\n '@pry': {\n dataset: {\n consult: 'View',\n title: 'Dataset catalog',\n search: 'Search',\n searchPlaceholder: 'Enter your search',\n filter: 'Filter by category',\n filterPlaceholder: 'Enter categories',\n name: 'Name',\n description: 'Description',\n noDescription: 'No description',\n tags: 'Tags',\n noTags: 'No associated tags',\n class: 'Class',\n date: 'Date',\n status: 'Status',\n versionHistory: 'Version history',\n information: 'Information',\n data: 'Data',\n table: 'Table',\n map: 'Map',\n export: 'Export',\n api: 'API',\n returnToList: 'Back to catalog',\n refresh: 'Refresh',\n since_day: 'Last update :',\n noActiveVersion: 'No active version',\n version: {\n delete: {\n title: 'Delete version',\n message: 'Deleting this version will remove associated data. Are you sure you want to delete it?'\n }\n },\n form: {\n obligatory: 'Obligatory field',\n date: 'The date cannot be in the future'\n },\n buttonAction: {\n ACTIVE: 'Invalidate',\n INACTIVE: 'Validate',\n ERROR: 'Consult errors',\n WARNING: 'Consult warnings',\n LOADING: '',\n INDEXING: '',\n delete: 'Delete',\n cancel: 'Cancel'\n },\n error: {\n type: 'Type',\n elements: 'Elements',\n message: 'Message',\n close: 'Fermer',\n modalTitle: {\n ERROR: 'List of errors',\n WARNING: 'List of warnings'\n },\n level: {\n ERROR: 'Error',\n WARNING: 'Warning'\n },\n code: {\n UNRECOGNIZED: 'Unrecognized attribute{{plural}} {{name}}',\n FORMAT: 'Wrong format for attribute {{name}}',\n STORAGE: 'Insertion error for element {{recordId}}',\n NO_VALUES: 'No value for {{recordId}} line',\n FORMAT_FILE_ERROR: 'Unsupported file format',\n NO_ATTRIBUTES: 'The imported data does not correspond to the data model indicated in the import target'\n }\n },\n tooltip: {\n error: 'Errors occurred when integrating the data into the solution. The data is not accessible',\n active: 'The data retrieved by default in the application corresponds to the data integrated in this version.',\n inactive:\n 'The data for this version is available but not uploaded by default. It is possible to display them by explicitly requesting this version.',\n loading: 'The data is currently being integrated into the solution',\n invalid:\n 'The data in this version is present in the solution but is not relevant. It is not available are not available for display',\n unknown: 'Unknown error',\n invalidateButton:\n 'Allows you to make the version\\'s data unavailable if it is considered irrelevant from a business point of view. If the invalidated version is the active version, then the data retrieved by default will be that of the most recent previous \"Available\" version, which will thus change to \"Active\" status.',\n validateButton:\n \"Allows the version's data to be made available if it is considered relevant from a business point of view after having been invalidated. If the validated version is the most recent, it will become the active version and its data will be the default.\"\n }\n }\n }\n};\n","export const frTranslations = {\n '@pry': {\n dataset: {\n consult: 'Consulter',\n title: 'Catalogue de données',\n search: 'Rechercher une donnée :',\n searchPlaceholder: 'Saisir votre recherche',\n filter: 'Filtrer par catégories :',\n filterPlaceholder: 'Saisir les catégories',\n name: 'Nom',\n description: 'Description',\n noDescription: 'Pas de description',\n tags: 'Tags',\n noTags: 'Pas de tags associés',\n class: 'Modèle de données',\n date: 'Date',\n status: 'Statut',\n versionHistory: 'Historique de versions',\n information: 'Informations',\n data: 'Données',\n table: 'Tableau',\n map: 'Carte',\n export: 'Export',\n api: 'API',\n returnToList: 'Retour au catalogue',\n refresh: 'Actualiser',\n since_day: 'Dernière mise à jour :',\n noActiveVersion: 'Aucune version active',\n version: {\n delete: {\n title: 'Supprimer une version',\n message:\n 'La suppression de cette version entraînera la suppression des données associées. Confirmez-vous la suppression ?'\n }\n },\n form: {\n obligatory: 'Champ obligatoire',\n date: 'La date de production ne peut pas être dans le futur'\n },\n buttonAction: {\n ACTIVE: 'Invalider',\n INACTIVE: 'Valider',\n ERROR: 'Consulter erreurs',\n WARNING: 'Consulter warnings',\n LOADING: '',\n INDEXING: '',\n delete: 'Supprimer',\n cancel: 'Annuler'\n },\n error: {\n ERROR: 'Erreur',\n WARNING: 'Warning',\n type: 'Type',\n elements: 'Elements',\n message: 'Message',\n close: 'Fermer',\n modalTitle: {\n ERROR: 'Liste des erreurs',\n WARNING: 'Liste des warnings'\n },\n level: {\n ERROR: 'Erreur',\n WARNING: 'Warning'\n },\n code: {\n UNRECOGNIZED: 'Attribut{{plural}} {{name}} non reconnu{{plural}}',\n FORMAT: \"Format d'attribut {{name}} incorrect\",\n STORAGE: \"Erreur d'insertion pour l'élément {{recordId}}\",\n NO_VALUES: 'Pas de valeur pour la ligne {{recordId}}',\n FORMAT_FILE_ERROR: \"Le format du fichier transmis n'est pas géré\",\n NO_ATTRIBUTES: \"Les données importées ne correspondent pas au modèle de données indiqué en cible de l'import\"\n }\n },\n tooltip: {\n error:\n \"Des erreurs sont apparues lors de l'intégration des données dans la solution. Les données ne sont pas accessibles\",\n active:\n \"Les données remontées par défaut dans l'application correspondent à celles intégrées dans cette version\",\n inactive:\n 'Les données de cette version sont disponibles mais non remontées par défaut. Il est possible de les afficher en demandant explicitement cette version.',\n loading: \"Les données sont en cours d'intégration dans la solution\",\n invalid:\n \"Les données de cette version sont présentes dans la solution mais sont non pertinentes. Elles ne sont pas disponibles pour l'affichage\",\n unknown: 'Erreur inconnue',\n invalidateButton:\n 'Permet de rendre indisponible les données de la version dans le cas où elles sont considérées comme non pertinente d\\'un point de vue métier. Si la version invalidée est la version active, alors les données récupérées par défaut seront celle de la version \"Disponible\" précédente la plus récente qui passera ainsi au statut \"Active\"',\n validateButton:\n \"Permet de rendre disponible les données de la version dans le cas où elles sont considérées comme pertinente d'un point de vue métier après avoir été invalider. Si la version validée est la plus récente, elle deviendra ainsi la version active et ses données seront celles remontées par défaut\"\n }\n }\n }\n};\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport {\n PryCoreModule,\n PryDashboardModule,\n PryI18nModule,\n PryI18nService,\n PryIconModule,\n PryOverlayModule,\n PrySelectModule, PrySinceDateModule\n} from '@provoly/dashboard';\nimport { PryDatasetDetailComponent } from './components/dataset-detail/dataset-detail.component';\nimport { PryDatasetComponent } from './components/dataset.component';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { PryDatasetCssComponent } from './style/css.component';\nimport { PryDatasetVersionFormComponent } from './components/dataset-version-form/dataset-version-form.component';\nimport { PryTextEditorModule } from '@provoly/dashboard/components/text-editor';\n\n@NgModule({\n declarations: [\n PryDatasetComponent,\n PryDatasetCssComponent,\n PryDatasetDetailComponent,\n PryDatasetVersionFormComponent\n ],\n imports: [\n CommonModule,\n PryIconModule,\n PryCoreModule,\n PryOverlayModule,\n PryI18nModule,\n FormsModule,\n PryDashboardModule,\n ReactiveFormsModule,\n PryTextEditorModule,\n PrySelectModule,\n PrySinceDateModule\n ],\n exports: [PryDatasetComponent, PryDatasetCssComponent, PryDatasetDetailComponent]\n})\nexport class PryDatasetModule {\n constructor(private pryTranslateService: PryI18nService) {\n this.pryTranslateService.addLangObject('fr', 'dataset', frTranslations);\n this.pryTranslateService.addLangObject('en', 'dataset', enTranslations);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i4","i2","i3.PryDatasetVersionFormComponent","i5","i3.PryDatasetCssComponent","i4.PryDatasetDetailComponent","i1"],"mappings":"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"}
@@ -810,7 +810,7 @@ class SelectGridLayoutComponent extends ToolboxActionComponent {
810
810
  this.toggleGridChoiceModal();
811
811
  }
812
812
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SelectGridLayoutComponent, deps: [{ token: i1.Store }, { token: PRY_ACCESS_TOKEN, optional: true }, { token: i2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
813
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: SelectGridLayoutComponent, selector: "pry-select-grid-layout", viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }, { propertyName: "firstButton", first: true, predicate: ["firstButton"], descendants: true }, { propertyName: "openModal", first: true, predicate: ["openModal"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-toolbox-css></pry-toolbox-css>\n<div [attr.aria-expanded]=\"modalOpened\" aria-controls=\"grid-layout\">\n <button type=\"button\" #openModal class=\"a-btn a-btn--secondary\" (click)=\"toggleGridChoiceModal()\">\n @if (displayLabels) {\n {{ '@pry.toolbox.chooseGrid' | i18n }}\n }\n </button>\n</div>\n<ng-template #template>\n <div\n class=\"o-modal\"\n (click)=\"$event.stopPropagation()\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_title\"\n id=\"grid-layout\"\n (keydown.escape)=\"toggleGridChoiceModal()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">{{ '@pry.toolbox.chooseGrid' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"toggleGridChoiceModal()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div class=\"o-select-grid-layout-wrapper\">\n <ul class=\"o-select-grid-layout\">\n @for (layout of availableLayouts$ | async; track layout) {\n <li class=\"o-select-grid-layout__item\">\n <button\n type=\"button\"\n #firstButton\n class=\"a-btn\"\n [attr.aria-pressed]=\"chosenLayout === layout.type\"\n [class.selected]=\"chosenLayout === layout.type\"\n (click)=\"changeLayout(layout.type)\"\n >\n <div class=\"o-select-grid-layout__item__preview\">\n <pry-dashboard\n [staticDashboard]=\"{\n widgets: [],\n grid: { layout: layout.type, rows: layout.rows, columns: layout.columns, gap: 3 }\n }\"\n [breakpoint]=\"10\"\n [noBackground]=\"true\"\n [forceModeEdition]=\"false\"\n ></pry-dashboard>\n </div>\n <p class=\"a-p\">\n <strong>{{ layout.label ?? '' | i18n }}</strong>\n </p>\n <p class=\"a-p\">\n {{ layout.description ?? '' | i18n }}\n </p>\n </button>\n </li>\n }\n </ul>\n </div>\n <div class=\"m-btn-group -space-evenly\">\n <button (click)=\"toggleGridChoiceModal()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button (click)=\"validate()\" class=\"a-btn a-btn--primary\">\n {{ '@pry.toolbox.manifest.validated' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: i3.DashboardComponent, selector: "pry-dashboard", inputs: ["staticDashboard", "forceModeEdition", "CloseOnDragOut", "displayOptions", "noBackground", "breakpoint"], outputs: ["rowHeight", "rows"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: PrySelectGridLayoutCssComponent, selector: "pry-toolbox-css" }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
813
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.7", type: SelectGridLayoutComponent, selector: "pry-select-grid-layout", viewQueries: [{ propertyName: "template", first: true, predicate: ["template"], descendants: true, read: TemplateRef }, { propertyName: "firstButton", first: true, predicate: ["firstButton"], descendants: true }, { propertyName: "openModal", first: true, predicate: ["openModal"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<pry-toolbox-css></pry-toolbox-css>\n<div [attr.aria-expanded]=\"modalOpened\" aria-controls=\"grid-layout\">\n <button type=\"button\" #openModal class=\"a-btn a-btn--secondary\" (click)=\"toggleGridChoiceModal()\">\n @if (displayLabels) {\n {{ '@pry.toolbox.chooseGrid' | i18n }}\n }\n </button>\n</div>\n<ng-template #template>\n <div\n class=\"o-modal\"\n (click)=\"$event.stopPropagation()\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_title\"\n id=\"grid-layout\"\n (keydown.escape)=\"toggleGridChoiceModal()\"\n cdkTrapFocus\n [cdkTrapFocusAutoCapture]=\"true\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">{{ '@pry.toolbox.chooseGrid' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" (click)=\"toggleGridChoiceModal()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div class=\"o-select-grid-layout-wrapper\">\n <ul class=\"o-select-grid-layout\">\n @for (layout of availableLayouts$ | async; track layout) {\n <li class=\"o-select-grid-layout__item\">\n <button\n type=\"button\"\n #firstButton\n class=\"a-btn\"\n [attr.aria-pressed]=\"chosenLayout === layout.type\"\n [class.selected]=\"chosenLayout === layout.type\"\n (click)=\"changeLayout(layout.type)\"\n >\n <div class=\"o-select-grid-layout__item__preview\">\n <pry-dashboard\n [staticDashboard]=\"{\n widgets: [],\n grid: { layout: layout.type, rows: layout.rows, columns: layout.columns, gap: 3 }\n }\"\n [breakpoint]=\"10\"\n [noBackground]=\"true\"\n [forceModeEdition]=\"false\"\n ></pry-dashboard>\n </div>\n <p class=\"a-p\">\n <strong>{{ layout.label ?? '' | i18n }}</strong>\n </p>\n <p class=\"a-p\">\n {{ layout.description ?? '' | i18n }}\n </p>\n </button>\n </li>\n }\n </ul>\n </div>\n <div class=\"m-btn-group -space-evenly\">\n <button (click)=\"toggleGridChoiceModal()\" class=\"a-btn a-btn--secondary\">\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button (click)=\"validate()\" class=\"a-btn a-btn--primary\">\n {{ '@pry.toolbox.manifest.validated' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: i3.DashboardComponent, selector: "pry-dashboard", inputs: ["staticDashboard", "forceModeEdition", "CloseOnDragOut", "displayOptions", "noBackground", "breakpoint", "linkedItems"], outputs: ["rowHeight", "rows"] }, { kind: "component", type: i3.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "directive", type: i4$1.CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "component", type: PrySelectGridLayoutCssComponent, selector: "pry-toolbox-css" }, { kind: "pipe", type: i2$1.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.I18nPipe, name: "i18n" }] }); }
814
814
  }
815
815
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SelectGridLayoutComponent, decorators: [{
816
816
  type: Component,