UI: Implement 'copy color settings from' for color settings component.
This commit is contained in:
		
							parent
							
								
									00a09cd80b
								
							
						
					
					
						commit
						b45b5827a9
					
				@ -61,7 +61,7 @@
 | 
			
		||||
    </tb-font-settings>
 | 
			
		||||
  </div>
 | 
			
		||||
  <div class="tb-color-field">
 | 
			
		||||
    <tb-color-settings formControlName="color">
 | 
			
		||||
    <tb-color-settings formControlName="color" settingsKey="{{ (index+1) }}. {{ aggregatedValueCardKeyPositionTranslationMap.get(keyRowFormGroup.get('position').value) | translate }}">
 | 
			
		||||
    </tb-color-settings>
 | 
			
		||||
  </div>
 | 
			
		||||
  <div class="tb-arrow-field">
 | 
			
		||||
 | 
			
		||||
@ -87,6 +87,9 @@ export class AggregatedDataKeyRowComponent implements ControlValueAccessor, OnIn
 | 
			
		||||
  @Input()
 | 
			
		||||
  keyName: string;
 | 
			
		||||
 | 
			
		||||
  @Input()
 | 
			
		||||
  index: number;
 | 
			
		||||
 | 
			
		||||
  @Output()
 | 
			
		||||
  keyRemoved = new EventEmitter();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -32,6 +32,7 @@
 | 
			
		||||
      <div *ngFor="let keyControl of keysFormArray().controls; trackBy: trackByKey; let $index = index;">
 | 
			
		||||
        <tb-aggregated-data-key-row fxFlex
 | 
			
		||||
                         [formControl]="keyControl"
 | 
			
		||||
                         [index]="$index"
 | 
			
		||||
                         [datasourceType]="datasourceType"
 | 
			
		||||
                         [keyName]="keyName"
 | 
			
		||||
                         (keyRemoved)="removeKey($index)">
 | 
			
		||||
 | 
			
		||||
@ -56,7 +56,7 @@
 | 
			
		||||
        <tb-font-settings formControlName="labelFont"
 | 
			
		||||
                          [previewText]="valueCardWidgetConfigForm.get('label').value">
 | 
			
		||||
        </tb-font-settings>
 | 
			
		||||
        <tb-color-settings formControlName="labelColor">
 | 
			
		||||
        <tb-color-settings formControlName="labelColor" settingsKey="{{'widgets.value-card.label' | translate }}">
 | 
			
		||||
        </tb-color-settings>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
@ -74,7 +74,7 @@
 | 
			
		||||
                                 [color]="valueCardWidgetConfigForm.get('iconColor').value?.color"
 | 
			
		||||
                                 formControlName="icon">
 | 
			
		||||
        </tb-material-icon-select>
 | 
			
		||||
        <tb-color-settings formControlName="iconColor">
 | 
			
		||||
        <tb-color-settings formControlName="iconColor" settingsKey="{{'widgets.value-card.icon' | translate }}">
 | 
			
		||||
        </tb-color-settings>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
@ -89,7 +89,7 @@
 | 
			
		||||
        <tb-font-settings formControlName="valueFont"
 | 
			
		||||
                          [previewText]="valuePreviewFn">
 | 
			
		||||
        </tb-font-settings>
 | 
			
		||||
        <tb-color-settings formControlName="valueColor">
 | 
			
		||||
        <tb-color-settings formControlName="valueColor" settingsKey="{{'widgets.value-card.value' | translate }}">
 | 
			
		||||
        </tb-color-settings>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
@ -102,7 +102,7 @@
 | 
			
		||||
        <tb-font-settings formControlName="dateFont"
 | 
			
		||||
                          [previewText]="datePreviewFn">
 | 
			
		||||
        </tb-font-settings>
 | 
			
		||||
        <tb-color-settings formControlName="dateColor">
 | 
			
		||||
        <tb-color-settings formControlName="dateColor" settingsKey="{{'widgets.value-card.date' | translate }}">
 | 
			
		||||
        </tb-color-settings>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
