Browse Source

UI: Add new widhet type parameters supportsUnitConversion

pull/13282/head
Vladyslav_Prykhodko 1 year ago
parent
commit
76237337b2
  1. 4
      ui-ngx/src/app/modules/home/components/widget/config/basic/cards/aggregated-data-key-row.component.html
  2. 7
      ui-ngx/src/app/modules/home/components/widget/config/basic/cards/aggregated-data-key-row.component.ts
  3. 1
      ui-ngx/src/app/modules/home/components/widget/config/basic/common/data-key-row.component.html
  4. 7
      ui-ngx/src/app/modules/home/components/widget/config/basic/common/data-key-row.component.ts
  5. 1
      ui-ngx/src/app/modules/home/components/widget/config/datasource.component.html
  6. 4
      ui-ngx/src/app/modules/home/components/widget/config/datasource.component.ts
  7. 1
      ui-ngx/src/app/modules/home/components/widget/lib/settings/common/key/data-key-config-dialog.component.html
  8. 1
      ui-ngx/src/app/modules/home/components/widget/lib/settings/common/key/data-key-config-dialog.component.ts
  9. 1
      ui-ngx/src/app/modules/home/components/widget/lib/settings/common/key/data-key-config.component.html
  10. 4
      ui-ngx/src/app/modules/home/components/widget/lib/settings/common/key/data-key-config.component.ts
  11. 7
      ui-ngx/src/app/modules/home/components/widget/lib/settings/common/key/data-keys.component.ts
  12. 3
      ui-ngx/src/app/modules/home/components/widget/widget-component.service.ts
  13. 1
      ui-ngx/src/app/modules/home/components/widget/widget-config.component.html
  14. 1
      ui-ngx/src/app/shared/models/widget.models.ts

4
ui-ngx/src/app/modules/home/components/widget/config/basic/cards/aggregated-data-key-row.component.html

@ -47,7 +47,9 @@
/>
</mat-form-field>
<div class="tb-units-field">
<tb-unit-input formControlName="units">
<tb-unit-input
[allowConverted]="supportsUnitConversion"
formControlName="units">
</tb-unit-input>
</div>
<div class="tb-decimals-field">

7
ui-ngx/src/app/modules/home/components/widget/config/basic/cards/aggregated-data-key-row.component.ts

