Warning, /firebird/firebird-ng/src/app/services/local-storage.service.ts is written in an unsupported language. File is not indexed.
0001 import { Injectable } from '@angular/core';
0002 import { PersistentProperty } from '../utils/persistent-property';
0003
0004 @Injectable({
0005 providedIn: 'root',
0006 })
0007 export class LocalStorageService {
0008 public geometryUrl: PersistentProperty<string>;
0009 public geometryThemeName: PersistentProperty<string>;
0010 public geometryCutListName: PersistentProperty<string>;
0011 public geometryFastAndUgly: PersistentProperty<boolean>;
0012 public geometryRootFilterName: PersistentProperty<string>;
0013 public dexJsonEventSource: PersistentProperty<string>;
0014 public rootEventSource: PersistentProperty<string>;
0015 public rootEventRange: PersistentProperty<string>;
0016 public localServerUseApi: PersistentProperty<boolean>;
0017 public localServerUrl: PersistentProperty<string>;
0018
0019 public clippingEnabled: PersistentProperty<boolean>;
0020 public clippingStartAngle: PersistentProperty<number>;
0021 public clippingOpeningAngle: PersistentProperty<number>;
0022 public uiSelectedTheme: PersistentProperty<string>;
0023 public useController: PersistentProperty<boolean>;
0024
0025
0026 constructor() {
0027 this.geometryUrl = new PersistentProperty('geometry.selectedGeometry', 'https://eic.github.io/epic/artifacts/tgeo/epic_craterlake.root');
0028 this.geometryFastAndUgly = new PersistentProperty('geometry.FastDefaultMaterial', false);
0029 this.geometryCutListName = new PersistentProperty('geometry.cutListName', "central");
0030 this.geometryThemeName = new PersistentProperty('geometry.themeName', "cool2");
0031 this.geometryRootFilterName = new PersistentProperty('geometry.rootFilterName', "default");
0032 this.dexJsonEventSource = new PersistentProperty('events.dexEventsSource', '');
0033 this.rootEventSource = new PersistentProperty('events.rootEventSource', '');
0034 this.rootEventRange = new PersistentProperty('events.rootEventRange', '0-5');
0035 this.localServerUseApi = new PersistentProperty('server.useApi', false);
0036 this.localServerUrl = new PersistentProperty('server.url', 'http://localhost:5454');
0037 this.clippingEnabled = new PersistentProperty<boolean>('geometry.clippingEnabled', true);
0038 this.uiSelectedTheme = new PersistentProperty('ui.theme', 'system', undefined,
0039 /* validator */ (val) => val === 'dark' || val === 'light' || val === 'system'
0040 );
0041
0042
0043 this.clippingStartAngle = new PersistentProperty<number>('geometry.clippingStartAngle', 90, undefined,
0044 /* validator */ (val) => val >= 0 && val <= 360 // Provide an optional validator ensuring 0 <= angle <= 360
0045 );
0046
0047 this.clippingOpeningAngle = new PersistentProperty<number>('clipping.openingAngle', 180, undefined,
0048 /* validator */ (val) => val >= 0 && val <= 360 // Provide an optional validator ensuring 0 <= angle <= 360
0049 );
0050
0051 this.useController = new PersistentProperty<boolean>('controls.useController', false);
0052 }
0053 }