@ -91,18 +91,18 @@
 | 
			
		||||
                          [autoScale]="batteryLevelWidgetConfigForm.get('autoScaleValueSize').value"
 | 
			
		||||
                          [previewText]="valuePreviewFn">
 | 
			
		||||
        </tb-font-settings>
 | 
			
		||||
        <tb-color-settings formControlName="valueColor">
 | 
			
		||||
        <tb-color-settings formControlName="valueColor" settingsKey="{{'widgets.battery-level.value' | translate }}">
 | 
			
		||||
        </tb-color-settings>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="tb-form-row space-between">
 | 
			
		||||
      <div>{{ 'widgets.battery-level.battery-level-color' | translate }}</div>
 | 
			
		||||
      <tb-color-settings formControlName="batteryLevelColor">
 | 
			
		||||
      <tb-color-settings formControlName="batteryLevelColor" settingsKey="{{'widgets.battery-level.battery-level-color' | translate }}">
 | 
			
		||||
      </tb-color-settings>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="tb-form-row space-between">
 | 
			
		||||
      <div>{{ 'widgets.battery-level.battery-shape-color' | translate }}</div>
 | 
			
		||||
      <tb-color-settings formControlName="batteryShapeColor">
 | 
			
		||||
      <tb-color-settings formControlName="batteryShapeColor" settingsKey="{{'widgets.battery-level.battery-shape-color' | translate }}">
 | 
			
		||||
      </tb-color-settings>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="tb-form-row space-between">
 | 
			
		||||
 | 
			
		||||
@ -49,7 +49,7 @@
 | 
			
		||||
                          [previewText]="centerValuePreviewFn">
 | 
			
		||||
        </tb-font-settings>
 | 
			
		||||
        <tb-color-settings *ngIf="!windSpeedDirectionWidgetConfigForm.get('centerValueKey').value"
 | 
			
		||||
                           formControlName="centerValueColor">
 | 
			
		||||
                           formControlName="centerValueColor" settingsKey="{{'widgets.wind-speed-direction.wind-direction' | translate }}">
 | 
			
		||||
        </tb-color-settings>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
@ -71,7 +71,7 @@
 | 
			
		||||
                          [previewText]="centerValuePreviewFn">
 | 
			
		||||
        </tb-font-settings>
 | 
			
		||||
        <tb-color-settings *ngIf="windSpeedDirectionWidgetConfigForm.get('centerValueKey').value"
 | 
			
		||||
                           formControlName="centerValueColor">
 | 
			
		||||
                           formControlName="centerValueColor" settingsKey="{{'widgets.wind-speed-direction.center-value' | translate }}">
 | 
			
		||||
        </tb-color-settings>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
@ -36,7 +36,7 @@
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="tb-form-row space-between">
 | 
			
		||||
      <div>{{ 'widgets.aggregated-value-card.color' | translate }}</div>
 | 
			
		||||
      <tb-color-settings formControlName="color">
 | 
			
		||||
      <tb-color-settings formControlName="color" settingsKey="{{'widgets.aggregated-value-card.color' | translate }}">
 | 
			
		||||
      </tb-color-settings>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="tb-form-row">
 | 
			
		||||
 | 
			
		||||
@ -41,7 +41,7 @@
 | 
			
		||||
        <tb-font-settings formControlName="labelFont"
 | 
			
		||||
                          [previewText]="label">
 | 
			
		||||
        </tb-font-settings>
 | 
			
		||||
        <tb-color-settings formControlName="labelColor">
 | 
			
		||||
        <tb-color-settings formControlName="labelColor" settingsKey="{{'widgets.value-card.label' | translate }}">
 | 
			
		||||
        </tb-color-settings>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
@ -59,7 +59,7 @@
 | 
			
		||||
                                 [color]="valueCardWidgetSettingsForm.get('iconColor').value?.color"
 | 
			
		||||
                                 formControlName="icon">
 | 
			
		||||
        </tb-material-icon-select>
 | 
			
		||||
        <tb-color-settings formControlName="iconColor">
 | 
			
		||||
        <tb-color-settings formControlName="iconColor" settingsKey="{{'widgets.value-card.icon' | translate }}">
 | 
			
		||||
        </tb-color-settings>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
@ -69,7 +69,7 @@
 | 
			
		||||
        <tb-font-settings formControlName="valueFont"
 | 
			
		||||
                          [previewText]="valuePreviewFn">
 | 
			
		||||
        </tb-font-settings>
 | 
			
		||||
        <tb-color-settings formControlName="valueColor">
 | 
			
		||||
        <tb-color-settings formControlName="valueColor" settingsKey="{{'widgets.value-card.value' | translate }}">
 | 
			
		||||
        </tb-color-settings>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
