Commit 1f5a8ef70f8912a00912b318abcf3396e7d72f61

Authored by Kalutka Zhenya
1 parent c768fcba

Updated logic for 'Set entity from widget' in static widget

@@ -42,6 +42,7 @@ import { @@ -42,6 +42,7 @@ import {
42 WidgetActionDialogData 42 WidgetActionDialogData
43 } from '@home/components/widget/action/widget-action-dialog.component'; 43 } from '@home/components/widget/action/widget-action-dialog.component';
44 import { deepClone } from '@core/utils'; 44 import { deepClone } from '@core/utils';
  45 +import { WidgetConfigComponentData } from '@home/models/widget-component.models';
45 46
46 @Component({ 47 @Component({
47 selector: 'tb-manage-widget-actions', 48 selector: 'tb-manage-widget-actions',
@@ -59,6 +60,8 @@ export class ManageWidgetActionsComponent extends PageComponent implements OnIni @@ -59,6 +60,8 @@ export class ManageWidgetActionsComponent extends PageComponent implements OnIni
59 60
60 @Input() disabled: boolean; 61 @Input() disabled: boolean;
61 62
  63 + @Input() modelValue: WidgetConfigComponentData;
  64 +
62 @Input() callbacks: WidgetActionCallbacks; 65 @Input() callbacks: WidgetActionCallbacks;
63 66
64 innerValue: WidgetActionsData; 67 innerValue: WidgetActionsData;
@@ -180,7 +183,8 @@ export class ManageWidgetActionsComponent extends PageComponent implements OnIni @@ -180,7 +183,8 @@ export class ManageWidgetActionsComponent extends PageComponent implements OnIni
180 isAdd, 183 isAdd,
181 callbacks: this.callbacks, 184 callbacks: this.callbacks,
182 actionsData, 185 actionsData,
183 - action: deepClone(action) 186 + action: deepClone(action),
  187 + modelValue: this.modelValue
184 } 188 }
185 }).afterClosed().subscribe( 189 }).afterClosed().subscribe(
186 (res) => { 190 (res) => {
@@ -120,7 +120,7 @@ @@ -120,7 +120,7 @@
120 widgetActionFormGroup.get('type').value === widgetActionType.updateDashboardState || 120 widgetActionFormGroup.get('type').value === widgetActionType.updateDashboardState ||
121 widgetActionFormGroup.get('type').value === widgetActionType.openDashboard ? 121 widgetActionFormGroup.get('type').value === widgetActionType.openDashboard ?
122 widgetActionFormGroup.get('type').value : ''"> 122 widgetActionFormGroup.get('type').value : ''">
123 - <mat-checkbox formControlName="setEntityId"> 123 + <mat-checkbox *ngIf="data.modelValue.widgetType !== widgetType.static" formControlName="setEntityId">
124 {{ 'widget-action.set-entity-from-widget' | translate }} 124 {{ 'widget-action.set-entity-from-widget' | translate }}
125 </mat-checkbox> 125 </mat-checkbox>
126 <mat-form-field *ngIf="actionTypeFormGroup.get('setEntityId').value" 126 <mat-form-field *ngIf="actionTypeFormGroup.get('setEntityId').value"
@@ -28,6 +28,10 @@ import { @@ -28,6 +28,10 @@ import {
28 ValidatorFn, 28 ValidatorFn,
29 Validators 29 Validators
30 } from '@angular/forms'; 30 } from '@angular/forms';
  31 +import {
  32 + WidgetConfigComponentData,
  33 + WidgetInfo
  34 +} from '@home/models/widget-component.models';
31 import { Observable, of } from 'rxjs'; 35 import { Observable, of } from 'rxjs';
32 import { Router } from '@angular/router'; 36 import { Router } from '@angular/router';
33 import { DialogComponent } from '@app/shared/components/dialog.component'; 37 import { DialogComponent } from '@app/shared/components/dialog.component';
@@ -46,12 +50,14 @@ import { DashboardUtilsService } from '@core/services/dashboard-utils.service'; @@ -46,12 +50,14 @@ import { DashboardUtilsService } from '@core/services/dashboard-utils.service';
46 import { CustomActionEditorCompleter } from '@home/components/widget/action/custom-action.models'; 50 import { CustomActionEditorCompleter } from '@home/components/widget/action/custom-action.models';
47 import { isDefinedAndNotNull } from '@core/utils'; 51 import { isDefinedAndNotNull } from '@core/utils';
48 import { MobileActionEditorComponent } from '@home/components/widget/action/mobile-action-editor.component'; 52 import { MobileActionEditorComponent } from '@home/components/widget/action/mobile-action-editor.component';
  53 +import { widgetType } from '@shared/models/widget.models';
49 54
50 export interface WidgetActionDialogData { 55 export interface WidgetActionDialogData {
51 isAdd: boolean; 56 isAdd: boolean;
52 callbacks: WidgetActionCallbacks; 57 callbacks: WidgetActionCallbacks;
53 actionsData: WidgetActionsData; 58 actionsData: WidgetActionsData;
54 action?: WidgetActionDescriptorInfo; 59 action?: WidgetActionDescriptorInfo;
  60 + modelValue: WidgetConfigComponentData;
55 } 61 }
56 62
57 @Component({ 63 @Component({
@@ -67,8 +73,10 @@ export class WidgetActionDialogComponent extends DialogComponent<WidgetActionDia @@ -67,8 +73,10 @@ export class WidgetActionDialogComponent extends DialogComponent<WidgetActionDia
67 73
68 @ViewChild('mobileActionEditor', {static: false}) mobileActionEditor: MobileActionEditorComponent; 74 @ViewChild('mobileActionEditor', {static: false}) mobileActionEditor: MobileActionEditorComponent;
69 75
  76 +
70 widgetActionFormGroup: FormGroup; 77 widgetActionFormGroup: FormGroup;
71 actionTypeFormGroup: FormGroup; 78 actionTypeFormGroup: FormGroup;
  79 + widgetInfo: WidgetInfo;
72 80
73 isAdd: boolean; 81 isAdd: boolean;
74 action: WidgetActionDescriptorInfo; 82 action: WidgetActionDescriptorInfo;
@@ -84,6 +92,7 @@ export class WidgetActionDialogComponent extends DialogComponent<WidgetActionDia @@ -84,6 +92,7 @@ export class WidgetActionDialogComponent extends DialogComponent<WidgetActionDia
84 customActionEditorCompleter = CustomActionEditorCompleter; 92 customActionEditorCompleter = CustomActionEditorCompleter;
85 93
86 submitted = false; 94 submitted = false;
  95 + widgetType = widgetType;
87 96
88 constructor(protected store: Store<AppState>, 97 constructor(protected store: Store<AppState>,
89 protected router: Router, 98 protected router: Router,
@@ -139,9 +148,10 @@ export class WidgetActionDialogComponent extends DialogComponent<WidgetActionDia @@ -139,9 +148,10 @@ export class WidgetActionDialogComponent extends DialogComponent<WidgetActionDia
139 this.fb.control(action ? action.targetDashboardStateId : null, 148 this.fb.control(action ? action.targetDashboardStateId : null,
140 type === WidgetActionType.openDashboardState ? [Validators.required] : []) 149 type === WidgetActionType.openDashboardState ? [Validators.required] : [])
141 ); 150 );
  151 +
142 this.actionTypeFormGroup.addControl( 152 this.actionTypeFormGroup.addControl(
143 'setEntityId', 153 'setEntityId',
144 - this.fb.control(action ? action.setEntityId : true, []) 154 + this.fb.control(action ? action.setEntityId : this.data.modelValue.widgetType === widgetType.static ? false : true , [])
145 ); 155 );
146 this.actionTypeFormGroup.addControl( 156 this.actionTypeFormGroup.addControl(
147 'stateEntityParamName', 157 'stateEntityParamName',
@@ -443,6 +443,7 @@ @@ -443,6 +443,7 @@
443 <mat-tab label="{{ 'widget-config.actions' | translate }}" [formGroup]="actionsSettings"> 443 <mat-tab label="{{ 'widget-config.actions' | translate }}" [formGroup]="actionsSettings">
444 <tb-manage-widget-actions 444 <tb-manage-widget-actions
445 [callbacks]="widgetConfigCallbacks" 445 [callbacks]="widgetConfigCallbacks"
  446 + [modelValue] = "modelValue"
446 formControlName="actionsData"> 447 formControlName="actionsData">
447 </tb-manage-widget-actions> 448 </tb-manage-widget-actions>
448 </mat-tab> 449 </mat-tab>