Back to home page

EIC code displayed by LXR

 
 

    


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 }