@ -82,7 +82,7 @@
 | 
			
		||||
        <tb-font-settings formControlName="dateFont"
 | 
			
		||||
                          [previewText]="datePreviewFn">
 | 
			
		||||
        </tb-font-settings>
 | 
			
		||||
        <tb-color-settings formControlName="dateColor">
 | 
			
		||||
        <tb-color-settings formControlName="dateColor" settingsKey="{{'widgets.value-card.date' | translate }}">
 | 
			
		||||
        </tb-color-settings>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
@ -40,6 +40,22 @@
 | 
			
		||||
    <ng-container *ngTemplateOutlet="function"></ng-container>
 | 
			
		||||
  </div>
 | 
			
		||||
  <div class="tb-color-settings-panel-buttons">
 | 
			
		||||
    <button *ngIf="settingsComponents?.length"
 | 
			
		||||
            #copySettingsButton
 | 
			
		||||
            mat-stroked-button
 | 
			
		||||
            color="primary"
 | 
			
		||||
            type="button"
 | 
			
		||||
            [matMenuTriggerFor]="settingsSourcesMenu" [matMenuTriggerData]="{menuWidth: copySettingsButton._elementRef.nativeElement.clientWidth}">
 | 
			
		||||
      {{ 'widgets.color.copy-color-settings-from' | translate }}
 | 
			
		||||
    </button>
 | 
			
		||||
    <mat-menu #settingsSourcesMenu="matMenu">
 | 
			
		||||
      <ng-template matMenuContent let-menuWidth="menuWidth">
 | 
			
		||||
        <div [style.min-width.px]="menuWidth">
 | 
			
		||||
          <button mat-menu-item *ngFor="let comp of settingsComponents" (click)="copyColorSettings(comp)">{{ comp.settingsKey }}</button>
 | 
			
		||||
        </div>
 | 
			
		||||
      </ng-template>
 | 
			
		||||
    </mat-menu>
 | 
			
		||||
    <span fxFlex></span>
 | 
			
		||||
    <button mat-button
 | 
			
		||||
            color="primary"
 | 
			
		||||
            type="button"
 | 
			
		||||
 | 
			
		||||
@ -16,27 +16,14 @@
 | 
			
		||||
 | 
			
		||||
import { Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation } from '@angular/core';
 | 
			
		||||
import { PageComponent } from '@shared/components/page.component';
 | 
			
		||||
import {
 | 
			
		||||
  ColorRange,
 | 
			
		||||
  ColorSettings,
 | 
			
		||||
  ColorType,
 | 
			
		||||
  colorTypeTranslations
 | 
			
		||||
} from '@shared/models/widget-settings.models';
 | 
			
		||||
import { ColorRange, ColorSettings, ColorType, colorTypeTranslations } from '@shared/models/widget-settings.models';
 | 
			
		||||
import { TbPopoverComponent } from '@shared/components/popover.component';
 | 
			
		||||
import {
 | 
			
		||||
  AbstractControl,
 | 
			
		||||
  FormControl,
 | 
			
		||||
  FormGroup,
 | 
			
		||||
  UntypedFormArray,
 | 
			
		||||
  UntypedFormBuilder,
 | 
			
		||||
  UntypedFormGroup
 | 
			
		||||
} from '@angular/forms';
 | 
			
		||||
import { AbstractControl, FormGroup, UntypedFormArray, UntypedFormBuilder, UntypedFormGroup } from '@angular/forms';
 | 
			
		||||
import { Store } from '@ngrx/store';
 | 
			
		||||
import { AppState } from '@core/core.state';
 | 
			
		||||
import { Datasource, DatasourceType } from '@shared/models/widget.models';
 | 
			
		||||
import { deepClone } from '@core/utils';
 | 
			
		||||
import { DataKeyType } from '@shared/models/telemetry/telemetry.models';
 | 
			
		||||
import { WidgetService } from '@core/http/widget.service';
 | 
			
		||||
import { ColorSettingsComponent } from '@home/components/widget/lib/settings/common/color-settings.component';
 | 
			
		||||
 | 
			
		||||