@ -123,6 +123,10 @@ export class AggregatedDataKeyRowComponent implements ControlValueAccessor, OnIn
return [DatasourceType.device, DatasourceType.entity].includes(this.datasourceType);
}
get supportsUnitConversion(): boolean {
return this.widgetConfigComponent.modelValue?.typeParameters?.supportsUnitConversion ?? false;
}
private propagateChange = (_val: any) => {};
constructor(private fb: UntypedFormBuilder,
@ -222,7 +226,8 @@ export class AggregatedDataKeyRowComponent implements ControlValueAccessor, OnIn
callbacks: this.callbacks,
hideDataKeyName: true,
hideDataKeyLabel: true,
hideDataKeyColor: true
hideDataKeyColor: true,
supportsUnitConversion: this.supportsUnitConversion
}
}).afterClosed().subscribe((updatedDataKey) => {
if (updatedDataKey) {

1
ui-ngx/src/app/modules/home/components/widget/config/basic/common/data-key-row.component.html

@ -69,6 +69,7 @@
</div>
<div *ngIf="!hideUnits && !hideDataKeyUnits && (!singleRow || displayUnitsOrDigits)" class="tb-units-field">
<tb-unit-input *ngIf="displayUnitsOrDigits"
[allowConverted]="supportsUnitConversion"
formControlName="units">
</tb-unit-input>
</div>

7
ui-ngx/src/app/modules/home/components/widget/config/basic/common/data-key-row.component.ts

@ -225,6 +225,10 @@ export class DataKeyRowComponent implements ControlValueAccessor, OnInit, OnChan
return this.hasAdditionalLatestDataKeys && this.keyRowFormGroup.get('latest').value === true;
}
get supportsUnitConversion(): boolean {
return this.widgetConfigComponent.modelValue?.typeParameters?.supportsUnitConversion ?? false;
}
private propagateChange = (_val: any) => {};
constructor(private fb: UntypedFormBuilder,
@ -337,7 +341,8 @@ export class DataKeyRowComponent implements ControlValueAccessor, OnInit, OnChan
hideDataKeyLabel: this.hideDataKeyLabel,
hideDataKeyColor: this.hideDataKeyColor,
hideDataKeyUnits: this.hideDataKeyUnits || !this.displayUnitsOrDigits,
hideDataKeyDecimals: this.hideDataKeyDecimals || !this.displayUnitsOrDigits
hideDataKeyDecimals: this.hideDataKeyDecimals || !this.displayUnitsOrDigits,
supportsUnitConversion: this.supportsUnitConversion
}
}).afterClosed().subscribe((updatedDataKey) => {
if (updatedDataKey) {

1
ui-ngx/src/app/modules/home/components/widget/config/datasource.component.html

@ -71,6 +71,7 @@
[hideDataKeyUnits]="hideDataKeyUnits"
[hideDataKeyDecimals]="hideDataKeyDecimals"
[maxDataKeys]="maxDataKeys"
[supportsUnitConversion]="supportsUnitConversion"
[optDataKeys]="isDataKeysOptional(datasourceFormGroup.get('type').value)"
[simpleDataKeysLabel]="!hasAdditionalLatestDataKeys"
[aliasController]="aliasController"

4
ui-ngx/src/app/modules/home/components/widget/config/datasource.component.ts

@ -135,6 +135,10 @@ export class DatasourceComponent implements ControlValueAccessor, OnInit, Valida
return this.widgetConfigComponent.modelValue?.dataKeySettingsFunction;
}
public get supportsUnitConversion(): boolean {
return this.widgetConfigComponent.modelValue?.typeParameters?.supportsUnitConversion ?? false;
}
public get dashboard(): Dashboard {
return this.widgetConfigComponent.dashboard;
}

1
ui-ngx/src/app/modules/home/components/widget/lib/settings/common/key/data-key-config-dialog.component.html

@ -50,6 +50,7 @@
[hideDataKeyColor]="data.hideDataKeyColor"
[hideDataKeyUnits]="data.hideDataKeyUnits"
[hideDataKeyDecimals]="data.hideDataKeyDecimals"
[supportsUnitConversion]="data.supportsUnitConversion"
formControlName="dataKey">
</tb-data-key-config>
</div>

1
ui-ngx/src/app/modules/home/components/widget/lib/settings/common/key/data-key-config-dialog.component.ts

@ -56,6 +56,7 @@ export interface DataKeyConfigDialogData {
hideDataKeyColor?: boolean;
hideDataKeyUnits?: boolean;
hideDataKeyDecimals?: boolean;
supportsUnitConversion?: boolean
}
@Component({

1
ui-ngx/src/app/modules/home/components/widget/lib/settings/common/key/data-key-config.component.html

@ -49,6 +49,7 @@
<div class="tb-form-row space-between" *ngIf="!hideDataKeyUnits">
<div translate>widget-config.units-short</div>
<tb-unit-input
[allowConverted]="supportsUnitConversion"
formControlName="units">
</tb-unit-input>
</div>

4
ui-ngx/src/app/modules/home/components/widget/lib/settings/common/key/data-key-config.component.ts

@ -153,6 +153,10 @@ export class DataKeyConfigComponent extends PageComponent implements OnInit, Con
@coerceBoolean()
hideDataKeyDecimals = false;
@Input()
@coerceBoolean()
supportsUnitConversion = false;
@ViewChild('keyInput') keyInput: ElementRef;
@ViewChild('funcBodyEdit', {static: false}) funcBodyEdit: JsFuncComponent;

7
ui-ngx/src/app/modules/home/components/widget/lib/settings/common/key/data-keys.component.ts

@ -169,6 +169,10 @@ export class DataKeysComponent implements ControlValueAccessor, OnInit, OnChange
@coerceBoolean()
simpleDataKeysLabel = false;
@Input()
@coerceBoolean()
supportsUnitConversion = false;
@Input()
aliasController: IAliasController;
@ -610,7 +614,8 @@ export class DataKeysComponent implements ControlValueAccessor, OnInit, OnChange
hideDataKeyLabel: this.hideDataKeyLabel,
hideDataKeyColor: this.hideDataKeyColor,
hideDataKeyUnits: this.hideDataKeyUnits,
hideDataKeyDecimals: this.hideDataKeyDecimals
hideDataKeyDecimals: this.hideDataKeyDecimals,
supportsUnitConversion: this.supportsUnitConversion
}
}).afterClosed().subscribe((updatedDataKey) => {
if (updatedDataKey) {

3
ui-ngx/src/app/modules/home/components/widget/widget-component.service.ts

@ -662,6 +662,9 @@ export class WidgetComponentService {
if (isUndefined(result.typeParameters.targetDeviceOptional)) {
result.typeParameters.targetDeviceOptional = false;
}
if (isUndefined(result.typeParameters.supportsUnitConversion)) {
result.typeParameters.supportsUnitConversion = false;
}
if (isDefinedAndNotNull(result.typeParameters.additionalWidgetActionTypes)) {
if (Array.isArray(result.typeParameters.additionalWidgetActionTypes)) {
result.typeParameters.additionalWidgetActionTypes = result.typeParameters.additionalWidgetActionTypes.filter(type => WidgetActionType[type]);

1
ui-ngx/src/app/modules/home/components/widget/widget-config.component.html

@ -291,6 +291,7 @@
<div *ngIf="displayUnitsConfig" class="tb-form-row space-between">
<div tb-hint-tooltip-icon="{{'widget-config.default-data-key-parameter-hint' | translate}}" translate>widget-config.units-by-default</div>
<tb-unit-input
[allowConverted]="modelValue.typeParameters.supportsUnitConversion"
formControlName="units">
</tb-unit-input>
</div>

1
ui-ngx/src/app/shared/models/widget.models.ts

@ -196,6 +196,7 @@ export interface WidgetTypeParameters {
dataKeySettingsFunction?: DataKeySettingsFunction;
displayRpcMessageToast?: boolean;
targetDeviceOptional?: boolean;
supportsUnitConversion?: boolean;
additionalWidgetActionTypes?: WidgetActionType[];
}

Loading…
Cancel
Save