/// /// Copyright © 2016-2022 The Thingsboard Authors /// /// Licensed under the Apache License, Version 2.0 (the "License"); /// you may not use this file except in compliance with the License. /// You may obtain a copy of the License at /// /// http://www.apache.org/licenses/LICENSE-2.0 /// /// Unless required by applicable law or agreed to in writing, software /// distributed under the License is distributed on an "AS IS" BASIS, /// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. /// See the License for the specific language governing permissions and /// limitations under the License. /// import { JsonSettingsSchema } from '@shared/models/widget.models'; import { GaugeType } from '@home/components/widget/lib/canvas-digital-gauge'; import { AnimationRule } from '@home/components/widget/lib/analogue-gauge.models'; import { FontSettings } from '@home/components/widget/lib/settings.models'; export interface AttributeSourceProperty { valueSource: string; entityAlias?: string; attribute?: string; value?: number; } export interface FixedLevelColors { from?: AttributeSourceProperty; to?: AttributeSourceProperty; color: string; } export interface ColorLevelSetting { value: number; color: string; } export type colorLevel = Array; export type attributesGaugeType = 'levelColors' | 'ticks'; export interface DigitalGaugeSettings { minValue?: number; maxValue?: number; gaugeType?: GaugeType; donutStartAngle?: number; neonGlowBrightness?: number; dashThickness?: number; roundedLineCap?: boolean; title?: string; showTitle?: boolean; unitTitle?: string; showUnitTitle?: boolean; showTimestamp?: boolean; timestampFormat?: string; showValue?: boolean; showMinMax?: boolean; gaugeWidthScale?: number; defaultColor?: string; gaugeColor?: string; useFixedLevelColor?: boolean; levelColors?: colorLevel; fixedLevelColors?: FixedLevelColors[]; animation?: boolean; animationDuration?: number; animationRule?: AnimationRule; titleFont?: FontSettings; labelFont?: FontSettings; valueFont?: FontSettings; minMaxFont?: FontSettings; decimals?: number; units?: string; hideValue?: boolean; hideMinMax?: boolean; showTicks?: boolean; ticksValue?: AttributeSourceProperty[]; ticks?: number[]; colorTicks?: string; tickWidth?: number; }