Browse Source

Add 'Process no-data' option to widget's type parameters.

pull/6917/head
devaskim 4 years ago
parent
commit
5a43971fe8
  1. 3
      ui-ngx/src/app/modules/home/components/widget/widget-component.service.ts
  2. 18
      ui-ngx/src/app/modules/home/components/widget/widget.component.ts
  3. 1
      ui-ngx/src/app/shared/models/widget.models.ts

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

@ -502,6 +502,9 @@ export class WidgetComponentService {
if (isUndefined(result.typeParameters.stateData)) { if (isUndefined(result.typeParameters.stateData)) {
result.typeParameters.stateData = false; result.typeParameters.stateData = false;
} }
if (isUndefined(result.typeParameters.processNoDataByWidget)) {
result.typeParameters.processNoDataByWidget = false;
}
if (isFunction(widgetTypeInstance.actionSources)) { if (isFunction(widgetTypeInstance.actionSources)) {
result.actionSources = widgetTypeInstance.actionSources(); result.actionSources = widgetTypeInstance.actionSources();
} else { } else {

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

@ -399,17 +399,17 @@ export class WidgetComponent extends PageComponent implements OnInit, AfterViewI
} }
private displayWidgetInstance(): boolean { private displayWidgetInstance(): boolean {
if (this.widget.type !== widgetType.static) { if (this.widget.type === widgetType.static || this.typeParameters?.processNoDataByWidget) {
for (const id of Object.keys(this.widgetContext.subscriptions)) {
const subscription = this.widgetContext.subscriptions[id];
if (subscription.isDataResolved()) {
return true;
}
}
return false;
} else {
return true; return true;
} }
for (const id of Object.keys(this.widgetContext.subscriptions)) {
const subscription = this.widgetContext.subscriptions[id];
if (subscription.isDataResolved()) {
return true;
}
}
return false;
} }
private onDestroy() { private onDestroy() {

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

@ -159,6 +159,7 @@ export interface WidgetTypeParameters {
singleEntity?: boolean; singleEntity?: boolean;
warnOnPageDataOverflow?: boolean; warnOnPageDataOverflow?: boolean;
ignoreDataUpdateOnIntervalTick?: boolean; ignoreDataUpdateOnIntervalTick?: boolean;
processNoDataByWidget?: boolean;
} }
export interface WidgetControllerDescriptor { export interface WidgetControllerDescriptor {

Loading…
Cancel
Save