Browse Source

Merge pull request #4592 from kalutkaz/FixSetEntityForStaticWidget

Fix set entity for static widget
pull/4651/head
Igor Kulikov 5 years ago
committed by GitHub
parent
commit
2f7c93a435
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      ui-ngx/src/app/core/utils.ts
  2. 6
      ui-ngx/src/app/modules/home/components/widget/action/manage-widget-actions.component.ts
  3. 2
      ui-ngx/src/app/modules/home/components/widget/action/widget-action-dialog.component.html
  4. 5
      ui-ngx/src/app/modules/home/components/widget/action/widget-action-dialog.component.ts
  5. 1
      ui-ngx/src/app/modules/home/components/widget/widget-config.component.html

4
ui-ngx/src/app/core/utils.ts

@ -438,6 +438,6 @@ export function generateSecret(length?: number): string {
return str.concat(generateSecret(length - str.length));
}
export function validateEntityId(entityId: EntityId): boolean {
return isDefinedAndNotNull(entityId.id) && entityId.id !== NULL_UUID && isDefinedAndNotNull(entityId.entityType);
export function validateEntityId(entityId: EntityId | null): boolean {
return isDefinedAndNotNull(entityId?.id) && entityId.id !== NULL_UUID && isDefinedAndNotNull(entityId?.entityType);
}

6
ui-ngx/src/app/modules/home/components/widget/action/manage-widget-actions.component.ts

@ -42,6 +42,7 @@ import {
WidgetActionDialogData
} from '@home/components/widget/action/widget-action-dialog.component';
import { deepClone } from '@core/utils';
import { widgetType } from '@shared/models/widget.models';
@Component({
selector: 'tb-manage-widget-actions',
@ -59,6 +60,8 @@ export class ManageWidgetActionsComponent extends PageComponent implements OnIni
@Input() disabled: boolean;
@Input() widgetType: widgetType;
@Input() callbacks: WidgetActionCallbacks;
innerValue: WidgetActionsData;
@ -180,7 +183,8 @@ export class ManageWidgetActionsComponent extends PageComponent implements OnIni
isAdd,
callbacks: this.callbacks,
actionsData,
action: deepClone(action)
action: deepClone(action),
widgetType: this.widgetType
}
}).afterClosed().subscribe(
(res) => {

2
ui-ngx/src/app/modules/home/components/widget/action/widget-action-dialog.component.html

@ -120,7 +120,7 @@
widgetActionFormGroup.get('type').value === widgetActionType.updateDashboardState ||
widgetActionFormGroup.get('type').value === widgetActionType.openDashboard ?
widgetActionFormGroup.get('type').value : ''">
<mat-checkbox formControlName="setEntityId">
<mat-checkbox *ngIf="data.widgetType !== widgetType.static" formControlName="setEntityId">
{{ 'widget-action.set-entity-from-widget' | translate }}
</mat-checkbox>
<mat-form-field *ngIf="actionTypeFormGroup.get('setEntityId').value"

5
ui-ngx/src/app/modules/home/components/widget/action/widget-action-dialog.component.ts

@ -46,12 +46,14 @@ import { DashboardUtilsService } from '@core/services/dashboard-utils.service';
import { CustomActionEditorCompleter } from '@home/components/widget/action/custom-action.models';
import { isDefinedAndNotNull } from '@core/utils';
import { MobileActionEditorComponent } from '@home/components/widget/action/mobile-action-editor.component';
import { widgetType } from '@shared/models/widget.models';
export interface WidgetActionDialogData {
isAdd: boolean;
callbacks: WidgetActionCallbacks;
actionsData: WidgetActionsData;
action?: WidgetActionDescriptorInfo;
widgetType: widgetType;
}
@Component({
@ -84,6 +86,7 @@ export class WidgetActionDialogComponent extends DialogComponent<WidgetActionDia
customActionEditorCompleter = CustomActionEditorCompleter;
submitted = false;
widgetType = widgetType;
constructor(protected store: Store<AppState>,
protected router: Router,
@ -141,7 +144,7 @@ export class WidgetActionDialogComponent extends DialogComponent<WidgetActionDia
);
this.actionTypeFormGroup.addControl(
'setEntityId',
this.fb.control(action ? action.setEntityId : true, [])
this.fb.control(this.data.widgetType === widgetType.static ? false : action ? action.setEntityId : true, [])
);
this.actionTypeFormGroup.addControl(
'stateEntityParamName',

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

@ -443,6 +443,7 @@
<mat-tab label="{{ 'widget-config.actions' | translate }}" [formGroup]="actionsSettings">
<tb-manage-widget-actions
[callbacks]="widgetConfigCallbacks"
[widgetType] = "modelValue.widgetType"
formControlName="actionsData">
</tb-manage-widget-actions>
</mat-tab>

Loading…
Cancel
Save