/*-------------------------------------------------------------------------------------------------------------- * Copyright (c) insite-gmbh. All rights reserved. * Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------------------------*/ import { Component, Inject, Input, OnInit, Pipe, PipeTransform } from '@angular/core'; import { IInaxConfigService, IINAXCONFIGSERVICE_TOKEN, IInaxConfig } from '../../../common/src/interfaces/IInaxConfigService.interface'; import { InaxTranslatePipe } from '../../../translate'; @Component({ selector: 'inax-config', templateUrl: './@inax/inaxConfigUi/src/components/inaxConfig.component.html', styleUrls: ['./@inax/inaxConfigUi/src/components/inaxConfig.component.css'] }) export class InaxConfigComponent implements OnInit { @Input() url: string; @Input() username: string; @Input() password: string; @Input() defaultLanguage: string; @Input() useSignalR: boolean; private _savedSettings: IInaxConfig; // to write back unaltered values private _enabledHubs: Array; constructor(@Inject(IINAXCONFIGSERVICE_TOKEN) private _configurationService: IInaxConfigService) { } ngOnInit() { this._configurationService.getConfiguration().subscribe((configSettings: IInaxConfig) => { this._savedSettings = configSettings; this._enabledHubs = this._savedSettings.SignalRHubs.map((hub: string) => { return configSettings.EnabledSignalRHubs.find((enabledhub) => enabledhub === hub) !== undefined; }); this.url = configSettings.Url; this.username = configSettings.Username; this.password = configSettings.Password; this.defaultLanguage = configSettings.DefaultLanguage; this.useSignalR = configSettings.UseSignalR; }); } apply() { this._configurationService.setConfiguration({ Url: this.url, Username: this.username, Password: this.password, DefaultLanguage: this.defaultLanguage, UseSignalR: this.useSignalR, SignalRHubs: this._savedSettings.SignalRHubs, EnabledSignalRHubs: this._savedSettings.SignalRHubs.filter((hub: string, index: number) => { return this._enabledHubs[index]; }) }); } }