{"version":3,"sources":["./src/app/models/device/device.model.ts","./src/app/models/news/news.service.ts","./src/app/service/rest/device-type/rest-device-types.service.ts","./src/app/models/article-code/article-codes-repository.service.ts","./src/app/models/device/device.service.ts","./src/app/models/plant/plant-repository.service.ts","./src/app/models/plant/plant.model.ts","./src/app/service/rest/plant/rest-plant.service.ts","./src/app/models/user/user.model.ts","./src/app/view/login/login.component.html","./src/app/service/rest/article-code/rest-article-code.service.ts","./src/app/models/procedure/step.service.ts","./src/app/models/device/device-repository.service.ts","./src/environments/environment.ts","./src/app/models/serial-number/serial-number-repository.service.ts","./src/app/models/models.module.ts","./src/app/service/authentication/auth.service.ts","./src/app/service/utils/custom-date.service.ts","./src/app/models/maintenance/maintenance-repository.service.ts","./src/app/service/utils/last-searched.service.ts","./src/app/service/upload-cache.interceptor.ts","./src/app/service/utils/gallery.service.ts","./src/app/models/maintenance/maintenance-check.service.ts","./src/app/models/agenda/agenda-repository.service.ts","./src/app/models/catalog/search-catalog.service.ts","./src/app/models/news/news-repository.service.ts","./src/app/models/device/device-history-repository.service.ts","./src/app/models/country/country-repository.service.ts","./src/app/service/rest/agenda/rest-agenda.service.ts","./src/app/models/product-families/product-family.service.ts","./src/app/models/procedure/procedure-repository.service.ts","./src/app/service/utils/page-backoffice.service.ts","./src/app/models/device-documentation/device-documentation-repository.service.ts","./src/app/models/user/user.service.ts","./src/app/service/utils/order-by.service.ts","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/service/rest/user/rest-user.service.ts","./src/app/app.component.ts","./src/app/view/login/prelogin/prelogin.component.scss","./src/app/service/base-api.service.ts","./src/app/models/procedure/procedure.service.ts","./src/app/guards/auth.guard.ts","./src/app/app.component.html","./src/app/models/device/device-history.service.ts","./src/app/models/utils.model.ts","./src/app/service/utils/backoffice-sort.service.ts","./src/app/service/rest/procedure/rest-procedure.service.ts","./src/app/service/rest/device/rest-device.service.ts","./src/app/app.module.ts","./src/app/service/base-api.interceptor.ts","./src/app/models/article-code/article-code.service.ts","./src/app/service/rest/product-families/rest-product-families.service.ts","./src/app/view/login/login.component.ts","./src/app/models/serial-number/serial-number.service.ts","./src/app/service/utils/page.service.ts","./src/app/view/login/policy-terms/policy-terms.component.html","./src/app/service/rest/device-documentation/rest-device-documentation.service.ts","./src/app/view/qr-code/qr-code.component.html","./src/app/models/roles.model.ts","./src/app/models/maintenance/maintenance-reminder.service.ts","./src/app/models/event/event-academy.service.ts","./src/app/service/rest/maintenance/rest-maintenance.service.ts","./src/app/models/language/language-repository.service.ts","./src/app/view/qr-code/qr-code.component.scss","./src/app/service/utils/backoffice-gallery.service.ts","./src/app/service/utils/page-dialog.service.ts","./src/app/models/maintenance/maintenance.service.ts","./src/app/service/utils/calendar.service.ts","./src/app/service/service.module.ts","./src/app/models/procedure/obj-repository.service.ts","./src/app/service/rest/utils/rest-utils.service.ts","./src/app/service/rest/serial/rest-serial.service.ts","./src/app/service/utils/documentation.service.ts","./src/app/view/qr-code/qr-code.component.ts","./src/app/guards/backoffice-role.guard.ts","./src/app/view/login/policy-terms/policy-terms.component.scss","./src/app/models/agenda/calendar.model.ts","./src/app/view/login/prelogin/prelogin.component.html","./src/app/models/event/event-academy-repository.service.ts","./src/app/service/utils/server-sent/server-sent.service.ts","./src/app/service/utils/translate-firebase.service.ts","./src/app/models/device-documentation/device-documentation.model.ts","./src/app/view/login/login.component.scss","./src/app/app-routing.module.ts","./src/app/models/product-families/product-family-repository.service.ts","./src/app/models/device-type/device-type.service.ts","./src/app/service/utils/agenda-dialog.service.ts","./src/app/view/login/prelogin/prelogin.component.ts","./src/app/view/login/policy-terms/policy-terms.component.ts","./src/app/models/user/user-repository.service.ts","./src/app/models/device-type/device-type-repository.service.ts","./src/app/app.component.scss","./src/app/service/rest/ar-files/rest-ar-files.service.ts","./src/app/models/plant/plant.service.ts","./src/main.ts","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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I,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;CAEF;;AApCY,cAAc;IAD1B,gEAAU,EAAE;GACA,cAAc,CAoC1B;AApC0B;;;;;;;;;;;;ACH3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","file":"main-es2015.0119c869c506dd835f26.js","sourcesContent":["import { ArticleCode } from \"../article-code/article-code.model\";\r\nimport { Document } from \"../device-documentation/device-documentation.model\";\r\nimport { Tag } from \"../utils.model\";\r\n\r\nexport class Device {\r\n constructor(\r\n public entityId?: string,\r\n public id?: string,\r\n public internalId?: string,\r\n public serialNumber?: string,\r\n public ownerId?: string,\r\n public creationDate?: Date,\r\n public activationDate?: Date,\r\n public purchaseDate?: Date,\r\n public country?: string,\r\n public status?: string,\r\n public deviceType?: string,\r\n public deviceModel?: string,\r\n public device?: string,\r\n public deviceSystem?: string,\r\n public model?: string,\r\n public articleId?: number,\r\n public serialNumberId?: number,\r\n public snDevicetype?: string,\r\n public certificatePath?: string,\r\n public articleCode?: string,\r\n public plantId?: string,\r\n public tags?: Tag[],\r\n // public applications?: string[],\r\n public userNotes?: string,\r\n public name?: string,\r\n public description?: string,\r\n public firmwareVersion?: string,\r\n public hardwareVersion?: string,\r\n public warrantyExpiration?: Date,\r\n public warrantyName?: string,\r\n public warrantyPlus?: string,\r\n public warrantyStatus?: string,\r\n public documents?: Document[]\r\n ) {}\r\n}\r\n\r\nexport class DeviceNameSerial {\r\n constructor(public serialnumber?: string, public deviceName?: string) {}\r\n}\r\n\r\nexport class SerialNumber {\r\n constructor(\r\n public id?: number,\r\n public serialnumber?: string,\r\n public devicetype?: string,\r\n public certificatePath?: string,\r\n public deviceId?: string,\r\n public article?: ArticleCode,\r\n public articleId?: number,\r\n public articleCode?: string,\r\n public description?: string,\r\n public warrantyExp?: Date,\r\n public installedBy?: string,\r\n public productionDate?: Date,\r\n public marketingConsent?: boolean,\r\n public warrantyStatus?: WarrantyStatus,\r\n public country?: string,\r\n ) {}\r\n}\r\n\r\nexport class SerialNumbersImportStatus {\r\n constructor(\r\n public success?: boolean,\r\n public message?: string,\r\n public importedAt?: Date,\r\n public erroredRows?: number,\r\n public skippedRows?: number,\r\n public importedRows?: number\r\n ) {}\r\n}\r\n\r\nexport class SerialNumberUpdate {\r\n constructor(\r\n public serialnumber?: string,\r\n public certificatePath?: string,\r\n public deviceId?: string,\r\n public articleId?: number,\r\n public description?: string,\r\n public warrantyExp?: Date,\r\n public productionDate?: Date\r\n ) {}\r\n}\r\n\r\nexport class SerialEditing {\r\n constructor(public bool: boolean, public id: number) {}\r\n}\r\n\r\nexport class SubscribeSerialNumbers {\r\n constructor(public serialNumberIds?: number[], public userId?: number, public clear?: boolean) {}\r\n}\r\n\r\nexport class SubscribeSerialNumber {\r\n constructor(public serialNumberId?: number, public userIds?: number[]) {}\r\n}\r\n\r\nexport class UnsubscribeSerialNumber {\r\n constructor(public serialNumberId?: number, public userIds?: number[]) {}\r\n}\r\n\r\nexport class SearchDevice {\r\n constructor(public id?: string, public serialNumber?: string, public name?: string, public tags?: Tag[]) {}\r\n}\r\n\r\nexport enum DeviceType {\r\n AudioVideoTerminal = \"audioVideoTerminal\",\r\n Automation = \"automation\",\r\n Breaker = \"breaker\",\r\n Gateway = \"gateway\",\r\n ELC = \"ELC\",\r\n ELU = \"ELU\",\r\n Hygrometer = \"hygrometer\",\r\n Light = \"light\",\r\n Lock = \"lock\",\r\n Meter = \"meter\",\r\n Plug = \"plug\",\r\n Scene = \"scene\",\r\n Shutter = \"shutter\",\r\n Thermometer = \"thermometer\",\r\n Thermostat = \"thermostat\",\r\n}\r\n\r\nexport enum WarrantyStatusDTO {\r\n UNDER_WARRANTY = \"UNDER_WARRANTY\",\r\n WARRANTY_EXPIRED = \"WARRANTY_EXPIRED\",\r\n WARRANTY_ALMOST_EXPIRED = \"WARRANTY_ALMOST_EXPIRED\",\r\n}\r\n\r\nexport enum WarrantyStatus {\r\n ALL = \"All\",\r\n UNDER_WARRANTY = \"device_under_warranty\",\r\n WARRANTY_EXPIRED = \"device_warranty_expired\",\r\n WARRANTY_ALMOST_EXPIRED = \"device_warranty_almost_expired\",\r\n}\r\n\r\nexport class DeviceHistory {\r\n constructor(public id?: number, public type?: HistoryType, public eventDate?: Date, public title?: string) {}\r\n}\r\n\r\nexport enum HistoryType {\r\n MAINTENANCE = 0,\r\n INSTALLATION = 1,\r\n WARRANTY_EXPIRATION_UPDATED = 2,\r\n DEVICE_ACTIVATION = 3,\r\n}\r\n\r\nexport interface WarrantyVersion {\r\n country: string;\r\n version: WarrantyVersionEnum;\r\n}\r\n\r\nexport enum WarrantyVersionEnum {\r\n A = 0,\r\n B = 1,\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { RestAgendaService } from 'src/app/service/rest/agenda/rest-agenda.service';\r\nimport { News } from './news.model';\r\n\r\n@Injectable()\r\nexport class NewsService {\r\n\r\n private _news: News;\r\n\r\n constructor(private agendaRest : RestAgendaService) { }\r\n\r\n public get news(): News {\r\n return this._news;\r\n }\r\n public set news(value: News) {\r\n this._news = value;\r\n }\r\n\r\n createNews(news: FormData) : Observable {\r\n return this.agendaRest.createAgendaElement(news);\r\n }\r\n\r\n updateNews(news: FormData) {\r\n return this.agendaRest.updateAgendaElement(news);\r\n }\r\n\r\n deleteNews(newsId : number) {\r\n return this.agendaRest.deleteAgendaElement(newsId);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { TranslateFirebaseService } from '../../utils/translate-firebase.service';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { DeviceType } from 'src/app/models/device-type/device-type-model';\r\nimport { BaseApiService } from '../../base-api.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class RestDeviceTypesService extends BaseApiService {\r\n\r\n constructor(httpClient: HttpClient,\r\n translate : TranslateFirebaseService,\r\n private authService : AuthService) {\r\n super(httpClient, translate);\r\n }\r\n\r\n createDeviceType(deviceType: DeviceType): Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + \"DeviceTypes\", deviceType, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n updateDeviceType(deviceType: DeviceType): Observable {\r\n return this.httpClient.put(super.getUpsApiHost() + \"DeviceTypes/\" + deviceType.id, deviceType, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n deleteDeviceType(id: number): Observable {\r\n return this.httpClient.delete(super.getUpsApiHost() + \"DeviceTypes/\" + id, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getDeviceTypeById(id: number) : Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"DeviceTypes/\" + id, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n getAllDeviceTypes() : Observable{\r\n return this.httpClient.get(super.getUpsApiHost() + \"DeviceTypes\", {headers : this.authService.upsHttpHeaders});\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Observable } from 'rxjs';\r\nimport { RestArticleCodeService } from 'src/app/service/rest/article-code/rest-article-code.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ArticleCode } from './article-code.model';\r\n\r\n@Injectable()\r\nexport class ArticleCodesRepositoryService {\r\n\r\n private _articleCodes: ArticleCode[];\r\n private _selectedArticleCodes: ArticleCode[];\r\n private _articleCodesLoaded: boolean = false;\r\n private _selectedArticleCode: ArticleCode;\r\n private _selectedArticleCodeDocuments: Document[];\r\n private _selectedArticleCodeImages: Document[];\r\n private _selectedArticleCodeVideos: Document[];\r\n \r\n private _dataSourceArticleCodes = new MatTableDataSource();\r\n \r\n \r\n constructor(private restArticle : RestArticleCodeService) {}\r\n \r\n get articleCodes(): ArticleCode[] {\r\n let articleCodes: ArticleCode[];\r\n if (!this._articleCodes) {\r\n articleCodes = JSON.parse(sessionStorage.getItem(environment.storage.articleCodes));\r\n return articleCodes;\r\n } else{ \r\n return this._articleCodes};\r\n }\r\n \r\n set articleCodes(value: ArticleCode[]) {\r\n if(value) sessionStorage.setItem(environment.storage.articleCodes, JSON.stringify(value));\r\n this._articleCodes = value;\r\n }\r\n \r\n public get selectedArticleCode(): ArticleCode | undefined {\r\n return this._selectedArticleCode;\r\n }\r\n \r\n public set selectedArticleCode(value: ArticleCode | undefined) {\r\n this._selectedArticleCode = value;\r\n }\r\n \r\n public get dataSourceArticleCodes() {\r\n return this._dataSourceArticleCodes;\r\n }\r\n public set dataSourceArticleCodes(value) {\r\n this._dataSourceArticleCodes = value;\r\n }\r\n \r\n public get selectedArticleCodeVideos(): Document[] {\r\n return this._selectedArticleCodeVideos;\r\n }\r\n public set selectedArticleCodeVideos(value: Document[]) {\r\n this._selectedArticleCodeVideos = value;\r\n }\r\n \r\n public get selectedArticleCodeImages(): Document[] {\r\n return this._selectedArticleCodeImages;\r\n }\r\n public set selectedArticleCodeImages(value: Document[]) {\r\n this._selectedArticleCodeImages = value;\r\n }\r\n \r\n public get selectedArticleCodeDocuments(): Document[] {\r\n return this._selectedArticleCodeDocuments;\r\n }\r\n public set selectedArticleCodeDocuments(value: Document[]) {\r\n this._selectedArticleCodeDocuments = value;\r\n }\r\n \r\n public get selectedArticleCodes(): ArticleCode[] {\r\n return this._selectedArticleCodes;\r\n }\r\n public set selectedArticleCodes(value: ArticleCode[]) {\r\n this._selectedArticleCodes = value;\r\n }\r\n\r\n loadArticleCodes(shouldBeReloaded:boolean = false) {\r\n if (shouldBeReloaded || !this._articleCodesLoaded) {\r\n this.restArticle.getAllArticleCodes()\r\n .subscribe(result => {\r\n this.articleCodes = result;\r\n this.selectedArticleCodes = result;\r\n // this.selectedArticleCode = this.articleCodes[0];\r\n }, error => {\r\n console.log(error);\r\n });\r\n }\r\n \r\n this._articleCodesLoaded = true;\r\n }\r\n\r\n loadArticleCodesByFamilyId(familyId: number): Observable {\r\n return this.restArticle.getAllArticleCodesByFamilyId(familyId);\r\n }\r\n \r\n getArticleCodes() : Observable{\r\n return this.restArticle.getAllArticleCodes();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Device } from './device.model';\r\nimport { Tag } from '../utils.model';\r\nimport { TranslateFirebaseService } from 'src/app/service/utils/translate-firebase.service';\r\n\r\nconst deviceStorageKey = 'UPS-device';\r\nconst deviceApplicationsStorageKey = 'UPS-device-applicationsList';\r\n\r\n@Injectable()\r\nexport class DeviceService {\r\n private _device: Device;\r\n private _temporaryDevice: Device;\r\n private _applicationsList: any;\r\n\r\n private _saveTemporaryDevice: boolean = false;\r\n\r\n constructor(private translate: TranslateFirebaseService) {\r\n const data = sessionStorage.getItem(deviceStorageKey);\r\n if (data != null) this.device = JSON.parse(data);\r\n else this.device = new Device();\r\n }\r\n\r\n get device(): Device {\r\n return this._device;\r\n }\r\n\r\n set device(device: Device) {\r\n this._device = device;\r\n sessionStorage.setItem(deviceStorageKey, JSON.stringify(device));\r\n }\r\n\r\n get temporaryDevice(): Device {\r\n return this._temporaryDevice;\r\n }\r\n\r\n set temporaryDevice(device: Device) {\r\n this._temporaryDevice = device;\r\n }\r\n\r\n get saveTemporaryDevice(): boolean {\r\n return this._saveTemporaryDevice;\r\n }\r\n\r\n set saveTemporaryDevice(value: boolean) {\r\n this._saveTemporaryDevice = value;\r\n }\r\n\r\n public get applicationsList(): Tag[] {\r\n let applicationsList = null\r\n if (this.translate.getTranslation('enum_device_application'))\r\n applicationsList = JSON.parse(this.translate.getTranslation('enum_device_application'));\r\n const data: Tag[] = JSON.parse(sessionStorage.getItem(deviceApplicationsStorageKey));\r\n if (applicationsList){\r\n this.applicationsList = applicationsList;\r\n return applicationsList;\r\n }\r\n else if (data){\r\n return data;\r\n } else return [];\r\n }\r\n\r\n public set applicationsList(value: Tag[]) {\r\n this._applicationsList = value;\r\n sessionStorage.setItem(deviceApplicationsStorageKey, JSON.stringify(value));\r\n }\r\n\r\n reset() {\r\n this.device = new Device();\r\n this.temporaryDevice = new Device();\r\n this.saveTemporaryDevice = false;\r\n sessionStorage.removeItem(deviceStorageKey);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { RestPlantService } from 'src/app/service/rest/plant/rest-plant.service';\r\nimport { PageDialogService } from 'src/app/service/utils/page-dialog.service';\r\nimport { PageService } from 'src/app/service/utils/page.service';\r\nimport { TranslateFirebaseService } from 'src/app/service/utils/translate-firebase.service';\r\nimport { AllowedUser, PlantOwner } from '../user/user.model';\r\nimport { UserService } from '../user/user.service';\r\nimport {\r\n AddPlantFromDeviceType,\r\n OwnerAuthorization,\r\n Plant,\r\n} from './plant.model';\r\nimport { PlantService } from './plant.service';\r\n\r\nexport const USER_PLANTS_STORAGE_KEY = 'Upservice-user-plants';\r\n\r\n@Injectable()\r\nexport class PlantRepositoryService {\r\n private _plants: Plant[] = [];\r\n plantsLoaded: boolean = false;\r\n\r\n constructor(\r\n private plantService: PlantService,\r\n private plantRest: RestPlantService,\r\n private pageService: PageService,\r\n private pageDialogService: PageDialogService,\r\n private translate: TranslateFirebaseService,\r\n private router: Router,\r\n private userService: UserService\r\n ) {\r\n //if (!this.plantsLoaded) this.loadPlants();\r\n }\r\n\r\n public get plants(): Plant[] {\r\n let data: Plant[] = JSON.parse(\r\n sessionStorage.getItem(USER_PLANTS_STORAGE_KEY)\r\n );\r\n if (this._plants.length == 0 && !this.plantsLoaded && data) {\r\n data.forEach((plant: Plant) => {\r\n if (plant.tags) {\r\n if (\r\n plant.tags.find((tag) => tag.key?.toLowerCase() == 'creationdate')\r\n ) {\r\n plant.creationDate = new Date(\r\n plant.tags.find(\r\n (tag) => tag.key.toLowerCase() == 'creationdate'\r\n ).value\r\n );\r\n }\r\n if (plant.tags.find((tag) => tag.key?.toLowerCase() == 'companyname'))\r\n plant.companyName = plant.tags.find(\r\n (tag) => tag.key.toLowerCase() == 'companyname'\r\n ).value;\r\n if (plant.tags.find((tag) => tag.key?.toLowerCase() == 'planttype'))\r\n plant.type = plant.tags.find(\r\n (tag) => tag.key.toLowerCase() == 'planttype'\r\n ).value;\r\n }\r\n\r\n if (!plant.creationDate) plant.creationDate = new Date();\r\n });\r\n\r\n this.plants = data;\r\n\r\n this.loadPlants();\r\n\r\n return data;\r\n } else return this._plants;\r\n }\r\n\r\n public set plants(value: Plant[]) {\r\n sessionStorage.setItem(USER_PLANTS_STORAGE_KEY, JSON.stringify(value));\r\n this._plants = value;\r\n }\r\n\r\n getPlants(): Plant[] {\r\n if (!this.plantsLoaded) this.loadPlants();\r\n\r\n return this.plants;\r\n }\r\n\r\n private loadPlants() {\r\n //TODO COMPANY NAME quando sarà presente come parametro non ci sarà bisogno di salvare in tag\r\n this.plantRest.getPlantsList().subscribe(\r\n (plants: Plant[]) => {\r\n if (plants) {\r\n this.plants = [];\r\n plants.forEach((plant: Plant) => {\r\n if (plant.tags) {\r\n if (\r\n plant.tags.find(\r\n (tag) => tag.key && tag.key.toLowerCase() == 'creationdate'\r\n )\r\n ) {\r\n plant.creationDate = new Date(\r\n plant.tags.find(\r\n (tag) => tag.key.toLowerCase() == 'creationdate'\r\n ).value\r\n );\r\n }\r\n if (\r\n plant.tags.find(\r\n (tag) => tag.key && tag.key.toLowerCase() == 'companyname'\r\n )\r\n )\r\n plant.companyName = plant.tags.find(\r\n (tag) => tag.key.toLowerCase() == 'companyname'\r\n ).value;\r\n if (\r\n plant.tags.find(\r\n (tag) => tag.key && tag.key.toLowerCase() == 'planttype'\r\n )\r\n )\r\n plant.type = plant.tags.find(\r\n (tag) => tag.key.toLowerCase() == 'planttype'\r\n ).value;\r\n }\r\n if (!plant.creationDate) plant.creationDate = new Date();\r\n });\r\n this.plants = plants;\r\n this.plantsLoaded = true;\r\n }\r\n },\r\n (error) => {\r\n if (error.status == 401) this.router.navigateByUrl('/prelogin');\r\n console.log(error.status);\r\n }\r\n );\r\n }\r\n\r\n createPlant(plant: Plant) {\r\n this.plantRest.createPlant(plant).subscribe(\r\n (result: Plant) => {\r\n if (result) {\r\n if (\r\n this.pageDialogService.addPlantFromDevice !=\r\n AddPlantFromDeviceType.NONE\r\n ) {\r\n this.pageDialogService.plantId = result.id;\r\n this.pageDialogService.addPlant = false;\r\n if (\r\n this.pageDialogService.addPlantFromDevice ==\r\n AddPlantFromDeviceType.ADD\r\n ) {\r\n this.pageDialogService.dialogTitle = 'add_device_title';\r\n this.pageDialogService.addDevice = true;\r\n } else if (\r\n this.pageDialogService.addPlantFromDevice ==\r\n AddPlantFromDeviceType.EDIT\r\n ) {\r\n this.pageDialogService.dialogTitle = 'edit_device_title';\r\n this.pageDialogService.editDevice = true;\r\n }\r\n this.pageDialogService.addPlantFromDevice =\r\n AddPlantFromDeviceType.NONE;\r\n }\r\n this.pageService.openSnackBar(\r\n this.translate.getTranslation('add_plant_success'),\r\n 'Ok'\r\n );\r\n result.creationDate = new Date();\r\n result.creationDate.setHours(0, 0, 0, 0);\r\n if (result.tags.find((tag) => tag.key.toLowerCase() == 'companyname'))\r\n result.companyName = result.tags.find(\r\n (tag) => tag.key.toLowerCase() == 'companyname'\r\n ).value;\r\n this.plants.push(result);\r\n sessionStorage.setItem(\r\n USER_PLANTS_STORAGE_KEY,\r\n JSON.stringify(this.plants)\r\n );\r\n }\r\n },\r\n (error) => {\r\n this.pageService.openErrorSnackBar(\r\n this.translate.getTranslation('add_plant_failed'),\r\n 'Ok'\r\n );\r\n console.log(error.status);\r\n }\r\n );\r\n }\r\n\r\n updatePlant(plant: Plant) {\r\n this.plantRest.updatePlant(plant).subscribe(\r\n (result: string) => {\r\n this.pageService.openSnackBar(\r\n this.translate.getTranslation('update_plant_success'),\r\n 'Ok'\r\n );\r\n const index: number = this.plants\r\n .map((plant) => plant.id)\r\n .indexOf(plant.id);\r\n this.plantService.plant = plant;\r\n this.plants[index] = plant;\r\n sessionStorage.setItem(\r\n USER_PLANTS_STORAGE_KEY,\r\n JSON.stringify(this.plants)\r\n );\r\n },\r\n (error) => {\r\n this.pageService.openErrorSnackBar(\r\n this.translate.getTranslation('update_plant_failed'),\r\n 'Ok'\r\n );\r\n console.log(error.status);\r\n }\r\n );\r\n }\r\n\r\n deletePlant(plant: Plant) {\r\n this.plantRest.deletePlant(plant.id).subscribe(\r\n (result) => {\r\n this.pageService.openSnackBar(\r\n this.translate.getTranslation('delete_plant_success'),\r\n 'Ok'\r\n );\r\n const index = this.plants.map((plant) => plant.id).indexOf(plant.id);\r\n if (index > -1) this.plants.splice(index, 1);\r\n sessionStorage.setItem(\r\n USER_PLANTS_STORAGE_KEY,\r\n JSON.stringify(this.plants)\r\n );\r\n },\r\n (error) => {\r\n this.pageService.openErrorSnackBar(\r\n this.translate.getTranslation('delete_plant_failed'),\r\n 'Ok'\r\n );\r\n console.log(error.status);\r\n }\r\n );\r\n }\r\n\r\n getPlantById(id: string) {\r\n if (this.plantsLoaded) {\r\n let plant: Plant = this.plants.find((plant: Plant) => plant.id == id);\r\n this.plantService.plant = plant;\r\n } else\r\n this.plantRest.getPlant(id).subscribe((result) => {\r\n this.plantService.plant = result;\r\n });\r\n }\r\n\r\n getPlantsByDate(date: Date): Plant[] {\r\n return this.plants.filter(\r\n (plant) =>\r\n date == undefined ||\r\n plant.creationDate.setHours(0, 0, 0) == date.setHours(0, 0, 0)\r\n );\r\n }\r\n\r\n getPlantDates(order: boolean) {\r\n //IF order == true newest to oldest, else oldest to newest\r\n if (order)\r\n return this.plants\r\n .map((plant) => plant.creationDate)\r\n .filter(\r\n (ele, index, array) =>\r\n array.findIndex(\r\n (i) => i.setHours(0, 0, 0) == ele.setHours(0, 0, 0)\r\n ) == index\r\n )\r\n .sort((a, b) => (a > b ? -1 : 1));\r\n else\r\n return this.plants\r\n .map((plant) => plant.creationDate)\r\n .filter(\r\n (ele, index, array) =>\r\n array.findIndex(\r\n (i) => i.setHours(0, 0, 0) == ele.setHours(0, 0, 0)\r\n ) == index\r\n )\r\n .sort((a, b) => (a > b ? 1 : -1));\r\n }\r\n\r\n getPlantsChars(ascending: boolean) {\r\n if (ascending)\r\n return this.plants\r\n .map((plant) => plant.name.toLowerCase().charAt(0))\r\n .filter((ele, index, array) => array.indexOf(ele) == index)\r\n .sort((a, b) => (a > b ? 1 : -1));\r\n else\r\n return this.plants\r\n .map((plant) => plant.name.toLowerCase().charAt(0))\r\n .filter((ele, index, array) => array.indexOf(ele) == index)\r\n .sort((a, b) => (a > b ? -1 : 1));\r\n }\r\n\r\n getPlantsByChar(char: string): Plant[] {\r\n return this.plants.filter(\r\n (plant) =>\r\n char == undefined ||\r\n plant.name.toLowerCase().charAt(0) == char.toLowerCase()\r\n );\r\n }\r\n\r\n getPlantsAllowedUsers(ascending: boolean): AllowedUser[] {\r\n let totalAllowedUsers: AllowedUser[] = [];\r\n let allowedUsersArray = this.plants.map((plant) => plant.allowedUsers);\r\n allowedUsersArray.forEach((plantAllowedUsers) => {\r\n if (plantAllowedUsers)\r\n plantAllowedUsers.forEach((user: AllowedUser) => {\r\n if (totalAllowedUsers.indexOf(user) == -1)\r\n totalAllowedUsers.push(user);\r\n });\r\n });\r\n\r\n if (ascending) return totalAllowedUsers.sort((a, b) => (a > b ? 1 : -1));\r\n else return totalAllowedUsers.sort((a, b) => (a > b ? -1 : 1));\r\n }\r\n\r\n getPlantsOwners(ascending: boolean): PlantOwner[] {\r\n let totalOwners: PlantOwner[] = [];\r\n let ownerArray: PlantOwner[] = this.plants.map((plant) => {\r\n return new PlantOwner(plant.ownerId, plant.ownerEmail);\r\n });\r\n\r\n ownerArray.forEach((plantOwner: PlantOwner) => {\r\n if (\r\n plantOwner.ownerId !== this.userService.upsUser.oid &&\r\n totalOwners.findIndex((po) => po.ownerId == plantOwner.ownerId) == -1\r\n )\r\n totalOwners.push(plantOwner);\r\n });\r\n\r\n if (ascending) return totalOwners.sort((a, b) => (a > b ? 1 : -1));\r\n else return totalOwners.sort((a, b) => (a > b ? -1 : 1));\r\n }\r\n\r\n getPlantsByAllowedUser(allowedUser: AllowedUser): Plant[] {\r\n return this.plants.filter(\r\n (plant) =>\r\n plant.allowedUsers && plant.allowedUsers.indexOf(allowedUser) > -1\r\n );\r\n }\r\n\r\n getPlantsByOwner(owner: PlantOwner): Plant[] {\r\n return this.plants\r\n .filter((plant) => plant.ownerId === owner.ownerId)\r\n .sort((a: Plant, b: Plant) =>\r\n a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1\r\n );\r\n }\r\n\r\n getPlantsAsOwner(): Plant[] {\r\n return this.plants\r\n .filter((plant) => plant.ownerId === this.userService.upsUser.oid)\r\n .sort((a: Plant, b: Plant) =>\r\n a.name.toLowerCase() > b.name.toLowerCase() ? 1 : -1\r\n );\r\n }\r\n\r\n sharePlant(id: string, email: string) {\r\n return this.plantRest.inviteUserOnPlant(id, email);\r\n }\r\n\r\n unsharePlant(id: string, email: string): Observable {\r\n return this.plantRest.removeUserFromPlant(id, email);\r\n }\r\n\r\n changeOwner(id: string, email: string, authorization: OwnerAuthorization) {\r\n return this.plantRest.changePlantOwner(id, email, authorization);\r\n }\r\n\r\n getPlantName(id: string): string {\r\n let plant: Plant = this.plants.find((plant: Plant) => plant.id == id);\r\n if (plant) return plant?.name;\r\n else return '';\r\n }\r\n\r\n getPlantCountry(id: string): string {\r\n let plant: Plant = this.plants.find((plant: Plant) => plant.id == id);\r\n if (plant) return plant?.country;\r\n else return '';\r\n }\r\n}\r\n","import { AllowedUser, InvitedUser } from \"../user/user.model\";\r\nimport { Tag } from \"../utils.model\";\r\n\r\nexport class Plant {\r\n\r\n constructor(\r\n public name? : string,\r\n public country? : string,\r\n public type? : string,\r\n public creationDate? : Date,\r\n public ownerId? : string,\r\n public ownerEmail? : string,\r\n public status? : string,\r\n public zipCode? : number,\r\n public address? : string,\r\n public offset? : string,\r\n public allowedUsers? : AllowedUser[],\r\n public invitedUsers? : InvitedUser[],\r\n public tags? : Tag[],\r\n public internalId? : string,\r\n public establishment? : string,\r\n public floor? : number,\r\n public companyName?: string,\r\n public id? : string){}\r\n\r\n}\r\n\r\nexport class SearchPlant {\r\n\r\n constructor(\r\n public name? : string,\r\n public id? : string){}\r\n\r\n}\r\n\r\nexport class OwnerAuthorization {\r\n constructor(\r\n public password : string,\r\n public shouldCurrentUserRightsBeRemoved? : boolean){}\r\n}\r\n\r\n/* export enum PlantType {\r\n HOTEL = 'hotel',\r\n HOUSE = 'house',\r\n OFFICE = 'office',\r\n HOSPITAL = 'hospital'\r\n} */\r\n\r\nexport enum AddPlantFromDeviceType {\r\n NONE = '',\r\n ADD = 'add',\r\n EDIT = 'edit'\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Device } from 'src/app/models/device/device.model';\r\nimport { OwnerAuthorization, Plant } from 'src/app/models/plant/plant.model';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { BaseApiService } from '../../base-api.service';\r\nimport { TranslateFirebaseService } from '../../utils/translate-firebase.service';\r\n\r\nconst plantAPIVersion = \"v3.0\";\r\n\r\n\r\n@Injectable()\r\nexport class RestPlantService extends BaseApiService {\r\n\r\n\r\n\r\n constructor(httpClient: HttpClient,\r\n translate : TranslateFirebaseService,\r\n private authService : AuthService) {\r\n super(httpClient, translate);\r\n }\r\n\r\n //PLANT APIs\r\n\r\n deletePlant(id: string) {\r\n return this.httpClient.delete(super.getEliotApiHost() + \"servicecatalog/api/\" + plantAPIVersion + \"/plants/\" + id, {headers: this.authService.eliotHttpHeaders});\r\n }\r\n\r\n createPlant(plant: Plant): Observable {\r\n return this.httpClient.post(super.getEliotApiHost() + \"servicecatalog/api/\" + plantAPIVersion + \"/plants\", plant, {headers: this.authService.eliotHttpHeaders});\r\n }\r\n\r\n getPlantsList(): Observable {\r\n return this.httpClient.get(super.getEliotApiHost() + \"servicecatalog/api/\" + plantAPIVersion + \"/plants\", {headers : this.authService.eliotHttpHeaders});\r\n }\r\n\r\n getPlant(id: string): Observable {\r\n return this.httpClient.get(super.getEliotApiHost() + \"servicecatalog/api/\" + plantAPIVersion + \"/plants/\" + id, {headers : this.authService.eliotHttpHeaders});\r\n }\r\n\r\n updatePlant(plant: Plant): Observable {\r\n return this.httpClient.patch(super.getEliotApiHost() + \"servicecatalog/api/\" + plantAPIVersion + \"/plants/\" + plant.id, plant, {headers : this.authService.eliotHttpHeaders});\r\n }\r\n\r\n getDeviceListByPlantId(id: string) : Observable{\r\n return this.httpClient.get(super.getEliotApiHost() + \"servicecatalog/api/\" + plantAPIVersion + \"/plants/\" + id + \"/modules\");\r\n }\r\n\r\n inviteUserOnPlant(id: string, email: string) {\r\n let body = {\r\n language : \"it\"\r\n }\r\n return this.httpClient.post(super.getEliotApiHost()+ \"servicecatalog/api/\" + plantAPIVersion + \"/plants/\" + id + \"/delegatedusers/\" + email + \"/\", body, {headers : this.authService.eliotHttpHeaders});\r\n }\r\n\r\n removeUserFromPlant(id : string, email: string) {\r\n return this.httpClient.delete(super.getEliotApiHost() + \"servicecatalog/api/\" + plantAPIVersion + \"/plants/\" + id + \"/delegatedusers/\" + email + \"/\", {headers : this.authService.eliotHttpHeaders});\r\n }\r\n\r\n changePlantOwner(id : string, email : string, body : OwnerAuthorization) : Observable {\r\n\r\n return this.httpClient.post(super.getEliotApiHost() + \"servicecatalog/api/\" + plantAPIVersion + \"/plants/\" + id + \"/owner/\" + email +\"/\", body, {headers : this.authService.eliotHttpHeaders});\r\n }\r\n\r\n}\r\n","export class EliotUser {\r\n\r\n constructor(public id? : string,\r\n public username? : string,\r\n public password? : string,\r\n public givenName? : string,\r\n public displayName? : string,\r\n public surname? : string,\r\n public email? : string,\r\n public country? : string,\r\n public role? : number,\r\n public language?: string,\r\n public languageId?: string,\r\n public marketingCampaigns? : boolean,\r\n public profiling? : boolean){}\r\n}\r\n\r\nexport class UpsUser {\r\n\r\n constructor(public id : number,\r\n public oid : string,\r\n public email : string,\r\n public appRole : number,\r\n public backofficeRole : number,\r\n public reminderDuration : number,\r\n public warrantyReminderDuration : number,\r\n public username : string,\r\n public surname: string,\r\n public firstName: string,\r\n public newUser? : boolean) { }\r\n public promotionalVideoShowed? : boolean\r\n public languageId?: string \r\n}\r\n\r\nexport class AllowedUser {\r\n\r\n constructor(public id : string,\r\n public email : string){}\r\n}\r\n\r\nexport class PlantOwner {\r\n\r\n constructor(public ownerId : string,\r\n public ownerEmail : string){}\r\n}\r\n\r\nexport class InvitedUser {\r\n\r\n constructor(public email : string){}\r\n}\r\n\r\nexport class UserConsent {\r\n constructor(public marketingCampaigns? : boolean,\r\n public profiling? : boolean){}\r\n}\r\n\r\nexport class UserConsentStatus {\r\n constructor(public document?: ConsentDocumentType,\r\n public url?: string,\r\n public date?: Date,\r\n public version?: string,\r\n public action?: ConsentDocumentAction) { }\r\n}\r\n\r\nexport class BaseUser {\r\n constructor(public userId?: number,\r\n public username? : string) { }\r\n}\r\n\r\nexport enum ConsentDocumentType {\r\n TERMS_OF_USE = 'TermsOfUse',\r\n PRIVACY_POLICY = 'PrivacyPolicy'\r\n}\r\n\r\nexport enum ConsentDocumentTypeParam {\r\n TERMS_OF_USE = 'ToU',\r\n PRIVACY_POLICY = 'Privacy_Policy'\r\n}\r\n\r\nexport class ConsentDocumentAction {\r\n constructor(public type?: ConsentStatusType,\r\n public version?: string,\r\n public url?: string) { }\r\n}\r\n\r\nexport enum ConsentStatusType {\r\n UPDATE = 'update',\r\n CONSENT = 'consent',\r\n NONE = 'none\"'\r\n}\r\n","export default \"\\r\\n
\\r\\n
\\r\\n

UPservice

\\r\\n \\\"Legrand
\\r\\n
\\r\\n
\\r\\n
\\r\\n Loading...\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\";","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ArticleCode } from 'src/app/models/article-code/article-code.model';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { BaseApiService } from '../../base-api.service';\r\nimport { TranslateFirebaseService } from '../../utils/translate-firebase.service';\r\n\r\n@Injectable()\r\nexport class RestArticleCodeService extends BaseApiService {\r\n\r\n constructor(httpClient: HttpClient,\r\n translate : TranslateFirebaseService,\r\n private authService : AuthService) {\r\n super(httpClient, translate);\r\n }\r\n\r\n createArticleCode(articleCode: ArticleCode): Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + \"Articles\", articleCode, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n updateArticleCode(articleCode: ArticleCode): Observable {\r\n return this.httpClient.put(super.getUpsApiHost() + \"Articles/\" + articleCode.id, articleCode, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n deleteArticleCode(id: number): Observable {\r\n return this.httpClient.delete(super.getUpsApiHost() + \"Articles/\" + id, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getArticleCodeById(id: number) : Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"Articles/\" + id, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n getAllArticleCodes(): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + 'Articles', { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n getAllArticleCodesByFamilyId(familyId: number): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + 'Articles/DeviceTypeFamily/' + familyId, { headers: this.authService.upsHttpHeaders });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Step, StepOrder } from './procedure.model';\r\n\r\n@Injectable()\r\nexport class StepService {\r\n\r\n private _step: Step;\r\n private _selectedStep: number = -1;\r\n\r\n constructor() { }\r\n\r\n get step() : Step{\r\n return this._step;\r\n }\r\n\r\n set step(step : Step) {\r\n this._step = step;\r\n }\r\n\r\n get selectedStep(): number {\r\n return this._selectedStep;\r\n }\r\n\r\n set selectedStep(value: number) {\r\n this._selectedStep = value;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { RestDeviceService } from 'src/app/service/rest/device/rest-device.service';\r\nimport { RestPlantService } from 'src/app/service/rest/plant/rest-plant.service';\r\nimport { RestSerialService } from 'src/app/service/rest/serial/rest-serial.service';\r\nimport { LastSearchedService } from 'src/app/service/utils/last-searched.service';\r\nimport { PageService } from 'src/app/service/utils/page.service';\r\nimport { TranslateFirebaseService } from 'src/app/service/utils/translate-firebase.service';\r\nimport { AgendaRepositoryService } from '../agenda/agenda-repository.service';\r\nimport { PlantRepositoryService } from '../plant/plant-repository.service';\r\nimport { UserService } from '../user/user.service';\r\nimport {\r\n Device,\r\n DeviceNameSerial,\r\n SubscribeSerialNumber,\r\n SubscribeSerialNumbers,\r\n UnsubscribeSerialNumber,\r\n} from './device.model';\r\nimport { DeviceService } from './device.service';\r\n\r\nexport const USER_DEVICES_STORAGE_KEY = 'Upservice-user-devices';\r\n\r\n@Injectable()\r\nexport class DeviceRepositoryService {\r\n private _userDevices: Device[] = [];\r\n private _plantDevices: Device[] = [];\r\n\r\n public userDevicesLoaded: boolean = false;\r\n plantDevicesLoaded: boolean = false;\r\n plantId: string;\r\n\r\n constructor(\r\n private deviceRest: RestDeviceService,\r\n private pageService: PageService,\r\n private plantRest: RestPlantService,\r\n private deviceService: DeviceService,\r\n private userService: UserService,\r\n private agendaRepo: AgendaRepositoryService,\r\n private plantRepository: PlantRepositoryService,\r\n private serialRest: RestSerialService,\r\n private translate: TranslateFirebaseService,\r\n private lastSearchedService: LastSearchedService\r\n ) {}\r\n\r\n getUserDevices() {\r\n this.loadUserDevices();\r\n }\r\n\r\n get userDevices(): Device[] {\r\n let data: Device[] = JSON.parse(\r\n sessionStorage.getItem(USER_DEVICES_STORAGE_KEY)\r\n );\r\n if (this._userDevices.length == 0 && !this.userDevicesLoaded && data) {\r\n data.forEach((device, index) => {\r\n this.userDevicesLoaded = true;\r\n if (device.creationDate)\r\n device.creationDate = new Date(device.creationDate?.toString());\r\n if (device.activationDate)\r\n device.activationDate = new Date(device.activationDate?.toString());\r\n });\r\n\r\n this.userDevices = data;\r\n return data;\r\n } else return this._userDevices;\r\n }\r\n\r\n set userDevices(devices: Device[]) {\r\n sessionStorage.setItem(USER_DEVICES_STORAGE_KEY, JSON.stringify(devices));\r\n this._userDevices = devices;\r\n }\r\n\r\n get plantDevices(): Device[] {\r\n return this._plantDevices;\r\n }\r\n\r\n set plantDevices(devices: Device[]) {\r\n this._plantDevices = devices;\r\n }\r\n\r\n set device(device: Device) {\r\n this.deviceService.device = device;\r\n }\r\n\r\n get device(): Device {\r\n return this.deviceService.device;\r\n }\r\n\r\n getPlantDevices(id: string): Device[] {\r\n if (!this.plantDevicesLoaded && id != this.plantId)\r\n this.loadPlantDevices(id);\r\n\r\n return this.plantDevices;\r\n }\r\n\r\n private loadUserDevices() {\r\n this.deviceRest.getUserDeviceList().subscribe(\r\n (result: Device[]) => {\r\n this.userDevicesLoaded = true;\r\n if (result)\r\n result.forEach((device, index) => {\r\n if (device.creationDate)\r\n device.creationDate = new Date(device.creationDate?.toString());\r\n if (device.activationDate)\r\n device.activationDate = new Date(\r\n device.activationDate?.toString()\r\n );\r\n //TODO da rimettere se i documenti di garanzia non sono fatti\r\n //if (index == 0) device.certificatePath = 'https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf';\r\n });\r\n this.userDevices = result;\r\n\r\n let subscribeSerialNumbers = new SubscribeSerialNumbers();\r\n\r\n subscribeSerialNumbers.serialNumberIds = this.userDevices.map(\r\n (device: Device) => device.serialNumberId\r\n );\r\n subscribeSerialNumbers.userId = this.userService.upsUser.id;\r\n subscribeSerialNumbers.clear = true;\r\n\r\n this.deviceRest\r\n .subscribeSerialNumbers(subscribeSerialNumbers)\r\n .subscribe(\r\n () => {\r\n console.log(\r\n 'Serials subscribe for user ID:' + this.userService.upsUser.id\r\n );\r\n this.agendaRepo.getAllAgendaByUser();\r\n this.agendaRepo.getUserNotificationCount();\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n },\r\n (error) => {\r\n this.userDevicesLoaded = false;\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n private loadPlantDevices(id: string) {\r\n this.plantId = id;\r\n\r\n this.plantRest.getDeviceListByPlantId(id).subscribe(\r\n (result) => {\r\n this.plantDevices = result;\r\n },\r\n (error) => {\r\n console.log(error.status);\r\n }\r\n );\r\n }\r\n\r\n createDevice(): Observable {\r\n return this.deviceRest.createDevice(this.device);\r\n }\r\n\r\n subscribeSerialNumber(serialNumberId: number): Observable {\r\n let subscribeSerialNumber: SubscribeSerialNumber =\r\n new SubscribeSerialNumber();\r\n subscribeSerialNumber.serialNumberId = serialNumberId;\r\n subscribeSerialNumber.userIds = [this.userService.upsUser.id];\r\n\r\n return this.deviceRest.subscribeSerialNumber(subscribeSerialNumber);\r\n }\r\n\r\n archiveDevice(id: string): Observable {\r\n return this.deviceRest.deleteDevice(id);\r\n }\r\n\r\n unsubscribeSerialNumber(serialNumberId: number) {\r\n let unsubscribeSerial = new UnsubscribeSerialNumber();\r\n unsubscribeSerial.serialNumberId = serialNumberId;\r\n unsubscribeSerial.userIds = [this.userService.upsUser.id];\r\n\r\n this.deviceRest.unsubscribeSerialNumber(unsubscribeSerial).subscribe(\r\n () => {\r\n console.log('Unsubscribed Serial with ID:' + serialNumberId);\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n getUserDeviceById(id: string) {\r\n if (this.userDevicesLoaded) {\r\n let device: Device = this.userDevices.find(\r\n (device: Device) => device.id == id\r\n );\r\n this.device = device;\r\n } else\r\n this.deviceRest.getDevice(id).subscribe((result) => {\r\n this.device = result;\r\n });\r\n }\r\n\r\n getPlantDeviceById(id: string) {\r\n if (this.plantDevicesLoaded) {\r\n let device: Device = this.plantDevices.find(\r\n (device: Device) => device.id == id\r\n );\r\n this.deviceService.device = device;\r\n } else\r\n this.deviceRest.getDevice(id).subscribe((result) => {\r\n this.deviceService.device = result;\r\n });\r\n }\r\n\r\n getDevicesPlants(ascending: boolean) {\r\n if (ascending)\r\n return this.userDevices\r\n .map((device) => device.plantId)\r\n .filter((ele, index, array) => array.indexOf(ele) == index)\r\n .sort((a, b) => (a > b ? 1 : -1));\r\n else\r\n return this.userDevices\r\n .map((device) => device.plantId)\r\n .filter((ele, index, array) => array.indexOf(ele) == index)\r\n .sort((a, b) => (a > b ? -1 : 1));\r\n }\r\n\r\n getDevicesByPlant(plantId: string): Device[] {\r\n return this.userDevices.filter(\r\n (device) => plantId == undefined || device.plantId == plantId\r\n );\r\n }\r\n\r\n getDevicesTotByPlant(plantId: string): number {\r\n return this.userDevices.filter(\r\n (device) => plantId == undefined || device.plantId == plantId\r\n ).length;\r\n }\r\n\r\n getDevicesByDate(date: Date): Device[] {\r\n return this.userDevices.filter(\r\n (device) =>\r\n date == undefined ||\r\n device.activationDate.setHours(0, 0, 0) == date.setHours(0, 0, 0)\r\n );\r\n }\r\n\r\n getDevicesDates(order: boolean) {\r\n //IF order == true newest to oldest, else oldest to newest\r\n if (order)\r\n return this.userDevices\r\n .map((device) => device.activationDate)\r\n .filter(\r\n (ele, index, array) =>\r\n array.findIndex(\r\n (i) => i.setHours(0, 0, 0) === ele.setHours(0, 0, 0)\r\n ) == index\r\n )\r\n .sort((a, b) => (a > b ? -1 : 1));\r\n else\r\n return this.userDevices\r\n .map((device) => device.activationDate)\r\n .filter(\r\n (ele, index, array) =>\r\n array.findIndex(\r\n (i) => i.setHours(0, 0, 0) === ele.setHours(0, 0, 0)\r\n ) == index\r\n )\r\n .sort((a, b) => (a > b ? 1 : -1));\r\n }\r\n\r\n getDevicesChars(ascending: boolean) {\r\n if (ascending)\r\n return this.userDevices\r\n .map((device) => device.name.toLowerCase().charAt(0))\r\n .filter((ele, index, array) => array.indexOf(ele) == index)\r\n .sort((a, b) => (a > b ? 1 : -1));\r\n else\r\n return this.userDevices\r\n .map((device) => device.name.toLowerCase().charAt(0))\r\n .filter((ele, index, array) => array.indexOf(ele) == index)\r\n .sort((a, b) => (a > b ? -1 : 1));\r\n }\r\n\r\n getDevicesByChar(char: string): Device[] {\r\n return this.userDevices.filter(\r\n (device) =>\r\n char == undefined ||\r\n device.name.toLowerCase().charAt(0) == char.toLowerCase()\r\n );\r\n }\r\n\r\n updateDevice() {\r\n this.deviceRest.updateDevice(this.device).subscribe(\r\n (result: Device) => {\r\n this.pageService.openSnackBar(\r\n this.translate.getTranslation('update_device_success'),\r\n 'Ok'\r\n );\r\n const index: number = this.userDevices\r\n .map((device) => device.id)\r\n .indexOf(this.device.id);\r\n this.deviceService.device = this.device;\r\n this.userDevices[index] = this.device;\r\n sessionStorage.setItem(\r\n USER_DEVICES_STORAGE_KEY,\r\n JSON.stringify(this.userDevices)\r\n );\r\n },\r\n (error) => {\r\n this.pageService.openErrorSnackBar(\r\n this.translate.getTranslation('update_device_failed'),\r\n 'Ok'\r\n );\r\n console.log(error.status);\r\n }\r\n );\r\n }\r\n\r\n reset() {\r\n this.userDevices = [];\r\n this.plantDevices = [];\r\n sessionStorage.removeItem(USER_DEVICES_STORAGE_KEY);\r\n }\r\n\r\n clearFromHistory(id: string) {\r\n this.lastSearchedService.clearFromHistory(id);\r\n }\r\n\r\n downloadDocument(documentId: number): Observable {\r\n return this.deviceRest.downloadDocument(documentId);\r\n }\r\n\r\n getUserDevicesSerials(): DeviceNameSerial[] {\r\n return this.userDevices.map(\r\n (device) => new DeviceNameSerial(device.serialNumber, device.name)\r\n );\r\n }\r\n\r\n getDeviceNameBySerialNumber(serialNumber: string): string {\r\n let index: number = this.userDevices.findIndex(\r\n (element) =>\r\n element.serialNumber.toUpperCase() == serialNumber.toUpperCase()\r\n );\r\n return this.userDevices[index].name;\r\n }\r\n\r\n getSerialNumberByDeviceName(deviceName: string): string {\r\n let index: number = this.userDevices.findIndex(\r\n (element) =>\r\n element.name.toUpperCase() == deviceName.toUpperCase()\r\n );\r\n return this.userDevices[index].serialNumber;\r\n }\r\n\r\n getPlantName(serialNumber: string): string {\r\n let deviceIndex: number = this.userDevices.findIndex(\r\n (element) =>\r\n element.serialNumber.toUpperCase() == serialNumber.toUpperCase()\r\n );\r\n let plantIndex: number = this.plantRepository.plants.findIndex(\r\n (element) => element.id == this.userDevices[deviceIndex].plantId\r\n );\r\n return this.plantRepository.plants[plantIndex].name;\r\n }\r\n\r\n getPlantNameByDeviceName(deviceName: string): string {\r\n let deviceIndex: number = this.userDevices.findIndex(\r\n (element) =>\r\n element.name.toUpperCase() == deviceName.toUpperCase()\r\n );\r\n let plantIndex: number = this.plantRepository.plants.findIndex(\r\n (element) => element.id == this.userDevices[deviceIndex].plantId\r\n );\r\n return this.plantRepository.plants[plantIndex].name;\r\n }\r\n}\r\n","export const environment = {\r\n production: true,\r\n environment: 'PROD',\r\n version: 'v1.1.20',\r\n UpsApiEndpoint: 'https://upservice.legrand.com/',\r\n EliotApiEndpoint: 'https://upservice.legrand.com/',\r\n eliot_ocp_key: 'ac9f9c0ffcb94e959062160efb6058ac',\r\n ups_ocp_key: '378d45106b0743b49d3e88c8193c151a',\r\n profileWebviewUrl: 'https://myconnectedaccount.legrand.com/',\r\n firebaseConfig: {\r\n apiKey: 'AIzaSyAF9aggxa0Uef41bk0FEruEAKPhdlgRz-k',\r\n authDomain: 'upservice-legrand.firebaseapp.com',\r\n projectId: 'upservice-legrand',\r\n storageBucket: 'upservice-legrand.appspot.com',\r\n messagingSenderId: '548145135865',\r\n appId: '1:548145135865:web:3794bbbf643f195226e228',\r\n measurementId: 'G-VY77BK72NM',\r\n },\r\n codeAuth: {\r\n clientId: 'a2008729-1868-41d2-aaee-3190001d29bd',\r\n responseType: 'code',\r\n redirectUri: 'https://upservice.legrand.com/login',\r\n loginUrl:\r\n 'https://login.eliotbylegrand.com/0d8816d5-3e7f-4c86-8229-645137e0f222/oauth2/v2.0/authorize?p=B2C_1A_UpServiceWeb',\r\n clientSecret: 'no_need',\r\n timeoutFactor: 300000,\r\n scope:\r\n 'openid offline_access https://EliotCloudUAMPRD.onmicrosoft.com/security/access.full',\r\n },\r\n tokenAuth: {\r\n clientId: 'a2008729-1868-41d2-aaee-3190001d29bd',\r\n responseType: 'token',\r\n tokenEndpoint:\r\n 'https://login.eliotbylegrand.com/0d8816d5-3e7f-4c86-8229-645137e0f222/oauth2/v2.0/token?p=B2C_1A_UpServiceWeb',\r\n grantType: 'authorization_code',\r\n clientSecret: 'no_need',\r\n },\r\n logOutUrl:\r\n 'https://login.eliotbylegrand.com/0d8816d5-3e7f-4c86-8229-645137e0f222/oauth2/v2.0/logout?p=B2C_1A_UpServiceWeb',\r\n logoutRedirectUri: 'https://upservice.legrand.com/prelogin',\r\n storage: {\r\n accessToken: 'UPService-access-token',\r\n sasToken: 'UPService-sas-token',\r\n idToken: 'UPService-id-token',\r\n refreshToken: 'UPService-refresh-token',\r\n tokenExpiresIn: 'UPService-expires-in',\r\n eliotUser: 'UPS-EliotUser',\r\n searchHistory: 'UPService-search-history',\r\n upsUser: 'UPS-UpsUser',\r\n upsBackofficeLanguages: 'UPService-backoffice-languages',\r\n upsSelectedDocument: 'UPService-selected-document',\r\n settingsDateFormat: 'UPService-date-format',\r\n articleCodes: 'UPService-article-codes',\r\n selectedArticleCode: 'UPService-selected-article-code',\r\n agenda: 'UPService-agenda',\r\n news: 'UPService-news',\r\n },\r\n};\r\n","import { WarrantyStatus } from 'src/app/models/device/device.model';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Observable } from 'rxjs';\r\nimport { RestSerialService } from 'src/app/service/rest/serial/rest-serial.service';\r\nimport { SerialNumber } from '../device/device.model';\r\n\r\nexport const SERIAL_NUMBERS_STORAGE_KEY = 'Upservice-serial-numbers';\r\n\r\n@Injectable()\r\nexport class SerialNumberRepositoryService {\r\n \r\n \r\n\r\n private _serialNumbers: SerialNumber[] = [];\r\n private _possibleSerialNumbers: SerialNumber[] = [];\r\n private _installedSerialNumbers: SerialNumber[] = [];\r\n private _dataSourceSerialNumbers = new MatTableDataSource();\r\n private _dataSourceInstalledSerialNumbers =\r\n new MatTableDataSource();\r\n\r\n serialNumbersLoaded: boolean = false;\r\n possibleSerialNumbersLoaded: boolean = false;\r\n\r\n constructor(private serialRest: RestSerialService) {}\r\n\r\n public checkSerial(serial: string): Observable {\r\n return this.serialRest.checkSerial(serial);\r\n }\r\n\r\n public getSerialNumberBySerialNumber(serial: string) {\r\n return this.serialRest.getSerialNumberBySerialNumber(serial);\r\n }\r\n\r\n public loadPossibleSerialNumbers() {\r\n this.serialRest.getPossibleSerials().subscribe(\r\n (serials: SerialNumber[]) => {\r\n if (serials) {\r\n this.possibleSerialNumbers = serials;\r\n this.possibleSerialNumbersLoaded = true;\r\n }\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n public loadSerialNumbers(): Observable {\r\n return this.serialRest.getAllSerials();\r\n }\r\n\r\n public loadSerialNumbersByDeviceType(deviceTypeId : number): Observable {\r\n return this.serialRest.getAllSerialsByDeviceType(deviceTypeId);\r\n }\r\n\r\n get serialNumbers(): SerialNumber[] {\r\n let data: SerialNumber[] = JSON.parse(\r\n sessionStorage.getItem(SERIAL_NUMBERS_STORAGE_KEY)\r\n );\r\n if (this._serialNumbers.length == 0 && !this.serialNumbersLoaded && data) {\r\n\r\n this.serialNumbersLoaded = true;\r\n\r\n this.serialNumbers = data;\r\n return data;\r\n } else return this._serialNumbers;\r\n }\r\n\r\n set serialNumbers(data: SerialNumber[]) {\r\n // sessionStorage.setItem(SERIAL_NUMBERS_STORAGE_KEY, JSON.stringify(data));\r\n this._serialNumbers = data;\r\n }\r\n\r\n public get dataSourceSerialNumbers() {\r\n return this._dataSourceSerialNumbers;\r\n }\r\n public set dataSourceSerialNumbers(value) {\r\n this._dataSourceSerialNumbers = value;\r\n }\r\n\r\n get possibleSerialNumbers(): SerialNumber[] {\r\n return this._possibleSerialNumbers;\r\n }\r\n\r\n set possibleSerialNumbers(data: SerialNumber[]) {\r\n this._possibleSerialNumbers = data;\r\n }\r\n\r\n public get installedSerialNumbers(): SerialNumber[] {\r\n return this._installedSerialNumbers;\r\n }\r\n public set installedSerialNumbers(value: SerialNumber[]) {\r\n this._installedSerialNumbers = value;\r\n }\r\n\r\n public get dataSourceInstalledSerialNumbers(): MatTableDataSource {\r\n return this._dataSourceInstalledSerialNumbers;\r\n }\r\n public set dataSourceInstalledSerialNumbers(\r\n value: MatTableDataSource\r\n ) {\r\n this._dataSourceInstalledSerialNumbers = value;\r\n }\r\n\r\n public getInstalledSerialNumbers(): Observable {\r\n return this.serialRest.getInstalledSerials();\r\n }\r\n\r\n filterResults(\r\n warrantyStatus: string,\r\n serialNumberToSearch: string,\r\n country: string,\r\n filterDate?: Date,\r\n ): boolean {\r\n let preFilter = this.installedSerialNumbers;\r\n if (serialNumberToSearch != '' && serialNumberToSearch != null) {\r\n preFilter = preFilter.filter((element) =>\r\n element.serialnumber.toLowerCase().includes(serialNumberToSearch.toLowerCase())\r\n );\r\n }\r\n if (filterDate != null) {\r\n preFilter = preFilter.filter(\r\n (serialNumber) =>\r\n new Date(serialNumber.warrantyExp).getTime() <= filterDate.getTime()\r\n );\r\n }\r\n if (warrantyStatus != WarrantyStatus.ALL) {\r\n const warrantyStatusKey = Object.keys(WarrantyStatus).find(\r\n (key) => WarrantyStatus[key] === warrantyStatus\r\n );\r\n preFilter = preFilter.filter(\r\n (serialNumber) => serialNumber.warrantyStatus === warrantyStatusKey\r\n );\r\n }\r\n if (country) {\r\n preFilter = preFilter.filter(serialNumber => serialNumber?.country.toLowerCase() === country.toLowerCase());\r\n }\r\n this.dataSourceInstalledSerialNumbers = new MatTableDataSource(preFilter);\r\n return true;\r\n }\r\n\r\n resetFilter(): boolean {\r\n this.dataSourceInstalledSerialNumbers = new MatTableDataSource(\r\n this.installedSerialNumbers\r\n );\r\n return true;\r\n }\r\n\r\n loadSerialNumbersByArticleCode(articleCode: string): Observable {\r\n return this.serialRest.getAllSerialsByArticleCode(articleCode);\r\n }\r\n\r\n uploadSerials(formData: FormData): Observable {\r\n return this.serialRest.uploadSerialNumbers(formData);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PlantService } from './plant/plant.service';\r\nimport { PlantRepositoryService } from './plant/plant-repository.service';\r\nimport { DeviceService } from './device/device.service';\r\nimport { DeviceRepositoryService } from './device/device-repository.service';\r\nimport { UserService } from './user/user.service';\r\nimport { CountryRepositoryService } from './country/country-repository.service';\r\nimport { SearchCatalogService } from './catalog/search-catalog.service';\r\nimport { SerialNumberService } from './serial-number/serial-number.service';\r\nimport { SerialNumberRepositoryService } from './serial-number/serial-number-repository.service';\r\nimport { UserRepositoryService } from './user/user-repository.service';\r\nimport { ProcedureRepositoryService } from './procedure/procedure-repository.service';\r\nimport { ProcedureService } from './procedure/procedure.service';\r\nimport { StepService } from './procedure/step.service';\r\nimport { ArticleCodesRepositoryService } from './article-code/article-codes-repository.service';\r\nimport { LanguageRepositoryService } from './language/language-repository.service';\r\nimport { ObjRepositoryService } from './procedure/obj-repository.service';\r\nimport { ArticleCodeService } from './article-code/article-code.service';\r\nimport { MaintenanceService } from './maintenance/maintenance.service';\r\nimport { MaintenanceRepositoryService } from './maintenance/maintenance-repository.service';\r\nimport { MaintenanceCheckService } from './maintenance/maintenance-check.service';\r\nimport { NewsService } from './news/news.service';\r\nimport { NewsRepositoryService } from './news/news-repository.service';\r\nimport { EventAcademyService } from './event/event-academy.service';\r\nimport { EventAcademyRepositoryService } from './event/event-academy-repository.service';\r\nimport { DeviceDocumentationRepositoryService } from './device-documentation/device-documentation-repository.service';\r\nimport { AgendaRepositoryService } from './agenda/agenda-repository.service';\r\nimport { MaintenanceReminderService } from './maintenance/maintenance-reminder.service';\r\nimport { DeviceHistoryService } from './device/device-history.service';\r\nimport { DeviceHistoryRepositoryService } from './device/device-history-repository.service';\r\nimport { ProductFamilyService } from './product-families/product-family.service';\r\nimport { ProductFamilyRepositoryService } from './product-families/product-family-repository.service';\r\nimport { DeviceTypeService } from './device-type/device-type.service';\r\nimport { DeviceTypeRepositoryService } from './device-type/device-type-repository.service';\r\n\r\n@NgModule({\r\n providers: [PlantService,\r\n PlantRepositoryService,\r\n DeviceService,\r\n DeviceRepositoryService,\r\n UserService,\r\n CountryRepositoryService,\r\n SearchCatalogService,\r\n SerialNumberService,\r\n SerialNumberRepositoryService,\r\n UserRepositoryService,\r\n ProcedureRepositoryService,\r\n ProcedureService,\r\n StepService,\r\n ArticleCodeService,\r\n ArticleCodesRepositoryService,\r\n LanguageRepositoryService,\r\n ObjRepositoryService,\r\n MaintenanceService,\r\n MaintenanceRepositoryService,\r\n MaintenanceCheckService,\r\n NewsService,\r\n NewsRepositoryService,\r\n EventAcademyService,\r\n EventAcademyRepositoryService,\r\n DeviceDocumentationRepositoryService,\r\n AgendaRepositoryService,\r\n MaintenanceReminderService,\r\n DeviceHistoryService,\r\n DeviceHistoryRepositoryService,\r\n ProductFamilyService,\r\n ProductFamilyRepositoryService,\r\n DeviceTypeService,\r\n DeviceTypeRepositoryService],\r\n imports: [\r\n CommonModule\r\n ]\r\n})\r\nexport class ModelsModule { }\r\n","import {\r\n HttpClient,\r\n HttpHeaders,\r\n HttpParams,\r\n HttpUrlEncodingCodec,\r\n} from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { OAuthService } from 'angular-oauth2-oidc';\r\nimport { Observable } from 'rxjs';\r\nimport {\r\n EliotRefreshTokenResponse,\r\n EliotTokenResponse,\r\n} from 'src/app/models/eliotToken.model';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class AuthService {\r\n private _accessToken: string;\r\n private _languageId: string = sessionStorage.getItem(environment.storage.eliotUser) ? JSON.parse(sessionStorage.getItem(environment.storage.eliotUser)).language : 'en';\r\n\r\n constructor(\r\n private httpClient: HttpClient,\r\n private oauthService: OAuthService\r\n ) {}\r\n\r\n //AUTH APIs\r\n\r\n set accessToken(token: string | undefined) {\r\n if (token) {\r\n sessionStorage.setItem(environment.storage.accessToken, token);\r\n this._accessToken = token;\r\n }\r\n }\r\n\r\n get accessToken(): string | undefined {\r\n let data: string;\r\n if (this._accessToken) return this._accessToken;\r\n else data = sessionStorage.getItem(environment.storage.accessToken);\r\n if (data != null) return data;\r\n else return undefined;\r\n }\r\n\r\n set idToken(token: string | undefined) {\r\n if (token) sessionStorage.setItem(environment.storage.idToken, token);\r\n }\r\n\r\n get idToken(): string | undefined {\r\n const data = sessionStorage.getItem(environment.storage.idToken);\r\n if (data != null) return data;\r\n else return undefined;\r\n }\r\n\r\n set refreshToken(token: string | undefined) {\r\n if (token) sessionStorage.setItem(environment.storage.refreshToken, token);\r\n }\r\n\r\n get refreshToken(): string | undefined {\r\n const data = sessionStorage.getItem(environment.storage.refreshToken);\r\n if (data != null) return data;\r\n else return undefined;\r\n }\r\n\r\n set tokenExpiresIn(ms: number | undefined) {\r\n if (ms)\r\n sessionStorage.setItem(environment.storage.tokenExpiresIn, String(ms));\r\n }\r\n\r\n get tokenExpiresIn(): number | undefined {\r\n const data = Number(\r\n sessionStorage.getItem(environment.storage.tokenExpiresIn)\r\n );\r\n if (data != null) return data;\r\n else return undefined;\r\n }\r\n\r\n public get languageId(): string {\r\n return this._languageId;\r\n }\r\n public set languageId(value: string) {\r\n this._languageId = value;\r\n }\r\n\r\n isAuthenticated(): Boolean {\r\n let res = false;\r\n if (this.accessToken != undefined) res = true;\r\n return res;\r\n }\r\n\r\n logout() {\r\n sessionStorage.removeItem(environment.storage.accessToken);\r\n sessionStorage.removeItem(environment.storage.refreshToken);\r\n sessionStorage.removeItem(environment.storage.idToken);\r\n sessionStorage.removeItem(environment.storage.tokenExpiresIn);\r\n sessionStorage.removeItem(environment.storage.eliotUser);\r\n sessionStorage.removeItem(environment.storage.upsUser);\r\n sessionStorage.removeItem(environment.storage.searchHistory);\r\n sessionStorage.removeItem(environment.storage.upsBackofficeLanguages);\r\n sessionStorage.removeItem(environment.storage.sasToken);\r\n sessionStorage.removeItem(environment.storage.articleCodes);\r\n sessionStorage.removeItem(environment.storage.selectedArticleCode);\r\n\r\n window.location.href =\r\n environment.logOutUrl +\r\n '&post_logout_redirect_uri=' +\r\n environment.logoutRedirectUri;\r\n }\r\n\r\n getAuthToken(code: string): Observable {\r\n const tokenAuthConfig = this.getTokenConfiguration();\r\n sessionStorage.setItem(\r\n 'UPService-token-endpoint',\r\n tokenAuthConfig.tokenEndpoint\r\n );\r\n return this.getAccessToken(\r\n code,\r\n tokenAuthConfig.tokenEndpoint,\r\n tokenAuthConfig\r\n );\r\n }\r\n\r\n getTokenConfiguration() {\r\n return environment.tokenAuth;\r\n }\r\n\r\n public getAccessToken(\r\n code: string,\r\n addressOAuth: string,\r\n confObj: any\r\n ): Observable {\r\n const encoder: HttpUrlEncodingCodec = new HttpUrlEncodingCodec();\r\n const httpParams: HttpParams = new HttpParams()\r\n .append(encoder.encodeKey('code'), encoder.encodeValue(code))\r\n .append(\r\n encoder.encodeKey('client_id'),\r\n encoder.encodeValue(confObj.clientId)\r\n )\r\n .append(\r\n encoder.encodeKey('grant_type'),\r\n encoder.encodeValue(confObj.grantType)\r\n )\r\n .append(\r\n encoder.encodeKey('code_verifier'),\r\n encoder.encodeValue(sessionStorage.getItem('PKCE_verifier'))\r\n );\r\n return this.httpClient.post(addressOAuth, httpParams);\r\n }\r\n\r\n configureLogin() {\r\n const codeAuthConfig = this.getCodeConfiguration();\r\n this.oauthService.configure(codeAuthConfig);\r\n this.oauthService.setStorage(sessionStorage);\r\n this.oauthService.initCodeFlow();\r\n }\r\n\r\n getCodeConfiguration() {\r\n return environment.codeAuth;\r\n }\r\n\r\n tryRefreshToken() {\r\n const config = this.getTokenConfiguration();\r\n const encoder: HttpUrlEncodingCodec = new HttpUrlEncodingCodec();\r\n const httpParams: HttpParams = new HttpParams()\r\n .append(\r\n encoder.encodeKey('grant_type'),\r\n encoder.encodeValue('refresh_token')\r\n )\r\n .append(\r\n encoder.encodeKey('refresh_token'),\r\n encoder.encodeValue(this.refreshToken)\r\n )\r\n .append(\r\n encoder.encodeKey('client_id'),\r\n encoder.encodeValue(config.clientId)\r\n )\r\n .append(\r\n encoder.encodeKey('code_verifier'),\r\n encoder.encodeValue(sessionStorage.getItem('PKCE_verifier'))\r\n );\r\n this.httpClient\r\n .post(config.tokenEndpoint, httpParams)\r\n .subscribe((res: EliotRefreshTokenResponse) => {\r\n if (\r\n res.access_token != null &&\r\n res.refresh_token != null &&\r\n res.expires_in != null\r\n ) {\r\n this.accessToken = res.access_token;\r\n this.refreshToken = res.refresh_token;\r\n this.tokenExpiresIn = res.expires_in;\r\n } else {\r\n this.logout();\r\n }\r\n });\r\n }\r\n\r\n setTimeoutRefreshToken() {\r\n setInterval(() => {\r\n this.tryRefreshToken();\r\n }, this.tokenExpiresIn * 100);\r\n }\r\n\r\n get eliotHttpHeaders(): HttpHeaders {\r\n if (!this.isProduction())\r\n return new HttpHeaders({\r\n Authorization: `Bearer ${this.accessToken}`,\r\n 'Ocp-Apim-Subscription-Key': environment.eliot_ocp_key,\r\n 'x-Backend-Endpoint': 'eliot',\r\n });\r\n if (this.isProduction())\r\n return new HttpHeaders({\r\n Authorization: `Bearer ${this.accessToken}`,\r\n 'x-Backend-Endpoint': 'eliot',\r\n });\r\n }\r\n\r\n get upsHttpHeaders(): HttpHeaders {\r\n return new HttpHeaders({\r\n 'x-Backend-Endpoint': 'ups',\r\n 'x-LanguageId': this.languageId,\r\n Authorization: `Bearer ${this.accessToken}`,\r\n });\r\n //return new HttpHeaders({'Authorization': `Bearer ${this.accessToken}`, 'x-Backend-Endpoint': 'ups'});\r\n }\r\n\r\n isProduction(): boolean {\r\n return environment.production;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as _moment from 'moment';\r\n// tslint:disable-next-line:no-duplicate-imports\r\nimport {default as _rollupMoment} from 'moment';\r\n\r\nconst moment = _rollupMoment || _moment;\r\n\r\n@Injectable()\r\nexport class CustomDateService {\r\n\r\n constructor() { }\r\n\r\n public get momentToday() : moment.Moment {\r\n return moment();\r\n }\r\n\r\n getDateFromMoment(value : moment.Moment): Date {\r\n let dateYear: string = value.format('YYYY');\r\n let dateDay: string = value.format('DD');\r\n let dateMonth: string = value.format('MM');\r\n\r\n return new Date(dateYear + '-' + dateMonth + '-' + dateDay);\r\n }\r\n\r\n getMomentFromDate(value: Date): moment.Moment {\r\n return moment(value);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Observable } from 'rxjs';\r\nimport { RestMaintenanceService } from 'src/app/service/rest/maintenance/rest-maintenance.service';\r\nimport { Maintenance } from './maintenance.model';\r\n\r\n@Injectable()\r\nexport class MaintenanceRepositoryService {\r\n\r\n private _maintenances: Maintenance[] = [];\r\n private _dataSourceMaintenances = new MatTableDataSource();\r\n\r\n constructor(private maintenanceRest: RestMaintenanceService) { }\r\n\r\n public get maintenances(): Maintenance[] {\r\n return this._maintenances;\r\n }\r\n public set maintenances(value: Maintenance[]) {\r\n this._maintenances = value;\r\n }\r\n\r\n public get dataSourceMaintenances() {\r\n return this._dataSourceMaintenances;\r\n }\r\n public set dataSourceMaintenances(value) {\r\n this._dataSourceMaintenances = value;\r\n }\r\n\r\n getMaintenances(articleId : number, languageId : string) : Observable {\r\n return this.maintenanceRest.getMaintenancesByArticleIdAndLanguageId(articleId, languageId);\r\n }\r\n\r\n getMaintenancesByArticleId(articleId: number) : Maintenance[]{\r\n return this.maintenances.filter((maintenance: Maintenance) => maintenance.articleId == articleId);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Device, SearchDevice } from 'src/app/models/device/device.model';\r\nimport { Plant, SearchPlant } from 'src/app/models/plant/plant.model';\r\n\r\nconst HISTORY_MAX_LENGTH : number = 2;\r\nconst HISTORY_STORAGE_KEY : string = 'UPService-search-history';\r\n\r\n@Injectable()\r\nexport class LastSearchedService {\r\n\r\n private _searchHistory : any[] = [];\r\n\r\n constructor() {\r\n const data = JSON.parse(sessionStorage.getItem(HISTORY_STORAGE_KEY));\r\n if(data) this.searchHistory = data;\r\n }\r\n\r\n addDeviceToSearchHistory(device : SearchDevice){\r\n\r\n const searchedDev : Device = this.searchHistory.find((elem : Device) => elem.id == device.id);\r\n if(searchedDev) return;\r\n\r\n if(this.searchHistory.length == HISTORY_MAX_LENGTH) {\r\n this.searchHistory.splice(0, 1);\r\n this.searchHistory.push(device);\r\n }\r\n else this.searchHistory.push(device);\r\n sessionStorage.setItem(HISTORY_STORAGE_KEY, JSON.stringify(this.searchHistory));\r\n }\r\n\r\n addPlantToSearchHistory(plant : SearchPlant){\r\n\r\n const searchedPlant : Plant = this.searchHistory.find((elem : Plant) => elem.id == plant.id);\r\n if(searchedPlant) return;\r\n\r\n if(this.searchHistory.length == HISTORY_MAX_LENGTH) {\r\n this.searchHistory.splice(0, 1);\r\n this.searchHistory.push(plant);\r\n }\r\n else this.searchHistory.push(plant);\r\n sessionStorage.setItem(HISTORY_STORAGE_KEY, JSON.stringify(this.searchHistory));\r\n }\r\n\r\n get searchHistory() : any[] {\r\n return this._searchHistory;\r\n }\r\n\r\n set searchHistory(history : any[]) {\r\n this._searchHistory = history;\r\n }\r\n\r\n clearFromHistory(id : string) {\r\n\r\n const elem : number = this.searchHistory.findIndex((elem : Device | Plant) => elem.id == id);\r\n if(elem < 0) return;\r\n else this.searchHistory.splice(elem, 1);\r\n\r\n sessionStorage.setItem(HISTORY_STORAGE_KEY, JSON.stringify(this.searchHistory));\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from \"@angular/common/http\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class UploadCacheInterceptor implements HttpInterceptor {\r\n constructor() {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n if (request.url.includes(\"importProcedureCSV\")) {\r\n request = request.clone({\r\n headers: request.headers.append(\"Cache-Control\", \"no-cache\"),\r\n });\r\n return next.handle(request);\r\n }\r\n return next.handle(request);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class GalleryService {\r\n\r\n private _imgsSrc : string[] = [];\r\n private _selectedIndex : number = 0;\r\n\r\n constructor() { }\r\n\r\n get imgsSrc() : string[] {\r\n return this._imgsSrc;\r\n }\r\n\r\n set imgsSrc(data : string[]) {\r\n this._imgsSrc = data;\r\n }\r\n\r\n get selectedIndex() : number {\r\n return this._selectedIndex;\r\n }\r\n\r\n set selectedIndex(index : number) {\r\n this._selectedIndex = index;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MaintenanceCheck } from './maintenance.model';\r\n\r\n@Injectable()\r\nexport class MaintenanceCheckService {\r\n\r\n private _maintenanceCheck: MaintenanceCheck;\r\n private _selectedMaintenanceCheck: number = -1;\r\n\r\n constructor() { }\r\n\r\n get maintenanceCheck() : MaintenanceCheck{\r\n return this._maintenanceCheck;\r\n }\r\n\r\n set maintenanceCheck(maintenanceCheck : MaintenanceCheck) {\r\n this._maintenanceCheck = maintenanceCheck;\r\n }\r\n\r\n get selectedMaintenanceCheck(): number {\r\n return this._selectedMaintenanceCheck;\r\n }\r\n\r\n set selectedMaintenanceCheck(value: number) {\r\n this._selectedMaintenanceCheck = value;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestAgendaService } from 'src/app/service/rest/agenda/rest-agenda.service';\r\nimport { RestMaintenanceService } from 'src/app/service/rest/maintenance/rest-maintenance.service';\r\nimport { EventAcademy } from '../event/event.model';\r\nimport { Maintenance, MaintenanceReminder, MaintenanceReminderUser } from '../maintenance/maintenance.model';\r\nimport { News } from '../news/news.model';\r\nimport { UserService } from '../user/user.service';\r\nimport { AgendaCardType } from '../utils.model';\r\nimport * as moment from 'moment';\r\nimport { PageService } from 'src/app/service/utils/page.service';\r\nimport { TranslateFirebaseService } from 'src/app/service/utils/translate-firebase.service';\r\nimport { PageDialogService } from 'src/app/service/utils/page-dialog.service';\r\nimport { CalendarService } from 'src/app/service/utils/calendar.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class AgendaRepositoryService {\r\n\r\n private _userNews: News[] = [];\r\n private _userAgenda: any[] = [];\r\n private _userNotificationCount: number = -1;\r\n\r\n constructor(private agendaRestService: RestAgendaService,\r\n private calendarService : CalendarService,\r\n private translate: TranslateFirebaseService,\r\n private pageDialogService : PageDialogService,\r\n private pageService: PageService,\r\n private userService : UserService) { }\r\n\r\n public get userNews(): News[] {\r\n let savedUserNews: any[];\r\n if (!this._userNews) {\r\n savedUserNews = JSON.parse(sessionStorage.getItem(environment.storage.news));\r\n return savedUserNews;\r\n } else return this._userNews;\r\n }\r\n public set userNews(value: News[]) {\r\n sessionStorage.setItem(environment.storage.news, JSON.stringify(value));\r\n this._userNews = value;\r\n }\r\n\r\n public get userAgenda(): any[] {\r\n let savedUserAgenda: any[];\r\n if (!this._userAgenda) {\r\n savedUserAgenda = JSON.parse(sessionStorage.getItem(environment.storage.agenda));\r\n return savedUserAgenda;\r\n } else return this._userAgenda;\r\n }\r\n\r\n public set userAgenda(value: any[]) {\r\n sessionStorage.setItem(environment.storage.agenda, JSON.stringify(value));\r\n this._userAgenda = value;\r\n }\r\n\r\n public get userNotificationCount(): number {\r\n return this._userNotificationCount;\r\n }\r\n public set userNotificationCount(value: number) {\r\n this._userNotificationCount = value;\r\n }\r\n\r\n getAllAgendaByUser() {\r\n this.agendaRestService.getAgendaElementsByUser(this.userService.eliotUser.language)\r\n .subscribe(result => {\r\n this.userAgenda = [];\r\n this.userNews = [];\r\n if(result) result.forEach((elem: News | EventAcademy | MaintenanceReminderUser | MaintenanceReminder) => {\r\n let elemType = elem.type;\r\n if (elem.expireAt) elem.expireAt = new Date(elem.expireAt?.toString());\r\n switch (elemType) {\r\n case AgendaCardType.NEWS:\r\n this.userNews.push(elem);\r\n break;\r\n case AgendaCardType.ACADEMY:\r\n this.userAgenda.push(elem);\r\n break;\r\n case AgendaCardType.EVENT:\r\n this.userAgenda.push(elem);\r\n break;\r\n case AgendaCardType.MAINTENANCE_USER:\r\n this.userAgenda.push(elem);\r\n break;\r\n case AgendaCardType.MAINTENANCE:\r\n this.userAgenda.push(elem);\r\n break;\r\n }\r\n\r\n })\r\n\r\n this.getCalendarDatesByMonthAndYear(Number(moment().format('MM')), Number(moment().format('YYYY')));\r\n this.calendarService.buildRows();\r\n });\r\n }\r\n\r\n getAgendaElementsByDate(date: Date): EventAcademy[] | MaintenanceReminderUser[] | MaintenanceReminder[] {\r\n return this.userAgenda\r\n .filter((element: EventAcademy | MaintenanceReminderUser | MaintenanceReminder) => date == undefined || element.expireAt.setHours(0,0,0,0) == date.setHours(0,0,0,0));\r\n }\r\n\r\n getAgendaDates() {\r\n return this.userAgenda\r\n .map((element: EventAcademy | MaintenanceReminderUser | MaintenanceReminder) => element.expireAt)\r\n .filter((ele, index, array) => array.findIndex(i => i.setHours(0,0,0,0) === ele?.setHours(0,0,0,0)) == index)\r\n .sort((a, b) => (a > b ? 1 : -1));\r\n }\r\n\r\n getAgendaElementById(elementId : number) {\r\n return this.agendaRestService.getAgendaElementById(elementId);\r\n }\r\n\r\n getUserReminderById(elementId : number) {\r\n return this.agendaRestService.getUserReminderById(elementId);\r\n }\r\n\r\n getMaintenanceReminderById(elementId : number) {\r\n return this.agendaRestService.getMaintenanceReminderById(elementId);\r\n }\r\n\r\n getUserNotificationCount() {\r\n this.agendaRestService.getNotificationCount(this.userService.eliotUser.language)\r\n .subscribe((result: number) => {\r\n if (result) this.userNotificationCount = result;\r\n });\r\n }\r\n\r\n hideElement(elementId : number) {\r\n this.agendaRestService.hideAgendaElement(elementId)\r\n .subscribe((result) => {\r\n const indexToDelete = this.userAgenda.findIndex(elem => elem.id === elementId);\r\n if (indexToDelete > -1) this.userAgenda.splice(indexToDelete, 1);\r\n this.pageService.openSnackBar(this.parseByType(this.translate.getTranslation('general_delete_success')), 'Ok');\r\n }, error => {\r\n this.pageService.openErrorSnackBar(this.parseByType(this.translate.getTranslation('general_delete_failed')), 'Ok');\r\n })\r\n }\r\n\r\n hideNews(elementId : number) {\r\n this.agendaRestService.hideAgendaElement(elementId)\r\n .subscribe((result) => {\r\n const indexToDelete = this.userNews.findIndex(news => news.id === elementId);\r\n if(indexToDelete> -1)this.userNews.splice(indexToDelete, 1);\r\n this.pageService.openSnackBar(this.translate.getTranslation('general_delete_success').replace('{0}', this.translate.getTranslation('agenda_news')), 'Ok')\r\n }, error => {\r\n this.pageService.openErrorSnackBar(this.translate.getTranslation('general_delete_failed').replace('{0}', this.translate.getTranslation('agenda_news')), 'Ok')\r\n })\r\n }\r\n\r\n getCalendarDatesByMonthAndYear(month: number, year: number) {\r\n this.calendarService.eventDays = [];\r\n this.userAgenda.forEach((element: EventAcademy | MaintenanceReminderUser | MaintenanceReminder) => {\r\n let date: Date = new Date(element.expireAt);\r\n if (date.getUTCMonth() + 1 == month\r\n && date.getUTCFullYear() == year) this.calendarService.eventDays.push({ day : date.getDate(), month : date.getUTCMonth() + 1 })\r\n })\r\n }\r\n\r\n parseByType(trad: string): string {\r\n switch (this.pageDialogService.agendaType) {\r\n case AgendaCardType.EVENT:\r\n trad = trad.replace('{0}', this.translate.getTranslation('event_title'));\r\n break;\r\n case AgendaCardType.ACADEMY:\r\n trad = trad.replace('{0}', this.translate.getTranslation('academy_title'));\r\n }\r\n\r\n return trad;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestUtilsService } from 'src/app/service/rest/utils/rest-utils.service';\r\nimport { DeviceRepositoryService } from '../device/device-repository.service';\r\nimport { Device, SearchDevice } from '../device/device.model';\r\nimport { PlantRepositoryService } from '../plant/plant-repository.service';\r\nimport { Plant, SearchPlant } from '../plant/plant.model';\r\nimport { SearchCatalog } from '../utils.model';\r\n\r\n@Injectable()\r\nexport class SearchCatalogService {\r\n\r\n private _searchCatalog : SearchCatalog;\r\n\r\n constructor(private utilsRest : RestUtilsService,\r\n private plantRepository : PlantRepositoryService,\r\n private deviceRepository : DeviceRepositoryService) {\r\n\r\n this.buildCatalog();\r\n }\r\n\r\n get searchCatalog() : SearchCatalog {\r\n return this._searchCatalog;\r\n }\r\n\r\n set searchCatalog(catalog : SearchCatalog) {\r\n this._searchCatalog = catalog;\r\n }\r\n\r\n buildCatalog() {\r\n let catalog = new SearchCatalog([],[]);\r\n\r\n this.plantRepository.plants.forEach((plant : Plant) => {\r\n let searchPlant : SearchPlant = new SearchPlant(plant.name, plant.id);\r\n catalog.plants.push(searchPlant);\r\n });\r\n\r\n this.deviceRepository.userDevices.forEach((device : Device) => {\r\n let searchDevice : SearchDevice = new SearchDevice(device.id, device.serialNumber, device.name, device.tags);\r\n catalog.devices.push(searchDevice);\r\n });\r\n\r\n this.searchCatalog = catalog;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Observable } from 'rxjs';\r\nimport { RestAgendaService } from 'src/app/service/rest/agenda/rest-agenda.service';\r\nimport { AgendaCardType } from '../utils.model';\r\nimport { News } from './news.model';\r\n\r\n@Injectable()\r\nexport class NewsRepositoryService {\r\n\r\n private _news: News[] = [];\r\n private _dataSourceNews: MatTableDataSource;\r\n\r\n constructor(private restAgenda : RestAgendaService) { }\r\n\r\n public get news(): News[] {\r\n return this._news;\r\n }\r\n public set news(value: News[]) {\r\n this._news = value;\r\n }\r\n\r\n public get filteredNews(): News[] {\r\n return this._news.filter((news: News) => new Date(news.expireAt).getTime() > new Date().getTime());\r\n }\r\n\r\n public get dataSourceNews(): MatTableDataSource {\r\n return this._dataSourceNews;\r\n }\r\n public set dataSourceNews(value: MatTableDataSource) {\r\n this._dataSourceNews = value;\r\n }\r\n\r\n loadNews() : Observable {\r\n return this.restAgenda.getAgendaElementsByType(AgendaCardType.NEWS);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestDeviceService } from 'src/app/service/rest/device/rest-device.service';\r\nimport { DeviceHistory } from './device.model';\r\n\r\n@Injectable()\r\nexport class DeviceHistoryRepositoryService {\r\n\r\n private _deviceHistory: DeviceHistory[] = [];\r\n\r\n constructor(private restDevice : RestDeviceService) { }\r\n\r\n public get deviceHistory(): DeviceHistory[] {\r\n return this._deviceHistory;\r\n }\r\n public set deviceHistory(value: DeviceHistory[]) {\r\n this._deviceHistory = value;\r\n }\r\n\r\n loadDeviceHistory(id: string) {\r\n this.restDevice.getDeviceHistoryByDeviceId(id)\r\n .subscribe((result: DeviceHistory[]) => {\r\n if (result) {\r\n result.forEach((deviceHistory, index) => {\r\n if (deviceHistory.eventDate) deviceHistory.eventDate = new Date(deviceHistory.eventDate?.toString());\r\n });\r\n }\r\n this.deviceHistory = result;\r\n })\r\n }\r\n\r\n getHistoryDates() {\r\n return this.deviceHistory\r\n .map(history => history.eventDate)\r\n .filter((ele, index, array) => array.findIndex(i => i.setHours(0,0,0,0) === ele.setHours(0,0,0,0)) == index)\r\n .sort((a, b) => (a > b ? -1 : 1));\r\n }\r\n\r\n getHistoriesByDate(date: Date): DeviceHistory[] {\r\n return this.deviceHistory.filter(history => date == undefined || history.eventDate.setHours(0,0,0,0) == date.setHours(0,0,0,0));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestUtilsService } from 'src/app/service/rest/utils/rest-utils.service';\r\nimport { TranslateFirebaseService } from 'src/app/service/utils/translate-firebase.service';\r\nimport { Country } from './country.model';\r\n\r\n@Injectable()\r\nexport class CountryRepositoryService {\r\n\r\n private _countries: Country[] = [];\r\n\r\n countriesLoaded: boolean = false;\r\n\r\n constructor(private utilsRest: RestUtilsService,\r\n private translate : TranslateFirebaseService) {\r\n this.loadCountries();\r\n }\r\n\r\n get countries() : Country[]{\r\n return this._countries;\r\n }\r\n\r\n set countries(countries : Country[]){\r\n this._countries = countries;\r\n }\r\n\r\n private loadCountries() {\r\n if(!this.countriesLoaded){\r\n this.countries = JSON.parse(this.translate.getTranslation('enum_countries'));\r\n /* this.utilsRest.getCountries()\r\n .subscribe(result => {\r\n this.countries = result;\r\n }, error => {\r\n console.log(error.status);\r\n }); */\r\n }\r\n\r\n this.countriesLoaded = true;\r\n }\r\n\r\n getTimezone(countryCode : string) : string {\r\n return this.countries.find(country => countryCode == country.alpha2Code.toLowerCase()).timezones[0];\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { EventAcademy } from 'src/app/models/event/event.model';\r\nimport { MaintenanceReminder, MaintenanceReminderUser } from 'src/app/models/maintenance/maintenance.model';\r\nimport { News } from 'src/app/models/news/news.model';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { BaseApiService } from '../../base-api.service';\r\nimport { TranslateFirebaseService } from '../../utils/translate-firebase.service';\r\n\r\n@Injectable()\r\nexport class RestAgendaService extends BaseApiService {\r\n\r\n constructor(httpClient: HttpClient,\r\n translate : TranslateFirebaseService,\r\n private authService : AuthService) {\r\n super(httpClient, translate);\r\n }\r\n\r\n createAgendaElement(element: FormData | News | EventAcademy): Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + \"Agenda\", element, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n createMaintenanceReminderUser(element: MaintenanceReminderUser): Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + \"Agenda/reminder\", element, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n updateAgendaElement(element: FormData | News | EventAcademy): Observable {\r\n return this.httpClient.put(super.getUpsApiHost() + \"Agenda\", element, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n updateMaintenanceReminderUser(element: MaintenanceReminderUser): Observable {\r\n return this.httpClient.put(super.getUpsApiHost() + \"Agenda/reminder\", element, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n deleteAgendaElement(id: number): Observable {\r\n return this.httpClient.delete(super.getUpsApiHost() + \"Agenda/\" + id, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n deleteMaintenanceReminderUser(id: number): Observable {\r\n return this.httpClient.delete(super.getUpsApiHost() + \"Agenda/reminder/\" + id, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n hideAgendaElement(id: number): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"Agenda/hide/\" + id, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n //***********GET APIs\r\n\r\n getAgendaElementsByType(cardType: number): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"Agenda/all/\" + cardType, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n getAgendaElementsByUser(languageId: string): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + 'Agenda/user/' + languageId, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n getNotificationCount(languageId: string) : Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"Agenda/usernotificationcount/\" + languageId, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n getAgendaElementById(id: number) : Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"Agenda/\" + id, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n getUserReminderById(id: number) : Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"Agenda/reminder/\" + id, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n getMaintenanceReminderById(id: number) : Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"Maintenance/\" + id, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n getUserCountNotification(languageId : string): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + 'Agenda​/usernotificationcount​/' + languageId, { headers: this.authService.upsHttpHeaders });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ProductFamily } from './product-family.model';\r\nimport { RestProductFamiliesService } from 'src/app/service/rest/product-families/rest-product-families.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class ProductFamilyService {\r\n \r\n private _productFamily: ProductFamily;\r\n \r\n constructor(private restProductFamilyService: RestProductFamiliesService) { }\r\n \r\n public get productFamily(): ProductFamily {\r\n return this._productFamily;\r\n }\r\n public set productFamily(value: ProductFamily) {\r\n this._productFamily = value;\r\n }\r\n \r\n deleteProductFamily(): Observable {\r\n return this.restProductFamilyService.deleteProductFamily(this.productFamily.id);\r\n }\r\n\r\n updateProductFamily(): Observable {\r\n return this.restProductFamilyService.updateProductFamily(this.productFamily);\r\n }\r\n\r\n createProductFamily(): Observable {\r\n return this.restProductFamilyService.createProductFamily(this.productFamily);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Observable } from 'rxjs';\r\nimport { RestProcedureService } from 'src/app/service/rest/procedure/rest-procedure.service';\r\nimport { LanguageRepositoryService } from '../language/language-repository.service';\r\nimport { Marker, Procedure, ProcedureOrder, Step } from './procedure.model';\r\nimport { ProcedureService } from './procedure.service';\r\n\r\n@Injectable()\r\nexport class ProcedureRepositoryService {\r\n\r\n\r\n\r\n private _procedures: Procedure[] = [];\r\n\r\n proceduresLoaded: boolean = false;\r\n private _dataSourceProcedures = new MatTableDataSource();\r\n\r\n\r\n constructor(private procedureRest: RestProcedureService,\r\n private procedureService : ProcedureService) { }\r\n\r\n get procedures() : Procedure[] {\r\n return this._procedures;\r\n }\r\n\r\n set procedures(data : Procedure[]) {\r\n this._procedures = data;\r\n }\r\n\r\n public get dataSourceProcedures() {\r\n return this._dataSourceProcedures;\r\n }\r\n\r\n public set dataSourceProcedures(value) {\r\n this._dataSourceProcedures = value;\r\n }\r\n\r\n public getProcedures(articleId: number, languageId: string) : Observable {\r\n return this.procedureRest.getProceduresByArticleIdAndLanguageId(articleId, languageId);\r\n }\r\n\r\n orderProcedures(orderArray: ProcedureOrder[]) {\r\n this.procedureRest.orderProcedures(orderArray).subscribe(result => { }, error => { console.log(error);});\r\n }\r\n\r\n getProceduresByArticleId(articleId: number) : Observable {\r\n return this.procedureRest.getProceduresByArticleIdAndLanguageId(articleId, 'en');\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class PageBackofficeService {\r\n\r\n private _addSerial : boolean = false;\r\n private _editSerial: boolean = false;\r\n private _deleteSerial: boolean = false;\r\n private _addProcedure : boolean = false;\r\n private _editProcedure: boolean = false;\r\n private _cloneProcedure: boolean = false;\r\n\r\n private _deleteProcedure: boolean = false;\r\n private _addStep : boolean = false;\r\n private _editStep: boolean = false;\r\n private _deleteStep: boolean = false;\r\n\r\n private _addArticleCode: boolean = false;\r\n private _editArticleCode: boolean = false;\r\n private _deleteArticleCode: boolean = false;\r\n\r\n private _addDocument: boolean = false;\r\n private _editDocument: boolean = false;\r\n private _deleteDocument: boolean = false;\r\n\r\n private _addNews: boolean = false;\r\n private _editNews: boolean = false;\r\n private _deleteNews: boolean = false;\r\n\r\n private _addEvent: boolean = false;\r\n private _editEvent: boolean = false;\r\n private _deleteEvent: boolean = false;\r\n\r\n private _addAcademy: boolean = false;\r\n private _editAcademy: boolean = false;\r\n private _deleteAcademy: boolean = false;\r\n\r\n private _deleteMedia: boolean = false;\r\n\r\n\r\n private _addMaintenance: boolean = false;\r\n private _editMaintenance: boolean = false;\r\n private _cloneMaintenance: boolean = false;\r\n private _deleteMaintenance: boolean = false;\r\n\r\n private _addMaintenanceCheck: boolean = false;\r\n private _editMaintenanceCheck: boolean = false;\r\n private _deleteMaintenanceCheck: boolean = false;\r\n\r\n private _addProductFamily: boolean = false;\r\n private _editProductFamily: boolean = false;\r\n private _deleteProductFamily: boolean = false;\r\n \r\n private _addSerialNumberButton: boolean = false;\r\n private _addButton: boolean = false;\r\n private _importSerialNumberButton: boolean = false;\r\n \r\n constructor() { }\r\n\r\n get addSerial() {\r\n return this._addSerial;\r\n }\r\n\r\n set addSerial(value : boolean) {\r\n this._addSerial = value;\r\n }\r\n\r\n get editSerial() {\r\n return this._editSerial;\r\n }\r\n\r\n set editSerial(value : boolean) {\r\n this._editSerial = value;\r\n }\r\n\r\n public get deleteSerial(): boolean {\r\n return this._deleteSerial;\r\n }\r\n public set deleteSerial(value: boolean) {\r\n this._deleteSerial = value;\r\n }\r\n\r\n get addProcedure() {\r\n return this._addProcedure;\r\n }\r\n\r\n set addProcedure(value : boolean) {\r\n this._addProcedure = value;\r\n }\r\n\r\n get editProcedure() {\r\n return this._editProcedure;\r\n }\r\n\r\n set editProcedure(value : boolean) {\r\n this._editProcedure = value;\r\n }\r\n\r\n get cloneProcedure() {\r\n return this._cloneProcedure;\r\n }\r\n\r\n set cloneProcedure(value : boolean) {\r\n this._cloneProcedure = value;\r\n }\r\n\r\n public get deleteProcedure(): boolean {\r\n return this._deleteProcedure;\r\n }\r\n public set deleteProcedure(value: boolean) {\r\n this._deleteProcedure = value;\r\n }\r\n\r\n get addStep() {\r\n return this._addStep;\r\n }\r\n\r\n set addStep(value : boolean) {\r\n this._addStep = value;\r\n }\r\n\r\n get editStep() {\r\n return this._editStep;\r\n }\r\n\r\n set editStep(value : boolean) {\r\n this._editStep = value;\r\n }\r\n\r\n public get deleteStep(): boolean {\r\n return this._deleteStep;\r\n }\r\n public set deleteStep(value: boolean) {\r\n this._deleteStep = value;\r\n }\r\n\r\n public get deleteArticleCode(): boolean {\r\n return this._deleteArticleCode;\r\n }\r\n public set deleteArticleCode(value: boolean) {\r\n this._deleteArticleCode = value;\r\n }\r\n\r\n public get deleteDocument(): boolean {\r\n return this._deleteDocument;\r\n }\r\n public set deleteDocument(value: boolean) {\r\n this._deleteDocument = value;\r\n }\r\n\r\n public get deleteNews(): boolean {\r\n return this._deleteNews;\r\n }\r\n public set deleteNews(value: boolean) {\r\n this._deleteNews = value;\r\n }\r\n\r\n public get deleteMaintenance(): boolean {\r\n return this._deleteMaintenance;\r\n }\r\n public set deleteMaintenance(value: boolean) {\r\n this._deleteMaintenance = value;\r\n }\r\n\r\n public get deleteMaintenanceCheck(): boolean {\r\n return this._deleteMaintenanceCheck;\r\n }\r\n public set deleteMaintenanceCheck(value: boolean) {\r\n this._deleteMaintenanceCheck = value;\r\n }\r\n\r\n public get addArticleCode(): boolean {\r\n return this._addArticleCode;\r\n }\r\n public set addArticleCode(value: boolean) {\r\n this._addArticleCode = value;\r\n }\r\n\r\n public get editArticleCode(): boolean {\r\n return this._editArticleCode;\r\n }\r\n public set editArticleCode(value: boolean) {\r\n this._editArticleCode = value;\r\n }\r\n\r\n public get addDocument(): boolean {\r\n return this._addDocument;\r\n }\r\n public set addDocument(value: boolean) {\r\n this._addDocument = value;\r\n }\r\n\r\n public get editDocument(): boolean {\r\n return this._editDocument;\r\n }\r\n public set editDocument(value: boolean) {\r\n this._editDocument = value;\r\n }\r\n\r\n public get addNews(): boolean {\r\n return this._addNews;\r\n }\r\n public set addNews(value: boolean) {\r\n this._addNews = value;\r\n }\r\n\r\n public get editNews(): boolean {\r\n return this._editNews;\r\n }\r\n public set editNews(value: boolean) {\r\n this._editNews = value;\r\n }\r\n\r\n public get addEvent(): boolean {\r\n return this._addEvent;\r\n }\r\n public set addEvent(value: boolean) {\r\n this._addEvent = value;\r\n }\r\n\r\n public get editEvent(): boolean {\r\n return this._editEvent;\r\n }\r\n public set editEvent(value: boolean) {\r\n this._editEvent = value;\r\n }\r\n\r\n public get addAcademy(): boolean {\r\n return this._addAcademy;\r\n }\r\n public set addAcademy(value: boolean) {\r\n this._addAcademy = value;\r\n }\r\n\r\n public get editAcademy(): boolean {\r\n return this._editAcademy;\r\n }\r\n public set editAcademy(value: boolean) {\r\n this._editAcademy = value;\r\n }\r\n\r\n public get deleteAcademy(): boolean {\r\n return this._deleteAcademy;\r\n }\r\n public set deleteAcademy(value: boolean) {\r\n this._deleteAcademy = value;\r\n }\r\n public get deleteEvent(): boolean {\r\n return this._deleteEvent;\r\n }\r\n public set deleteEvent(value: boolean) {\r\n this._deleteEvent = value;\r\n }\r\n public get addMaintenance(): boolean {\r\n return this._addMaintenance;\r\n }\r\n public set addMaintenance(value: boolean) {\r\n this._addMaintenance = value;\r\n }\r\n\r\n public get editMaintenance(): boolean {\r\n return this._editMaintenance;\r\n }\r\n public set editMaintenance(value: boolean) {\r\n this._editMaintenance = value;\r\n }\r\n\r\n public get cloneMaintenance(): boolean {\r\n return this._cloneMaintenance;\r\n }\r\n public set cloneMaintenance(value: boolean) {\r\n this._cloneMaintenance = value;\r\n }\r\n\r\n public get addMaintenanceCheck(): boolean {\r\n return this._addMaintenanceCheck;\r\n }\r\n public set addMaintenanceCheck(value: boolean) {\r\n this._addMaintenanceCheck = value;\r\n }\r\n\r\n public get editMaintenanceCheck(): boolean {\r\n return this._editMaintenanceCheck;\r\n }\r\n public set editMaintenanceCheck(value: boolean) {\r\n this._editMaintenanceCheck = value;\r\n }\r\n\r\n public get deleteMedia(): boolean {\r\n return this._deleteMedia;\r\n }\r\n public set deleteMedia(value: boolean) {\r\n this._deleteMedia = value;\r\n }\r\n\r\n public get addProductFamily(): boolean {\r\n return this._addProductFamily;\r\n }\r\n public set addProductFamily(value: boolean) {\r\n this._addProductFamily = value;\r\n }\r\n\r\n public get editProductFamily(): boolean {\r\n return this._editProductFamily;\r\n }\r\n public set editProductFamily(value: boolean) {\r\n this._editProductFamily = value;\r\n }\r\n\r\n public get deleteProductFamily(): boolean {\r\n return this._deleteProductFamily;\r\n }\r\n public set deleteProductFamily(value: boolean) {\r\n this._deleteProductFamily = value;\r\n }\r\n\r\n public get addSerialNumberButton(): boolean {\r\n return this._addSerialNumberButton;\r\n }\r\n public set addSerialNumberButton(value: boolean) {\r\n this._addSerialNumberButton = value;\r\n }\r\n\r\n public get addButton(): boolean {\r\n return this._addButton;\r\n }\r\n public set addButton(value: boolean) {\r\n this._addButton = value;\r\n }\r\n\r\n public get importSerialNumberButton(): boolean {\r\n return this._importSerialNumberButton;\r\n }\r\n public set importSerialNumberButton(value: boolean) {\r\n this._importSerialNumberButton = value;\r\n }\r\n\r\n reset() {\r\n this.addSerial = false;\r\n this.editSerial = false;\r\n this.deleteSerial = false;\r\n\r\n this.addProcedure = false;\r\n this.editProcedure = false;\r\n this.cloneProcedure = false;\r\n this.deleteProcedure = false;\r\n\r\n this.addStep = false;\r\n this.editStep = false;\r\n this.deleteStep = false;\r\n\r\n this.addArticleCode = false;\r\n this.editArticleCode = false;\r\n this.deleteArticleCode = false;\r\n\r\n this.addDocument = false;\r\n this.editDocument = false;\r\n this.deleteDocument = false;\r\n\r\n this.addNews = false;\r\n this.editNews = false;\r\n this.deleteNews = false;\r\n\r\n this.addEvent = false;\r\n this.editEvent = false;\r\n this.deleteEvent = false;\r\n\r\n this.addAcademy = false;\r\n this.editAcademy = false;\r\n this.deleteAcademy = false;\r\n\r\n this.addMaintenance = false;\r\n this.editMaintenance = false;\r\n this.cloneMaintenance = false;\r\n this.deleteMaintenance = false;\r\n\r\n this.addMaintenanceCheck = false;\r\n this.editMaintenanceCheck = false;\r\n this.deleteMaintenanceCheck = false;\r\n\r\n this.deleteMedia = false;\r\n\r\n this.addProductFamily = false;\r\n this.editProductFamily = false;\r\n this.deleteProductFamily = false;\r\n\r\n this.addButton = false;\r\n this.addSerialNumberButton = false;\r\n this.importSerialNumberButton = false;\r\n }\r\n}\r\n\r\n","import { typeWithParameters } from '@angular/compiler/src/render3/util';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { RestDeviceDocumentationService } from 'src/app/service/rest/device-documentation/rest-device-documentation.service';\r\nimport { PageService } from 'src/app/service/utils/page.service';\r\nimport { TranslateFirebaseService } from 'src/app/service/utils/translate-firebase.service';\r\nimport {\r\n CustomContentType,\r\n Document,\r\n DocumentStatus,\r\n ImageMedia,\r\n ImageMediaPost,\r\n VideoLinks,\r\n VideoMedia,\r\n VideoMediaPost,\r\n} from './device-documentation.model';\r\n\r\n@Injectable()\r\nexport class DeviceDocumentationRepositoryService {\r\n private _articleDocuments: Document[];\r\n private _serialNumberDocuments: Document[];\r\n private _imageMedia: ImageMedia[] = [];\r\n private _videoMedia: VideoMedia[] = [];\r\n private _imgSrcs: string[] = [];\r\n private _videoSrcs: VideoLinks[] = [];\r\n private _dataSourceDocuments: MatTableDataSource;\r\n\r\n private refreshMedia = new Subject();\r\n refreshMedia$ = this.refreshMedia.asObservable();\r\n\r\n constructor(\r\n private documentationRest: RestDeviceDocumentationService,\r\n private pageService: PageService,\r\n private translate: TranslateFirebaseService\r\n ) {}\r\n\r\n public get articleDocuments(): Document[] {\r\n return this._articleDocuments;\r\n }\r\n public set articleDocuments(value: Document[]) {\r\n this._articleDocuments = value;\r\n }\r\n\r\n public get videoMedia(): VideoMedia[] {\r\n return this._videoMedia;\r\n }\r\n public set videoMedia(value: VideoMedia[]) {\r\n this._videoMedia = value;\r\n }\r\n\r\n public get imageMedia(): ImageMedia[] {\r\n return this._imageMedia;\r\n }\r\n public set imageMedia(value: ImageMedia[]) {\r\n this._imageMedia = value;\r\n }\r\n\r\n public get dataSourceDocuments(): MatTableDataSource {\r\n return this._dataSourceDocuments;\r\n }\r\n public set dataSourceDocuments(value: MatTableDataSource) {\r\n this._dataSourceDocuments = value;\r\n }\r\n\r\n public get imgSrcs(): string[] {\r\n return this._imgSrcs;\r\n }\r\n public set imgSrcs(value: string[]) {\r\n this._imgSrcs = value;\r\n }\r\n\r\n public get videoSrcs(): VideoLinks[] {\r\n return this._videoSrcs;\r\n }\r\n public set videoSrcs(value: VideoLinks[]) {\r\n this._videoSrcs = value;\r\n }\r\n\r\n public get serialNumberDocuments(): Document[] {\r\n return this._serialNumberDocuments;\r\n }\r\n public set serialNumberDocuments(value: Document[]) {\r\n this._serialNumberDocuments = value;\r\n }\r\n\r\n getDocumentsByArticle(articleId: number) {\r\n this.documentationRest.getDocumentsByArticleId(articleId).subscribe(\r\n (result: Document[]) => {\r\n this.articleDocuments = result;\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n getDocumentsBySerialNumber(serialNumberId: number) {\r\n this.documentationRest.getDocumentsBySerialNumber(serialNumberId).subscribe(\r\n (result: Document[]) => {\r\n this.serialNumberDocuments = result;\r\n },\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n getDocumentsByArticleAndLanguage(\r\n articleId: number,\r\n languageId: string\r\n ): Observable {\r\n return this.documentationRest.getAllDocumentsByArticleIdAndLanguageId(\r\n articleId,\r\n languageId\r\n );\r\n }\r\n\r\n getMediaByArticleId(articleId: number) {\r\n this.documentationRest\r\n .getMediaByArticleId(articleId)\r\n .subscribe((result: ImageMedia[] | VideoMedia[]) => {\r\n this.imageMedia = [];\r\n this.imgSrcs = [];\r\n this.videoMedia = [];\r\n this.videoSrcs = [];\r\n result.forEach((element: any) => {\r\n if (element.contentType.toString().startsWith('image/'))\r\n this.imageMedia.push(element);\r\n else if (element.contentType.toString().startsWith('video/'))\r\n this.videoMedia.push(element);\r\n this.imgSrcs = this.imageMedia.map((media) => media.storageUri);\r\n this.videoSrcs = this.videoMedia.map(\r\n (video) => new VideoLinks(video.externalLink, video.thumbnailLink)\r\n );\r\n });\r\n });\r\n }\r\n\r\n getMediaByArticleIdAndLanguageId(articleId: number,languageId:string = 'en') {\r\n this.documentationRest\r\n .getMediaByArticleIdandLanguageId(articleId,languageId)\r\n .subscribe((result: ImageMedia[] | VideoMedia[]) => {\r\n this.imageMedia = [];\r\n this.imgSrcs = [];\r\n this.videoMedia = [];\r\n this.videoSrcs = [];\r\n result.forEach((element: any) => {\r\n if (element.contentType.toString().startsWith('image/'))\r\n this.imageMedia.push(element);\r\n else if (element.contentType.toString().startsWith('video/'))\r\n this.videoMedia.push(element);\r\n this.imgSrcs = this.imageMedia.map((media) => media.storageUri);\r\n this.videoSrcs = this.videoMedia.map(\r\n (video) => new VideoLinks(video.externalLink, video.thumbnailLink)\r\n );\r\n });\r\n });\r\n }\r\n\r\n uploadNewVideoMediaExternal(media: VideoMediaPost) {\r\n this.documentationRest.uploadNewVideoMediaExternal(media).subscribe(\r\n (result: VideoMedia) => {\r\n this.videoMedia.push(result);\r\n this.videoSrcs.push(\r\n new VideoLinks(result.externalLink, result.thumbnailLink)\r\n );\r\n this.pageService.openSnackBar(\r\n this.translate.getTranslation('backoffice_general_add_success'),\r\n 'Ok'\r\n );\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.pageService.openErrorSnackBar(\r\n this.translate.getTranslation('backoffice_general_add_failed'),\r\n 'Ok'\r\n );\r\n }\r\n );\r\n }\r\n\r\n uploadNewVideoMedia(media: FormData) {\r\n this.documentationRest.uploadNewVideoMedia(media).subscribe(\r\n (result: VideoMedia) => {\r\n this.videoMedia.push(result);\r\n this.pageService.openSnackBar(\r\n this.translate.getTranslation('backoffice_general_add_success'),\r\n 'Ok'\r\n );\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.pageService.openErrorSnackBar(\r\n this.translate.getTranslation('backoffice_general_add_failed'),\r\n 'Ok'\r\n );\r\n }\r\n );\r\n }\r\n\r\n uploadNewImageMedia(media: FormData) {\r\n this.documentationRest.uploadNewImageMedia(media).subscribe(\r\n (result: ImageMedia) => {\r\n this.imageMedia.push(result);\r\n this.imgSrcs.push(result.storageUri);\r\n this.pageService.openSnackBar(\r\n this.translate.getTranslation('backoffice_general_add_success'),\r\n 'Ok'\r\n );\r\n this.refreshMedia.next();\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.pageService.openErrorSnackBar(\r\n this.translate.getTranslation('backoffice_general_add_failed'),\r\n 'Ok'\r\n );\r\n this.refreshMedia.next();\r\n }\r\n );\r\n }\r\n\r\n deleteImageMediaBySrc(src: string) {\r\n const mediaToDeleteId = this.imageMedia.find(\r\n (media) => media.storageUri == src\r\n ).id;\r\n this.documentationRest.deleteMedia(mediaToDeleteId).subscribe(\r\n (result: any) => {\r\n const index = this.imageMedia.findIndex(\r\n (media) => media.id === mediaToDeleteId\r\n );\r\n this.imageMedia.splice(index, 1);\r\n const srcIndex = this.imgSrcs.findIndex((media) => media === src);\r\n this.imgSrcs.splice(srcIndex, 1);\r\n this.pageService.openSnackBar(\r\n this.translate.getTranslation('backoffice_general_delete_success'),\r\n 'Ok'\r\n );\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.pageService.openErrorSnackBar(\r\n this.translate.getTranslation('backoffice_general_delete_failed'),\r\n 'Ok'\r\n );\r\n }\r\n );\r\n }\r\n\r\n deleteVideoMediaBySrc(src: string) {\r\n const mediaToDeleteId = this.videoMedia.find(\r\n (media) => {\r\n if (media.externalLink) {\r\n return media.externalLink == src;\r\n }\r\n return media.storageUri == src;\r\n }\r\n ).id;\r\n this.documentationRest.deleteMedia(mediaToDeleteId).subscribe(\r\n (result: any) => {\r\n const index = this.videoMedia.findIndex(\r\n (media) => media.id === mediaToDeleteId\r\n );\r\n this.videoMedia.splice(index, 1);\r\n const srcIndex = this.videoSrcs.findIndex(\r\n (media) => media.externalLink === src\r\n );\r\n this.videoSrcs.splice(srcIndex, 1);\r\n this.pageService.openSnackBar(\r\n this.translate.getTranslation('backoffice_general_delete_success'),\r\n 'Ok'\r\n );\r\n },\r\n (error) => {\r\n console.log(error);\r\n this.pageService.openErrorSnackBar(\r\n this.translate.getTranslation('backoffice_general_delete_failed'),\r\n 'Ok'\r\n );\r\n }\r\n );\r\n }\r\n\r\n updateDocOrder(articleCode: number, orderArray: Document[]) {\r\n this.documentationRest\r\n .updateDocumentOrder(articleCode, orderArray)\r\n .subscribe(\r\n (result) => {},\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n\r\n updateMediaOrder(articleCode: number, orderArray: any[]) {\r\n this.documentationRest.updateMediaOrder(articleCode, orderArray).subscribe(\r\n (result) => {},\r\n (error) => {\r\n console.log(error);\r\n }\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { RestUserService } from 'src/app/service/rest/user/rest-user.service';\r\nimport { RestUtilsService } from 'src/app/service/rest/utils/rest-utils.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BackofficeRoles } from '../roles.model';\r\nimport { UpsSasToken } from '../utils.model';\r\nimport {\r\n EliotUser,\r\n UpsUser,\r\n UserConsent,\r\n UserConsentStatus,\r\n} from './user.model';\r\n\r\n@Injectable()\r\nexport class UserService {\r\n private _eliotUserLoaded: boolean = false;\r\n private _upsUserLoaded: boolean = false;\r\n private _eliotUser: EliotUser = new EliotUser();\r\n private _upsUser: UpsUser;\r\n private _touDocs: UserConsentStatus[] = [];\r\n private _sasToken: string;\r\n private _dateFormat: string;\r\n private _backendVersion: string;\r\n\r\n constructor(\r\n private restUser: RestUserService,\r\n private restUtils: RestUtilsService\r\n ) {\r\n const dataUpsUser = sessionStorage.getItem(environment.storage.upsUser);\r\n const dataEliotUser = sessionStorage.getItem(environment.storage.eliotUser);\r\n this.dateFormat = localStorage.getItem(\r\n environment.storage.settingsDateFormat\r\n );\r\n\r\n if (dataUpsUser != null) this.upsUser = JSON.parse(dataUpsUser);\r\n if (dataUpsUser == null)\r\n this.upsUser = new UpsUser(\r\n 1,\r\n 'oid1',\r\n 'upserviceweb@yopmail.com',\r\n 0,\r\n 0,\r\n 10,\r\n 10,\r\n 'UPservice',\r\n 'Web',\r\n 'UPservice'\r\n );\r\n\r\n if (dataEliotUser != null) this.eliotUser = JSON.parse(dataEliotUser);\r\n }\r\n\r\n get eliotUser(): EliotUser {\r\n return this._eliotUser;\r\n }\r\n\r\n set eliotUser(eliotUser: EliotUser) {\r\n this._eliotUser = eliotUser;\r\n sessionStorage.setItem(\r\n environment.storage.eliotUser,\r\n JSON.stringify(eliotUser)\r\n );\r\n }\r\n\r\n get upsUser(): UpsUser {\r\n return this._upsUser;\r\n }\r\n\r\n set upsUser(upsUser: UpsUser) {\r\n this._upsUser = upsUser;\r\n }\r\n\r\n public get sasToken(): string | undefined {\r\n let data: string;\r\n if (this._sasToken) return this._sasToken;\r\n else data = sessionStorage.getItem(environment.storage.sasToken);\r\n if (data != null) return data;\r\n else return undefined;\r\n }\r\n\r\n public set sasToken(value: string | undefined) {\r\n if (value) {\r\n sessionStorage.setItem(environment.storage.sasToken, value);\r\n this._sasToken = value;\r\n }\r\n }\r\n\r\n public get backendVersion(): string {\r\n return this._backendVersion;\r\n }\r\n public set backendVersion(value: string) {\r\n this._backendVersion = value;\r\n }\r\n\r\n get touLink() {\r\n return this._touDocs.find((doc) => doc.document == 'TermsOfUse').url;\r\n }\r\n\r\n get privacyLink() {\r\n return this._touDocs.find((doc) => doc.document == 'PrivacyPolicy').url;\r\n }\r\n\r\n public get touDocs(): UserConsentStatus[] {\r\n return this._touDocs;\r\n }\r\n public set touDocs(value: UserConsentStatus[]) {\r\n this._touDocs = value;\r\n }\r\n\r\n public get dateFormat(): string {\r\n return this._dateFormat;\r\n }\r\n public set dateFormat(value: string) {\r\n localStorage.setItem(environment.storage.settingsDateFormat, value);\r\n this._dateFormat = value;\r\n }\r\n\r\n loadUpsUser() {\r\n if (!this._upsUserLoaded) {\r\n console.log('LOAD UPS USER REST CALL');\r\n return this.restUser.getUser();\r\n }\r\n this._upsUserLoaded = true;\r\n }\r\n\r\n loadEliotUser() {\r\n if (!this._eliotUserLoaded) return this.restUser.getEliotUser();\r\n }\r\n\r\n loadUserConsent() {\r\n return this.restUser.getUserConsent();\r\n }\r\n\r\n public updateConditions(documentType: string) {\r\n /* let consent : UserConsent = new UserConsent();\r\n consent.marketingCampaigns = this.eliotUser.marketingCampaigns;\r\n consent.profiling = value; */\r\n return this.restUser.updateConditions(documentType);\r\n }\r\n\r\n public isBackofficeUser(): boolean {\r\n if (\r\n this.upsUser.backofficeRole == Number(BackofficeRoles.LEGRAND_ADMIN) ||\r\n this.upsUser.backofficeRole == Number(BackofficeRoles.LEGRAND_SERVICE)\r\n )\r\n return true;\r\n else return false;\r\n }\r\n\r\n public isPlantOwner(plantOwnerId: string): boolean {\r\n return this.upsUser.oid == plantOwnerId;\r\n }\r\n\r\n public updateUser(upsUser: UpsUser): Observable {\r\n return this.restUser.updateUser(upsUser);\r\n }\r\n\r\n public getPromotionalVideo(): Observable {\r\n return this.restUser.getPromotionalVideo();\r\n }\r\n\r\n public getBackendVersion() {\r\n this.restUser.getBackendVersion().subscribe((version: string) => {\r\n this.backendVersion = version;\r\n });\r\n }\r\n\r\n public getSasToken() {\r\n let queryString = '';\r\n\r\n if (this.isBackofficeUser())\r\n queryString = '?hasDocsResources=true&hasArFileResources=true';\r\n else queryString = '?hasDocsResources=true&hasArFileResources=false';\r\n\r\n this.restUtils.getSasToken(queryString).subscribe((result: UpsSasToken) => {\r\n this.sasToken = '?' + result.sas;\r\n });\r\n }\r\n\r\n getUserConsentStatus(): Observable {\r\n return this.restUser.getConsentStatus(this.eliotUser.language);\r\n }\r\n\r\n saveMaintenanceReminderDays(reminderDays: number) {\r\n this.restUser\r\n .saveMaintenanceReminderDays(reminderDays)\r\n .subscribe((result: UpsUser) => {\r\n this.upsUser = result;\r\n });\r\n }\r\n\r\n saveWarrantyReminderDays(reminderDays: number) {\r\n this.restUser\r\n .saveWarrantyReminderDays(reminderDays)\r\n .subscribe((result: UpsUser) => {\r\n this.upsUser = result;\r\n });\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class OrderByService {\r\n\r\n private _ascending : boolean = true;\r\n private _orderType : number = 0;\r\n private _orderFor : string = 'plant';\r\n\r\n constructor() { }\r\n\r\n get ascending() {\r\n return this._ascending;\r\n }\r\n set ascending(value: boolean) {\r\n this._ascending = value;\r\n }\r\n\r\n get orderType() {\r\n return this._orderType;\r\n }\r\n set orderType(value: number) {\r\n this._orderType = value;\r\n }\r\n\r\n get orderFor() : string {\r\n return this._orderFor;\r\n }\r\n\r\n set orderFor(value:string) {\r\n this._orderFor = value;\r\n }\r\n\r\n reset() {\r\n this.ascending = true;\r\n this.orderType = 0;\r\n this.orderFor = 'plant';\r\n }\r\n\r\n}\r\n","var map = {\n\t\"./af\": \"K/tc\",\n\t\"./af.js\": \"K/tc\",\n\t\"./ar\": \"jnO4\",\n\t\"./ar-dz\": \"o1bE\",\n\t\"./ar-dz.js\": \"o1bE\",\n\t\"./ar-kw\": \"Qj4J\",\n\t\"./ar-kw.js\": \"Qj4J\",\n\t\"./ar-ly\": \"HP3h\",\n\t\"./ar-ly.js\": \"HP3h\",\n\t\"./ar-ma\": \"CoRJ\",\n\t\"./ar-ma.js\": \"CoRJ\",\n\t\"./ar-sa\": \"gjCT\",\n\t\"./ar-sa.js\": \"gjCT\",\n\t\"./ar-tn\": \"bYM6\",\n\t\"./ar-tn.js\": \"bYM6\",\n\t\"./ar.js\": \"jnO4\",\n\t\"./az\": \"SFxW\",\n\t\"./az.js\": \"SFxW\",\n\t\"./be\": \"H8ED\",\n\t\"./be.js\": \"H8ED\",\n\t\"./bg\": \"hKrs\",\n\t\"./bg.js\": \"hKrs\",\n\t\"./bm\": \"p/rL\",\n\t\"./bm.js\": \"p/rL\",\n\t\"./bn\": \"kEOa\",\n\t\"./bn-bd\": \"loYQ\",\n\t\"./bn-bd.js\": \"loYQ\",\n\t\"./bn.js\": \"kEOa\",\n\t\"./bo\": \"0mo+\",\n\t\"./bo.js\": \"0mo+\",\n\t\"./br\": \"aIdf\",\n\t\"./br.js\": \"aIdf\",\n\t\"./bs\": \"JVSJ\",\n\t\"./bs.js\": \"JVSJ\",\n\t\"./ca\": \"1xZ4\",\n\t\"./ca.js\": \"1xZ4\",\n\t\"./cs\": \"PA2r\",\n\t\"./cs.js\": \"PA2r\",\n\t\"./cv\": \"A+xa\",\n\t\"./cv.js\": \"A+xa\",\n\t\"./cy\": \"l5ep\",\n\t\"./cy.js\": \"l5ep\",\n\t\"./da\": \"DxQv\",\n\t\"./da.js\": \"DxQv\",\n\t\"./de\": \"tGlX\",\n\t\"./de-at\": \"s+uk\",\n\t\"./de-at.js\": \"s+uk\",\n\t\"./de-ch\": \"u3GI\",\n\t\"./de-ch.js\": \"u3GI\",\n\t\"./de.js\": \"tGlX\",\n\t\"./dv\": \"WYrj\",\n\t\"./dv.js\": \"WYrj\",\n\t\"./el\": \"jUeY\",\n\t\"./el.js\": \"jUeY\",\n\t\"./en-au\": \"Dmvi\",\n\t\"./en-au.js\": \"Dmvi\",\n\t\"./en-ca\": \"OIYi\",\n\t\"./en-ca.js\": \"OIYi\",\n\t\"./en-gb\": \"Oaa7\",\n\t\"./en-gb.js\": \"Oaa7\",\n\t\"./en-ie\": \"4dOw\",\n\t\"./en-ie.js\": \"4dOw\",\n\t\"./en-il\": \"czMo\",\n\t\"./en-il.js\": \"czMo\",\n\t\"./en-in\": \"7C5Q\",\n\t\"./en-in.js\": \"7C5Q\",\n\t\"./en-nz\": \"b1Dy\",\n\t\"./en-nz.js\": \"b1Dy\",\n\t\"./en-sg\": \"t+mt\",\n\t\"./en-sg.js\": \"t+mt\",\n\t\"./eo\": \"Zduo\",\n\t\"./eo.js\": \"Zduo\",\n\t\"./es\": \"iYuL\",\n\t\"./es-do\": \"CjzT\",\n\t\"./es-do.js\": \"CjzT\",\n\t\"./es-mx\": \"tbfe\",\n\t\"./es-mx.js\": \"tbfe\",\n\t\"./es-us\": \"Vclq\",\n\t\"./es-us.js\": \"Vclq\",\n\t\"./es.js\": \"iYuL\",\n\t\"./et\": \"7BjC\",\n\t\"./et.js\": \"7BjC\",\n\t\"./eu\": \"D/JM\",\n\t\"./eu.js\": \"D/JM\",\n\t\"./fa\": \"jfSC\",\n\t\"./fa.js\": \"jfSC\",\n\t\"./fi\": \"gekB\",\n\t\"./fi.js\": \"gekB\",\n\t\"./fil\": \"1ppg\",\n\t\"./fil.js\": \"1ppg\",\n\t\"./fo\": \"ByF4\",\n\t\"./fo.js\": \"ByF4\",\n\t\"./fr\": \"nyYc\",\n\t\"./fr-ca\": \"2fjn\",\n\t\"./fr-ca.js\": \"2fjn\",\n\t\"./fr-ch\": \"Dkky\",\n\t\"./fr-ch.js\": \"Dkky\",\n\t\"./fr.js\": \"nyYc\",\n\t\"./fy\": \"cRix\",\n\t\"./fy.js\": \"cRix\",\n\t\"./ga\": \"USCx\",\n\t\"./ga.js\": \"USCx\",\n\t\"./gd\": \"9rRi\",\n\t\"./gd.js\": \"9rRi\",\n\t\"./gl\": \"iEDd\",\n\t\"./gl.js\": \"iEDd\",\n\t\"./gom-deva\": \"qvJo\",\n\t\"./gom-deva.js\": \"qvJo\",\n\t\"./gom-latn\": \"DKr+\",\n\t\"./gom-latn.js\": \"DKr+\",\n\t\"./gu\": \"4MV3\",\n\t\"./gu.js\": \"4MV3\",\n\t\"./he\": \"x6pH\",\n\t\"./he.js\": \"x6pH\",\n\t\"./hi\": \"3E1r\",\n\t\"./hi.js\": \"3E1r\",\n\t\"./hr\": \"S6ln\",\n\t\"./hr.js\": \"S6ln\",\n\t\"./hu\": \"WxRl\",\n\t\"./hu.js\": \"WxRl\",\n\t\"./hy-am\": \"1rYy\",\n\t\"./hy-am.js\": \"1rYy\",\n\t\"./id\": \"UDhR\",\n\t\"./id.js\": \"UDhR\",\n\t\"./is\": \"BVg3\",\n\t\"./is.js\": \"BVg3\",\n\t\"./it\": \"bpih\",\n\t\"./it-ch\": \"bxKX\",\n\t\"./it-ch.js\": \"bxKX\",\n\t\"./it.js\": \"bpih\",\n\t\"./ja\": \"B55N\",\n\t\"./ja.js\": \"B55N\",\n\t\"./jv\": \"tUCv\",\n\t\"./jv.js\": \"tUCv\",\n\t\"./ka\": \"IBtZ\",\n\t\"./ka.js\": \"IBtZ\",\n\t\"./kk\": \"bXm7\",\n\t\"./kk.js\": \"bXm7\",\n\t\"./km\": \"6B0Y\",\n\t\"./km.js\": \"6B0Y\",\n\t\"./kn\": \"PpIw\",\n\t\"./kn.js\": \"PpIw\",\n\t\"./ko\": \"Ivi+\",\n\t\"./ko.js\": \"Ivi+\",\n\t\"./ku\": \"JCF/\",\n\t\"./ku.js\": \"JCF/\",\n\t\"./ky\": \"lgnt\",\n\t\"./ky.js\": \"lgnt\",\n\t\"./lb\": \"RAwQ\",\n\t\"./lb.js\": \"RAwQ\",\n\t\"./lo\": \"sp3z\",\n\t\"./lo.js\": \"sp3z\",\n\t\"./lt\": \"JvlW\",\n\t\"./lt.js\": \"JvlW\",\n\t\"./lv\": \"uXwI\",\n\t\"./lv.js\": \"uXwI\",\n\t\"./me\": \"KTz0\",\n\t\"./me.js\": \"KTz0\",\n\t\"./mi\": \"aIsn\",\n\t\"./mi.js\": \"aIsn\",\n\t\"./mk\": \"aQkU\",\n\t\"./mk.js\": \"aQkU\",\n\t\"./ml\": \"AvvY\",\n\t\"./ml.js\": \"AvvY\",\n\t\"./mn\": \"lYtQ\",\n\t\"./mn.js\": \"lYtQ\",\n\t\"./mr\": \"Ob0Z\",\n\t\"./mr.js\": \"Ob0Z\",\n\t\"./ms\": \"6+QB\",\n\t\"./ms-my\": \"ZAMP\",\n\t\"./ms-my.js\": \"ZAMP\",\n\t\"./ms.js\": \"6+QB\",\n\t\"./mt\": \"G0Uy\",\n\t\"./mt.js\": \"G0Uy\",\n\t\"./my\": \"honF\",\n\t\"./my.js\": \"honF\",\n\t\"./nb\": \"bOMt\",\n\t\"./nb.js\": \"bOMt\",\n\t\"./ne\": \"OjkT\",\n\t\"./ne.js\": \"OjkT\",\n\t\"./nl\": \"+s0g\",\n\t\"./nl-be\": \"2ykv\",\n\t\"./nl-be.js\": \"2ykv\",\n\t\"./nl.js\": \"+s0g\",\n\t\"./nn\": \"uEye\",\n\t\"./nn.js\": \"uEye\",\n\t\"./oc-lnc\": \"Fnuy\",\n\t\"./oc-lnc.js\": \"Fnuy\",\n\t\"./pa-in\": \"8/+R\",\n\t\"./pa-in.js\": \"8/+R\",\n\t\"./pl\": \"jVdC\",\n\t\"./pl.js\": \"jVdC\",\n\t\"./pt\": \"8mBD\",\n\t\"./pt-br\": \"0tRk\",\n\t\"./pt-br.js\": \"0tRk\",\n\t\"./pt.js\": \"8mBD\",\n\t\"./ro\": \"lyxo\",\n\t\"./ro.js\": \"lyxo\",\n\t\"./ru\": \"lXzo\",\n\t\"./ru.js\": \"lXzo\",\n\t\"./sd\": \"Z4QM\",\n\t\"./sd.js\": \"Z4QM\",\n\t\"./se\": \"//9w\",\n\t\"./se.js\": \"//9w\",\n\t\"./si\": \"7aV9\",\n\t\"./si.js\": \"7aV9\",\n\t\"./sk\": \"e+ae\",\n\t\"./sk.js\": \"e+ae\",\n\t\"./sl\": \"gVVK\",\n\t\"./sl.js\": \"gVVK\",\n\t\"./sq\": \"yPMs\",\n\t\"./sq.js\": \"yPMs\",\n\t\"./sr\": \"zx6S\",\n\t\"./sr-cyrl\": \"E+lV\",\n\t\"./sr-cyrl.js\": \"E+lV\",\n\t\"./sr.js\": \"zx6S\",\n\t\"./ss\": \"Ur1D\",\n\t\"./ss.js\": \"Ur1D\",\n\t\"./sv\": \"X709\",\n\t\"./sv.js\": \"X709\",\n\t\"./sw\": \"dNwA\",\n\t\"./sw.js\": \"dNwA\",\n\t\"./ta\": \"PeUW\",\n\t\"./ta.js\": \"PeUW\",\n\t\"./te\": \"XLvN\",\n\t\"./te.js\": \"XLvN\",\n\t\"./tet\": \"V2x9\",\n\t\"./tet.js\": \"V2x9\",\n\t\"./tg\": \"Oxv6\",\n\t\"./tg.js\": \"Oxv6\",\n\t\"./th\": \"EOgW\",\n\t\"./th.js\": \"EOgW\",\n\t\"./tk\": \"Wv91\",\n\t\"./tk.js\": \"Wv91\",\n\t\"./tl-ph\": \"Dzi0\",\n\t\"./tl-ph.js\": \"Dzi0\",\n\t\"./tlh\": \"z3Vd\",\n\t\"./tlh.js\": \"z3Vd\",\n\t\"./tr\": \"DoHr\",\n\t\"./tr.js\": \"DoHr\",\n\t\"./tzl\": \"z1FC\",\n\t\"./tzl.js\": \"z1FC\",\n\t\"./tzm\": \"wQk9\",\n\t\"./tzm-latn\": \"tT3J\",\n\t\"./tzm-latn.js\": \"tT3J\",\n\t\"./tzm.js\": \"wQk9\",\n\t\"./ug-cn\": \"YRex\",\n\t\"./ug-cn.js\": \"YRex\",\n\t\"./uk\": \"raLr\",\n\t\"./uk.js\": \"raLr\",\n\t\"./ur\": \"UpQW\",\n\t\"./ur.js\": \"UpQW\",\n\t\"./uz\": \"Loxo\",\n\t\"./uz-latn\": \"AQ68\",\n\t\"./uz-latn.js\": \"AQ68\",\n\t\"./uz.js\": \"Loxo\",\n\t\"./vi\": \"KSF8\",\n\t\"./vi.js\": \"KSF8\",\n\t\"./x-pseudo\": \"/X5v\",\n\t\"./x-pseudo.js\": \"/X5v\",\n\t\"./yo\": \"fzPg\",\n\t\"./yo.js\": \"fzPg\",\n\t\"./zh-cn\": \"XDpg\",\n\t\"./zh-cn.js\": \"XDpg\",\n\t\"./zh-hk\": \"SatO\",\n\t\"./zh-hk.js\": \"SatO\",\n\t\"./zh-mo\": \"OmwH\",\n\t\"./zh-mo.js\": \"OmwH\",\n\t\"./zh-tw\": \"kOpN\",\n\t\"./zh-tw.js\": \"kOpN\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"RnhZ\";","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UpsUser, EliotUser, UserConsent, UserConsentStatus } from 'src/app/models/user/user.model';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { BaseApiService } from '../../base-api.service';\r\nimport { TranslateFirebaseService } from '../../utils/translate-firebase.service';\r\n\r\nconst userAPIVersion = \"v3.0\";\r\nconst touAPIVersion = \"v2.0\";\r\n\r\n@Injectable()\r\nexport class RestUserService extends BaseApiService {\r\n\r\n\r\n constructor(httpClient : HttpClient,\r\n translate : TranslateFirebaseService,\r\n private authService : AuthService) {\r\n super(httpClient, translate);\r\n }\r\n\r\n getEliotUser() : Observable{\r\n return this.httpClient.get(super.getEliotApiHost() + \"users/api/\" + userAPIVersion + \"/users/profile\", {headers : this.authService.eliotHttpHeaders});\r\n }\r\n\r\n getUser() : Observable{\r\n return this.httpClient.get(super.getUpsApiHost() + \"Users/GetCurrentUser\", {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n updateUser(user : UpsUser): Observable {\r\n return this.httpClient.put(super.getUpsApiHost() + \"Users/\" + user.id , user, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getPromotionalVideo(): Observable {\r\n return this.httpClient.put(super.getUpsApiHost() + \"Users/PromotionalVideo\",null, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getUserConsent() : Observable{\r\n return this.httpClient.get(super.getEliotApiHost()+\"users/api/\" + userAPIVersion + \"/users/consents\", {headers : this.authService.eliotHttpHeaders});\r\n }\r\n\r\n getConsentStatus(languageId : string) : Observable{\r\n return this.httpClient.get(super.getEliotApiHost() + \"termsandconditions/api/\" + touAPIVersion + \"/consent?language=\" + languageId, {headers : this.authService.eliotHttpHeaders});\r\n }\r\n\r\n updateConditions(documentType: string): Observable{\r\n let elem : any = {};\r\n return this.httpClient.post(super.getEliotApiHost() + \"termsandconditions/api/\" + touAPIVersion + '/consent?documentType=' + documentType, elem, {headers : this.authService.eliotHttpHeaders});\r\n }\r\n\r\n getUsers() : Observable{\r\n return this.httpClient.get(super.getUpsApiHost() + \"Users\", {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n saveMaintenanceReminderDays(maintenanceDays: number): Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + 'Users/MaintenanceDaysReminder/' + maintenanceDays, null, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n saveWarrantyReminderDays(warrantyDays: number): Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + 'Users/WarrantyDaysReminder/' + warrantyDays, null, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n getBackendVersion(): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"version\", {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component } from '@angular/core';\r\nimport { MatIconRegistry } from '@angular/material/icon';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { Observable } from 'rxjs';\r\nimport { TranslateFirebaseService } from './service/utils/translate-firebase.service';\r\n\r\nimport firebase from \"firebase/app\";\r\nimport \"firebase/analytics\";\r\nimport { environment } from 'src/environments/environment';\r\n\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { UserService } from './models/user/user.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss']\r\n})\r\nexport class AppComponent {\r\n title = 'upservice-frontend';\r\n _iconPaths : any[] = [];\r\n\r\n constructor(private translateFirebase : TranslateFirebaseService,\r\n private matIconRegistry: MatIconRegistry,\r\n private domSanitizer: DomSanitizer,\r\n private httpClient: HttpClient,\r\n private userService : UserService,\r\n public router : Router) {\r\n\r\n //this.setPropertiesFirebase();\r\n\r\n /* this.router.events.subscribe(event => {\r\n if(this.userService.eliotUser.profiling) this.setPage(event);\r\n }); */\r\n\r\n this.setIcons();\r\n }\r\n\r\n /* private setPage(event:any){\r\n if (event instanceof NavigationEnd) {\r\n firebase.analytics().logEvent('page_view' , { page_location: event.urlAfterRedirects , page_path: event.urlAfterRedirects , page_title: event.urlAfterRedirects });\r\n }\r\n }\r\n\r\n private setPropertiesFirebase() {\r\n firebase.analytics();\r\n firebase.analytics().setUserProperties({environment: environment.environment, version: environment.version});\r\n } */\r\n\r\n private setIcons() {\r\n\r\n this.getIconsPaths()\r\n .subscribe(result => {\r\n this._iconPaths = result;\r\n this.addIcons();\r\n });\r\n }\r\n\r\n private getIconsPaths() : Observable {\r\n return this.httpClient.get(\"assets/icons/content.json\");\r\n }\r\n\r\n private addIcons(){\r\n this._iconPaths.forEach(element => {\r\n this.matIconRegistry.addSvgIcon(\r\n element.icon,\r\n this.domSanitizer.bypassSecurityTrustResourceUrl(element.path)\r\n );\r\n });\r\n }\r\n\r\n}\r\n","export default \"#prelogin {\\n min-height: 100vh;\\n}\\n\\n.logo-splash {\\n width: 46%;\\n margin-top: 18%;\\n margin-left: 27% !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFwuLlxccHJlbG9naW4uY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxpQkFBQTtBQUNGOztBQUVBO0VBQ0UsVUFBQTtFQUNBLGVBQUE7RUFDQSwyQkFBQTtBQUNGIiwiZmlsZSI6InByZWxvZ2luLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3ByZWxvZ2luIHtcclxuICBtaW4taGVpZ2h0OiAxMDB2aDtcclxufVxyXG5cclxuLmxvZ28tc3BsYXNoIHtcclxuICB3aWR0aDogNDYlO1xyXG4gIG1hcmdpbi10b3A6IDE4JTtcclxuICBtYXJnaW4tbGVmdDogMjclICFpbXBvcnRhbnQ7XHJcbn1cclxuIl19 */\";","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { EliotUser } from 'src/app/models/user/user.model';\r\nimport { environment } from 'src/environments/environment';\r\nimport { AuthService } from './authentication/auth.service';\r\nimport { TranslateFirebaseService } from './utils/translate-firebase.service';\r\n\r\n@Injectable()\r\nexport class BaseApiService {\r\n\r\n constructor(protected httpClient: HttpClient,\r\n protected translate?: TranslateFirebaseService) {\r\n }\r\n\r\n protected getUpsApiHost(): string {\r\n return environment.UpsApiEndpoint;\r\n }\r\n\r\n protected getEliotApiHost(): string {\r\n return environment.EliotApiEndpoint;\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SSE } from 'sse.js';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Observable } from 'rxjs';\r\nimport { RestProcedureService } from 'src/app/service/rest/procedure/rest-procedure.service';\r\nimport { Procedure, ProcedureCloneBody, Step, StepOrder } from './procedure.model';\r\nimport { ServerSentService } from 'src/app/service/utils/server-sent/server-sent.service';\r\n\r\n@Injectable()\r\nexport class ProcedureService {\r\n\r\n private _procedure: Procedure;\r\n private _dataSourceSteps: MatTableDataSource = new MatTableDataSource();\r\n\r\n constructor(private procedureRest: RestProcedureService,private sseService: ServerSentService) { }\r\n\r\n get procedure() : Procedure {\r\n return this._procedure;\r\n }\r\n\r\n set procedure(procedure : Procedure) {\r\n this._procedure = procedure;\r\n if(procedure) this.dataSourceSteps = new MatTableDataSource(procedure.steps);\r\n }\r\n\r\n get procedureSteps() : Step[] {\r\n if(this.procedure) return this.procedure.steps;\r\n else return [];\r\n }\r\n\r\n set procedureSteps(steps : Step[]) {\r\n if(this.procedure) this.procedure.steps = steps;\r\n }\r\n\r\n public get dataSourceSteps(): MatTableDataSource {\r\n return this._dataSourceSteps;\r\n }\r\n public set dataSourceSteps(value: MatTableDataSource) {\r\n this._dataSourceSteps = value;\r\n }\r\n\r\n updateProcedure() : Observable {\r\n return this.procedureRest.updateProcedure(this.procedure);\r\n }\r\n\r\n addProcedure() : Observable{\r\n return this.procedureRest.createProcedure(this.procedure);\r\n }\r\n\r\n cloneProcedure(clonedProcedure : Procedure): Observable{\r\n return this.procedureRest.createProcedure(clonedProcedure);\r\n }\r\n\r\n deleteProcedure() : Observable{\r\n return this.procedureRest.deleteProcedure(this.procedure.id);\r\n }\r\n\r\n orderSteps(order: StepOrder[]) {\r\n this.procedureRest.orderSteps(order).subscribe(result => { }, error => { console.log(error) });\r\n }\r\n\r\n importProcedureCSVFile(importFile: File) {\r\n const formData = new FormData();\r\n formData.append('file',importFile, importFile.name);\r\n return this.procedureRest.uploadProcedureCSV(formData);\r\n }\r\n\r\n exportProcedureCSVFile(): Observable {\r\n return this.procedureRest.downloadProcedureCSV();\r\n }\r\n\r\n // returns an observable of the sse call\r\n private getServerSentEvent(url: string, importFile: FormData): Observable {\r\n return new Observable((observer) => {\r\n const eventSource = this.sseService.getEventSourceWithPost(url, importFile);\r\n // on answer from message listener\r\n eventSource.onmessage = (event) => {\r\n observer.next(JSON.parse(event.data));\r\n };\r\n eventSource.onerror = (error) => {\r\n observer.error(error);\r\n };\r\n eventSource.stream();\r\n });\r\n }\r\n\r\n cloneSelectedProcedure(procedureData : ProcedureCloneBody,languageId:string): Observable{\r\n return this.procedureRest.cloneProcedure(procedureData,languageId);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n CanActivate,\r\n ActivatedRouteSnapshot,\r\n RouterStateSnapshot,\r\n UrlTree,\r\n Router,\r\n} from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from '../service/authentication/auth.service';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n constructor(private authService: AuthService, private router: Router) {}\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot\r\n ):\r\n | Observable\r\n | Promise\r\n | boolean\r\n | UrlTree {\r\n if (!this.authService.isAuthenticated()) {\r\n this.router.navigateByUrl('/prelogin');\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n}\r\n","export default \"\\r\\n\";","import { Injectable } from '@angular/core';\r\nimport { RestDeviceService } from 'src/app/service/rest/device/rest-device.service';\r\nimport { MaintenanceHistory } from '../maintenance/maintenance.model';\r\nimport { InstallationHistory } from '../procedure/procedure.model';\r\nimport { HistoryType } from './device.model';\r\n\r\n@Injectable()\r\nexport class DeviceHistoryService {\r\n\r\n private _maintenanceHistory: MaintenanceHistory;\r\n private _installationHistory: InstallationHistory;\r\n\r\n private _historyType: HistoryType;\r\n\r\n constructor(private restDevice : RestDeviceService) { }\r\n\r\n public get maintenanceHistory(): MaintenanceHistory {\r\n return this._maintenanceHistory;\r\n }\r\n public set maintenanceHistory(value: MaintenanceHistory) {\r\n this._maintenanceHistory = value;\r\n }\r\n\r\n public get installationHistory(): InstallationHistory {\r\n return this._installationHistory;\r\n }\r\n public set installationHistory(value: InstallationHistory) {\r\n this._installationHistory = value;\r\n }\r\n\r\n public get historyType(): HistoryType {\r\n return this._historyType;\r\n }\r\n public set historyType(value: HistoryType) {\r\n this._historyType = value;\r\n }\r\n\r\n getMaintenanceHistoryById(id : number){\r\n this.restDevice.getDeviceMaintenanceHistoryById(id)\r\n .subscribe((result: MaintenanceHistory) => {\r\n this.maintenanceHistory = result;\r\n })\r\n }\r\n\r\n getInstallationHistoryById(id: number) {\r\n this.restDevice.getDeviceInstallationHistoryById(id)\r\n .subscribe((result: InstallationHistory) => {\r\n console.log(result);\r\n this.installationHistory = result;\r\n })\r\n }\r\n}\r\n","import { SearchDevice } from './device/device.model';\r\nimport { SearchPlant } from './plant/plant.model';\r\n\r\nexport class Tag {\r\n constructor(public key?: string, public value?: string) {}\r\n}\r\n\r\nexport class SearchCatalog {\r\n constructor(public plants?: SearchPlant[], public devices?: SearchDevice[]) {}\r\n}\r\n\r\nexport class UpsSasToken {\r\n constructor(public sas?: string) {}\r\n}\r\n\r\nexport enum AgendaCardType {\r\n NEWS = 0,\r\n ACADEMY = 1,\r\n EVENT = 2,\r\n MAINTENANCE = 3,\r\n MAINTENANCE_USER = 4,\r\n}\r\n\r\nexport enum OccurrenceOptions {\r\n settings_one_day_before = '1',\r\n settings_two_days_before = '2',\r\n settings_one_week_before = '7',\r\n settings_two_weeks_before = '14',\r\n settings_one_month_before = '30',\r\n settings_two_months_before = '60',\r\n}\r\n\r\nexport enum DateFormat {\r\n settings_date_it_IT = 'dd/MM/yyyy',\r\n settings_date_en_US = 'MM/dd/yyyy',\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class BackofficeSortService {\r\n\r\n constructor() { }\r\n\r\n public sortNumeric(a: number, b: number, isAsc: boolean): number {\r\n return isAsc ? a.toString()?.localeCompare(b.toString(), 'en', { numeric: true }) : b.toString()?.localeCompare(a.toString(), 'en', { numeric: true });\r\n }\r\n\r\n public sortAlphanumeric(a: string, b: string, isAsc: boolean): number {\r\n return isAsc ? a?.localeCompare(b, 'en', { numeric: true }) : b?.localeCompare(a, 'en', { numeric: true });\r\n }\r\n\r\n public sortDate(dateA: Date, dateB: Date, isAsc : boolean) : number{\r\n return isAsc ? dateA?.getTime().toString()?.localeCompare(dateB?.getTime().toString()) : dateB?.getTime().toString().localeCompare(dateA?.getTime().toString());\r\n }\r\n}\r\n","import { HttpClient } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport { Procedure, ProcedureCloneBody, ProcedureOrder, StepOrder } from \"src/app/models/procedure/procedure.model\";\r\nimport { AuthService } from \"../../authentication/auth.service\";\r\nimport { BaseApiService } from \"../../base-api.service\";\r\nimport { TranslateFirebaseService } from \"../../utils/translate-firebase.service\";\r\n\r\n@Injectable()\r\nexport class RestProcedureService extends BaseApiService {\r\n constructor(httpClient: HttpClient, translate: TranslateFirebaseService, private authService: AuthService) {\r\n super(httpClient, translate);\r\n }\r\n\r\n createProcedure(procedure: Procedure): Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + \"InstallationProcedure\", procedure, {\r\n headers: this.authService.upsHttpHeaders,\r\n });\r\n }\r\n\r\n updateProcedure(procedure: Procedure): Observable {\r\n return this.httpClient.put(super.getUpsApiHost() + \"InstallationProcedure\", procedure, {\r\n headers: this.authService.upsHttpHeaders,\r\n });\r\n }\r\n\r\n deleteProcedure(id: number): Observable {\r\n return this.httpClient.delete(super.getUpsApiHost() + \"InstallationProcedure/\" + id, {\r\n headers: this.authService.upsHttpHeaders,\r\n });\r\n }\r\n\r\n getProcedureById(id: number, languageId: string): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"InstallationProcedure/\" + id + \"/\" + languageId, {\r\n headers: this.authService.upsHttpHeaders,\r\n });\r\n }\r\n\r\n getProceduresByArticleIdAndLanguageId(articleId: number, languageId: string): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"InstallationProcedure/article/\" + articleId + \"/\" + languageId, {\r\n headers: this.authService.upsHttpHeaders,\r\n });\r\n }\r\n\r\n orderProcedures(orderArray: ProcedureOrder[]): Observable {\r\n return this.httpClient.put(super.getUpsApiHost() + \"InstallationProcedure/update_procedures_order\", orderArray, {\r\n headers: this.authService.upsHttpHeaders,\r\n });\r\n }\r\n\r\n orderSteps(orderArray: StepOrder[]): Observable {\r\n return this.httpClient.put(super.getUpsApiHost() + \"InstallationProcedure/update_steps_order\", orderArray, {\r\n headers: this.authService.upsHttpHeaders,\r\n });\r\n }\r\n\r\n uploadProcedureCSV(importFileData: FormData): Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + \"InstallationProcedure/country/importProcedureCSV\", importFileData, {\r\n headers: this.authService.upsHttpHeaders,\r\n responseType: \"blob\" as \"json\",\r\n });\r\n }\r\n\r\n downloadProcedureCSV(): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"InstallationProcedure/country/downloadProcedureCSV\", {\r\n headers: this.authService.upsHttpHeaders,\r\n responseType: \"blob\" as \"json\",\r\n });\r\n }\r\n\r\n cloneProcedure(procedureData: ProcedureCloneBody, languageId?: string): Observable {\r\n return this.httpClient.post(`${super.getUpsApiHost()}InstallationProcedure/clone/${languageId}`, procedureData, {\r\n headers: this.authService.upsHttpHeaders,\r\n });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Device, DeviceHistory, SubscribeSerialNumber, SubscribeSerialNumbers, UnsubscribeSerialNumber } from 'src/app/models/device/device.model';\r\nimport { MaintenanceHistory } from 'src/app/models/maintenance/maintenance.model';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { BaseApiService } from '../../base-api.service';\r\nimport { TranslateFirebaseService } from '../../utils/translate-firebase.service';\r\n\r\n@Injectable()\r\nexport class RestDeviceService extends BaseApiService {\r\n\r\n constructor(httpClient: HttpClient,\r\n translate : TranslateFirebaseService,\r\n private authService : AuthService) {\r\n super(httpClient, translate);\r\n }\r\n\r\n //DEVICE APIs\r\n\r\n deleteDevice(id: string) : Observable{\r\n return this.httpClient.delete(super.getUpsApiHost() + \"Devices/\" + id, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n createDevice(device: Device): Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + \"Devices\", device, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n updateDevice(device: Device) {\r\n return this.httpClient.put(super.getUpsApiHost() + \"Devices/\" + device.id, device, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getUserDeviceList() : Observable{\r\n return this.httpClient.get(super.getUpsApiHost() + \"Devices\", { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n getDevice(id: string) : Observable{\r\n return this.httpClient.get(super.getUpsApiHost() + \"Devices/\" + id);\r\n }\r\n\r\n downloadDocument(docId: number) : Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"Documents/\" + docId + \"/file\");\r\n }\r\n\r\n getDeviceHistoryByDeviceId(deviceId: string): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + 'Devices/history/' + deviceId, {headers: this.authService.upsHttpHeaders})\r\n }\r\n\r\n getDeviceMaintenanceHistoryById(id: number): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + 'MaintenanceHistory/' + id , {headers: this.authService.upsHttpHeaders})\r\n }\r\n\r\n getDeviceInstallationHistoryById(id: number): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + 'InstallationHistory/' + id , {headers: this.authService.upsHttpHeaders})\r\n }\r\n\r\n subscribeSerialNumbers(subscribeSerialNumbers : SubscribeSerialNumbers) : Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + 'Notification/SubscribeSerialNumbers', subscribeSerialNumbers, { headers: this.authService.upsHttpHeaders});\r\n }\r\n\r\n subscribeSerialNumber(subscribeSerialNumber : SubscribeSerialNumber) : Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + 'Notification/SubscribeSerialNumber', subscribeSerialNumber, { headers: this.authService.upsHttpHeaders});\r\n }\r\n\r\n unsubscribeSerialNumber(unsubscribeSerialNumber : UnsubscribeSerialNumber) : Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + 'Notification/UnsubscribeSerialNumber', unsubscribeSerialNumber, { headers: this.authService.upsHttpHeaders});\r\n }\r\n\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { ModelsModule } from './models/models.module';\r\nimport { ServiceModule } from './service/service.module';\r\nimport { LoginComponent } from './view/login/login.component';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClient, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { environment } from '../environments/environment';\r\nimport { AngularFireModule } from '@angular/fire';\r\nimport { AngularFirestoreModule } from '@angular/fire/firestore';\r\nimport { AngularFireAnalyticsModule } from '@angular/fire/analytics';\r\nimport { OAuthModule } from 'angular-oauth2-oidc';\r\nimport { PipesModule } from './pipes/pipes.module';\r\nimport { PreloginComponent } from './view/login/prelogin/prelogin.component';\r\nimport { NgDialogAnimationService } from 'ng-dialog-animation';\r\nimport { PolicyTermsComponent } from './view/login/policy-terms/policy-terms.component';\r\nimport { BaseApiInterceptor } from './service/base-api.interceptor';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { QrCodeComponent } from './view/qr-code/qr-code.component';\r\nimport { UploadCacheInterceptor } from './service/upload-cache.interceptor';\r\n// AoT requires an exported function for factories\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http);\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n PreloginComponent,\r\n PolicyTermsComponent,\r\n QrCodeComponent,\r\n ],\r\n imports: [\r\n BrowserModule,\r\n AppRoutingModule,\r\n BrowserAnimationsModule,\r\n ModelsModule,\r\n MatIconModule,\r\n DragDropModule,\r\n MatListModule,\r\n ServiceModule,\r\n MatTooltipModule,\r\n ReactiveFormsModule,\r\n OAuthModule.forRoot(),\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: HttpLoaderFactory,\r\n deps: [HttpClient],\r\n },\r\n defaultLanguage: 'en',\r\n }),\r\n AngularFireModule.initializeApp(environment.firebaseConfig),\r\n AngularFirestoreModule,\r\n AngularFireAnalyticsModule,\r\n ],\r\n providers: [\r\n NgDialogAnimationService,\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: BaseApiInterceptor,\r\n multi: true,\r\n },\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: UploadCacheInterceptor,\r\n multi: true,\r\n },\r\n ],\r\n bootstrap: [AppComponent],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n})\r\nexport class AppModule {}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor,\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from './authentication/auth.service';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable()\r\nexport class BaseApiInterceptor implements HttpInterceptor {\r\n constructor(private authService: AuthService) {}\r\n\r\n intercept(\r\n request: HttpRequest,\r\n next: HttpHandler\r\n ): Observable> {\r\n if (\r\n !request.headers.get('Authorization') &&\r\n (request.url.includes(environment.UpsApiEndpoint) ||\r\n request.url.includes(environment.EliotApiEndpoint))\r\n ) {\r\n request = request.clone({\r\n headers: request.headers.append(\r\n 'Authorization',\r\n `Bearer <${this.authService.accessToken}>`\r\n ),\r\n });\r\n }\r\n\r\n let handle: Observable> = next.handle(request);\r\n\r\n return handle.pipe(\r\n catchError((response) => {\r\n if (response.status === 401) {\r\n this.authService.tryRefreshToken();\r\n return handle;\r\n }\r\n\r\n return handle;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Observable } from 'rxjs';\r\nimport { RestArticleCodeService } from 'src/app/service/rest/article-code/rest-article-code.service';\r\nimport { PageService } from 'src/app/service/utils/page.service';\r\nimport { TranslateFirebaseService } from 'src/app/service/utils/translate-firebase.service';\r\nimport { ArticleCode } from './article-code.model';\r\nimport { ArticleCodesRepositoryService } from './article-codes-repository.service';\r\n\r\n@Injectable()\r\nexport class ArticleCodeService {\r\n\r\n private _articleCode: ArticleCode = null;\r\n \r\n constructor(private articleCodeRest: RestArticleCodeService,) { }\r\n \r\n public get articleCode(): ArticleCode {\r\n return this._articleCode;\r\n }\r\n public set articleCode(value: ArticleCode) {\r\n this._articleCode = value;\r\n }\r\n\r\n createArticleCode() : Observable {\r\n return this.articleCodeRest.createArticleCode(this.articleCode);\r\n }\r\n\r\n updateArticleCode() : Observable {\r\n return this.articleCodeRest.updateArticleCode(this.articleCode);\r\n }\r\n\r\n deleteArticleCode(articleId: number) {\r\n return this.articleCodeRest.deleteArticleCode(articleId);\r\n }\r\n\r\n getArticleCodeById(articleId: number) : Observable{\r\n return this.articleCodeRest.getArticleCodeById(articleId);\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseApiService } from '../../base-api.service';\r\nimport { FamilyCertificate, ProductFamily } from 'src/app/models/product-families/product-family.model';\r\nimport { TranslateFirebaseService } from '../../utils/translate-firebase.service';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class RestProductFamiliesService extends BaseApiService {\r\n \r\n \r\n constructor(httpClient: HttpClient,\r\n translate : TranslateFirebaseService,\r\n private authService : AuthService) {\r\n super(httpClient, translate);}\r\n \r\n createProductFamily(productFamily: ProductFamily): Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + \"DeviceTypeFamilies\", productFamily, {headers : this.authService.upsHttpHeaders});\r\n }\r\n \r\n updateProductFamily(productFamily: ProductFamily): Observable {\r\n return this.httpClient.put(super.getUpsApiHost() + \"DeviceTypeFamilies/\" + productFamily.id, productFamily, {headers : this.authService.upsHttpHeaders});\r\n }\r\n \r\n deleteProductFamily(id: number): Observable {\r\n return this.httpClient.delete(super.getUpsApiHost() + \"DeviceTypeFamilies/\" + id, {headers : this.authService.upsHttpHeaders});\r\n }\r\n \r\n getProductFamilyById(id: number) : Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"DeviceTypeFamilies/\" + id, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n getAllProductFamilies() : Observable{\r\n return this.httpClient.get(super.getUpsApiHost() + \"DeviceTypeFamilies\", {headers : this.authService.upsHttpHeaders});\r\n }\r\n \r\n getAllProductFamiliesCertificates(): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"Documents/FamilyCertificates\", {headers : this.authService.upsHttpHeaders});\r\n }\r\n \r\n uploadFamilyCertificate(file: File): Observable {\r\n const formData: FormData = new FormData();\r\n formData.append('File', file, file.name);\r\n return this.httpClient.post(super.getUpsApiHost() + \"Documents/FamilyCertificates\", formData, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n deleteFamilyCertificate(certificateId: number): Observable {\r\n return this.httpClient.delete(super.getUpsApiHost() + \"Documents/FamilyCertificates/\" + certificateId, {headers : this.authService.upsHttpHeaders});\r\n }\r\n }\r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AgendaRepositoryService } from 'src/app/models/agenda/agenda-repository.service';\r\nimport { ArticleCodesRepositoryService } from 'src/app/models/article-code/article-codes-repository.service';\r\nimport { DeviceTypeRepositoryService } from 'src/app/models/device-type/device-type-repository.service';\r\nimport { DeviceRepositoryService } from 'src/app/models/device/device-repository.service';\r\nimport { EliotTokenResponse } from 'src/app/models/eliotToken.model';\r\nimport { PlantRepositoryService } from 'src/app/models/plant/plant-repository.service';\r\nimport { ProductFamilyRepositoryService } from 'src/app/models/product-families/product-family-repository.service';\r\nimport { BackofficeRoles } from 'src/app/models/roles.model';\r\nimport { ConsentStatusType, EliotUser, UpsUser, UserConsentStatus } from 'src/app/models/user/user.model';\r\nimport { UserService } from 'src/app/models/user/user.service';\r\nimport { AuthService } from 'src/app/service/authentication/auth.service';\r\nimport { environment } from 'src/environments/environment';\r\n\r\nconst UpsUserStorageKey = 'UPS-UpsUser';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n\r\n public loginCompleted = false;\r\n private codeString = 'code';\r\n\r\n constructor(private router: Router,\r\n public translate: TranslateService,\r\n private activatedRoute: ActivatedRoute,\r\n private authService: AuthService,\r\n private userService: UserService,\r\n private deviceRepo: DeviceRepositoryService,\r\n private articleRepo: ArticleCodesRepositoryService,\r\n private agendaRepo: AgendaRepositoryService,\r\n private plantRepositoryService: PlantRepositoryService,\r\n private deviceTypesRepoService: DeviceTypeRepositoryService,\r\n private familiesRepoService: ProductFamilyRepositoryService) { }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.queryParams.subscribe((params: any) => {\r\n if (params[this.codeString]) {\r\n this.authService.getAuthToken(params[this.codeString])\r\n .subscribe((res: EliotTokenResponse) => {\r\n if (res) {\r\n this.authService.accessToken = res.access_token;\r\n this.authService.idToken = res.id_token;\r\n this.authService.refreshToken = res.refresh_token;\r\n this.authService.tokenExpiresIn = res.expires_in;\r\n this.authService.setTimeoutRefreshToken();\r\n\r\n this.userService.loadEliotUser()\r\n .subscribe((user: any) => {\r\n if (user.profile.language) { this.authService.languageId = user.profile.language; }\r\n else { this.authService.languageId = user.profile.country; }\r\n\r\n const dateFormat = localStorage.getItem(environment.storage.settingsDateFormat);\r\n if (dateFormat === 'null') { this.userService.dateFormat = 'dd/MM/yyyy'; }\r\n this.saveUser(user);\r\n\r\n this.userService.getUserConsentStatus()\r\n .subscribe((result: any[]) => {\r\n let toUpdateConsent = false;\r\n this.userService.touDocs = result;\r\n if (!this.userService.touDocs) { this.loadUpsUser(false); }\r\n if (this.userService.touDocs.length === 0) {\r\n this.loadUpsUser(false);\r\n } else {\r\n this.userService.touDocs.forEach((doc: UserConsentStatus) => {\r\n if (doc.action.type === ConsentStatusType.CONSENT || doc.action.type === ConsentStatusType.UPDATE) {\r\n toUpdateConsent = true;\r\n }\r\n });\r\n this.loadUpsUser(toUpdateConsent);\r\n }\r\n });\r\n }, error => {\r\n console.log(error);\r\n });\r\n this.loginCompleted = true;\r\n\r\n }\r\n\r\n }, (error) => {\r\n console.log(error);\r\n this.router.navigateByUrl('/prelogin');\r\n });\r\n }\r\n });\r\n }\r\n\r\n saveUser(user: any): void {\r\n if (user) {\r\n const loggedUser = new EliotUser();\r\n loggedUser.email = user.profile.email;\r\n loggedUser.givenName = user.profile.givenName;\r\n loggedUser.displayName = user.profile.displayName;\r\n loggedUser.surname = user.profile.surname;\r\n if (user.profile.language) { loggedUser.language = user.profile.language; }\r\n else { loggedUser.language = user.profile.country; }\r\n loggedUser.country = user.profile.country;\r\n loggedUser.marketingCampaigns = user.account.marketingCampaigns.status;\r\n loggedUser.profiling = user.account.profiling.status;\r\n this.userService.eliotUser = loggedUser;\r\n }\r\n }\r\n\r\n loadUpsUser(toUpdateConsent: boolean): void {\r\n this.userService.loadUpsUser()\r\n .subscribe((user: UpsUser) => {\r\n this.userService.upsUser = user;\r\n sessionStorage.setItem(UpsUserStorageKey, JSON.stringify(user));\r\n this.agendaRepo.getAllAgendaByUser();\r\n this.agendaRepo.getUserNotificationCount();\r\n this.userService.getSasToken();\r\n this.articleRepo.loadArticleCodes();\r\n this.plantRepositoryService.getPlants();\r\n if (user.backofficeRole !== null) {\r\n if (toUpdateConsent) { this.router.navigateByUrl('/policy-terms'); }\r\n else if (user.backofficeRole === BackofficeRoles.LEGRAND_ADMIN) {\r\n this.router.navigateByUrl('/backoffice');\r\n }\r\n else if (user.backofficeRole === BackofficeRoles.LEGRAND_SERVICE) { this.router.navigateByUrl('/backoffice/home/warranty'); }\r\n } else {\r\n this.deviceRepo.getUserDevices();\r\n if (toUpdateConsent) { this.router.navigateByUrl('/policy-terms'); }\r\n else { this.router.navigateByUrl('/app'); }\r\n }\r\n }, error => {\r\n console.log('LOAD UPS USER ERROR');\r\n console.log(error);\r\n this.router.navigateByUrl('/app');\r\n });\r\n\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { RestSerialService } from 'src/app/service/rest/serial/rest-serial.service';\r\nimport { TranslateFirebaseService } from 'src/app/service/utils/translate-firebase.service';\r\nimport { SerialNumber, SerialNumberUpdate, SerialNumbersImportStatus } from '../device/device.model';\r\nimport { Tag } from '../utils.model';\r\n\r\n@Injectable()\r\nexport class SerialNumberService {\r\n \r\n\r\n private _serialNumber : SerialNumber = new SerialNumber();\r\n private _serialNumberUpdate: SerialNumberUpdate = new SerialNumberUpdate();\r\n private _importStatus: SerialNumbersImportStatus = new SerialNumbersImportStatus();\r\n \r\n constructor(private serialRest : RestSerialService,\r\n private translate : TranslateFirebaseService) { }\r\n \r\n get serialNumber() : SerialNumber {\r\n return this._serialNumber;\r\n }\r\n \r\n set serialNumber(serial : SerialNumber) {\r\n this._serialNumber = serial;\r\n }\r\n \r\n public get serialNumberUpdate(): SerialNumberUpdate {\r\n return this._serialNumberUpdate;\r\n }\r\n public set serialNumberUpdate(value: SerialNumberUpdate) {\r\n this._serialNumberUpdate = value;\r\n }\r\n \r\n get deviceType() : Tag[]{\r\n return JSON.parse(this.translate.getTranslation('enum_device_type'));\r\n }\r\n\r\n public get importStatus(): SerialNumbersImportStatus {\r\n return this._importStatus;\r\n }\r\n public set importStatus(value: SerialNumbersImportStatus) {\r\n this._importStatus = value;\r\n }\r\n\r\n createSerial() :Observable {\r\n return this.serialRest.createSerial(this.serialNumber);\r\n }\r\n\r\n updateSerial(): Observable {\r\n return this.serialRest.updateSerial(this.serialNumber.id, this.serialNumberUpdate);\r\n }\r\n\r\n deleteSerial(): Observable {\r\n return this.serialRest.deleteSerial(this.serialNumber.id);\r\n }\r\n\r\n getLastImportStatus() {\r\n this.serialRest.getLastImportStatus().subscribe((importStatusResponse: SerialNumbersImportStatus) => {\r\n this.importStatus = importStatusResponse;\r\n })\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class PageService {\r\n\r\n title : string = \"\"\r\n addDevice : boolean = false;\r\n addPlant : boolean = false;\r\n addMaintenanceReminder : boolean = false;\r\n addButton : boolean = true;\r\n breadCrumb : boolean = false;\r\n showVideo : boolean = false;\r\n\r\n myInstallation: boolean = false;\r\n agenda : boolean = false;\r\n settings : boolean = false;\r\n\r\n lastVisit : string = \"\";\r\n private _ascending : boolean = true;\r\n\r\n constructor(public router : Router,\r\n private snackBar : MatSnackBar) {}\r\n\r\n set ascending(value:boolean){\r\n this._ascending = value;\r\n }\r\n\r\n get ascending() : boolean{\r\n return this._ascending;\r\n }\r\n\r\n setTitle(name : string){\r\n this.title = name;\r\n }\r\n\r\n setLastVisit(path: string) {\r\n this.lastVisit = path;\r\n }\r\n\r\n setDeviceButton(value : boolean) {\r\n this.addDevice = value;\r\n }\r\n\r\n setPlantButton(value : boolean) {\r\n this.addPlant = value;\r\n }\r\n\r\n setMaintenanceReminderButton(value : boolean) {\r\n this.addMaintenanceReminder = value;\r\n }\r\n\r\n setAddButton(value : boolean){\r\n this.addButton = value;\r\n }\r\n\r\n setBreadCrumb(value : boolean){\r\n this.breadCrumb = value;\r\n }\r\n\r\n navigateTo(path : string){\r\n this.router.navigateByUrl(path);\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this.snackBar.open(message, action, {\r\n duration: 3000,\r\n panelClass: ['success-snackbar']\r\n });\r\n }\r\n\r\n openErrorSnackBar(message: string, action: string) {\r\n this.snackBar.open(message, action, {\r\n duration: 5000,\r\n panelClass: ['error-snackbar']\r\n });\r\n }\r\n\r\n}\r\n","export default \"
\\r\\n

UPservice

\\r\\n \\\"Legrand\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{translate.getTranslation('terms_condition_title') | uppercase}}

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{translate.getTranslation('terms_condition_subtitle')}}\\r\\n \\r\\n
\\r\\n
\\r\\n Terms and Conditions \\r\\n \\r\\n
\\r\\n
\\r\\n Privacy Policy \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\";","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport {\r\n Document,\r\n DocumentStatus,\r\n ImageMedia,\r\n ImageMediaPost,\r\n VideoMedia,\r\n VideoMediaPost,\r\n} from 'src/app/models/device-documentation/device-documentation.model';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { BaseApiService } from '../../base-api.service';\r\nimport { TranslateFirebaseService } from '../../utils/translate-firebase.service';\r\n\r\n@Injectable()\r\nexport class RestDeviceDocumentationService extends BaseApiService {\r\n constructor(\r\n httpClient: HttpClient,\r\n translate: TranslateFirebaseService,\r\n private authService: AuthService\r\n ) {\r\n super(httpClient, translate);\r\n }\r\n\r\n getDocumentsByArticleId(articleId: number): Observable {\r\n return this.httpClient.get(\r\n super.getUpsApiHost() + 'Documents/Article/' + articleId,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n\r\n getDocumentsBySerialNumber(serialNumberId: number): Observable {\r\n return this.httpClient.get(\r\n super.getUpsApiHost() + 'Documents/SerialNumber/' + serialNumberId,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n\r\n getAllDocumentsByArticleIdAndLanguageId(\r\n articleId: number,\r\n languageId: string\r\n ): Observable {\r\n return this.httpClient.get(\r\n super.getUpsApiHost() +\r\n 'Documents/Article/' +\r\n articleId +\r\n '/' +\r\n languageId,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n\r\n // replaced with getMediaByArticleIdandLanguageId\r\n getMediaByArticleId(\r\n articleId: number\r\n ): Observable {\r\n return this.httpClient.get(\r\n super.getUpsApiHost() + 'Media/article/' + articleId,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n\r\n getMediaByArticleIdandLanguageId(\r\n articleId: number,\r\n languageId: string = 'en'\r\n ): Observable {\r\n return this.httpClient.get(\r\n `${super.getUpsApiHost()}Media/article/${articleId}/${languageId}`,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n getVideoByArticleIdandLanguageId(\r\n articleId: number,\r\n languageId: string = 'en'\r\n ): Observable {\r\n return this.httpClient.get(\r\n `${super.getUpsApiHost()}Media/article/${articleId}/${languageId}`,\r\n { headers: this.authService.upsHttpHeaders }\r\n ).pipe(map((media) => media.filter((video => video?.contentType.toString().startsWith('video/')))));\r\n }\r\n\r\n uploadNewImageMedia(media: FormData): Observable {\r\n return this.httpClient.post(\r\n super.getUpsApiHost() + 'Media',\r\n media,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n\r\n uploadNewVideoMediaExternal(media: VideoMediaPost): Observable {\r\n return this.httpClient.post(\r\n super.getUpsApiHost() + 'Media/external',\r\n media,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n\r\n uploadNewVideoMedia(media: FormData): Observable {\r\n return this.httpClient.post(\r\n super.getUpsApiHost() + 'Media',\r\n media,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n\r\n uploadDocument(document: FormData): Observable {\r\n return this.httpClient.post(\r\n super.getUpsApiHost() + 'Documents/Advanced',\r\n document,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n\r\n updateDocument(documentId: number, document: FormData): Observable {\r\n return this.httpClient.put(\r\n super.getUpsApiHost() + 'Documents/Advanced/' + documentId,\r\n document,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n\r\n changeDocumentStatus(documentId: number, publish: number): Observable {\r\n return this.httpClient.put(\r\n super.getUpsApiHost() + 'Documents/Status/' + documentId + '/' + publish,\r\n null,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n\r\n deleteMedia(id: number): Observable {\r\n return this.httpClient.delete(\r\n super.getUpsApiHost() + 'Media/entity/' + id,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n\r\n deleteDocumentEntity(id: number): Observable {\r\n return this.httpClient.delete(\r\n super.getUpsApiHost() + 'Documents/entity/' + id,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n\r\n deleteDocument(articleId: number, documentId: number): Observable {\r\n return this.httpClient.delete(\r\n super.getUpsApiHost() +\r\n 'Documents/Article/' +\r\n articleId +\r\n '/' +\r\n documentId,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n\r\n updateDocumentOrder(articleId: number, obj: any): Observable {\r\n return this.httpClient.put(\r\n super.getUpsApiHost() + 'Documents/ArticleOrder/' + articleId,\r\n obj,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n\r\n updateMediaOrder(articleId: number, obj: any): Observable {\r\n return this.httpClient.put(\r\n super.getUpsApiHost() + 'Media/ArticleOrder/' + articleId,\r\n obj,\r\n { headers: this.authService.upsHttpHeaders }\r\n );\r\n }\r\n}\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Loading...\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n\";","export enum WebAppRoles {\r\n GENERIC_USER = '1',\r\n LEGRAND_PARTNER = '2'\r\n}\r\n\r\nexport enum BackofficeRoles {\r\n LEGRAND_SERVICE = 1,\r\n LEGRAND_ADMIN = 2\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { RestAgendaService } from 'src/app/service/rest/agenda/rest-agenda.service';\r\nimport { MaintenanceReminder, MaintenanceReminderUser } from './maintenance.model';\r\n\r\n@Injectable()\r\nexport class MaintenanceReminderService {\r\n\r\n private _maintenanceReminder: MaintenanceReminderUser;\r\n\r\n constructor(private restAgenda : RestAgendaService) { }\r\n\r\n public get maintenanceReminder(): MaintenanceReminderUser {\r\n return this._maintenanceReminder;\r\n }\r\n public set maintenanceReminder(value: MaintenanceReminderUser) {\r\n this._maintenanceReminder = value;\r\n }\r\n\r\n createReminder() : Observable {\r\n return this.restAgenda.createMaintenanceReminderUser(this.maintenanceReminder);\r\n }\r\n\r\n updateReminder() : Observable {\r\n return this.restAgenda.updateMaintenanceReminderUser(this.maintenanceReminder);\r\n }\r\n\r\n deleteReminder() : Observable {\r\n return this.restAgenda.deleteMaintenanceReminderUser(this.maintenanceReminder.id);\r\n }\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { RestAgendaService } from 'src/app/service/rest/agenda/rest-agenda.service';\r\nimport { EventAcademy } from './event.model';\r\n\r\n@Injectable()\r\nexport class EventAcademyService {\r\n\r\n private _eventAcademy: EventAcademy;\r\n\r\n constructor(private restAgenda : RestAgendaService) { }\r\n\r\n public get eventAcademy(): EventAcademy {\r\n return this._eventAcademy;\r\n }\r\n public set eventAcademy(value: EventAcademy) {\r\n this._eventAcademy = value;\r\n }\r\n\r\n createEventOrAcademy(event : FormData) : Observable{\r\n return this.restAgenda.createAgendaElement(event);\r\n }\r\n\r\n updateEventOrAcademy(event : FormData) : Observable{\r\n return this.restAgenda.updateAgendaElement(event);\r\n }\r\n\r\n deleteEventOrAcademy(id : number) : Observable {\r\n return this.restAgenda.deleteAgendaElement(id);\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { CheckOrder, Maintenance } from 'src/app/models/maintenance/maintenance.model';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { BaseApiService } from '../../base-api.service';\r\nimport { TranslateFirebaseService } from '../../utils/translate-firebase.service';\r\n\r\n@Injectable()\r\nexport class RestMaintenanceService extends BaseApiService {\r\n\r\n constructor(httpClient: HttpClient,\r\n translate : TranslateFirebaseService,\r\n private authService : AuthService) {\r\n super(httpClient, translate);\r\n }\r\n\r\n createMaintenance(maintenance: Maintenance): Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + \"Maintenance\", maintenance, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n updateMaintenance(maintenance: Maintenance): Observable {\r\n return this.httpClient.put(super.getUpsApiHost() + \"Maintenance/\" + maintenance.id, maintenance, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n deleteMaintenance(id: number): Observable {\r\n return this.httpClient.delete(super.getUpsApiHost() + \"Maintenance/\" + id, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getMaintenanceById(id: number, languageId: string) : Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"Maintenance/\" + id + \"/\" + languageId, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n getMaintenancesByArticleIdAndLanguageId(articleId: number, languageId: string) : Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"Maintenance/\" + articleId + \"/\" + languageId, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n orderChecks(orderArray: CheckOrder[]): Observable {\r\n return this.httpClient.put(super.getUpsApiHost() + \"Maintenance/orderchecks\", orderArray, { headers: this.authService.upsHttpHeaders});\r\n }\r\n\r\n getMaintenanceHistoryById(maintenanceHistoryId: number): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + '​/api​/MaintenanceHistory​/' + maintenanceHistoryId, {headers: this.authService.upsHttpHeaders})\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { TranslateFirebaseService } from 'src/app/service/utils/translate-firebase.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Tag } from '../utils.model';\r\n\r\n@Injectable()\r\nexport class LanguageRepositoryService {\r\n\r\n private _languages: Tag[];\r\n private _selectedLanguage: string = localStorage.getItem('selectedLanguage') || 'en';\r\n private languagesLoaded: boolean = false;\r\n\r\n constructor(private translate: TranslateFirebaseService) {\r\n if(!this.languagesLoaded) this.loadLanguages();\r\n }\r\n\r\n public get languages(): Tag[] | undefined {\r\n let data : Tag[];\r\n if (this._languages) return this._languages;\r\n else data = JSON.parse(sessionStorage.getItem(environment.storage.upsBackofficeLanguages));\r\n if (data != null) return data;\r\n else return undefined;\r\n }\r\n\r\n public set languages(value: Tag[] | undefined) {\r\n if (value) {\r\n sessionStorage.setItem(environment.storage.upsBackofficeLanguages, JSON.stringify(value));\r\n this._languages = value;\r\n }\r\n }\r\n\r\n get selectedLanguage(): string {\r\n return this._selectedLanguage;\r\n }\r\n\r\n set selectedLanguage(lang: string) {\r\n this._selectedLanguage = lang;\r\n }\r\n\r\n loadLanguages() {\r\n if (!this.languagesLoaded) {\r\n setTimeout(() => { this.languages = JSON.parse(this.translate.getTranslation('enum_languages')); }, 300);\r\n this.languagesLoaded = true;\r\n }\r\n }\r\n}\r\n","export default \"#qr-code {\\n min-height: 100vh;\\n}\\n\\n.logo-splash {\\n width: 46%;\\n margin-top: 18%;\\n margin-left: 27% !important;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFxxci1jb2RlLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0ksaUJBQUE7QUFDSjs7QUFFQTtFQUNJLFVBQUE7RUFDQSxlQUFBO0VBQ0EsMkJBQUE7QUFDSiIsImZpbGUiOiJxci1jb2RlLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI3FyLWNvZGUge1xyXG4gICAgbWluLWhlaWdodDogMTAwdmg7XHJcbn1cclxuXHJcbi5sb2dvLXNwbGFzaCB7XHJcbiAgICB3aWR0aDogNDYlO1xyXG4gICAgbWFyZ2luLXRvcDogMTglO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDI3JSAhaW1wb3J0YW50O1xyXG59XHJcbiAgIl19 */\";","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class BackofficeGalleryService {\r\n\r\n private _imgsSrc : string[] = [];\r\n private _selectedIndex : number = 0;\r\n\r\n constructor() { }\r\n\r\n get imgsSrc() : string[] {\r\n return this._imgsSrc;\r\n }\r\n\r\n set imgsSrc(data : string[]) {\r\n this._imgsSrc = data;\r\n }\r\n\r\n get selectedIndex() : number {\r\n return this._selectedIndex;\r\n }\r\n\r\n set selectedIndex(index : number) {\r\n this._selectedIndex = index;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AddPlantFromDeviceType } from 'src/app/models/plant/plant.model';\r\nimport { AgendaCardType } from 'src/app/models/utils.model';\r\n\r\n@Injectable()\r\nexport class PageDialogService {\r\n\r\n private _dialogTitle : string = \"\";\r\n\r\n private _addPlant : boolean = false;\r\n private _editPlant : boolean = false;\r\n private _sharePlant : boolean = false;\r\n private _addPlantFromDevice : AddPlantFromDeviceType = AddPlantFromDeviceType.NONE;\r\n\r\n private _addDevice : boolean = false;\r\n private _editDevice: boolean = false;\r\n\r\n private _addMaintenanceReminder: boolean = false;\r\n private _editMaintenanceReminder: boolean = false;\r\n private _deleteReminderMode: boolean = false;\r\n\r\n private _agendaType: AgendaCardType;\r\n private _deleteAgendaMode: boolean = false;\r\n\r\n private _archiveDeviceMode : boolean = false;\r\n private _deletePlantMode : boolean = false;\r\n private _cannotDeletePlantMode : boolean = false;\r\n private _unsharePlantMode: boolean = false;\r\n private _searchMode : boolean = false;\r\n private _deviceGallery : boolean = false;\r\n private _confirmChangeOwner: boolean = false;\r\n\r\n private _videoPreview: boolean = false;\r\n\r\n\r\n private _plantId : string = '';\r\n\r\n constructor() { }\r\n\r\n get dialogTitle() : string {\r\n return this._dialogTitle;\r\n }\r\n\r\n set dialogTitle(title: string) {\r\n this._dialogTitle = title;\r\n }\r\n\r\n get addPlant() : boolean {\r\n return this._addPlant;\r\n }\r\n\r\n set addPlant(value: boolean) {\r\n this._addPlant = value;\r\n }\r\n\r\n get editPlant() : boolean {\r\n return this._editPlant;\r\n }\r\n\r\n set editPlant(value: boolean) {\r\n this._editPlant = value;\r\n }\r\n\r\n get sharePlant() : boolean {\r\n return this._sharePlant;\r\n }\r\n\r\n set sharePlant(value: boolean) {\r\n this._sharePlant = value;\r\n }\r\n\r\n get addPlantFromDevice() : AddPlantFromDeviceType {\r\n return this._addPlantFromDevice;\r\n }\r\n\r\n set addPlantFromDevice(value: AddPlantFromDeviceType) {\r\n this._addPlantFromDevice = value;\r\n }\r\n\r\n get addDevice() : boolean {\r\n return this._addDevice;\r\n }\r\n\r\n set addDevice(value: boolean) {\r\n this._addDevice = value;\r\n }\r\n\r\n get editDevice() : boolean {\r\n return this._editDevice;\r\n }\r\n\r\n set editDevice(value: boolean) {\r\n this._editDevice = value;\r\n }\r\n\r\n get archiveDeviceMode() : boolean {\r\n return this._archiveDeviceMode;\r\n }\r\n\r\n set archiveDeviceMode(value: boolean) {\r\n this._archiveDeviceMode = value;\r\n }\r\n\r\n get searchMode() : boolean {\r\n return this._searchMode;\r\n }\r\n\r\n set searchMode(value: boolean) {\r\n this._searchMode = value;\r\n }\r\n\r\n get deletePlantMode() : boolean {\r\n return this._deletePlantMode;\r\n }\r\n\r\n set deletePlantMode(value: boolean) {\r\n this._deletePlantMode = value;\r\n }\r\n\r\n get cannotDeletePlantMode() : boolean {\r\n return this._cannotDeletePlantMode;\r\n }\r\n\r\n set cannotDeletePlantMode(value: boolean) {\r\n this._cannotDeletePlantMode = value;\r\n }\r\n\r\n public get unsharePlantMode(): boolean {\r\n return this._unsharePlantMode;\r\n }\r\n\r\n public set unsharePlantMode(value: boolean) {\r\n this._unsharePlantMode = value;\r\n }\r\n\r\n get deviceGallery() : boolean {\r\n return this._deviceGallery;\r\n }\r\n\r\n set deviceGallery(value : boolean) {\r\n this._deviceGallery = value;\r\n }\r\n\r\n get plantId() : string {\r\n return this._plantId;\r\n }\r\n\r\n set plantId(value : string) {\r\n this._plantId = value;\r\n }\r\n\r\n public get confirmChangeOwner(): boolean {\r\n return this._confirmChangeOwner;\r\n }\r\n public set confirmChangeOwner(value: boolean) {\r\n this._confirmChangeOwner = value;\r\n }\r\n\r\n public get addMaintenanceReminder(): boolean {\r\n return this._addMaintenanceReminder;\r\n }\r\n public set addMaintenanceReminder(value: boolean) {\r\n this._addMaintenanceReminder = value;\r\n }\r\n\r\n public get editMaintenanceReminder(): boolean {\r\n return this._editMaintenanceReminder;\r\n }\r\n public set editMaintenanceReminder(value: boolean) {\r\n this._editMaintenanceReminder = value;\r\n }\r\n\r\n public get deleteReminderMode(): boolean {\r\n return this._deleteReminderMode;\r\n }\r\n public set deleteReminderMode(value: boolean) {\r\n this._deleteReminderMode = value;\r\n }\r\n\r\n public get deleteAgendaMode(): boolean {\r\n return this._deleteAgendaMode;\r\n }\r\n public set deleteAgendaMode(value: boolean) {\r\n this._deleteAgendaMode = value;\r\n }\r\n\r\n public get agendaType(): AgendaCardType {\r\n return this._agendaType;\r\n }\r\n public set agendaType(value: AgendaCardType) {\r\n this._agendaType = value;\r\n }\r\n\r\n public get videoPreview(): boolean {\r\n return this._videoPreview;\r\n }\r\n public set videoPreview(value: boolean) {\r\n this._videoPreview = value;\r\n }\r\n\r\n public reset() {\r\n this.addDevice = false;\r\n this.addPlant = false;\r\n this.editDevice = false;\r\n this.editPlant = false;\r\n this.sharePlant = false;\r\n this.addPlantFromDevice = AddPlantFromDeviceType.NONE;\r\n this.archiveDeviceMode = false;\r\n this.deletePlantMode = false;\r\n this.cannotDeletePlantMode = false;\r\n this.unsharePlantMode = false;\r\n this.searchMode = false;\r\n this.deviceGallery = false;\r\n this.confirmChangeOwner = false;\r\n this.plantId = '';\r\n this.addMaintenanceReminder = false;\r\n this.editMaintenanceReminder = false;\r\n this.deleteReminderMode = false;\r\n this.deleteAgendaMode = false;\r\n this.videoPreview = false;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Observable } from 'rxjs';\r\nimport { RestMaintenanceService } from 'src/app/service/rest/maintenance/rest-maintenance.service';\r\nimport { CheckOrder, Maintenance, MaintenanceCheck } from './maintenance.model';\r\n\r\n@Injectable()\r\nexport class MaintenanceService {\r\n\r\n private _maintenance: Maintenance;\r\n private _dataSourceChecks: MatTableDataSource = new MatTableDataSource();\r\n\r\n constructor(private maintenanceRest: RestMaintenanceService) { }\r\n\r\n public get maintenance(): Maintenance {\r\n return this._maintenance;\r\n }\r\n public set maintenance(value: Maintenance) {\r\n this._maintenance = value;\r\n if(value) this.dataSourceChecks = new MatTableDataSource(value.maintenanceChecks);\r\n }\r\n\r\n public get dataSourceChecks(): MatTableDataSource {\r\n return this._dataSourceChecks;\r\n }\r\n public set dataSourceChecks(value: MatTableDataSource) {\r\n this._dataSourceChecks = value;\r\n }\r\n\r\n get maintenanceChecks(): MaintenanceCheck[] {\r\n return this.maintenance.maintenanceChecks;\r\n }\r\n\r\n set maintenanceChecks(value : MaintenanceCheck[]){\r\n this.maintenance.maintenanceChecks = value;\r\n }\r\n\r\n updateMaintenance() : Observable {\r\n return this.maintenanceRest.updateMaintenance(this.maintenance);\r\n }\r\n\r\n addMaintenance() : Observable{\r\n return this.maintenanceRest.createMaintenance(this.maintenance);\r\n }\r\n\r\n cloneMaintenance(clonedMaintenance : Maintenance): Observable{\r\n return this.maintenanceRest.updateMaintenance(clonedMaintenance);\r\n }\r\n\r\n deleteMaintenance() : Observable{\r\n return this.maintenanceRest.deleteMaintenance(this.maintenance.id);\r\n }\r\n\r\n orderChecks(order: CheckOrder[]) {\r\n this.maintenanceRest.orderChecks(order).subscribe(result => { }, error => { console.log(error) });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CalendarDay, CalendarRow } from 'src/app/models/agenda/calendar.model';\r\nimport * as moment from 'moment';\r\n\r\n@Injectable()\r\nexport class CalendarService {\r\n\r\n public year: number = -1;\r\n public nextYear: number = -1;\r\n\r\n public thisMonthName: string = '';\r\n private thisMonthNumber: number = -1;\r\n private thisMonthDaysNumber: CalendarDay = new CalendarDay(-1, false);\r\n\r\n private previousMonthNumber: number = -1;\r\n private previousMonthDaysNumber: number = -1;\r\n\r\n public rows: CalendarRow[] = [];\r\n\r\n public eventDays: any[] = [];\r\n\r\n constructor() {\r\n this.year = Number(moment().format('YYYY'));\r\n this.nextYear = this.year + 1;\r\n\r\n this.thisMonthName = moment().format('MMMM');\r\n this.thisMonthNumber = Number(moment().format('MM'));\r\n\r\n if (this.thisMonthNumber > 1) this.previousMonthNumber = this.thisMonthNumber - 1;\r\n else this.previousMonthNumber = 12;\r\n\r\n this.thisMonthDaysNumber.day = moment(this.year.toString() + '-' + this.thisMonthNumber.toString(), \"YYYY-MM\").daysInMonth();\r\n this.previousMonthDaysNumber = moment(this.year.toString() + '-' + this.previousMonthNumber.toString(), \"YYYY-MM\").daysInMonth();\r\n this.buildRows();\r\n }\r\n\r\n public buildRows() {\r\n this.rows = [];\r\n let firstMonthWeekDay : number = Number(moment(this.year.toString() + '-' + this.thisMonthNumber.toString() + '-01', \"YYYY-MM-DD\").format('d'));\r\n let dayCounter = 0;\r\n let firstRowCompleted: boolean = false;\r\n\r\n do {\r\n let calendarRow: CalendarRow = new CalendarRow();\r\n calendarRow.days = [];\r\n for (let i = 0; i < 7; i++) {\r\n if ((i + 1 >= firstMonthWeekDay) || firstRowCompleted) {\r\n let day: number = -1;\r\n let eventDay: boolean = false;\r\n let dateCheck: any = { day : day, month : this.thisMonthNumber };\r\n if (dayCounter >= this.thisMonthDaysNumber.day) {\r\n day = dayCounter - this.thisMonthDaysNumber.day + 1;\r\n dateCheck.day = day;\r\n eventDay = this.eventDays.findIndex((date : any) => date.day == dateCheck.day && date.month == dateCheck.month) > -1 ? true : false;\r\n calendarRow.days.push(new CalendarDay(day, eventDay));\r\n } else {\r\n day = dayCounter + 1;\r\n dateCheck.day = day;\r\n eventDay = this.eventDays.findIndex((date : any) => date.day == dateCheck.day && date.month == dateCheck.month) > -1 ? true : false;\r\n calendarRow.days.push(new CalendarDay(day, eventDay));\r\n }\r\n dayCounter++;\r\n } else calendarRow.days.push(new CalendarDay((this.previousMonthDaysNumber - firstMonthWeekDay) + 1 + (i+1)));\r\n\r\n }\r\n this.rows.push(calendarRow);\r\n if(this.rows.length === 1) firstRowCompleted = true;\r\n }\r\n while (dayCounter < this.thisMonthDaysNumber.day);\r\n\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http'\r\nimport { AuthService } from './authentication/auth.service';\r\nimport { PageService } from './utils/page.service';\r\nimport { PageDialogService } from './utils/page-dialog.service';\r\nimport { OrderByService } from './utils/order-by.service';\r\nimport { RestDeviceService } from './rest/device/rest-device.service';\r\nimport { RestPlantService } from './rest/plant/rest-plant.service';\r\nimport { RestUtilsService } from './rest/utils/rest-utils.service';\r\nimport { LastSearchedService } from './utils/last-searched.service';\r\nimport { RestUserService } from './rest/user/rest-user.service';\r\n\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { GalleryService } from './utils/gallery.service';\r\nimport { PageBackofficeService } from './utils/page-backoffice.service';\r\nimport { RestSerialService } from './rest/serial/rest-serial.service';\r\nimport { DocumentationService } from './utils/documentation.service';\r\nimport { RestProcedureService } from './rest/procedure/rest-procedure.service';\r\nimport { RestArFilesService } from './rest/ar-files/rest-ar-files.service';\r\nimport { RestMaintenanceService } from './rest/maintenance/rest-maintenance.service';\r\nimport { RestArticleCodeService } from './rest/article-code/rest-article-code.service';\r\nimport { RestDeviceDocumentationService } from './rest/device-documentation/rest-device-documentation.service';\r\nimport { RestAgendaService } from './rest/agenda/rest-agenda.service';\r\nimport { AgendaDialogService } from './utils/agenda-dialog.service';\r\nimport { CalendarService } from './utils/calendar.service';\r\nimport { CustomDateService } from './utils/custom-date.service';\r\nimport { BackofficeGalleryService } from './utils/backoffice-gallery.service';\r\nimport { BackofficeSortService } from './utils/backoffice-sort.service';\r\nimport { RestProductFamiliesService } from './rest/product-families/rest-product-families.service';\r\nimport { RestDeviceTypesService } from './rest/device-type/rest-device-types.service';\r\n\r\n\r\n@NgModule({\r\n providers: [RestDeviceService,\r\n RestPlantService,\r\n RestUserService,\r\n RestUtilsService,\r\n RestSerialService,\r\n RestProcedureService,\r\n RestArFilesService,\r\n RestMaintenanceService,\r\n RestArticleCodeService,\r\n RestDeviceDocumentationService,\r\n RestAgendaService,\r\n RestProductFamiliesService,\r\n RestDeviceTypesService,\r\n AuthService,\r\n PageService,\r\n PageBackofficeService,\r\n PageDialogService,\r\n OrderByService,\r\n LastSearchedService,\r\n GalleryService,\r\n DocumentationService,\r\n AgendaDialogService,\r\n CalendarService,\r\n CustomDateService,\r\n BackofficeGalleryService,\r\n BackofficeSortService\r\n ],\r\n declarations: [],\r\n imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n MatSnackBarModule\r\n ]\r\n})\r\nexport class ServiceModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { RestArFilesService } from 'src/app/service/rest/ar-files/rest-ar-files.service';\r\nimport { ARFile, ARFileBase64, } from './procedure.model';\r\nimport { environment } from 'src/environments/environment';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\n@Injectable()\r\nexport class ObjRepositoryService {\r\n\r\n private _arFiles: ARFile[] = [];\r\n private _objFiles: ARFile[] = [];\r\n private _imgFiles: ARFile[] = [];\r\n private _dataSourceObjFile: MatTableDataSource = new MatTableDataSource();\r\n private _dataSourceImgFile: MatTableDataSource = new MatTableDataSource();\r\n public arFilesLoaded: boolean = false;\r\n\r\n constructor(private restArFiles: RestArFilesService) {\r\n if(!this.arFilesLoaded) this.loadARFiles();\r\n }\r\n\r\n public get imgFiles(): ARFile[] {\r\n return this._imgFiles;\r\n }\r\n public set imgFiles(value: ARFile[]) {\r\n this._imgFiles = value;\r\n }\r\n\r\n public get objFiles(): ARFile[] {\r\n return this._objFiles;\r\n }\r\n\r\n public set objFiles(value: ARFile[]) {\r\n this._objFiles = value;\r\n }\r\n\r\n public get arFiles(): ARFile[] {\r\n return this._arFiles;\r\n }\r\n public set arFiles(value: ARFile[]) {\r\n this._arFiles = value;\r\n }\r\n\r\n public get dataSourceImgFile(): MatTableDataSource {\r\n return this._dataSourceImgFile;\r\n }\r\n public set dataSourceImgFile(value: MatTableDataSource) {\r\n this._dataSourceImgFile = value;\r\n }\r\n\r\n public get dataSourceObjFile(): MatTableDataSource {\r\n return this._dataSourceObjFile;\r\n }\r\n public set dataSourceObjFile(value: MatTableDataSource) {\r\n this._dataSourceObjFile = value;\r\n }\r\n\r\n postFile(file: File) : Observable {\r\n return this.restArFiles.uploadFile(file);\r\n }\r\n\r\n loadARFiles() : Observable {\r\n return this.restArFiles.getAllFiles();\r\n }\r\n\r\n getBase64File(id: number) : Observable {\r\n return this.restArFiles.getFileBase64(id);\r\n }\r\n\r\n deleteFile(id: number): Observable {\r\n return this.restArFiles.deleteFile(id);\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { UpsSasToken } from 'src/app/models/utils.model';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { BaseApiService } from '../../base-api.service';\r\nimport { TranslateFirebaseService } from '../../utils/translate-firebase.service';\r\n\r\n@Injectable()\r\nexport class RestUtilsService extends BaseApiService {\r\n\r\n constructor(httpClient: HttpClient,\r\n translate: TranslateFirebaseService,\r\n private authService: AuthService) {\r\n super(httpClient, translate);\r\n }\r\n\r\n getSasToken(queryString : string): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + 'Sas' + queryString, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n getVersion(): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + 'version', { headers: this.authService.upsHttpHeaders, responseType: 'blob' });\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { SerialNumber, SerialNumberUpdate, SerialNumbersImportStatus } from 'src/app/models/device/device.model';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { BaseApiService } from '../../base-api.service';\r\nimport { TranslateFirebaseService } from '../../utils/translate-firebase.service';\r\n\r\n@Injectable()\r\nexport class RestSerialService extends BaseApiService{\r\n\r\n constructor(httpClient: HttpClient,\r\n translate : TranslateFirebaseService,\r\n private authService : AuthService) {\r\n super(httpClient, translate);\r\n }\r\n\r\n //SERIAL APIs\r\n\r\n deleteSerial(id: number) {\r\n return this.httpClient.delete(super.getUpsApiHost() + \"SerialNumbers/\" + id, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n checkSerial(serial : string) : Observable{\r\n return this.httpClient.get(super.getUpsApiHost() + \"SerialNumbers/Validate/\" + serial, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n createSerial(serial: SerialNumber): Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + \"SerialNumbers\", serial, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n updateSerial(serialId : number, serial: SerialNumberUpdate) {\r\n return this.httpClient.put(super.getUpsApiHost() + \"SerialNumbers/\" + serialId, serial, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getAllSerials() : Observable{\r\n return this.httpClient.get(super.getUpsApiHost() + \"SerialNumbers\", {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getPossibleSerials() : Observable{\r\n return this.httpClient.get(super.getUpsApiHost() + \"SerialNumbers/NotInstalled\", {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getInstalledSerials(): Observable{\r\n return this.httpClient.get(super.getUpsApiHost() + \"SerialNumbers/Installed\", {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getSerialNumberById(id: string) : Observable{\r\n return this.httpClient.get(super.getUpsApiHost() + \"SerialNumbers/\" + id, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getSerialNumberBySerialNumber(serial: String): Observable{\r\n return this.httpClient.get(super.getUpsApiHost() + \"SerialNumbers/Search/\" + serial, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getAllSerialsByArticleCode(articleCode: string): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"SerialNumbers/ArticleCode/\" + articleCode, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getAllSerialsByDeviceType(deviceTypeId: number): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"SerialNumbers/DeviceType/\" + deviceTypeId, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n uploadSerialNumbers(formData: FormData): Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + \"SerialNumbers/Import\", formData, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getLastImportStatus(): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"SerialNumbers/Import/Status\", {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { Document } from 'src/app/models/device-documentation/device-documentation.model';\r\nimport { DeviceRepositoryService } from 'src/app/models/device/device-repository.service';\r\nimport { environment } from 'src/environments/environment';\r\nimport { RestDeviceDocumentationService } from '../rest/device-documentation/rest-device-documentation.service';\r\nimport { PageService } from './page.service';\r\nimport { TranslateFirebaseService } from './translate-firebase.service';\r\n\r\n@Injectable()\r\nexport class DocumentationService {\r\n\r\n private _document : Document;\r\n\r\n private _documentType: string = '';\r\n private _documentDescription: string = '';\r\n\r\n constructor(private deviceRepo: DeviceRepositoryService,\r\n private documentationRest: RestDeviceDocumentationService,\r\n private pageService: PageService,\r\n private translate : TranslateFirebaseService) { }\r\n\r\n get type(): string {\r\n return this._documentType;\r\n }\r\n\r\n set type(value: string) {\r\n this._documentType = value;\r\n }\r\n\r\n get description(): string {\r\n return this._documentDescription;\r\n }\r\n\r\n set description(value: string) {\r\n this._documentDescription = value;\r\n }\r\n\r\n get document(): Document {\r\n if (this._document) return this._document;\r\n else return JSON.parse(sessionStorage.getItem(environment.storage.upsSelectedDocument));\r\n }\r\n\r\n set document(doc : Document) {\r\n this._document = doc;\r\n sessionStorage.setItem(environment.storage.upsSelectedDocument, JSON.stringify(doc));\r\n }\r\n\r\n downloadPdf() : Observable {\r\n return this.deviceRepo.downloadDocument(this.document.id);\r\n }\r\n\r\n uploadDocument(value: FormData) {\r\n return this.documentationRest.uploadDocument(value);\r\n }\r\n\r\n updateDocument(documentId: number, document: FormData) {\r\n return this.documentationRest.updateDocument(documentId, document);\r\n }\r\n\r\n changeDocumentStatus(documentId: number, status: number) {\r\n this.documentationRest.changeDocumentStatus(documentId, status)\r\n .subscribe((result) => {\r\n this.pageService.openSnackBar(this.translate.getTranslation('backoffice_general_edit_success'), 'Ok');\r\n }, error => {\r\n this.pageService.openErrorSnackBar(this.translate.getTranslation('backoffice_general_edit_failed'), 'Ok');\r\n console.log(error);\r\n })\r\n }\r\n\r\n deleteDocument(articleId: number, documentId: number): Observable {\r\n return this.documentationRest.deleteDocument(articleId, documentId);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateFirebaseService } from 'src/app/service/utils/translate-firebase.service';\r\n\r\n\r\n\r\n@Component({\r\n selector: 'app-qr-code',\r\n templateUrl: './qr-code.component.html',\r\n styleUrls: ['./qr-code.component.scss']\r\n})\r\nexport class QrCodeComponent implements OnInit {\r\n\r\n \r\n\r\n constructor(private translate : TranslateFirebaseService) { }\r\n\r\n ngOnInit(): void {\r\n this.translate.redirectToStore();\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n \r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { BackofficeRoles } from '../models/roles.model';\r\nimport { UserService } from '../models/user/user.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BackofficeRoleGuard implements CanActivate {\r\n\r\n constructor(private userService : UserService,\r\n private router : Router) { }\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n if (this.userService.upsUser.backofficeRole == BackofficeRoles.LEGRAND_ADMIN\r\n || this.userService.upsUser.backofficeRole == BackofficeRoles.LEGRAND_SERVICE) return true;\r\n else this.router.navigateByUrl('/prelogin');\r\n }\r\n\r\n}\r\n","export default \".container-fluid {\\n min-height: 100vh;\\n}\\n\\n.policy-container {\\n position: absolute;\\n height: 100vh;\\n width: 600px;\\n right: 0;\\n}\\n\\n.logo-splash {\\n position: absolute;\\n width: 32%;\\n top: 40%;\\n left: 15%;\\n}\\n\\n.app-name {\\n position: absolute;\\n top: 32%;\\n left: 15% !important;\\n font-size: xx-large;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFwuLlxccG9saWN5LXRlcm1zLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsaUJBQUE7QUFDRjs7QUFFQTtFQUNFLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLFlBQUE7RUFDQSxRQUFBO0FBQ0Y7O0FBRUE7RUFDRSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtBQUNGOztBQUVBO0VBQ0Usa0JBQUE7RUFDQSxRQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQkFBQTtBQUNGIiwiZmlsZSI6InBvbGljeS10ZXJtcy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5jb250YWluZXItZmx1aWQge1xyXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG59XHJcblxyXG4ucG9saWN5LWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGhlaWdodDogMTAwdmg7XHJcbiAgd2lkdGg6IDYwMHB4O1xyXG4gIHJpZ2h0OiAwO1xyXG59XHJcblxyXG4ubG9nby1zcGxhc2gge1xyXG4gIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gIHdpZHRoOiAzMiU7XHJcbiAgdG9wOiA0MCU7XHJcbiAgbGVmdDogMTUlO1xyXG59XHJcblxyXG4uYXBwLW5hbWUge1xyXG4gIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gIHRvcDogMzIlO1xyXG4gIGxlZnQ6IDE1JSAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZTogeHgtbGFyZ2U7XHJcbn1cclxuIl19 */\";","export class CalendarRow {\r\n\r\n constructor(public days?: CalendarDay[]) { }\r\n\r\n}\r\n\r\nexport class CalendarDay {\r\n constructor(\r\n public day: number,\r\n public event: boolean = false\r\n ) { }\r\n}\r\n\r\nexport class NotificationRead {\r\n constructor(\r\n public readingDate: string,\r\n public notificationNumber: number\r\n ) { }\r\n}\r\n","export default \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Loading...\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n\";","import { Injectable } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Observable } from 'rxjs';\r\nimport { RestAgendaService } from 'src/app/service/rest/agenda/rest-agenda.service';\r\nimport { AgendaCardType } from '../utils.model';\r\nimport { EventAcademy } from './event.model';\r\n\r\n@Injectable()\r\nexport class EventAcademyRepositoryService {\r\n\r\n private _eventsAndAcademies: EventAcademy[] = [];\r\n private _dataSourceEventsAndAcademies: MatTableDataSource;\r\n\r\n constructor(private restAgenda: RestAgendaService) { }\r\n\r\n public get dataSourceEventsAndAcademies(): MatTableDataSource {\r\n return this._dataSourceEventsAndAcademies;\r\n }\r\n public set dataSourceEventsAndAcademies(value: MatTableDataSource) {\r\n this._dataSourceEventsAndAcademies = value;\r\n }\r\n\r\n public get eventsAndAcademies(): EventAcademy[] {\r\n return this._eventsAndAcademies;\r\n }\r\n public set eventsAndAcademies(value: EventAcademy[]) {\r\n this._eventsAndAcademies = value;\r\n }\r\n\r\n public get filteredEventAcademies(): EventAcademy[] {\r\n return this._eventsAndAcademies.filter((eventAcademy: EventAcademy) => new Date(eventAcademy.expireAt).getTime() > new Date().getTime());\r\n }\r\n\r\n public getByType(type : AgendaCardType) : Observable {\r\n return this.restAgenda.getAgendaElementsByType(type);\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SSE } from 'sse.js';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { HttpHeaders } from '@angular/common/http';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ServerSentService {\r\n eventSource: SSE;\r\n\r\n constructor(private authService : AuthService) { }\r\n \r\n /**\r\n * Create an event source of POST request\r\n *\r\n * @param API url\r\n * @formData data (file, ...etc.)\r\n */\r\n public getEventSourceWithPost(url: string, formData: FormData): SSE {\r\n return this.buildEventSource(url, 'POST', formData);\r\n }\r\n\r\n /**\r\n * Create an event source of GET request\r\n *\r\n * @param API url\r\n */\r\n public getEventSourceWithGet(url: string): SSE {\r\n return this.buildEventSource(url, 'GET');\r\n }\r\n\r\n /**\r\n * Building the event source\r\n *\r\n * @param url API URL\r\n * @param meth (POST, GET, ...etc.)\r\n * @param formData data\r\n */\r\n private buildEventSource(url: string, meth: string, formData?: FormData): SSE {\r\n const options = this.buildOptions(meth, formData);\r\n this.eventSource = new SSE(url, options);\r\n return this.eventSource;\r\n }\r\n\r\n closeEventSource() {\r\n if (!!this.eventSource) {\r\n this.eventSource.close();\r\n }\r\n }\r\n\r\n /**\r\n * Build query options\r\n *\r\n * @param meth POST or GET\r\n * @param formData data\r\n */\r\n private buildOptions(\r\n meth: string,\r\n formData?: FormData\r\n ): {\r\n payload: FormData;\r\n method: string;\r\n headers: HttpHeaders | null;\r\n } {\r\n \r\n const auth = this.authService.upsHttpHeaders;\r\n return {\r\n payload: formData,\r\n method: meth,\r\n headers: auth,\r\n };\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport firebase from \"firebase/app\";\r\nimport 'firebase/remote-config';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Router } from '@angular/router';\r\nimport { AngularFireAnalytics } from \"@angular/fire/analytics\";\r\n\r\nexport enum mobileOS {\r\n ANDROID = 'android',\r\n IOS = 'ios',\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TranslateFirebaseService {\r\n \r\n private remoteConfig = firebase.remoteConfig();\r\n private osStoreStringBase: string = 'webapp_qr_code_';\r\n\r\n public translations : any;\r\n private setup : boolean = false;\r\n \r\n constructor(private httpClient : HttpClient,\r\n public router : Router, private analytics: AngularFireAnalytics) {\r\n if(!this.setup){\r\n this.setupTranslations();\r\n }\r\n }\r\n \r\n private setupTranslations() {\r\n const languageId = window.navigator.language || 'en';\r\n\r\n if(environment.production) {\r\n //this.remoteConfig.settings.minimumFetchIntervalMillis = 43200000;\r\n this.remoteConfig.settings.minimumFetchIntervalMillis = 3600000;\r\n this.analytics.setUserProperties({ language: languageId });\r\n } else {\r\n this.analytics.setUserProperties({ language: languageId, environment: \"QA\" });\r\n this.remoteConfig.settings.minimumFetchIntervalMillis = 60000;\r\n }\r\n this.remoteConfig.fetchAndActivate().then(res => {\r\n this.translations = this.remoteConfig.getAll();\r\n this.setup = true;\r\n }, error => {\r\n this.defaultTranslations();\r\n });\r\n }\r\n \r\n defaultTranslations() {\r\n this.httpClient.get(\"assets/i18n/en.json\")\r\n .subscribe(result => {\r\n this.translations = result;\r\n });\r\n }\r\n \r\n getTranslation(key: string): string {\r\n if (this.translations == undefined) return;\r\n else if (!this.setup) return this.translations[key];\r\n else if (this.translations[key]) return this.translations[key]._value;\r\n else return \"\";\r\n }\r\n \r\n /**\r\n * Determine the mobile operating system.\r\n * This function returns one of 'iOS', 'Android', 'Windows Phone', or 'unknown'.\r\n *\r\n * @returns {String}\r\n */\r\n getMobileOperatingSystem(): string {\r\n var userAgent = navigator.userAgent || navigator.vendor || (window as any).opera;\r\n \r\n // Windows Phone must come first because its UA also contains \"Android\"\r\n if (/windows phone/i.test(userAgent)) {\r\n return \"Windows Phone\";\r\n }\r\n \r\n if (/android/i.test(userAgent)) {\r\n return mobileOS.ANDROID;\r\n }\r\n \r\n // iOS detection from: http://stackoverflow.com/a/9039885/177710\r\n if (/iPad|iPhone|iPod/.test(userAgent) && !(window as any).MSStream) {\r\n return mobileOS.IOS;\r\n }\r\n \r\n return \"default\";\r\n }\r\n\r\n redirectToStore() {\r\n this.remoteConfig.fetchAndActivate().then(res => {\r\n this.translations = this.remoteConfig.getAll();\r\n if(this.getTranslation(this.osStoreStringBase + this.getMobileOperatingSystem())) {\r\n window.open(this.getTranslation(this.osStoreStringBase + this.getMobileOperatingSystem()), '_self');\r\n } else {\r\n this.router.navigateByUrl('/prelogin');\r\n }\r\n }, error => {\r\n this.defaultTranslations();\r\n });\r\n }\r\n\r\n}\r\n","export class Document {\r\n constructor(\r\n public id?: number,\r\n public index?: number,\r\n public url?: string,\r\n public title?: string,\r\n public filename?: string,\r\n public languageId?: string,\r\n public isWarranty?: boolean,\r\n public contentType?: string,\r\n public link?: string,\r\n public file?: File | null,\r\n public storageUri?: string,\r\n public externalLink?: string,\r\n public status?: DocumentStatus,\r\n public description?: string,\r\n public serialNumbers?: string[],\r\n public articleCodes?: string[]\r\n ) {}\r\n}\r\n\r\nexport enum DocumentStatus {\r\n NOT_PUBLISHED = 0,\r\n PUBLISHED = 1,\r\n}\r\n\r\nexport class Media {\r\n constructor(\r\n public id?: number,\r\n public articleIds?: number[],\r\n public storageUri?: string,\r\n public contentType?: string | CustomContentType\r\n ) {}\r\n}\r\n\r\nexport class ImageMedia {\r\n constructor(\r\n public id?: number,\r\n public index?: number,\r\n\r\n public articleIds?: number[],\r\n public storageUri?: string,\r\n public contentType?: CustomContentType,\r\n public file?: File,\r\n public languageId?: string,\r\n ) {}\r\n}\r\n\r\nexport class VideoMedia {\r\n constructor(\r\n public id?: number,\r\n public index?: number,\r\n\r\n public articleIds?: number[],\r\n public storageUri?: string,\r\n public externalLink?: string,\r\n public thumbnailLink?: string,\r\n public contentType?: CustomContentType,\r\n public file?: File,\r\n public src?:string,\r\n public languageId?: string,\r\n ) {}\r\n}\r\n\r\nexport class VideoLinks {\r\n constructor(public externalLink?: string, public thumbnailLink?: string) {}\r\n}\r\n\r\nexport class VideoMediaPost {\r\n constructor(\r\n public articleIds?: number[],\r\n public externalLink?: string,\r\n public contentType?: CustomContentType\r\n ) {}\r\n}\r\n\r\nexport class ImageMediaPost {\r\n constructor(public articleIds?: number[], public file?: File) {}\r\n}\r\n\r\nexport enum CustomContentType {\r\n IMAGE = 0,\r\n VIDEO = 1,\r\n}\r\n\r\nexport enum CustomContentString {\r\n IMAGE = 'image/external-link',\r\n VIDEO = 'video/external-link',\r\n}\r\n\r\nexport enum ContentType {\r\n IMAGE,\r\n VIDEO,\r\n UNKNOWN,\r\n}\r\n\r\nexport const validDocumentExtensions: string[] = [\r\n 'pdf',\r\n 'doc',\r\n 'docx',\r\n 'xls',\r\n 'xlsx',\r\n 'csv',\r\n];\r\n\r\nexport const validImagesExtensions: string[] = [\r\n 'jpg',\r\n 'jpeg',\r\n 'png',\r\n 'bmp',\r\n 'tiff',\r\n];\r\n\r\nexport const validVideosExtensions: string[] = [\r\n 'mp4',\r\n 'webm',\r\n];\r\n\r\nexport enum VideoType {\r\n EXTERNAL = 'External',\r\n FILE = 'File'\r\n}\r\n","export default \"#login {\\n min-height: 100vh;\\n}\\n\\n.logo-splash {\\n width: 46%;\\n margin-top: 0.5%;\\n margin-left: 27% !important;\\n}\\n\\n.app-name {\\n padding-top: 18%;\\n padding-left: 27% !important;\\n font-size: xx-large;\\n}\\n\\n.hidden {\\n visibility: hidden;\\n opacity: 0;\\n transition: visibility 0s 1.5s, opacity 1.5s linear;\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uXFwuLlxcLi5cXC4uXFxsb2dpbi5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGlCQUFBO0FBQ0Y7O0FBRUE7RUFDRSxVQUFBO0VBQ0EsZ0JBQUE7RUFDQSwyQkFBQTtBQUNGOztBQUVBO0VBQ0UsZ0JBQUE7RUFDQSw0QkFBQTtFQUNBLG1CQUFBO0FBQ0Y7O0FBRUE7RUFDRSxrQkFBQTtFQUNBLFVBQUE7RUFDQSxtREFBQTtBQUNGIiwiZmlsZSI6ImxvZ2luLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiI2xvZ2luIHtcclxuICBtaW4taGVpZ2h0OiAxMDB2aDtcclxufVxyXG5cclxuLmxvZ28tc3BsYXNoIHtcclxuICB3aWR0aDogNDYlO1xyXG4gIG1hcmdpbi10b3A6IDAuNSU7XHJcbiAgbWFyZ2luLWxlZnQ6IDI3JSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYXBwLW5hbWUge1xyXG4gIHBhZGRpbmctdG9wOiAxOCU7XHJcbiAgcGFkZGluZy1sZWZ0OiAyNyUgIWltcG9ydGFudDtcclxuICBmb250LXNpemU6IHh4LWxhcmdlO1xyXG59XHJcblxyXG4uaGlkZGVuIHtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzIDEuNXMsIG9wYWNpdHkgMS41cyBsaW5lYXI7XHJcbn1cclxuXHJcbiJdfQ== */\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuard } from './guards/auth.guard';\r\nimport { BackofficeRoleGuard } from './guards/backoffice-role.guard';\r\nimport { LoginComponent } from './view/login/login.component';\r\nimport { PolicyTermsComponent } from './view/login/policy-terms/policy-terms.component';\r\nimport { PreloginComponent } from './view/login/prelogin/prelogin.component';\r\nimport { QrCodeComponent } from './view/qr-code/qr-code.component';\r\n\r\nconst routes: Routes = [\r\n { path: \"prelogin\", component: PreloginComponent},\r\n { path: \"login\", component: LoginComponent},\r\n { path: \"policy-terms\", component: PolicyTermsComponent},\r\n { path: \"backoffice\", canActivate:[BackofficeRoleGuard],\r\n loadChildren: () => import('./view/backoffice/backoffice.module').then( m => m.BackofficeModule)\r\n },\r\n { path: \"app\", canActivate:[AuthGuard],\r\n loadChildren: () => import('./view/webapp/webapp.module').then( m => m.WebappModule)\r\n },\r\n { path: \"qr\", component: QrCodeComponent},\r\n {path: '**', redirectTo: \"/prelogin\"},\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule],\r\n providers: [AuthGuard]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { FamilyCertificate, ProductFamily } from './product-family.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { RestProductFamiliesService } from 'src/app/service/rest/product-families/rest-product-families.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class ProductFamilyRepositoryService {\r\n \r\n private _dataSourceProductFamilies: MatTableDataSource = new MatTableDataSource();\r\n private _productFamilies: ProductFamily[] = [];\r\n private _productFamiliesLoaded: boolean = false;\r\n private _familiesCertificates: FamilyCertificate[] = [];\r\n private _productFamiliesCertificatesLoaded: boolean = false;\r\n private _selectedFamily: ProductFamily;\r\n \r\n \r\n constructor(private restProductFamilyService: RestProductFamiliesService) { }\r\n \r\n public get dataSourceProductFamilies(): MatTableDataSource {\r\n return this._dataSourceProductFamilies;\r\n }\r\n public set dataSourceProductFamilies(value: MatTableDataSource) {\r\n this._dataSourceProductFamilies = value;\r\n }\r\n \r\n public get productFamilies(): ProductFamily[] {\r\n return this._productFamilies;\r\n }\r\n public set productFamilies(value: ProductFamily[]) {\r\n this._productFamilies = value;\r\n }\r\n \r\n public get productFamiliesLoaded(): boolean {\r\n return this._productFamiliesLoaded;\r\n }\r\n public set productFamiliesLoaded(value: boolean) {\r\n this._productFamiliesLoaded = value;\r\n }\r\n \r\n public get familiesCertificates(): FamilyCertificate[] {\r\n return this._familiesCertificates;\r\n }\r\n public set familiesCertificates(value: FamilyCertificate[]) {\r\n this._familiesCertificates = value;\r\n }\r\n \r\n public get productFamiliesCertificatesLoaded(): boolean {\r\n return this._productFamiliesCertificatesLoaded;\r\n }\r\n public set productFamiliesCertificatesLoaded(value: boolean) {\r\n this._productFamiliesCertificatesLoaded = value;\r\n }\r\n \r\n public get selectedFamily(): ProductFamily | undefined {\r\n return this._selectedFamily;\r\n }\r\n public set selectedFamily(value: ProductFamily | undefined) {\r\n this._selectedFamily = value;\r\n }\r\n \r\n loadProductFamilies(): Observable {\r\n return this.restProductFamilyService.getAllProductFamilies();\r\n }\r\n \r\n loadFamiliesCertificates(): Observable {\r\n return this.restProductFamilyService.getAllProductFamiliesCertificates();\r\n }\r\n \r\n uploadCertificateFile(file: File): Observable {\r\n return this.restProductFamilyService.uploadFamilyCertificate(file);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class DeviceTypeService {\r\n\r\n constructor() { }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AgendaRepositoryService } from 'src/app/models/agenda/agenda-repository.service';\r\nimport { EventAcademy } from 'src/app/models/event/event.model';\r\nimport { MaintenanceReminder, MaintenanceReminderUser } from 'src/app/models/maintenance/maintenance.model';\r\nimport { News } from 'src/app/models/news/news.model';\r\n\r\n@Injectable()\r\nexport class AgendaDialogService {\r\n\r\n private _dialogTile: string = '';\r\n\r\n private _agendaElement: News | EventAcademy;\r\n private _maintenanceReminder: MaintenanceReminder | MaintenanceReminderUser;\r\n\r\n constructor(private agendaRepo : AgendaRepositoryService) { }\r\n\r\n public get dialogTile(): string {\r\n return this._dialogTile;\r\n }\r\n public set dialogTile(value: string) {\r\n this._dialogTile = value;\r\n }\r\n\r\n public get agendaElement(): News | EventAcademy {\r\n return this._agendaElement;\r\n }\r\n public set agendaElement(value: News | EventAcademy) {\r\n this._agendaElement = value;\r\n }\r\n\r\n public get maintenanceReminder(): MaintenanceReminder | MaintenanceReminderUser {\r\n return this._maintenanceReminder;\r\n }\r\n public set maintenanceReminder(value: MaintenanceReminder | MaintenanceReminderUser) {\r\n this._maintenanceReminder = value;\r\n }\r\n\r\n hideElement() {\r\n this.agendaRepo.hideElement(this.agendaElement.id);\r\n }\r\n\r\n reset() {\r\n this.dialogTile = null;\r\n this.maintenanceReminder = null;\r\n this.agendaElement = null;\r\n\r\n }\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from 'src/app/service/authentication/auth.service';\r\nimport { RestUserService } from 'src/app/service/rest/user/rest-user.service';\r\n\r\n@Component({\r\n selector: 'app-prelogin',\r\n templateUrl: './prelogin.component.html',\r\n styleUrls: ['./prelogin.component.scss']\r\n})\r\nexport class PreloginComponent implements OnInit {\r\n\r\n constructor(private authService: AuthService,\r\n private userRestService: RestUserService){}\r\n\r\n\r\n ngOnInit(): void {\r\n this.configure();\r\n }\r\n\r\n configure(): void {\r\n this.authService.configureLogin();\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ConsentDocumentType, ConsentDocumentTypeParam, UserConsentStatus } from 'src/app/models/user/user.model';\r\nimport { UserService } from 'src/app/models/user/user.service';\r\nimport { TranslateFirebaseService } from 'src/app/service/utils/translate-firebase.service';\r\n\r\n@Component({\r\n selector: 'app-policy-terms',\r\n templateUrl: './policy-terms.component.html',\r\n styleUrls: ['./policy-terms.component.scss']\r\n})\r\nexport class PolicyTermsComponent implements OnInit {\r\n\r\n constructor(public translate: TranslateFirebaseService,\r\n private userService: UserService,\r\n private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n get touLink(): string {\r\n return this.userService.touLink;\r\n }\r\n\r\n get privacyLink(): string {\r\n return this.userService.privacyLink;\r\n }\r\n\r\n goToLink(url: string): void {\r\n window.open(url, '_blank');\r\n }\r\n\r\n accept(): void {\r\n this.userService.touDocs.forEach((doc: UserConsentStatus) => {\r\n if (doc.document === ConsentDocumentType.TERMS_OF_USE) {\r\n this.userService.updateConditions(ConsentDocumentTypeParam.TERMS_OF_USE)\r\n .subscribe(() => {});\r\n } else if (doc.document === ConsentDocumentType.PRIVACY_POLICY) {\r\n this.userService.updateConditions(ConsentDocumentTypeParam.PRIVACY_POLICY)\r\n .subscribe(result => {\r\n console.log(result);\r\n });\r\n }\r\n });\r\n if (this.userService.upsUser.backofficeRole != null) {\r\n this.router.navigateByUrl('/backoffice');\r\n } else {\r\n this.router.navigateByUrl('/app');\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { Observable } from 'rxjs';\r\nimport { RestUserService } from 'src/app/service/rest/user/rest-user.service';\r\nimport { UpsUser } from './user.model';\r\n\r\n@Injectable()\r\nexport class UserRepositoryService {\r\n\r\n private _backofficeUsers: UpsUser[] = [];\r\n public dataSourceUsers = new MatTableDataSource();\r\n\r\n usersLoaded : boolean = false;\r\n\r\n constructor(private userRest : RestUserService) { }\r\n\r\n loadBackofficeUsers() : Observable {\r\n return this.userRest.getUsers();\r\n }\r\n\r\n get backofficeUsers(): UpsUser[] {\r\n return this._backofficeUsers;\r\n }\r\n\r\n set backofficeUsers(users : UpsUser[]) {\r\n this._backofficeUsers = users;\r\n this.dataSourceUsers = new MatTableDataSource(users);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { DeviceType } from './device-type-model';\r\nimport { RestDeviceTypesService } from 'src/app/service/rest/device-type/rest-device-types.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class DeviceTypeRepositoryService {\r\n\r\n private _selectedDeviceType: DeviceType = null;\r\n private _deviceTypes: DeviceType[] = [];\r\n \r\n constructor(private restDeviceTypeService: RestDeviceTypesService) { }\r\n \r\n public get selectedDeviceType(): DeviceType {\r\n return this._selectedDeviceType;\r\n }\r\n public set selectedDeviceType(value: DeviceType) {\r\n this._selectedDeviceType = value;\r\n }\r\n \r\n public get deviceTypes(): DeviceType[] {\r\n return this._deviceTypes;\r\n }\r\n public set deviceTypes(value: DeviceType[]) {\r\n this._deviceTypes = value;\r\n }\r\n\r\n loadDeviceTypes(): Observable {\r\n return this.restDeviceTypeService.getAllDeviceTypes();\r\n }\r\n\r\n}\r\n","export default \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJhcHAuY29tcG9uZW50LnNjc3MifQ== */\";","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ARFileBase64 } from 'src/app/models/procedure/procedure.model';\r\nimport { AuthService } from '../../authentication/auth.service';\r\nimport { BaseApiService } from '../../base-api.service';\r\nimport { TranslateFirebaseService } from '../../utils/translate-firebase.service';\r\n\r\n@Injectable()\r\nexport class RestArFilesService extends BaseApiService {\r\n\r\n constructor(httpClient: HttpClient,\r\n translate : TranslateFirebaseService,\r\n private authService : AuthService) {\r\n super(httpClient, translate);\r\n }\r\n\r\n getAllFiles(): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + 'ArFile', {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n uploadFile(file: File): Observable {\r\n const formData: FormData = new FormData();\r\n formData.append('File', file, file.name);\r\n return this.httpClient.post(super.getUpsApiHost() + \"ArFile\", formData, { headers: this.authService.upsHttpHeaders });\r\n }\r\n\r\n deleteFile(id: number): Observable {\r\n return this.httpClient.delete(super.getUpsApiHost() + \"ArFile/entity/\" + id, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getFile(file: any): Observable {\r\n return this.httpClient.post(super.getUpsApiHost() + \"ArFile\", file, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n getFileBase64(id: number): Observable {\r\n return this.httpClient.get(super.getUpsApiHost() + \"ArFile/binary-data/base64/\" + id, {headers : this.authService.upsHttpHeaders});\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { RestPlantService } from 'src/app/service/rest/plant/rest-plant.service';\r\nimport { TranslateFirebaseService } from 'src/app/service/utils/translate-firebase.service';\r\nimport { Device } from '../device/device.model';\r\nimport { Tag } from '../utils.model';\r\nimport { Plant } from './plant.model';\r\n\r\nconst plantStorageKey = \"UPS-plant\";\r\n\r\n@Injectable()\r\nexport class PlantService {\r\n\r\n private _plant : Plant;\r\n private _deviceList : Device[] = [];\r\n\r\n constructor(private translate: TranslateFirebaseService,\r\n private restService : RestPlantService) {\r\n const data = sessionStorage.getItem(plantStorageKey);\r\n if (data != null) this.plant = JSON.parse(data);\r\n else this.plant = new Plant();\r\n }\r\n\r\n get plant(): Plant {\r\n return this._plant;\r\n }\r\n\r\n set plant(plant: Plant) {\r\n this._plant = plant;\r\n sessionStorage.setItem(plantStorageKey, JSON.stringify(plant));\r\n }\r\n\r\n get plantType() : Tag[]{\r\n const plantTypes = this.translate.getTranslation('enum_plant_type');\r\n if (plantTypes) {\r\n return JSON.parse(plantTypes);\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n get deviceList() : Device[]{\r\n return this._deviceList;\r\n }\r\n\r\n set deviceList(list : Device[]) {\r\n this._deviceList = list;\r\n }\r\n\r\n reset(){\r\n this.plant = new Plant();\r\n sessionStorage.removeItem(plantStorageKey);\r\n }\r\n\r\n getPlantById(id: string) {\r\n return this.restService.getPlant(id);\r\n }\r\n\r\n}\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}