@c8y/ngx-components
Version:
Angular modules for Cumulocity IoT applications
40 lines • 5.73 kB
JavaScript
import { effect, Injectable, signal } from '@angular/core';
import * as i0 from "@angular/core";
export class WorkspaceConfigurationService {
constructor() {
this.LOCAL_STORAGE_KEY = 'c8y-configs';
this.LOCAL_STORAGE_DEFAULT_ID_KEY = 'c8y-default-config-id';
this.contextIdSignal = signal(null);
effect(() => {
const signalValue = this.contextIdSignal();
if (signalValue !== null) {
this.LOCAL_STORAGE_KEY = `c8y-configs-${signalValue}`;
this.LOCAL_STORAGE_DEFAULT_ID_KEY = `c8y-default-config-id-${signalValue}`;
}
if (signalValue == null) {
this.LOCAL_STORAGE_KEY = 'c8y-configs';
this.LOCAL_STORAGE_DEFAULT_ID_KEY = 'c8y-default-config-id';
}
});
}
getConfigurations() {
const configurations = localStorage.getItem(this.LOCAL_STORAGE_KEY);
return configurations ? JSON.parse(configurations) : [];
}
getDefaultConfigurationId() {
return localStorage.getItem(this.LOCAL_STORAGE_DEFAULT_ID_KEY);
}
saveConfigurations(configurations, id) {
localStorage.setItem(this.LOCAL_STORAGE_KEY, JSON.stringify(configurations));
localStorage.setItem(this.LOCAL_STORAGE_DEFAULT_ID_KEY, id);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceConfigurationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceConfigurationService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WorkspaceConfigurationService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: () => [] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3NwYWNlLWNvbmZpZ3VyYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2RhdGFwb2ludC1leHBsb3Jlci92aWV3L2NvbmZpZ3VyYXRpb24vd29ya3NwYWNlLWNvbmZpZ3VyYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQWtCLE1BQU0sZUFBZSxDQUFDOztBQU0zRSxNQUFNLE9BQU8sNkJBQTZCO0lBS3hDO1FBSkEsc0JBQWlCLEdBQUcsYUFBYSxDQUFDO1FBQ2xDLGlDQUE0QixHQUFHLHVCQUF1QixDQUFDO1FBQ3ZELG9CQUFlLEdBQTJDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUdyRSxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1YsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzNDLElBQUksV0FBVyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUN6QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsZUFBZSxXQUFXLEVBQUUsQ0FBQztnQkFDdEQsSUFBSSxDQUFDLDRCQUE0QixHQUFHLHlCQUF5QixXQUFXLEVBQUUsQ0FBQztZQUM3RSxDQUFDO1lBQ0QsSUFBSSxXQUFXLElBQUksSUFBSSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxhQUFhLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyw0QkFBNEIsR0FBRyx1QkFBdUIsQ0FBQztZQUM5RCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsTUFBTSxjQUFjLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNwRSxPQUFPLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFELENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxrQkFBa0IsQ0FBQyxjQUF3QyxFQUFFLEVBQVU7UUFDckUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDO1FBQzdFLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLDRCQUE0QixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlELENBQUM7K0dBL0JVLDZCQUE2QjttSEFBN0IsNkJBQTZCLGNBRjVCLE1BQU07OzRGQUVQLDZCQUE2QjtrQkFIekMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBlZmZlY3QsIEluamVjdGFibGUsIHNpZ25hbCwgV3JpdGFibGVTaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdvcmtzcGFjZUNvbmZpZ3VyYXRpb24gfSBmcm9tICcuL3dvcmtzcGFjZS1jb25maWd1cmF0aW9uLm1vZGVsJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgV29ya3NwYWNlQ29uZmlndXJhdGlvblNlcnZpY2Uge1xuICBMT0NBTF9TVE9SQUdFX0tFWSA9ICdjOHktY29uZmlncyc7XG4gIExPQ0FMX1NUT1JBR0VfREVGQVVMVF9JRF9LRVkgPSAnYzh5LWRlZmF1bHQtY29uZmlnLWlkJztcbiAgY29udGV4dElkU2lnbmFsOiBXcml0YWJsZVNpZ25hbDxudW1iZXIgfCBzdHJpbmcgfCBudWxsPiA9IHNpZ25hbChudWxsKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoKCkgPT4ge1xuICAgICAgY29uc3Qgc2lnbmFsVmFsdWUgPSB0aGlzLmNvbnRleHRJZFNpZ25hbCgpO1xuICAgICAgaWYgKHNpZ25hbFZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgIHRoaXMuTE9DQUxfU1RPUkFHRV9LRVkgPSBgYzh5LWNvbmZpZ3MtJHtzaWduYWxWYWx1ZX1gO1xuICAgICAgICB0aGlzLkxPQ0FMX1NUT1JBR0VfREVGQVVMVF9JRF9LRVkgPSBgYzh5LWRlZmF1bHQtY29uZmlnLWlkLSR7c2lnbmFsVmFsdWV9YDtcbiAgICAgIH1cbiAgICAgIGlmIChzaWduYWxWYWx1ZSA9PSBudWxsKSB7XG4gICAgICAgIHRoaXMuTE9DQUxfU1RPUkFHRV9LRVkgPSAnYzh5LWNvbmZpZ3MnO1xuICAgICAgICB0aGlzLkxPQ0FMX1NUT1JBR0VfREVGQVVMVF9JRF9LRVkgPSAnYzh5LWRlZmF1bHQtY29uZmlnLWlkJztcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGdldENvbmZpZ3VyYXRpb25zKCk6IFdvcmtzcGFjZUNvbmZpZ3VyYXRpb25bXSB7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbnMgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLkxPQ0FMX1NUT1JBR0VfS0VZKTtcbiAgICByZXR1cm4gY29uZmlndXJhdGlvbnMgPyBKU09OLnBhcnNlKGNvbmZpZ3VyYXRpb25zKSA6IFtdO1xuICB9XG5cbiAgZ2V0RGVmYXVsdENvbmZpZ3VyYXRpb25JZCgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5MT0NBTF9TVE9SQUdFX0RFRkFVTFRfSURfS0VZKTtcbiAgfVxuXG4gIHNhdmVDb25maWd1cmF0aW9ucyhjb25maWd1cmF0aW9uczogV29ya3NwYWNlQ29uZmlndXJhdGlvbltdLCBpZDogc3RyaW5nKTogdm9pZCB7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5MT0NBTF9TVE9SQUdFX0tFWSwgSlNPTi5zdHJpbmdpZnkoY29uZmlndXJhdGlvbnMpKTtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLkxPQ0FMX1NUT1JBR0VfREVGQVVMVF9JRF9LRVksIGlkKTtcbiAgfVxufVxuIl19