@Component({
 | 
			
		||||
  selector: 'tb-color-settings-panel',
 | 
			
		||||
@ -53,6 +40,9 @@ export class ColorSettingsPanelComponent extends PageComponent implements OnInit
 | 
			
		||||
  @Input()
 | 
			
		||||
  popover: TbPopoverComponent<ColorSettingsPanelComponent>;
 | 
			
		||||
 | 
			
		||||
  @Input()
 | 
			
		||||
  settingsComponents: ColorSettingsComponent[];
 | 
			
		||||
 | 
			
		||||
  @Output()
 | 
			
		||||
  colorSettingsApplied = new EventEmitter<ColorSettings>();
 | 
			
		||||
 | 
			
		||||
@ -121,6 +111,19 @@ export class ColorSettingsPanelComponent extends PageComponent implements OnInit
 | 
			
		||||
    setTimeout(() => {this.popover?.updatePosition();}, 0);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  copyColorSettings(comp: ColorSettingsComponent) {
 | 
			
		||||
    const sourceSettings = deepClone(comp.modelValue);
 | 
			
		||||
    this.colorSettings = sourceSettings;
 | 
			
		||||
    this.colorSettingsFormGroup.patchValue({
 | 
			
		||||
      type: this.colorSettings.type,
 | 
			
		||||
      color: this.colorSettings.color,
 | 
			
		||||
      colorFunction: this.colorSettings.colorFunction
 | 
			
		||||
    }, {emitEvent: false});
 | 
			
		||||
    this.colorSettingsFormGroup.setControl('rangeList',
 | 
			
		||||
      this.fb.array((this.colorSettings.rangeList || []).map(r => this.colorRangeControl(r))), {emitEvent: false});
 | 
			
		||||
    this.colorSettingsFormGroup.markAsDirty();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  cancel() {
 | 
			
		||||
    this.popover?.hide();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
@ -14,7 +14,16 @@
 | 
			
		||||
/// limitations under the License.
 | 
			
		||||
///
 | 
			
		||||
 | 
			
		||||
import { Component, forwardRef, Input, OnInit, Renderer2, ViewContainerRef } from '@angular/core';
 | 
			
		||||
import {
 | 
			
		||||
  Component,
 | 
			
		||||
  forwardRef,
 | 
			
		||||
  Injectable,
 | 
			
		||||
  Input,
 | 
			
		||||
  OnDestroy,
 | 
			
		||||
  OnInit,
 | 
			
		||||
  Renderer2,
 | 
			
		||||
  ViewContainerRef
 | 
			
		||||
} from '@angular/core';
 | 
			
		||||
import { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';
 | 
			
		||||
import { ColorSettings, ColorType, ComponentStyle } from '@shared/models/widget-settings.models';
 | 
			
		||||
import { MatButton } from '@angular/material/button';
 | 
			
		||||
@ -23,6 +32,33 @@ import {
 | 
			
		||||
  ColorSettingsPanelComponent
 | 
			
		||||
} from '@home/components/widget/lib/settings/common/color-settings-panel.component';
 | 
			
		||||
 | 
			
		||||
@Injectable()
 | 
			
		||||
export class ColorSettingsComponentService {
 | 
			
		||||
 | 
			
		||||
  private colorSettingsComponents = new Set<ColorSettingsComponent>();
 | 
			
		||||
 | 
			
		||||
  constructor() {}
 | 
			
		||||
 | 
			
		||||
  public registerColorSettingsComponent(comp: ColorSettingsComponent) {
 | 
			
		||||
    this.colorSettingsComponents.add(comp);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public unregisterColorSettingsComponent(comp: ColorSettingsComponent) {
 | 
			
		||||
    this.colorSettingsComponents.delete(comp);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public getOtherColorSettingsComponents(comp: ColorSettingsComponent): ColorSettingsComponent[] {
 | 
			
		||||
    const result: ColorSettingsComponent[] = [];
 | 
			
		||||
    for (const component of this.colorSettingsComponents.values()) {
 | 
			
		||||
      if (component.settingsKey && component.modelValue && component !== comp) {
 | 
			
		||||
        result.push(component);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    return result;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@Component({
 | 
			
		||||
  selector: 'tb-color-settings',
 | 
			
		||||
  templateUrl: './color-settings.component.html',
 | 
			
		||||
@ -35,11 +71,14 @@ import {
 | 
			
		||||
    }
 | 
			
		||||
  ]
 | 
			
		||||
})
 | 
			
		||||
export class ColorSettingsComponent implements OnInit, ControlValueAccessor {
 | 
			
		||||
export class ColorSettingsComponent implements OnInit, ControlValueAccessor, OnDestroy {
 | 
			
		||||
 | 
			
		||||
  @Input()
 | 
			
		||||
  disabled: boolean;
 | 
			
		||||
 | 
			
		||||
  @Input()
 | 
			
		||||
  settingsKey: string;
 | 
			
		||||
 | 
			
		||||
  colorType = ColorType;
 | 
			
		||||
 | 
			
		||||
  modelValue: ColorSettings;
 | 
			
		||||
@ -50,9 +89,15 @@ export class ColorSettingsComponent implements OnInit, ControlValueAccessor {
 | 
			
		||||
 | 
			
		||||
  constructor(private popoverService: TbPopoverService,
 | 
			
		||||
              private renderer: Renderer2,
 | 
			
		||||
              private viewContainerRef: ViewContainerRef) {}
 | 
			
		||||
              private viewContainerRef: ViewContainerRef,
 | 
			
		||||
              private colorSettingsComponentService: ColorSettingsComponentService) {}
 | 
			
		||||
 | 
			
		||||
  ngOnInit(): void {
 | 
			
		||||
    this.colorSettingsComponentService.registerColorSettingsComponent(this);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  ngOnDestroy() {
 | 
			
		||||
    this.colorSettingsComponentService.unregisterColorSettingsComponent(this);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  registerOnChange(fn: any): void {
 | 
			
		||||
@ -81,7 +126,8 @@ export class ColorSettingsComponent implements OnInit, ControlValueAccessor {
 | 
			
		||||
      this.popoverService.hidePopover(trigger);
 | 
			
		||||
    } else {
 | 
			
		||||
      const ctx: any = {
 | 
			
		||||
        colorSettings: this.modelValue
 | 
			
		||||
        colorSettings: this.modelValue,
 | 
			
		||||
        settingsComponents: this.colorSettingsComponentService.getOtherColorSettingsComponents(this)
 | 
			
		||||
      };
 | 
			
		||||
      const colorSettingsPanelPopover = this.popoverService.displayPopover(trigger, this.renderer,
 | 
			
		||||
        this.viewContainerRef, ColorSettingsPanelComponent, 'left', true, null,
 | 
			
		||||
 | 
			
		||||
@ -42,7 +42,7 @@
 | 
			
		||||
      <tb-font-settings formControlName="labelFont"
 | 
			
		||||
                        [previewText]="countWidgetConfigForm.get('label').value">
 | 
			
		||||
      </tb-font-settings>
 | 
			
		||||
      <tb-color-settings formControlName="labelColor">
 | 
			
		||||
      <tb-color-settings formControlName="labelColor" settingsKey="{{'widgets.count.label' | translate }}">
 | 
			
		||||
      </tb-color-settings>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
@ -63,7 +63,7 @@
 | 
			
		||||
                                                          : ''"
 | 
			
		||||
                               formControlName="icon">
 | 
			
		||||
      </tb-material-icon-select>
 | 
			
		||||
      <tb-color-settings formControlName="iconColor">
 | 
			
		||||
      <tb-color-settings formControlName="iconColor" settingsKey="{{'widgets.count.icon' | translate }}">
 | 
			
		||||
      </tb-color-settings>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
@ -76,7 +76,7 @@
 | 
			
		||||
        <input matInput type="number" min="0" formControlName="iconBackgroundSize" placeholder="{{ 'widget-config.set' | translate }}">
 | 
			
		||||
      </mat-form-field>
 | 
			
		||||
      <tb-css-unit-select fxFlex formControlName="iconBackgroundSizeUnit"></tb-css-unit-select>
 | 
			
		||||
      <tb-color-settings formControlName="iconBackgroundColor">
 | 
			
		||||
      <tb-color-settings formControlName="iconBackgroundColor" settingsKey="{{'widgets.count.icon-background' | translate }}">
 | 
			
		||||
      </tb-color-settings>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
@ -86,7 +86,7 @@
 | 
			
		||||
      <tb-font-settings formControlName="valueFont"
 | 
			
		||||
                        previewText="10">
 | 
			
		||||
      </tb-font-settings>
 | 
			
		||||
      <tb-color-settings formControlName="valueColor">
 | 
			
		||||
      <tb-color-settings formControlName="valueColor" settingsKey="{{'widgets.count.value' | translate }}">
 | 
			
		||||
      </tb-color-settings>
 | 
			
		||||
    </div>
 | 
			
		||||
  </div>
 | 
			
		||||
 | 
			
		||||
@ -27,7 +27,10 @@ import {
 | 
			
		||||
} from '@home/components/widget/lib/settings/common/image-cards-select.component';
 | 
			
		||||
import { FontSettingsComponent } from '@home/components/widget/lib/settings/common/font-settings.component';
 | 
			
		||||
import { FontSettingsPanelComponent } from '@home/components/widget/lib/settings/common/font-settings-panel.component';
 | 
			
		||||
import { ColorSettingsComponent } from '@home/components/widget/lib/settings/common/color-settings.component';
 | 
			
		||||
import {
 | 
			
		||||
  ColorSettingsComponent,
 | 
			
		||||
  ColorSettingsComponentService
 | 
			
		||||
} from '@home/components/widget/lib/settings/common/color-settings.component';
 | 
			
		||||
import {
 | 
			
		||||
  ColorSettingsPanelComponent
 | 
			
		||||
} from '@home/components/widget/lib/settings/common/color-settings-panel.component';
 | 
			
		||||
@ -83,6 +86,9 @@ import {
 | 
			
		||||
    LegendConfigComponent,
 | 
			
		||||
    WidgetFontComponent,
 | 
			
		||||
    CountWidgetSettingsComponent
 | 
			
		||||
  ],
 | 
			
		||||
  providers: [
 | 
			
		||||
    ColorSettingsComponentService
 | 
			
		||||
  ]
 | 
			
		||||
})
 | 
			
		||||
export class WidgetSettingsCommonModule {
 | 
			
		||||
 | 
			
		||||
@ -40,18 +40,18 @@
 | 
			
		||||
                          [autoScale]="batteryLevelWidgetSettingsForm.get('autoScaleValueSize').value"
 | 
			
		||||
                          [previewText]="valuePreviewFn">
 | 
			
		||||
        </tb-font-settings>
 | 
			
		||||
        <tb-color-settings formControlName="valueColor">
 | 
			
		||||
        <tb-color-settings formControlName="valueColor" settingsKey="{{'widgets.battery-level.value' | translate }}">
 | 
			
		||||
        </tb-color-settings>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="tb-form-row space-between">
 | 
			
		||||
      <div>{{ 'widgets.battery-level.battery-level-color' | translate }}</div>
 | 
			
		||||
      <tb-color-settings formControlName="batteryLevelColor">
 | 
			
		||||
      <tb-color-settings formControlName="batteryLevelColor" settingsKey="{{'widgets.battery-level.battery-level-color' | translate }}">
 | 
			
		||||
      </tb-color-settings>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="tb-form-row space-between">
 | 
			
		||||
      <div>{{ 'widgets.battery-level.battery-shape-color' | translate }}</div>
 | 
			
		||||
      <tb-color-settings formControlName="batteryShapeColor">
 | 
			
		||||
      <tb-color-settings formControlName="batteryShapeColor" settingsKey="{{'widgets.battery-level.battery-shape-color' | translate }}">
 | 
			
		||||
      </tb-color-settings>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="tb-form-row space-between">
 | 
			
		||||
 | 
			
		||||
@ -36,7 +36,7 @@
 | 
			
		||||
                          [initialPreviewStyle]="{ color: windSpeedDirectionWidgetSettingsForm.get('centerValueColor').value?.color }"
 | 
			
		||||
                          [previewText]="centerValuePreviewFn">
 | 
			
		||||
        </tb-font-settings>
 | 
			
		||||
        <tb-color-settings formControlName="centerValueColor">
 | 
			
		||||
        <tb-color-settings formControlName="centerValueColor" settingsKey="{{ (hasCenterValue ? 'widgets.wind-speed-direction.center-value' : 'widgets.wind-speed-direction.wind-direction') | translate }}">
 | 
			
		||||
        </tb-color-settings>
 | 
			
		||||
      </div>
 | 
			
		||||
    </div>
 | 
			
		||||
 | 
			
		||||
@ -5201,7 +5201,8 @@
 | 
			
		||||
            "value-range": "Value range",
 | 
			
		||||
            "from": "From",
 | 
			
		||||
            "to": "To",
 | 
			
		||||
            "color-function": "Color function"
 | 
			
		||||
            "color-function": "Color function",
 | 
			
		||||
            "copy-color-settings-from": "Copy color settings from"
 | 
			
		||||
        },
 | 
			
		||||
        "dashboard-state": {
 | 
			
		||||
            "dashboard-state-settings": "Dashboard state settings",
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user