{"version":3,"file":"onepoint-yap-dashboard-supervision.mjs","sources":["../../../../projects/onepoint-yap/dashboard/supervision/store/supervision.actions.ts","../../../../projects/onepoint-yap/dashboard/supervision/store/supervision.reducer.ts","../../../../projects/onepoint-yap/dashboard/supervision/store/supervision.selectors.ts","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-business-data/supervision-business-data.component.ts","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-business-data/supervision-business-data.component.html","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-flow/supervision-flow.component.ts","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-flow/supervision-flow.component.html","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-infrastructures/supervision-infrastructures.component.ts","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-infrastructures/supervision-infrastructures.component.html","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.ts","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.html","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-integration-errors/supervision-integration-errors.component.ts","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-integration-errors/supervision-integration-errors.component.html","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-menu/supervision-menu.component.ts","../../../../projects/onepoint-yap/dashboard/lib/core/components/base-menu/base-menu.component.html","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-title/supervision-title.component.ts","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-title/supervision-title.component.html","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-layout/supervision-layout.component.ts","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision-layout/supervision-layout.component.html","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision.component.ts","../../../../projects/onepoint-yap/dashboard/supervision/components/supervision.component.html","../../../../projects/onepoint-yap/dashboard/supervision/i18n/en.translations.ts","../../../../projects/onepoint-yap/dashboard/supervision/i18n/fr.translations.ts","../../../../projects/onepoint-yap/dashboard/supervision/store/supervision.service.ts","../../../../projects/onepoint-yap/dashboard/supervision/store/supervision.effects.ts","../../../../projects/onepoint-yap/dashboard/supervision/supervision-routing.module.ts","../../../../projects/onepoint-yap/dashboard/supervision/supervision.module.ts","../../../../projects/onepoint-yap/dashboard/supervision/onepoint-yap-dashboard-supervision.ts"],"sourcesContent":["import { createAction, props } from '@ngrx/store';\nimport { BaseToolboxAction } from '@onepoint-yap/dashboard';\nimport { Infrastructure, InputFlow, IntegrationError } from './supervision-api.model';\n\nexport const SupervisionActions = {\n  highLightMenu: createAction('[Supervision] selecting highLight', props<{ menu: string }>()),\n  routeTo: createAction('[Supervision] route to', props<{ path: string; params?: { [p: string]: string } }>()),\n  toggleMenu: createAction('[Supervision] Toggle menu'),\n  resetActions: createAction('[Supervision] reset toolbox main and sub actions'),\n  mainActions: createAction('[Supervision] set toolbox main actions', props<{ actions: BaseToolboxAction[] }>()),\n  subActions: createAction('[Supervision] set toolbox sub actions', props<{ actions: BaseToolboxAction[] }>()),\n  loadInfras: createAction('[Supervision/Infra] Load Infras'),\n  loadInfrasSuccess: createAction('[Supervision/Infra Api] Load Infras Success', props<{ infras: Infrastructure[] }>()),\n  loadInfrasFailure: createAction('[Supervision/Infra Api] Load Infras Failure', props<{ error: any }>()),\n  scaleInfra: createAction('[Supervision/Infra] Scale infra', props<{ name: string; scale: number; up: boolean }>()),\n  scaleInfraSuccess: createAction(\n    '[Supervision/Infra Api] Scale infra success',\n    props<{ name: string; time: string; up: boolean }>()\n  ),\n  scaleInfraFailure: createAction('[Supervision/Infra Api] Scale infra failure', props<{ error: any }>()),\n  loadFlows: createAction('[Supervision/Flow] Load Flows'),\n  loadFlowsSuccess: createAction('[Supervision/Flow Api] Load Flows Success', props<{ flows: InputFlow[] }>()),\n  loadFlowsFailure: createAction('[Supervision/Flow Api] Load Flows Failure', props<{ error: any }>()),\n  loadIntegrationErrors: createAction('[Supervision/Errors] Load Integration Errors'),\n  loadIntegrationErrorsSuccess: createAction(\n    '[Supervision/Errors Api] Load Integration Errors Success',\n    props<{ integrationErrors: IntegrationError[] }>()\n  ),\n  loadIntegrationErrorsFailure: createAction(\n    '[Supervision/Errors Api] Load Integration Errors Failure',\n    props<{ error: any }>()\n  ),\n  toggleErrorDetails: createAction(\n    '[Supervision/Errors] Toggle Side Panel With Error Details Of Chosen Class',\n    props<{ error: IntegrationError | null; errorDetailsOpen: boolean }>()\n  ),\n  toggleClassSelection: createAction(\n    '[Supervision/Errors] Select/Unselect Class for submission (Reload/Acknowledge)',\n    props<{ selectedClass: string }>()\n  ),\n  reloadErrors: createAction('[Supervision/Errors] Reload Integration Errors'),\n  reloadErrorsSuccess: createAction('[Supervision/Errors Api] Reload Integration Errors Success'),\n  reloadErrorsFailure: createAction(\n    '[Supervision/Errors Api] Reload Integration Errors failure',\n    props<{ error: any }>()\n  ),\n  acknowledgeErrors: createAction('[Supervision/Errors] Acknowledge Integration Errors'),\n  acknowledgeErrorsSuccess: createAction('[Supervision/Errors Api] Acknowledge Integration Errors Success'),\n  acknowledgeErrorsFailure: createAction(\n    '[Supervision/Errors Api] Acknowledge Integration Errors Failure',\n    props<{ error: any }>()\n  ),\n  setRefreshInterval: createAction(\n    '[Supervision/Errors] Change the interval of time for refreshing errors (in milliseconds)',\n    props<{ interval: number }>()\n  ),\n  startAutoRefresh: createAction('[Supervision/Errors] Start auto refreshing errors'),\n  stopAutoRefresh: createAction('[Supervision/Errors] Stop auto refreshing errors')\n};\n","import { createReducer, on } from '@ngrx/store';\nimport { BaseMenuItem, BaseToolboxAction, BusinessData } from '@onepoint-yap/dashboard';\nimport { Infrastructure, InputFlow, IntegrationError, LastInfrastructureScale } from './supervision-api.model';\nimport { SupervisionActions } from './supervision.actions';\n\nexport const supervisionFeatureKey = '@yap/supervision';\n\nexport interface SupervisionState {\n  highlightedMenu: string;\n  menus: BaseMenuItem[];\n  menuOpen: boolean;\n  actions: BaseToolboxAction[];\n  subActions: BaseToolboxAction[];\n  infrastructures: Infrastructure[];\n  lastInfraScale: LastInfrastructureScale | undefined;\n  inputFlows: InputFlow[];\n  businessDatas: BusinessData[];\n  integrationErrors: IntegrationError[];\n  currentIntegrationError?: IntegrationError | null;\n  errorDetailsOpen: boolean;\n  selectedClasses: string[];\n  refreshInterval: number;\n  loading: boolean;\n}\n\nexport const initialSupervisionState: SupervisionState = {\n  highlightedMenu: 'infrastructures',\n  menus: [\n    { menu: 'infrastructures', module: 'supervision', page: 'infrastructures' },\n    { menu: 'input-flows', module: 'supervision', page: 'input_flows' },\n    { menu: 'business-datas', module: 'supervision', page: 'business_datas' },\n    { menu: 'integration-errors', module: 'supervision', page: 'integration_errors' }\n  ],\n  menuOpen: true,\n  actions: [],\n  subActions: [],\n  infrastructures: [],\n  lastInfraScale: undefined,\n  inputFlows: [],\n  businessDatas: [],\n  integrationErrors: [],\n  errorDetailsOpen: false,\n  selectedClasses: [],\n  refreshInterval: 30000,\n  loading: false\n};\n\nexport const supervisionReducer = createReducer(\n  initialSupervisionState,\n  on(SupervisionActions.highLightMenu, (state, action) => ({\n    ...state,\n    highlightedMenu: action.menu\n  })),\n  on(SupervisionActions.toggleMenu, (state) => ({\n    ...state,\n    menuOpen: !state.menuOpen\n  })),\n  on(SupervisionActions.resetActions, (state) => ({\n    ...state,\n    actions: [],\n    subActions: []\n  })),\n  on(SupervisionActions.mainActions, (state, action) => ({\n    ...state,\n    actions: [...action.actions]\n  })),\n  on(SupervisionActions.subActions, (state, action) => ({\n    ...state,\n    subActions: [...action.actions]\n  })),\n  on(SupervisionActions.loadInfras, (state) => ({\n    ...state,\n    loading: true\n  })),\n  on(SupervisionActions.loadInfrasSuccess, (state, action) => ({\n    ...state,\n    infrastructures: [...action.infras],\n    loading: false\n  })),\n  on(SupervisionActions.loadInfrasFailure, (state) => ({\n    ...state,\n    loading: false\n  })),\n  on(SupervisionActions.scaleInfra, (state) => ({\n    ...state,\n    loading: true\n  })),\n  on(SupervisionActions.scaleInfraSuccess, (state, action) => ({\n    ...state,\n    lastInfraScale: { name: action.name, time: action.time, up: action.up }\n  })),\n  on(SupervisionActions.scaleInfraFailure, (state) => ({\n    ...state,\n    loading: false\n  })),\n  on(SupervisionActions.loadFlows, (state) => ({\n    ...state,\n    loading: true\n  })),\n  on(SupervisionActions.loadFlowsSuccess, (state, action) => ({\n    ...state,\n    inputFlows: [...action.flows],\n    loading: false\n  })),\n  on(SupervisionActions.loadFlowsFailure, (state) => ({\n    ...state,\n    loading: false\n  })),\n  on(SupervisionActions.loadIntegrationErrors, (state) => ({\n    ...state,\n    loading: true\n  })),\n  on(SupervisionActions.loadIntegrationErrorsSuccess, (state, action) => ({\n    ...state,\n    integrationErrors: [...action.integrationErrors],\n    loading: false\n  })),\n  on(SupervisionActions.loadIntegrationErrorsFailure, (state) => ({\n    ...state,\n    loading: false\n  })),\n  on(SupervisionActions.toggleErrorDetails, (state, action) => ({\n    ...state,\n    currentIntegrationError: action.error,\n    errorDetailsOpen: action.errorDetailsOpen\n  })),\n  on(SupervisionActions.toggleClassSelection, (state, action) => {\n    let updatedClasses;\n    if (state.selectedClasses.includes(action.selectedClass)) {\n      updatedClasses = state.selectedClasses.filter((oclass) => oclass !== action.selectedClass);\n    } else {\n      updatedClasses = [...state.selectedClasses, action.selectedClass];\n    }\n    return { ...state, selectedClasses: updatedClasses };\n  }),\n  on(SupervisionActions.reloadErrors, (state, action) => ({\n    ...state,\n    loading: true\n  })),\n  on(SupervisionActions.reloadErrorsSuccess, (state, action) => ({\n    ...state,\n    loading: false\n  })),\n  on(SupervisionActions.reloadErrorsFailure, (state, action) => ({\n    ...state,\n    loading: false\n  })),\n  on(SupervisionActions.acknowledgeErrors, (state, action) => ({\n    ...state,\n    loading: true\n  })),\n  on(SupervisionActions.acknowledgeErrorsSuccess, (state, action) => ({\n    ...state,\n    loading: false\n  })),\n  on(SupervisionActions.acknowledgeErrorsFailure, (state, action) => ({\n    ...state,\n    loading: false\n  })),\n  on(SupervisionActions.setRefreshInterval, (state, action) => ({\n    ...state,\n    refreshInterval: action.interval\n  }))\n);\n","import { createFeatureSelector, createSelector } from '@ngrx/store';\nimport * as fromSupervision from './supervision.reducer';\n\nconst feature = createFeatureSelector<fromSupervision.SupervisionState>(fromSupervision.supervisionFeatureKey);\n\nconst highlightedMenu = createSelector(feature, (state) => state.highlightedMenu);\nconst menuOpen = createSelector(feature, (state) => state.menuOpen);\nconst actions = createSelector(feature, (state) => state.actions);\nconst subActions = createSelector(feature, (state) => state.subActions);\nconst menus = createSelector(feature, (state) => state.menus);\nconst infrastructures = createSelector(feature, (state) => state.infrastructures);\nconst lastInfraScale = createSelector(feature, (state) => state.lastInfraScale);\nconst inputFlows = createSelector(feature, (state) => state.inputFlows);\nconst integrationErrors = createSelector(feature, (state) => state.integrationErrors);\nconst currentIntegrationError = createSelector(feature, (state) => state.currentIntegrationError);\nconst errorDetailsOpen = createSelector(feature, (state) => state.errorDetailsOpen);\nconst selectedClasses = createSelector(feature, (state) => state.selectedClasses);\nconst refreshInterval = createSelector(feature, (state) => state.refreshInterval);\nconst loading = createSelector(feature, (state) => state.loading);\n\nexport const SupervisionSelectors = {\n  feature,\n  highlightedMenu,\n  menuOpen,\n  menus,\n  actions,\n  subActions,\n  infrastructures,\n  lastInfraScale,\n  inputFlows,\n  integrationErrors,\n  currentIntegrationError,\n  errorDetailsOpen,\n  selectedClasses,\n  refreshInterval,\n  loading\n};\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { BusinessData, ClassActions, ClassSelectors } from '@onepoint-yap/dashboard';\nimport { Observable } from 'rxjs';\nimport { SupervisionActions } from '../../store/supervision.actions';\nimport { SupervisionSelectors } from '../../store/supervision.selectors';\n\n@Component({\n  selector: 'yap-supervision-business-data',\n  templateUrl: './supervision-business-data.component.html'\n})\nexport class SupervisionBusinessDataComponent {\n  datas$: Observable<BusinessData[]>;\n  loading$: Observable<boolean>;\n\n  sortActive? = 'name';\n  sortDirection? = 'asc';\n\n  constructor(private store: Store<any>) {\n    this.store.dispatch(ClassActions.loadBusinessData());\n    this.datas$ = this.store.select(ClassSelectors.classDatas);\n    this.loading$ = this.store.select(SupervisionSelectors.loading);\n    this.store.dispatch(\n      SupervisionActions.mainActions({\n        actions: [\n          {\n            action: ClassActions.loadBusinessData(),\n            label: 'refresh',\n            icon: 'synchro'\n          }\n        ]\n      })\n    );\n  }\n}\n","<div class=\"o-base-container\">\n  <h1 class=\"a-h1\">{{ '@yap.supervision.businessData.title' | i18n }}</h1>\n  <table\n    class=\"a-table\"\n    yapSortTable\n    yapSortActive=\"name\"\n    yapSortDirection=\"asc\"\n    (yapSortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n  >\n    <caption>\n      {{\n        '@yap.supervision.businessData.title' | i18n\n      }},\n      {{\n        '@yap.action.sortableColumnHeader' | i18n\n      }}\n    </caption>\n    <thead>\n      <tr>\n        <th>\n          <yap-icon iconSvg=\"detail\"></yap-icon>\n        </th>\n        <th yapSortHeader=\"name\">{{ '@yap.supervision.businessData.name' | i18n }}</th>\n        <th yapSortHeader=\"count\">{{ '@yap.supervision.businessData.count' | i18n }}</th>\n        <th yapSortHeader=\"date\">{{ '@yap.supervision.businessData.date' | i18n }}</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr *ngFor=\"let data of datas$ | async | yapSortData : sortActive : sortDirection\">\n        <td>\n          <ng-container *ngIf=\"data.icon; else noImg\">\n            <img [height]=\"25\" [width]=\"25\" [src]=\"data.icon | getSecuredImage | async\" [alt]=\"data.title\" />\n          </ng-container>\n          <ng-template #noImg>\n            <img\n              [height]=\"25\"\n              [width]=\"25\"\n              [src]=\"data.id | translateId : { type: 'class', output: 'icon' } | async\"\n              [alt]=\"data.title\"\n            />\n          </ng-template>\n        </td>\n        <td>{{ data.name }}</td>\n        <td>{{ data.count }}</td>\n        <td>\n          {{ !data.date ? '' : (data.date | date : ('@yap.format.datetime' | i18n)) }}\n        </td>\n      </tr>\n    </tbody>\n  </table>\n</div>\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { InputFlow } from '../../store/supervision-api.model';\nimport { SupervisionActions } from '../../store/supervision.actions';\nimport { SupervisionSelectors } from '../../store/supervision.selectors';\n\n@Component({\n  selector: 'yap-supervision-flow',\n  templateUrl: './supervision-flow.component.html'\n})\nexport class SupervisionFlowComponent {\n  flows$: Observable<InputFlow[]>;\n  loading$: Observable<boolean>;\n\n  sortActive? = 'name';\n  sortDirection? = 'asc';\n\n  constructor(private store: Store<any>) {\n    this.store.dispatch(SupervisionActions.loadFlows());\n    this.flows$ = this.store.select(SupervisionSelectors.inputFlows);\n    this.loading$ = this.store.select(SupervisionSelectors.loading);\n    this.store.dispatch(\n      SupervisionActions.mainActions({\n        actions: [\n          {\n            action: SupervisionActions.loadFlows(),\n            label: 'refresh',\n            icon: 'synchro'\n          }\n        ]\n      })\n    );\n  }\n}\n","<div class=\"o-base-container\">\n  <h1 class=\"a-h1\">{{ '@yap.supervision.inputFlow.title' | i18n }}</h1>\n\n  <table\n    class=\"a-table\"\n    yapSortTable\n    yapSortActive=\"name\"\n    yapSortDirection=\"asc\"\n    (yapSortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n  >\n    <caption>\n      {{\n        '@yap.supervision.inputFlow.title' | i18n\n      }},\n      {{\n        '@yap.action.sortableColumnHeader' | i18n\n      }}\n    </caption>\n    <thead>\n      <tr>\n        <th yapSortHeader=\"name\">{{ '@yap.supervision.inputFlow.name' | i18n }}</th>\n        <th yapSortHeader=\"format\">{{ '@yap.supervision.inputFlow.format' | i18n }}</th>\n        <th>{{ '@yap.supervision.inputFlow.state' | i18n }}</th>\n        <th yapSortHeader=\"nbIntegrationOk\">{{ '@yap.supervision.inputFlow.oks' | i18n }}</th>\n        <th yapSortHeader=\"nbIntegrationKo\">{{ '@yap.supervision.inputFlow.kos' | i18n }}</th>\n        <th yapSortHeader=\"dateIntegration\">{{ '@yap.supervision.inputFlow.date' | i18n }}</th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr *ngFor=\"let flow of flows$ | async | yapSortData : sortActive : sortDirection\">\n        <td>\n          <div class=\"u-display-flex -align-center\">\n            {{ flow.name }}\n            <a *ngIf=\"flow.accessLink\" [href]=\"flow.accessLink\" target=\"_blank\" class=\"a-btn a-btn--icon-only\">\n              <yap-icon iconSvg=\"launch\" [height]=\"15\" [width]=\"15\"></yap-icon>\n              <span class=\"u-sr-only\">{{ '@yap.action.opensInNewTab' | i18n }}</span>\n            </a>\n          </div>\n        </td>\n        <td>{{ flow.format }}</td>\n        <td>\n          <span class=\"a-badge\" [ngClass]=\"{ '-status-ok': flow.status, '-status-inactive': !flow.status }\">\n            {{ (flow.status ? '@yap.supervision.inputFlow.active' : '@yap.supervision.inputFlow.inactive') | i18n }}\n          </span>\n        </td>\n        <td>{{ flow.nbIntegrationOk }}</td>\n        <td>{{ flow.nbIntegrationKo }}</td>\n        <td>{{ flow.dateIntegration | date : ('@yap.format.datetime' | i18n) }}</td>\n      </tr>\n    </tbody>\n  </table>\n</div>\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { Infrastructure, LastInfrastructureScale } from '../../store/supervision-api.model';\nimport { SupervisionActions } from '../../store/supervision.actions';\nimport { SupervisionSelectors } from '../../store/supervision.selectors';\n\n@Component({\n  selector: 'yap-supervision-infrastructures',\n  templateUrl: './supervision-infrastructures.component.html'\n})\nexport class SupervisionInfrastructuresComponent {\n  infras$: Observable<Infrastructure[]>;\n  loading$: Observable<boolean>;\n  lastInfraScale$: Observable<LastInfrastructureScale | undefined>;\n  classFromStatus: { [key: string]: string } = {\n    GREEN: '-ok',\n    YELLOW: '-warning',\n    RED: '-error'\n  };\n\n  constructor(private store: Store<any>) {\n    this.store.dispatch(SupervisionActions.loadInfras());\n    this.infras$ = this.store.select(SupervisionSelectors.infrastructures);\n    this.lastInfraScale$ = this.store.select(SupervisionSelectors.lastInfraScale);\n    this.loading$ = this.store.select(SupervisionSelectors.loading);\n    this.store.dispatch(\n      SupervisionActions.mainActions({\n        actions: [\n          {\n            action: SupervisionActions.loadInfras(),\n            label: 'refresh',\n            icon: 'synchro'\n          }\n        ]\n      })\n    );\n  }\n\n  onScaleUp(infra: string, replicas: number): void {\n    this.store.dispatch(\n      SupervisionActions.scaleInfra({\n        name: infra,\n        scale: replicas + 1,\n        up: true\n      })\n    );\n  }\n\n  onScaleDown(infra: string, replicas: number): void {\n    this.store.dispatch(\n      SupervisionActions.scaleInfra({\n        name: infra,\n        scale: replicas - 1,\n        up: false\n      })\n    );\n  }\n}\n","<div class=\"o-base-container\">\n  <h1 class=\"a-h1\">{{ '@yap.supervision.infrastructures.title' | i18n }}</h1>\n\n  <ul class=\"o-cards-list\">\n    <li *ngFor=\"let infra of infras$ | async\" class=\"o-cards-list__item\">\n      <div class=\"o-card o-card--infra\">\n        <div class=\"o-card__header\">\n          <div class=\"o-card__header__logo\"></div>\n          <div class=\"o-card__header__title\">\n            <h4 class=\"a-h4\">{{ infra.name }}</h4>\n            <p class=\"a-p\">{{ infra.title }}</p>\n          </div>\n          <div *ngIf=\"infra.status\" class=\"o-card__header__status\" [ngClass]=\"classFromStatus[infra.status]\"></div>\n        </div>\n\n        <div class=\"o-card__content\">\n          <p class=\"a-p\">\n            {{ infra.available }}\n            {{ '@yap.supervision.infrastructures.available' + (infra.available > 1 ? 's' : '') | i18n }}\n          </p>\n\n          <ng-container *ngIf=\"lastInfraScale$ | async as lastInfraScale\">\n            <span *ngIf=\"lastInfraScale.name === infra.name\" class=\"o-card__content__info\">\n              {{ '@yap.supervision.infrastructures.scaleReplica' + (lastInfraScale.up ? 'Up' : 'Down') | i18n }}\n              {{ lastInfraScale.time | date : 'HH:mm' }}\n            </span>\n          </ng-container>\n        </div>\n\n        <div class=\"o-card__footer\">\n          <div class=\"o-card__footer__message\">\n            <yap-icon iconSvg=\"grid_view\" [height]=\"20\" [width]=\"20\"></yap-icon>\n            <span>\n              {{ infra.replicas }}\n              {{ '@yap.supervision.infrastructures.replica' + (infra.replicas > 1 ? 's' : '') | i18n }}\n            </span>\n          </div>\n\n          <ng-container *yapAccess=\"{ module: 'supervision', page: 'infrastructures', action: 'scale' }\">\n            <div *ngIf=\"infra.hotScale\" class=\"m-minus-plus\">\n              <ng-container *ngIf=\"infra.replicas !== infra.available; else scaleTemplate\">\n                <button\n                  class=\"m-minus-plus__btn -minus\"\n                  disabled\n                  title=\"{{ '@yap.supervision.infrastructures.removeInstance' | i18n }}\"\n                >\n                  <span class=\"u-visually-hidden\">{{ '@yap.supervision.infrastructures.removeInstance' | i18n }}</span>\n                  <span class=\"m-minus-plus__btn__sign\" aria-hidden=\"true\"></span>\n                </button>\n                <button\n                  class=\"m-minus-plus__btn -plus\"\n                  disabled\n                  title=\"{{ '@yap.supervision.infrastructures.addInstance' | i18n }}\"\n                >\n                  <span class=\"u-visually-hidden\">{{ '@yap.supervision.infrastructures.addInstance' | i18n }}</span>\n                  <span class=\"m-minus-plus__btn__sign\" aria-hidden=\"true\"></span>\n                </button>\n              </ng-container>\n\n              <ng-template #scaleTemplate>\n                <button\n                  class=\"m-minus-plus__btn -minus scale-down\"\n                  [disabled]=\"infra.replicas === infra.minReplicas\"\n                  title=\"{{ '@yap.supervision.infrastructures.removeInstance' | i18n }}\"\n                  (click)=\"infra.replicas !== infra.minReplicas && onScaleDown(infra.name, infra.replicas)\"\n                >\n                  <span class=\"u-visually-hidden\">{{ '@yap.supervision.infrastructures.removeInstance' | i18n }}</span>\n                  <span class=\"m-minus-plus__btn__sign\" aria-hidden=\"true\"></span>\n                </button>\n                <button\n                  class=\"m-minus-plus__btn -plus scale-up\"\n                  [disabled]=\"infra.replicas === infra.maxReplicas\"\n                  title=\"{{ '@yap.supervision.infrastructures.addInstance' | i18n }}\"\n                  (click)=\"infra.replicas !== infra.maxReplicas && onScaleUp(infra.name, infra.replicas)\"\n                >\n                  <span class=\"u-visually-hidden\">{{ '@yap.supervision.infrastructures.addInstance' | i18n }}</span>\n                  <span class=\"m-minus-plus__btn__sign\" aria-hidden=\"true\"></span>\n                </button>\n              </ng-template>\n            </div>\n          </ng-container>\n        </div>\n      </div>\n    </li>\n  </ul>\n</div>\n","import { Component } from '@angular/core';\nimport { IntegrationError } from '../../../store/supervision-api.model';\nimport { Store } from '@ngrx/store';\nimport { SupervisionSelectors } from '../../../store/supervision.selectors';\nimport { Observable } from 'rxjs';\nimport { SupervisionActions } from '../../../store/supervision.actions';\n\nlet nextCompId = 0;\n\n@Component({\n  selector: 'yap-supervision-integration-errors-select',\n  templateUrl: './supervision-integration-errors-select.component.html'\n})\nexport class SupervisionIntegrationErrorsSelectComponent {\n  tab: number = 0;\n  compId: number = nextCompId++;\n  currentIntegrationError$: Observable<IntegrationError | null | undefined>;\n\n  constructor(private store: Store<any>) {\n    this.currentIntegrationError$ = this.store.select(SupervisionSelectors.currentIntegrationError);\n  }\n\n  closePanel() {\n    this.store.dispatch(SupervisionActions.loadIntegrationErrors());\n    this.store.dispatch(SupervisionActions.toggleErrorDetails({ error: null, errorDetailsOpen: false }));\n  }\n}\n","<div\n  *ngIf=\"currentIntegrationError$ | async as e\"\n  [id]=\"'panel-env-' + (e.oClass | translateId : { type: 'class', output: 'name' } | async)\"\n  [attr.aria-labelledby]=\"'button-env-' + (e.oClass | translateId : { type: 'class', output: 'name' } | async)\"\n  class=\"o-panel\"\n>\n  <div>\n    <div class=\"o-panel__header\">\n      <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n        <span class=\"u-visually-hidden\">{{ '@yap.action.closePanel' | i18n }}</span>\n        <yap-icon iconSvg=\"close\"></yap-icon>\n      </button>\n      <h3 [id]=\"'tab-title-' + (e.oClass | translateId : { type: 'class', output: 'name' } | async)\" class=\"a-h3\">\n        {{ '@yap.supervision.importErrors.details.title' | i18n }}\n      </h3>\n    </div>\n\n    <div class=\"o-tabs\">\n      <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + ''\">\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        >\n          {{ '@yap.supervision.importErrors.details.details' | i18n }}\n        </button>\n      </div>\n      <div class=\"o-tabs__panels\">\n        <div\n          class=\"o-tabs__panels__item\"\n          [class.is-hidden]=\"tab !== 0\"\n          [id]=\"'tabpanel-' + compId + '-0'\"\n          role=\"tabpanel\"\n          [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n          tabindex=\"0\"\n        >\n          <div class=\"o-tabs__panels__item__content\">\n            <div *ngFor=\"let error of e.errors\">\n              <p class=\"a-p\">\n                {{ '@yap.supervision.importErrors.details.errorLabel' | i18n }} :\n                <strong>{{ error.label }}</strong>\n              </p>\n              <p class=\"a-p\">\n                {{ '@yap.supervision.importErrors.details.errorCount' | i18n }}:\n                <strong>{{ error.count }}</strong>\n              </p>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n","import { Component, OnDestroy, ViewChild, ViewContainerRef } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { ClassActions } from '@onepoint-yap/dashboard';\nimport { BehaviorSubject, Observable, Subscription } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { IntegrationError } from '../../store/supervision-api.model';\nimport { SupervisionActions } from '../../store/supervision.actions';\nimport { SupervisionSelectors } from '../../store/supervision.selectors';\n\n@Component({\n  selector: 'yap-supervision-integration-errors',\n  templateUrl: './supervision-integration-errors.component.html'\n})\nexport class SupervisionIntegrationErrorsComponent implements OnDestroy {\n  private subscription: Subscription = new Subscription();\n  integrationErrors$: Observable<IntegrationError[]>;\n  currentIntegrationError = new BehaviorSubject<IntegrationError | undefined>(undefined);\n  selectedClasses!: string[];\n  loading$: Observable<boolean>;\n  refreshInterval$: Observable<number>;\n  possibleIntervals = [1, 5, 10, 15, 20, 25, 30];\n  sortActive? = 'name';\n  sortDirection? = 'asc';\n  @ViewChild('detailPanel', { static: true, read: ViewContainerRef }) detailPanel!: ViewContainerRef;\n\n  constructor(private store: Store<any>) {\n    this.store.dispatch(ClassActions.load());\n    this.store.dispatch(SupervisionActions.loadIntegrationErrors());\n    this.integrationErrors$ = this.store.select(SupervisionSelectors.integrationErrors);\n    this.subscription.add(\n      this.store.select(SupervisionSelectors.selectedClasses).subscribe((selectedClasses: string[]) => {\n        this.selectedClasses = selectedClasses;\n      })\n    );\n    this.loading$ = this.store.select(SupervisionSelectors.loading);\n    this.refreshInterval$ = this.store\n      .select(SupervisionSelectors.refreshInterval)\n      .pipe(map((interval) => interval / 1000));\n    this.store.dispatch(SupervisionActions.startAutoRefresh());\n    this.store.dispatch(\n      SupervisionActions.mainActions({\n        actions: [\n          {\n            action: SupervisionActions.reloadErrors(),\n            icon: 'reset',\n            label: 'reloadErrors',\n            moduleAccess: 'supervision',\n            pageAccess: 'errors'\n          },\n          {\n            action: SupervisionActions.acknowledgeErrors(),\n            icon: 'check',\n            label: 'acknowledgeErrors',\n            moduleAccess: 'supervision',\n            pageAccess: 'errors'\n          },\n          {\n            action: SupervisionActions.loadIntegrationErrors(),\n            label: 'refresh',\n            icon: 'synchro',\n            moduleAccess: 'supervision',\n            pageAccess: 'errors'\n          }\n        ]\n      })\n    );\n  }\n\n  selectCurrentError(e: IntegrationError) {\n    if (this.currentIntegrationError.value?.oClass === e.oClass) this.currentIntegrationError.next(undefined);\n    else this.currentIntegrationError.next(e);\n  }\n\n  getTotalErrorCount(e: IntegrationError): number {\n    return e.errors.reduce((previousValue, currentValue) => previousValue + currentValue.count, 0);\n  }\n\n  toggleErrorDetails(e: IntegrationError): void {\n    this.selectCurrentError(e);\n    this.store.dispatch(SupervisionActions.toggleErrorDetails({ error: e, errorDetailsOpen: true }));\n  }\n\n  onCheckChange(selectedClass: string): void {\n    this.store.dispatch(SupervisionActions.toggleClassSelection({ selectedClass }));\n  }\n\n  isClassSelected(c: string): boolean {\n    return !!this.selectedClasses.find((oclass) => oclass === c);\n  }\n\n  setRefreshInterval($event: number): void {\n    this.store.dispatch(SupervisionActions.stopAutoRefresh());\n    this.store.dispatch(SupervisionActions.setRefreshInterval({ interval: +$event * 1000 }));\n  }\n\n  stopPropagation(event: Event): void {\n    event.stopPropagation();\n  }\n\n  ngOnDestroy(): void {\n    this.store.dispatch(SupervisionActions.toggleErrorDetails({ error: null, errorDetailsOpen: false }));\n    this.subscription.unsubscribe();\n    this.store.dispatch(SupervisionActions.mainActions({ actions: [] }));\n    this.store.dispatch(SupervisionActions.stopAutoRefresh());\n  }\n}\n","<div class=\"o-base-container\">\n  <h1 class=\"a-h1\">{{ '@yap.supervision.importErrors.title' | i18n }}</h1>\n\n  <div class=\"m-form-label-field m-form-label-field--inline\">\n    <label class=\"a-label\" for=\"interval_time\">Rafraichir chaque</label>\n    <yap-select\n      [ngModel]=\"refreshInterval$ | async\"\n      (ngModelChange)=\"setRefreshInterval($event)\"\n      [items]=\"possibleIntervals\"\n      id=\"interval_time\"\n      class=\"a-yap-select\"\n    ></yap-select>\n    <label class=\"a-label\">secondes</label>\n  </div>\n\n  <table\n    class=\"a-table\"\n    yapSortTable\n    yapSortActive=\"name\"\n    yapSortDirection=\"asc\"\n    (yapSortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n  >\n    <caption>\n      {{\n        '@yap.supervision.importErrors.title' | i18n\n      }},\n      {{\n        '@yap.action.sortableColumnHeader' | i18n\n      }}\n    </caption>\n    <thead>\n      <tr>\n        <th></th>\n        <th yapSortHeader=\"name\">{{ '@yap.supervision.importErrors.name' | i18n }}</th>\n        <th yapSortHeader=\"count\">{{ '@yap.supervision.importErrors.totalErrorCount' | i18n }}</th>\n        <th></th>\n      </tr>\n    </thead>\n    <tbody>\n      <tr\n        *ngFor=\"let e of integrationErrors$ | async | yapSortData : sortActive : sortDirection\"\n        (click)=\"toggleErrorDetails(e)\"\n        [class.is-selected]=\"(currentIntegrationError | async)?.oClass === e.oClass\"\n      >\n        <td class=\"view-details\" (click)=\"stopPropagation($event)\">\n          <button\n            [id]=\"'button-attr-' + (e.oClass | translateId : { type: 'class', output: 'name' } | async)\"\n            type=\"button\"\n            class=\"a-btn a-btn--icon-only\"\n            title=\"{{ '@yap.action.viewDetails' | i18n }}\"\n            [attr.aria-expanded]=\"(currentIntegrationError | async)?.oClass === e.oClass\"\n            aria-haspopup\n            [attr.aria-controls]=\"'panel-attr-' + (e.oClass | translateId : { type: 'class', output: 'name' } | async)\"\n          >\n            <span class=\"u-visually-hidden\">{{ e.name }}, {{ '@yap.action.viewDetails' | i18n }}</span>\n            <yap-icon iconSvg=\"eye\" [width]=\"15\" [height]=\"15\"></yap-icon>\n          </button>\n        </td>\n        <td>\n          {{ e.oClass | translateId : { type: 'class', output: 'name' } | async }}\n        </td>\n        <td>\n          {{ getTotalErrorCount(e) }}\n        </td>\n        <td (click)=\"stopPropagation($event)\">\n          <yap-checkbox\n            id=\"selectClass\"\n            [ngModel]=\"isClassSelected(e.oClass)\"\n            (ngModelChange)=\"onCheckChange(e.oClass)\"\n          ></yap-checkbox>\n        </td>\n      </tr>\n    </tbody>\n  </table>\n</div>\n","import { Component } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { BaseMenuComponent } from '@onepoint-yap/dashboard';\nimport { SupervisionActions } from '../../store/supervision.actions';\nimport { SupervisionSelectors } from '../../store/supervision.selectors';\n\n@Component({\n  selector: 'yap-supervision-menu',\n  templateUrl: '../../../lib/core/components/base-menu/base-menu.component.html'\n})\nexport class SupervisionMenuComponent extends BaseMenuComponent {\n  constructor(store: Store<any>, private router: Router, private route: ActivatedRoute) {\n    super(store);\n    this.baseMenuTranslation = '@yap.supervision.menus.';\n  }\n\n  override init() {\n    this.menus$ = this.store.select(SupervisionSelectors.menus);\n    this.highlightedMenu$ = this.store.select(SupervisionSelectors.highlightedMenu);\n  }\n\n  override select(menu: string): void {\n    const path = this.router.createUrlTree([menu], { relativeTo: this.route });\n    this.store.dispatch(SupervisionActions.routeTo({ path: path.toString() }));\n  }\n}\n","<nav class=\"m-nav-links\">\n  <ng-container *ngFor=\"let sub of subMenu$ | async\">\n    <ul class=\"m-nav-links__list\">\n      <ng-container *ngFor=\"let menu of sub.subMenus\">\n        <li\n          *yapAccess=\"{ module: menu.module, page: menu.page, subMenu: menu.subMenu }\"\n          class=\"m-nav-links__list__item\"\n        >\n          <a [routerLink]=\"menu.menu\" class=\"a-btn a-btn--secondary -width-full\" [routerLinkActive]=\"'is-active'\">\n            {{ baseMenuTranslation + menu.menu | i18n }}\n          </a>\n        </li>\n      </ng-container>\n    </ul>\n  </ng-container>\n  <ng-container *ngIf=\"menus$ | async as menus\">\n    <ng-container *ngIf=\"menus.length > 0\">\n      <ul class=\"m-nav-links__list\">\n        <ng-container *ngFor=\"let menu of menus\">\n          <ng-container *ngIf=\"menu.module === 'supervision'\">\n            <li *yapAccess=\"{ module: menu.module, page: menu.page }\" class=\"m-nav-links__list__item\">\n              <a [routerLink]=\"menu.menu\" class=\"a-btn a-btn--secondary -width-full\" [routerLinkActive]=\"'is-active'\">\n                {{ baseMenuTranslation + menu.menu | i18n }}\n              </a>\n            </li>\n          </ng-container>\n        </ng-container>\n      </ul>\n    </ng-container>\n  </ng-container>\n</nav>\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { Observable } from 'rxjs';\nimport { SupervisionActions } from '../../store/supervision.actions';\nimport { SupervisionSelectors } from '../../store/supervision.selectors';\n\n@Component({\n  selector: 'yap-supervision-title',\n  templateUrl: './supervision-title.component.html'\n})\nexport class SupervisionTitleComponent {\n  menuOpen$: Observable<boolean>;\n  constructor(private store: Store<any>) {\n    this.menuOpen$ = this.store.select(SupervisionSelectors.menuOpen);\n  }\n\n  onToggleMenu($event: any) {\n    this.store.dispatch(SupervisionActions.toggleMenu());\n\n    // Toggle button aria-pressed\n    $event.target.setAttribute(\n      'aria-pressed',\n      $event.target.getAttribute('aria-pressed') === 'true' ? 'false' : 'true'\n    );\n  }\n}\n","<h2 class=\"a-h3\">{{ '@yap.supervision.title' | i18n }}</h2>\n<button type=\"button\" class=\"a-btn a-btn--toggle\" (click)=\"onToggleMenu($event)\" aria-pressed=\"false\">\n  <span class=\"u-visually-hidden\">{{ '@yap.supervision.titleIndication' | i18n }}</span>\n</button>\n","import { AfterViewInit, Component, ComponentRef, OnDestroy, ViewChild, ViewContainerRef } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Store } from '@ngrx/store';\nimport { BaseLayoutComponent, BaseToolboxAction } from '@onepoint-yap/dashboard';\nimport { Observable } from 'rxjs';\nimport { SupervisionActions } from '../../store/supervision.actions';\nimport { SupervisionSelectors } from '../../store/supervision.selectors';\nimport { SupervisionIntegrationErrorsSelectComponent } from '../../../supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component';\n\n@Component({\n  selector: 'yap-supervision-layout',\n  templateUrl: './supervision-layout.component.html'\n})\nexport class SupervisionLayoutComponent extends BaseLayoutComponent implements AfterViewInit, OnDestroy {\n  baseToolboxTranslation: string;\n  actions$: Observable<BaseToolboxAction[]>;\n  subActions$: Observable<BaseToolboxAction[]>;\n  panelOpen$: Observable<boolean>;\n  @ViewChild('supervisionPanel', { static: true, read: ViewContainerRef }) supervisionPanel!: ViewContainerRef;\n  componentRef?: ComponentRef<any>;\n\n  constructor(store: Store<any>, router: Router) {\n    super(store, router);\n    this.baseToolboxTranslation = '@yap.supervision.';\n    this.actions$ = this.store.select(SupervisionSelectors.actions);\n    this.subActions$ = this.store.select(SupervisionSelectors.subActions);\n    this.panelOpen$ = this.store.select(SupervisionSelectors.errorDetailsOpen);\n  }\n\n  override init(): void {\n    this.menus$ = this.store.select(SupervisionSelectors.menus);\n    this.menuOpen$ = this.store.select(SupervisionSelectors.menuOpen);\n  }\n\n  override highlightMenu(menu: string): void {\n    this.store.dispatch(SupervisionActions.highLightMenu({ menu }));\n  }\n\n  ngAfterViewInit(): void {\n    if (this.componentRef) {\n      this.supervisionPanel.clear();\n    }\n    this.componentRef = this.supervisionPanel.createComponent(SupervisionIntegrationErrorsSelectComponent);\n  }\n\n  override ngOnDestroy() {\n    this.store.dispatch(SupervisionActions.toggleErrorDetails({ error: null, errorDetailsOpen: false }));\n  }\n}\n","<div class=\"o-base-layout\" [ngClass]=\"{ 'is-menu-open': menuOpen$ | async }\">\n  <yap-supervision-title class=\"o-base-layout__title\"></yap-supervision-title>\n  <yap-supervision-menu *ngIf=\"menuOpen$ | async\" class=\"o-base-layout__menu\"></yap-supervision-menu>\n  <yap-base-toolbox\n    class=\"o-base-layout__toolbox\"\n    [baseToolboxTranslation]=\"baseToolboxTranslation\"\n    [actions$]=\"actions$\"\n    [subActions$]=\"subActions$\"\n  ></yap-base-toolbox>\n\n  <div class=\"o-base-layout__contentwrapper\">\n    <div class=\"o-base-layout__content\">\n      <router-outlet></router-outlet>\n    </div>\n    <div class=\"o-base-layout__panel\" [class.is-open]=\"panelOpen$ | async\">\n      <div class=\"o-base-layout__panel__content\">\n        <ng-template #supervisionPanel></ng-template>\n      </div>\n    </div>\n  </div>\n</div>\n","import { Component } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { SupervisionActions } from '../store/supervision.actions';\nimport { SupervisionState } from '../store/supervision.reducer';\n\n@Component({\n  selector: 'yap-supervision',\n  templateUrl: './supervision.component.html'\n})\nexport class YapSupervisionComponent {\n  constructor(private store: Store<SupervisionState>) {\n    this.store.dispatch(SupervisionActions.resetActions());\n    this.store.dispatch(SupervisionActions.toggleErrorDetails({ error: null, errorDetailsOpen: false }));\n  }\n}\n","<h1 class=\"a-h1\">{{ '@yap.supervision.title' | i18n }}</h1>\n","export const enTranslations = {\n  '@yap': {\n    supervision: {\n      title: 'Supervision',\n      titleIndication: 'Close supervision menu ',\n      refresh: 'Refresh',\n      reloadErrors: 'Reload errors',\n      acknowledgeErrors: 'Acknowledge errors',\n      menus: {\n        infrastructures: 'Infrastructures',\n        flow: 'Incoming flows',\n        'business-data': 'Business datas',\n        'integration-errors': 'Data import errors'\n      },\n      infrastructures: {\n        scaleMsg: 'Your request is taken into account',\n        title: \"Infrastructure's modules \",\n        available: ' instance available',\n        availables: ' instances available',\n        scaleReplicaUp: 'New instance created at ',\n        scaleReplicaDown: 'Instance deleted at ',\n        replica: ' instance',\n        replicas: ' instances',\n        addInstance: 'Add an instance',\n        removeInstance: 'Remove an instance'\n      },\n      inputFlow: {\n        title: 'Input flows',\n        name: 'Name',\n        format: 'Format',\n        state: 'State',\n        oks: 'Added Elements ',\n        kos: 'Errors',\n        date: 'Date',\n        active: 'Active',\n        inactive: 'Inactive'\n      },\n      businessData: {\n        title: 'Business Datas',\n        name: 'Names',\n        count: 'Item number',\n        date: 'Date'\n      },\n      importErrors: {\n        title: 'Data import errors',\n        name: 'Class name',\n        totalErrorCount: 'Errors total',\n        details: {\n          details: 'Details',\n          title: 'Error details',\n          errorLabel: 'Error name',\n          errorCount: 'Error count'\n        }\n      }\n    }\n  }\n};\n","export const frTranslations = {\n  '@yap': {\n    supervision: {\n      title: 'Supervision',\n      titleIndication: 'Fermer le menu supervision',\n      refresh: 'Rafraîchir',\n      reloadErrors: \"Relancer l'intégration\",\n      acknowledgeErrors: 'Acquitter les classes en erreur',\n      menus: {\n        infrastructures: 'Infrastructures',\n        'input-flows': 'Flux en entrée',\n        'business-datas': 'Données métier',\n        'integration-errors': \"Erreurs d'intégration de données\"\n      },\n      infrastructures: {\n        scaleMsg: 'Votre demande est prise en compte',\n        title: \"Modules de l'infrastructure\",\n        available: ' instance disponible',\n        availables: ' instances disponibles',\n        scaleReplicaUp: 'Nouvelle instance créé à ',\n        scaleReplicaDown: 'Instance supprimée à ',\n        replica: ' instance demandée',\n        replicas: ' instances demandées',\n        addInstance: 'Ajouter une instance',\n        removeInstance: 'Supprimer une instance'\n      },\n      inputFlow: {\n        title: 'Flux en Entrée',\n        name: 'Nom',\n        format: 'Format',\n        state: 'Etat',\n        oks: 'Eléments intégrés',\n        kos: \"Nombre d'erreurs\",\n        date: 'Date',\n        active: 'Actif',\n        inactive: 'Inactif'\n      },\n      businessData: {\n        title: 'Données métier',\n        name: 'Ontologies',\n        count: \"Nombre d'items\",\n        date: 'Date'\n      },\n      importErrors: {\n        title: \"Erreurs d'intégration de données\",\n        name: 'Nom de la classe',\n        totalErrorCount: \"Nombre d'erreur total\",\n        details: {\n          details: 'Détails',\n          title: 'Détail des erreurs',\n          errorLabel: \"Nom d'erreur\",\n          errorCount: \"Nombre d'erreurs\"\n        }\n      }\n    }\n  }\n};\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Store } from '@ngrx/store';\nimport { ConfigSelectors } from '@onepoint-yap/dashboard';\nimport { mergeMap, Observable } from 'rxjs';\nimport { Infrastructure, InputFlow, IntegrationError } from '../store/supervision-api.model';\n\n@Injectable({\n  providedIn: 'root'\n})\nexport class SupervisionService {\n  constructor(private httpClient: HttpClient, private store: Store<any>) {}\n\n  getInfrastructures(): Observable<Infrastructure[]> {\n    return this.store\n      .select(ConfigSelectors.monitorUrl)\n      .pipe(mergeMap((url) => this.httpClient.get<Infrastructure[]>(encodeURI(`${url}/status`))));\n  }\n\n  scaleInfra(infra: string, replicas: number): Observable<string> {\n    return this.store\n      .select(ConfigSelectors.monitorUrl)\n      .pipe(\n        mergeMap((url) => this.httpClient.post<string>(encodeURI(`${url}/replicas/${infra}?scale=${replicas}`), {}))\n      );\n  }\n\n  getInputFlows(): Observable<InputFlow[]> {\n    return this.store\n      .select(ConfigSelectors.monitorUrl)\n      .pipe(\n        mergeMap((url) => this.httpClient.get<InputFlow[]>(encodeURI(`${url}/supervision/nifi/monitoringInputFlow`)))\n      );\n  }\n\n  getDateIso(): string {\n    return new Date().toISOString();\n  }\n\n  getIntegrationErrors(): Observable<IntegrationError[]> {\n    return this.store\n      .select(ConfigSelectors.replayUrl)\n      .pipe(mergeMap((url) => this.httpClient.get<IntegrationError[]>(encodeURI(`${url}/integrations/errors`))));\n  }\n\n  reloadErrors(classes: string[]): Observable<void> {\n    return this.store\n      .select(ConfigSelectors.replayUrl)\n      .pipe(\n        mergeMap((url) => this.httpClient.post<void>(encodeURI(`${url}/integrations/errors/replay/class`), classes))\n      );\n  }\n\n  acknowledgeErrors(classes: string[]): Observable<void> {\n    return this.store\n      .select(ConfigSelectors.replayUrl)\n      .pipe(\n        mergeMap((url) => this.httpClient.post<void>(encodeURI(`${url}/integrations/errors/acknowledge`), classes))\n      );\n  }\n}\n","import { Injectable } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\nimport { Store } from '@ngrx/store';\nimport { YapSnackbarService, YapI18nService } from '@onepoint-yap/dashboard';\nimport { catchError, map, mergeMap, withLatestFrom } from 'rxjs/operators';\nimport { SupervisionActions } from './supervision.actions';\nimport { SupervisionState } from './supervision.reducer';\nimport { SupervisionSelectors } from './supervision.selectors';\nimport { SupervisionService } from './supervision.service';\nimport { interval, switchMap, takeUntil } from 'rxjs';\n\n@Injectable()\nexport class SupervisionEffects {\n  routeTo$ = createEffect(() =>\n    this.actions$.pipe(\n      ofType(SupervisionActions.routeTo),\n      mergeMap((action) => {\n        this.router.navigate([action.path], { queryParams: action.params });\n        return action.path === this.router.url ? [] : [SupervisionActions.resetActions()];\n      })\n    )\n  );\n\n  loadInfras$ = createEffect(() =>\n    this.actions$.pipe(\n      ofType(SupervisionActions.loadInfras),\n      mergeMap((action) =>\n        this.service.getInfrastructures().pipe(\n          map((infras) => SupervisionActions.loadInfrasSuccess({ infras })),\n          catchError((error) => [SupervisionActions.loadInfrasFailure({ error: error })])\n        )\n      )\n    )\n  );\n\n  scaleInfra$ = createEffect(() =>\n    this.actions$.pipe(\n      ofType(SupervisionActions.scaleInfra),\n      mergeMap((action) =>\n        this.service.scaleInfra(action.name, action.scale).pipe(\n          map(() =>\n            SupervisionActions.scaleInfraSuccess({ name: action.name, time: this.service.getDateIso(), up: action.up })\n          ),\n          catchError((error) => [SupervisionActions.scaleInfraFailure({ error: error })])\n        )\n      )\n    )\n  );\n\n  scaleInfraSuccess$ = createEffect(() =>\n    this.actions$.pipe(\n      ofType(SupervisionActions.scaleInfraSuccess),\n      map((action) => {\n        this.snackbar.open({\n          message: this.translateService.instant('@yap.supervision.infrastructures.scaleMsg'),\n          type: 'info'\n        });\n        return SupervisionActions.loadInfras();\n      })\n    )\n  );\n\n  loadFlows$ = createEffect(() =>\n    this.actions$.pipe(\n      ofType(SupervisionActions.loadFlows),\n      mergeMap((action) =>\n        this.service.getInputFlows().pipe(\n          map((flows) => SupervisionActions.loadFlowsSuccess({ flows })),\n          catchError((error) => [SupervisionActions.loadFlowsFailure({ error: error })])\n        )\n      )\n    )\n  );\n\n  loadIntegrationErrors$ = createEffect(() =>\n    this.actions$.pipe(\n      ofType(SupervisionActions.loadIntegrationErrors),\n      mergeMap((action) =>\n        this.service.getIntegrationErrors().pipe(\n          map((integrationErrors) =>\n            SupervisionActions.loadIntegrationErrorsSuccess({ integrationErrors: integrationErrors })\n          ),\n          catchError((error) => [SupervisionActions.loadIntegrationErrorsFailure({ error: error })])\n        )\n      )\n    )\n  );\n\n  reloadErrors$ = createEffect(() =>\n    this.actions$.pipe(\n      ofType(SupervisionActions.reloadErrors),\n      withLatestFrom(this.store.select(SupervisionSelectors.selectedClasses)),\n      mergeMap(([action, classes]) =>\n        this.service.reloadErrors(classes).pipe(\n          map(() => SupervisionActions.reloadErrorsSuccess()),\n          catchError((error) => [SupervisionActions.reloadErrorsFailure({ error: error })])\n        )\n      )\n    )\n  );\n\n  reloadErrorsSuccess$ = createEffect(() =>\n    this.actions$.pipe(\n      ofType(SupervisionActions.reloadErrorsSuccess),\n      map((action) => {\n        this.snackbar.open({\n          message: 'Errors have been reloaded',\n          type: 'info'\n        });\n        return SupervisionActions.loadIntegrationErrors();\n      })\n    )\n  );\n\n  acknowledgeErrors$ = createEffect(() =>\n    this.actions$.pipe(\n      ofType(SupervisionActions.acknowledgeErrors),\n      withLatestFrom(this.store.select(SupervisionSelectors.selectedClasses)),\n      mergeMap(([action, classes]) =>\n        this.service.acknowledgeErrors(classes).pipe(\n          map(() => SupervisionActions.acknowledgeErrorsSuccess()),\n          catchError((error) => [SupervisionActions.acknowledgeErrorsFailure({ error: error })])\n        )\n      )\n    )\n  );\n\n  acknowledgeErrorsSuccess$ = createEffect(() =>\n    this.actions$.pipe(\n      ofType(SupervisionActions.acknowledgeErrorsSuccess),\n      map((action) => {\n        this.snackbar.open({\n          message: 'Errors have been acknowledged',\n          type: 'info'\n        });\n        return SupervisionActions.loadIntegrationErrors();\n      })\n    )\n  );\n\n  errorAutoRefresh$ = createEffect(() =>\n    this.actions$.pipe(\n      ofType(SupervisionActions.startAutoRefresh, SupervisionActions.setRefreshInterval),\n      withLatestFrom(this.store.select(SupervisionSelectors.refreshInterval)),\n      switchMap(([action, refreshInterval]) =>\n        interval(refreshInterval).pipe(takeUntil(this.actions$.pipe(ofType(SupervisionActions.stopAutoRefresh))))\n      ),\n      map((_) => SupervisionActions.loadIntegrationErrors())\n    )\n  );\n\n  constructor(\n    private actions$: Actions,\n    private service: SupervisionService,\n    private router: Router,\n    private snackbar: YapSnackbarService,\n    private translateService: YapI18nService,\n    private store: Store<SupervisionState>\n  ) {}\n}\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\nimport { YAP_ACCESS_GUARD } from '@onepoint-yap/dashboard';\nimport { SupervisionBusinessDataComponent } from './components/supervision-business-data/supervision-business-data.component';\nimport { SupervisionFlowComponent } from './components/supervision-flow/supervision-flow.component';\nimport { SupervisionInfrastructuresComponent } from './components/supervision-infrastructures/supervision-infrastructures.component';\nimport { SupervisionLayoutComponent } from './components/supervision-layout/supervision-layout.component';\nimport { YapSupervisionComponent } from './components/supervision.component';\nimport { SupervisionIntegrationErrorsComponent } from './components/supervision-integration-errors/supervision-integration-errors.component';\n\nconst routes: Routes = [\n  {\n    path: '',\n    component: SupervisionLayoutComponent,\n    data: {\n      access: {\n        module: 'supervision'\n      }\n    },\n    canActivate: [YAP_ACCESS_GUARD],\n    children: [\n      {\n        path: 'infrastructures',\n        component: SupervisionInfrastructuresComponent,\n        data: {\n          access: {\n            module: 'supervision',\n            page: 'infrastructures'\n          }\n        },\n        canActivate: [YAP_ACCESS_GUARD]\n      },\n      {\n        path: 'input-flows',\n        component: SupervisionFlowComponent,\n        data: {\n          access: {\n            module: 'supervision',\n            page: 'input_flows'\n          }\n        },\n        canActivate: [YAP_ACCESS_GUARD]\n      },\n      {\n        path: 'business-datas',\n        component: SupervisionBusinessDataComponent,\n        data: {\n          access: {\n            module: 'supervision',\n            page: 'business_datas'\n          }\n        },\n        canActivate: [YAP_ACCESS_GUARD]\n      },\n      {\n        path: 'integration-errors',\n        component: SupervisionIntegrationErrorsComponent,\n        data: {\n          access: {\n            module: 'supervision',\n            page: 'integration_errors'\n          }\n        },\n        canActivate: [YAP_ACCESS_GUARD]\n      },\n      {\n        path: '',\n        component: YapSupervisionComponent\n      },\n      {\n        path: '**',\n        redirectTo: '',\n        pathMatch: 'full'\n      }\n    ]\n  },\n  {\n    path: '**',\n    redirectTo: '',\n    pathMatch: 'full'\n  }\n];\n\n@NgModule({\n  imports: [RouterModule.forChild(routes)],\n  exports: [RouterModule]\n})\nexport class SupervisionRoutingModule {}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { EffectsModule } from '@ngrx/effects';\nimport { StoreModule } from '@ngrx/store';\nimport {\n  YapCoreModule,\n  YapIconModule,\n  YapSelectModule,\n  YapSnackbarModule,\n  YapSortModule,\n  YapToggleModule,\n  YapI18nModule,\n  YapI18nService\n} from '@onepoint-yap/dashboard';\nimport { YapCheckboxModule } from '@onepoint-yap/dashboard/components/checkbox';\nimport { SupervisionBusinessDataComponent } from './components/supervision-business-data/supervision-business-data.component';\nimport { SupervisionFlowComponent } from './components/supervision-flow/supervision-flow.component';\nimport { SupervisionInfrastructuresComponent } from './components/supervision-infrastructures/supervision-infrastructures.component';\nimport { SupervisionIntegrationErrorsSelectComponent } from './components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component';\nimport { SupervisionIntegrationErrorsComponent } from './components/supervision-integration-errors/supervision-integration-errors.component';\nimport { SupervisionLayoutComponent } from './components/supervision-layout/supervision-layout.component';\nimport { SupervisionMenuComponent } from './components/supervision-menu/supervision-menu.component';\nimport { SupervisionTitleComponent } from './components/supervision-title/supervision-title.component';\nimport { YapSupervisionComponent } from './components/supervision.component';\nimport { enTranslations } from './i18n/en.translations';\nimport { frTranslations } from './i18n/fr.translations';\nimport { SupervisionEffects } from './store/supervision.effects';\nimport { supervisionFeatureKey, supervisionReducer } from './store/supervision.reducer';\nimport { SupervisionRoutingModule } from './supervision-routing.module';\n\n@NgModule({\n  declarations: [\n    YapSupervisionComponent,\n    SupervisionLayoutComponent,\n    SupervisionMenuComponent,\n    SupervisionInfrastructuresComponent,\n    SupervisionTitleComponent,\n    SupervisionBusinessDataComponent,\n    SupervisionFlowComponent,\n    SupervisionIntegrationErrorsComponent,\n    SupervisionIntegrationErrorsSelectComponent\n  ],\n  imports: [\n    CommonModule,\n    YapCoreModule,\n    SupervisionRoutingModule,\n    StoreModule.forFeature(supervisionFeatureKey, supervisionReducer),\n    EffectsModule.forFeature([SupervisionEffects]),\n    YapIconModule,\n    YapSortModule,\n    YapSnackbarModule,\n    YapToggleModule,\n    FormsModule,\n    YapSelectModule,\n    YapCheckboxModule,\n    YapI18nModule\n  ]\n})\nexport class YapSupervisionModule {\n  constructor(private yapTranslateService: YapI18nService) {\n    this.yapTranslateService.addLangObject('fr', 'supervision', frTranslations);\n    this.yapTranslateService.addLangObject('en', 'supervision', enTranslations);\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["fromSupervision.supervisionFeatureKey","i2","i3","i4","i5.SupervisionMenuComponent","i6.SupervisionTitleComponent","i1","mergeMap","i2.SupervisionService","i5"],"mappings":"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"}