{"version":3,"file":"onepoint-yap-dashboard-dataset.mjs","sources":["../../../../projects/onepoint-yap/dashboard/dataset/i18n/en.translations.ts","../../../../projects/onepoint-yap/dashboard/dataset/i18n/fr.translations.ts","../../../../projects/onepoint-yap/dashboard/dataset/style/css.component.ts","../../../../projects/onepoint-yap/dashboard/dataset/components/dataset-card/dataset-card.component.ts","../../../../projects/onepoint-yap/dashboard/dataset/components/dataset-card/dataset-card.component.html","../../../../projects/onepoint-yap/dashboard/dataset/components/dataset-detail/dataset-detail.component.ts","../../../../projects/onepoint-yap/dashboard/dataset/components/dataset-detail/dataset-detail.component.html","../../../../projects/onepoint-yap/dashboard/dataset/components/dataset.component.ts","../../../../projects/onepoint-yap/dashboard/dataset/components/dataset.component.html","../../../../projects/onepoint-yap/dashboard/dataset/dataset.module.ts","../../../../projects/onepoint-yap/dashboard/dataset/onepoint-yap-dashboard-dataset.ts"],"sourcesContent":["export const enTranslations = {\n  '@yap': {\n    dataset: {\n      title: 'Dataset catalog',\n      search: 'Search',\n      date: 'Date',\n      status: 'Status',\n      data: 'Data',\n      export: 'Export',\n      version: {\n        title: 'Title',\n        INDEXING: 'Loading',\n        LOADING: 'Loading',\n        INACTIVE: 'Invalid',\n        ERROR: 'Error',\n        ACTIVE: 'Available',\n        currentlyActive: 'Active'\n      },\n      buttonAction: {\n        ACTIVE: 'Invalidate',\n        INACTIVE: 'Validate',\n        ERROR: 'Consult errors',\n        LOADING: '',\n        INDEXING: ''\n      },\n      api: 'API',\n      error: {\n        title: 'List of errors',\n        close: 'Close'\n      }\n    }\n  }\n};\n","export const frTranslations = {\n  '@yap': {\n    dataset: {\n      title: 'Catalogue des jeux de données',\n      search: 'Rechercher',\n      date: 'Date',\n      status: 'Statut',\n      data: 'Données',\n      table: 'Tableau',\n      export: 'Export',\n      api: 'API',\n      returnToList: 'Retourner a la liste des jeux de donnees',\n      version: {\n        title: 'Intitulé',\n        INDEXING: 'En chargement',\n        LOADING: 'En chargement',\n        INACTIVE: 'Invalide',\n        ERROR: 'En erreur',\n        ACTIVE: 'Disponible',\n        currentlyActive: 'Active'\n      },\n      buttonAction: {\n        ACTIVE: 'Invalider',\n        INACTIVE: 'Valider',\n        ERROR: 'Consulter erreurs',\n        LOADING: '',\n        INDEXING: ''\n      },\n      error: {\n        title: 'Liste des erreurs',\n        code: 'Code',\n        elements: 'Elements',\n        message: 'Message',\n        close: 'Fermer'\n      }\n    }\n  }\n};\n","import { Component, ViewEncapsulation } from '@angular/core';\n\n@Component({\n  selector: 'yap-dataset-css',\n  template: '',\n  styleUrls: ['./_o-yap-dataset.scss', './_o-yap-dataset-card.scss', './_o-yap-dataset-detail.scss'],\n  encapsulation: ViewEncapsulation.None\n})\nexport class YapDatasetCssComponent {}\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\nimport { Dataset } from '@onepoint-yap/dashboard';\n\n@Component({\n  selector: 'yap-dataset-card',\n  templateUrl: './dataset-card.component.html'\n})\nexport class YapDatasetCardComponent {\n  @Input() dataset!: Dataset;\n  @Output() consult = new EventEmitter<Dataset>();\n\n  goToDetailView() {\n    this.consult.emit(this.dataset);\n  }\n}\n","<yap-dataset-css></yap-dataset-css>\n<div class=\"o-yap-dataset-card\">\n  <div class=\"o-yap-dataset-card__header\">\n    <img\n      alt=\"\"\n      [height]=\"25\"\n      [width]=\"25\"\n      [src]=\"dataset.id | translateId : { type: 'datasource', output: 'icon' } | async\"\n    />\n    <h4 class=\"a-h4\">{{ dataset.name }}</h4>\n  </div>\n  <div class=\"o-yap-dataset-card__content\"></div>\n  <div class=\"o-yap-dataset-card__footer\">\n    <button class=\"a-btn\" (click)=\"goToDetailView()\">\n      <yap-icon iconSvg=\"table\"></yap-icon>\n      {{ '@yap.dataset.table' | i18n }}\n    </button>\n    <button class=\"a-btn\" (click)=\"goToDetailView()\">\n      <yap-icon iconSvg=\"download\"></yap-icon>\n      {{ '@yap.dataset.export' | i18n }}\n    </button>\n    <button class=\"a-btn\" (click)=\"goToDetailView()\">\n      {{ '@yap.dataset.api' | i18n }}\n    </button>\n  </div>\n  <div class=\"o-yap-dataset-card__button\">\n    <button class=\"a-btn\" (click)=\"goToDetailView()\">Consulter</button>\n  </div>\n</div>\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n  DashboardSelectors,\n  Dataset,\n  DatasetVersion,\n  DataSourceActions,\n  DataSourceSelectors,\n  ResultSets,\n  SearchActions,\n  ViewMode,\n  WidgetManifest\n} from '@onepoint-yap/dashboard';\nimport { map, Observable } from 'rxjs';\n\nlet nextCompId = 0;\n\n@Component({\n  selector: 'yap-dataset-detail',\n  templateUrl: './dataset-detail.component.html'\n})\nexport class YapDatasetDetailComponent implements OnInit {\n  @Input() dataset!: Dataset;\n  @Output() goToCatalog = new EventEmitter();\n  widgetManifest: WidgetManifest = {\n    type: 'table',\n    layout: { x: 1, y: 1, height: 10, width: 12 },\n    options: {},\n    datasource: ['']\n  };\n  protected readonly ViewMode = ViewMode;\n  compId: number = 0;\n  tab: number = 0;\n\n  datasetItems$: Observable<ResultSets | null> | undefined;\n  public datasetVersions$!: Observable<DatasetVersion[]>;\n  showModalStatus: boolean = false;\n  selectedDatasetVersion?: DatasetVersion;\n  selectedMode: ViewMode = ViewMode.CONSULT;\n\n  constructor(private store: Store) {\n    this.compId = nextCompId++;\n  }\n\n  ngOnInit() {\n    this.store.dispatch(SearchActions.getDatasourceItems({ id: this.dataset.id }));\n    this.store.dispatch(DataSourceActions.dataset.listVersions());\n    this.datasetItems$ = this.store.select(DashboardSelectors.resultSets);\n    this.datasetVersions$ = this.store\n      .select(DataSourceSelectors.matchingDatasetVersions(this.dataset.id))\n      .pipe(map((res) => [...res].sort((a, b) => b.version - a.version)));\n    this.widgetManifest.datasource = [this.dataset.id];\n  }\n\n  goBack() {\n    this.goToCatalog.emit();\n  }\n\n  goToConsult(version: DatasetVersion | undefined): void {\n    this.selectedDatasetVersion = version;\n    this.showModalStatus = false;\n    this.selectedMode = ViewMode.CONSULT;\n  }\n\n  switch(number: number) {\n    this.tab = number;\n  }\n\n  handleButtonAction(version: DatasetVersion) {\n    this.selectedDatasetVersion = version;\n    switch (version.state) {\n      case 'ERROR':\n        this.showModalStatus = true;\n        break;\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  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","<div class=\"o-manifest-layout__content\">\n  <button class=\"a-btn a-btn--primary\" (click)=\"goBack()\">{{ '@yap.dataset.returnToList' | i18n }}</button>\n</div>\n\n<div class=\"o-yap-dataset-detail\">\n  <div class=\"o-manifest-layout__content\">\n    <h1 class=\"a-h1\">{{ dataset.name }}</h1>\n  </div>\n  <div class=\"dataset-detail\">\n    <div class=\"o-tabs\">\n      <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-custo'\">\n        <button\n          type=\"button\"\n          class=\"o-tabs__list__btn\"\n          role=\"tab\"\n          [id]=\"'tab-' + compId + '-0'\"\n          [attr.aria-selected]=\"tab === 0\"\n          [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n          [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n          (click)=\"switch(0)\"\n        >\n          {{ '@yap.dataset.data' | i18n }}\n        </button>\n        <button\n          type=\"button\"\n          class=\"o-tabs__list__btn\"\n          role=\"tab\"\n          [id]=\"'tab-' + compId + '-1'\"\n          [attr.aria-selected]=\"tab === 1\"\n          [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n          [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n          (click)=\"switch(1)\"\n        >\n          {{ '@yap.dataset.status' | i18n }}\n        </button>\n      </div>\n    </div>\n    <div *ngIf=\"tab === 0\" class=\"table-container\">\n      <yap-widget-instanciator [standalone]=\"true\" [staticManifest]=\"widgetManifest\"></yap-widget-instanciator>\n    </div>\n    <div class=\"o-base-layout__content\">\n      <div *ngIf=\"tab === 1\">\n        <div class=\"table-container\">\n          <table class=\"a-table\">\n            <caption>\n              {{\n                '@yap.admin.dataset.title' | i18n\n              }},\n              {{\n                '@yap.action.sortableColumnHeader' | i18n\n              }}\n            </caption>\n            <thead>\n              <tr>\n                <th>{{ '@yap.dataset.version.title' | i18n }}</th>\n                <th>{{ '@yap.dataset.date' | i18n }}</th>\n                <th>{{ '@yap.dataset.status' | i18n }}</th>\n                <th></th>\n              </tr>\n            </thead>\n            <tbody>\n              <tr *ngFor=\"let version of datasetVersions$ | async; let first = first\">\n                <td>\n                  {{ version.version }}\n                  <yap-icon *ngIf=\"version.state === 'ACTIVE' && first\" iconSvg=\"check\" class=\"check\"></yap-icon>\n                </td>\n                <td>{{ version.lastModified | sinceDate }}</td>\n                <td *ngIf=\"version.state === 'ACTIVE' && first; else notActive\">\n                  {{ '@yap.dataset.version.currentlyActive' | i18n }}\n                  <div class=\"info-icon\">\n                    <span class=\"info-text\">i</span>\n                  </div>\n                </td>\n                <ng-template #notActive>\n                  <td>\n                    {{ '@yap.dataset.version.' + version.state | i18n }}\n                    <div class=\"info-icon\">\n                      <span class=\"info-text\">i</span>\n                    </div>\n                  </td>\n                </ng-template>\n                <td>\n                  <div *ngIf=\"version.state !== 'LOADING' && version.state !== 'INDEXING'\">\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                      {{ '@yap.dataset.buttonAction.' + version.state | i18n }}\n                    </button>\n                  </div>\n                </td>\n              </tr>\n            </tbody>\n          </table>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n\n<ng-container *ngIf=\"showModalStatus\">\n  <yap-modalStatus [version]=\"selectedDatasetVersion\" (gotoConsult)=\"goToConsult($event)\"></yap-modalStatus>\n</ng-container>\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport {\n  DashboardActions,\n  Dataset,\n  DataSourceSelectors,\n  SubscriptionnerDirective,\n  ViewMode\n} from '@onepoint-yap/dashboard';\nimport { BehaviorSubject, combineLatest, map, Observable } from 'rxjs';\n\n@Component({\n  selector: 'yap-dataset',\n  templateUrl: './dataset.component.html'\n})\nexport class YapDatasetComponent extends SubscriptionnerDirective {\n  datasets$: Observable<Dataset[]>;\n  selectedDataset: Dataset | null = null;\n  selectedMode: ViewMode = ViewMode.CATALOG;\n  ViewMode = ViewMode;\n  search$ = new BehaviorSubject('');\n  filteredDatasets$: Observable<Dataset[]>;\n\n  constructor(protected store: Store<any>) {\n    super();\n    this.datasets$ = this.store.select(DataSourceSelectors.datasets);\n    this.store.dispatch(DashboardActions.fetchManifestsList());\n    this.filteredDatasets$ = combineLatest([this.datasets$, this.search$]).pipe(\n      map(([datasets, search]) =>\n        datasets.filter((dataset) => search.length === 0 || dataset.name.toLowerCase().includes(search.toLowerCase()))\n      )\n    );\n  }\n\n  consult(dataset: Dataset) {\n    this.selectedDataset = dataset;\n    this.selectedMode = ViewMode.CONSULT;\n  }\n}\n","<yap-dataset-css></yap-dataset-css>\n<div class=\"o-manifest-layout\" [ngSwitch]=\"selectedMode\">\n  <ng-container *ngSwitchCase=\"ViewMode.CATALOG\">\n    <div class=\"o-manifest-layout__toolbox\">\n      <div class=\"o-yap-dataset__search\">\n        <label id=\"catalog-search-label\" for=\"catalog-search\" class=\"u-visually-hidden\">\n          <span>{{ '@yap.toolbox.catalog.filter.name' | i18n }}</span>\n        </label>\n        <input\n          id=\"catalog-search\"\n          type=\"text\"\n          class=\"a-form-field\"\n          [placeholder]=\"'@yap.dataset.search' | i18n\"\n          [ngModel]=\"search$ | async\"\n          (ngModelChange)=\"this.search$.next($event)\"\n        />\n        <yap-icon iconSvg=\"search\" [width]=\"17\" [height]=\"17\"></yap-icon>\n      </div>\n    </div>\n    <div class=\"o-manifest-layout__content\">\n      <h1 class=\"a-h1\">{{ '@yap.dataset.title' | i18n }}</h1>\n      <div class=\"o-yap-dataset\">\n        <yap-dataset-card\n          *ngFor=\"let dataset of filteredDatasets$ | async\"\n          [dataset]=\"dataset\"\n          (consult)=\"consult($event)\"\n        ></yap-dataset-card>\n      </div>\n    </div>\n  </ng-container>\n  <ng-container *ngSwitchCase=\"ViewMode.CONSULT\">\n    <ng-template [ngIf]=\"selectedDataset\">\n      <yap-dataset-detail\n        [dataset]=\"selectedDataset\"\n        (goToCatalog)=\"selectedMode = ViewMode.CATALOG\"\n      ></yap-dataset-detail>\n    </ng-template>\n  </ng-container>\n</div>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport {\n  YapCoreModule,\n  YapDashboardModule,\n  YapI18nModule,\n  YapI18nService,\n  YapIconModule,\n  YapModalStatusModule,\n  YapOverlayModule\n} from '@onepoint-yap/dashboard';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { YapDatasetCssComponent } from './style/css.component';\nimport { YapDatasetComponent } from './components/dataset.component';\nimport { FormsModule } from '@angular/forms';\nimport { YapDatasetCardComponent } from './components/dataset-card/dataset-card.component';\nimport { YapDatasetDetailComponent } from './components/dataset-detail/dataset-detail.component';\nimport { YapSinceDateModule } from '@onepoint-yap/dashboard/components/sinceDate';\n\n@NgModule({\n  providers: [],\n  declarations: [YapDatasetComponent, YapDatasetCssComponent, YapDatasetCardComponent, YapDatasetDetailComponent],\n  imports: [\n    CommonModule,\n    YapIconModule,\n    YapCoreModule,\n    YapOverlayModule,\n    YapI18nModule,\n    FormsModule,\n    YapDashboardModule,\n    YapSinceDateModule,\n    YapModalStatusModule\n  ],\n  exports: [YapDatasetComponent, YapDatasetCssComponent, YapDatasetCardComponent, YapDatasetDetailComponent]\n})\nexport class YapDatasetModule {\n  constructor(private yapTranslateService: YapI18nService) {\n    this.yapTranslateService.addLangObject('fr', 'dataset', frTranslations);\n    this.yapTranslateService.addLangObject('en', 'dataset', enTranslations);\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2.YapDatasetCssComponent","i3","i4","i5.YapDatasetCssComponent","i6.YapDatasetCardComponent","i7.YapDatasetDetailComponent"],"mappings":"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"}