Warning, /firebird/firebird-ng/src/app/services/track-painter-config.ts is written in an unsupported language. File is not indexed.
0001 import { PainterConfig } from './painter-config.interface';
0002 import { BooleanField, SelectField, ColorField, NumberField } from './decorators';
0003
0004 export class TrackPainterConfig implements PainterConfig {
0005 @BooleanField({ label: 'Visible' })
0006 visible: boolean = true;
0007
0008 @SelectField({
0009 label: 'Coloring',
0010 options: [
0011 { value: 'PID', label: 'By Particle ID' },
0012 { value: 'Momentum', label: 'By Momentum' },
0013 { value: 'Color', label: 'Single Color' }
0014 ]
0015 })
0016 coloringMode: 'PID' | 'Momentum' | 'Color' = 'PID';
0017
0018 @ColorField({
0019 label: 'Color',
0020 showWhen: (config) => config.coloringMode === 'Color'
0021 })
0022 color: string = '#FF0000';
0023
0024 @NumberField({
0025 label: 'Line Width',
0026 min: 1,
0027 max: 10,
0028 step: 0.5
0029 })
0030 lineWidth: number = 2;
0031
0032 @BooleanField({ label: 'Show Steps' })
0033 showSteps: boolean = false;
0034
0035 getConfigType(): string {
0036 return 'track';
0037 }
0038 }