diff --git a/ui-ngx/src/app/modules/home/components/widget/widget-config.component.html b/ui-ngx/src/app/modules/home/components/widget/widget-config.component.html
index 555e489afa..761603a3ee 100644
--- a/ui-ngx/src/app/modules/home/components/widget/widget-config.component.html
+++ b/ui-ngx/src/app/modules/home/components/widget/widget-config.component.html
@@ -306,6 +306,12 @@
+
+
+ widget-config.no-data-display-message
+
+
+
diff --git a/ui-ngx/src/app/modules/home/components/widget/widget-config.component.ts b/ui-ngx/src/app/modules/home/components/widget/widget-config.component.ts
index 48ed4bf700..7d779a3a6c 100644
--- a/ui-ngx/src/app/modules/home/components/widget/widget-config.component.ts
+++ b/ui-ngx/src/app/modules/home/components/widget/widget-config.component.ts
@@ -209,6 +209,7 @@ export class WidgetConfigComponent extends PageComponent implements OnInit, Cont
titleStyle: [null, []],
units: [null, []],
decimals: [null, [Validators.min(0), Validators.max(15), Validators.pattern(/^\d*$/)]],
+ noDataDisplayMessage: [null, []],
showLegend: [null, []],
legendConfig: [null, []]
});
@@ -411,6 +412,7 @@ export class WidgetConfigComponent extends PageComponent implements OnInit, Cont
},
units: config.units,
decimals: config.decimals,
+ noDataDisplayMessage: isDefined(config.noDataDisplayMessage) ? config.noDataDisplayMessage : '',
showLegend: isDefined(config.showLegend) ? config.showLegend :
this.widgetType === widgetType.timeseries,
legendConfig: config.legendConfig || defaultLegendConfig(this.widgetType)
diff --git a/ui-ngx/src/app/modules/home/components/widget/widget.component.html b/ui-ngx/src/app/modules/home/components/widget/widget.component.html
index 0b0498d562..fcaede8fc9 100644
--- a/ui-ngx/src/app/modules/home/components/widget/widget.component.html
+++ b/ui-ngx/src/app/modules/home/components/widget/widget.component.html
@@ -39,8 +39,7 @@
widget.no-data
+ class="tb-absolute-fill">{{ noDataDisplayMessageText }}
diff --git a/ui-ngx/src/app/modules/home/components/widget/widget.component.ts b/ui-ngx/src/app/modules/home/components/widget/widget.component.ts
index 920f6721b9..b95d96064c 100644
--- a/ui-ngx/src/app/modules/home/components/widget/widget.component.ts
+++ b/ui-ngx/src/app/modules/home/components/widget/widget.component.ts
@@ -361,6 +361,11 @@ export class WidgetComponent extends PageComponent implements OnInit, AfterViewI
}, 0);
}
+ get noDataDisplayMessageText(): string {
+ const noDataDisplayMessage = isNotEmptyStr(this.widget.config.noDataDisplayMessage) ? this.widget.config.noDataDisplayMessage : '{i18n:widget.no-data}';
+ return this.utils.customTranslation(noDataDisplayMessage, noDataDisplayMessage);
+ }
+
ngAfterViewInit(): void {
}
diff --git a/ui-ngx/src/app/modules/home/models/dashboard-component.models.ts b/ui-ngx/src/app/modules/home/models/dashboard-component.models.ts
index 2a3d92cf31..efbb3a5c23 100644
--- a/ui-ngx/src/app/modules/home/models/dashboard-component.models.ts
+++ b/ui-ngx/src/app/modules/home/models/dashboard-component.models.ts
@@ -323,6 +323,8 @@ export class DashboardWidget implements GridsterItem, IDashboardWidget {
dropShadow: boolean;
enableFullscreen: boolean;
+ noDataDisplayMessage: string;
+
hasTimewindow: boolean;
hasAggregation: boolean;
@@ -411,6 +413,7 @@ export class DashboardWidget implements GridsterItem, IDashboardWidget {
this.titleIcon = isDefined(this.widget.config.titleIcon) ? this.widget.config.titleIcon : '';
this.showTitleIcon = isDefined(this.widget.config.showTitleIcon) ? this.widget.config.showTitleIcon : false;
+ this.noDataDisplayMessage = isDefined(this.widget.config.noDataDisplayMessage) ? this.widget.config.noDataDisplayMessage : '';
this.titleIconStyle = {};
if (this.widget.config.iconColor) {
this.titleIconStyle.color = this.widget.config.iconColor;
diff --git a/ui-ngx/src/app/shared/models/widget.models.ts b/ui-ngx/src/app/shared/models/widget.models.ts
index 687566afa7..0b0353c7a9 100644
--- a/ui-ngx/src/app/shared/models/widget.models.ts
+++ b/ui-ngx/src/app/shared/models/widget.models.ts
@@ -509,6 +509,7 @@ export interface WidgetConfig {
titleStyle?: {[klass: string]: any};
units?: string;
decimals?: number;
+ noDataDisplayMessage?: string;
actions?: {[actionSourceId: string]: Array};
settings?: any;
alarmSource?: Datasource;
diff --git a/ui-ngx/src/assets/locale/locale.constant-en_US.json b/ui-ngx/src/assets/locale/locale.constant-en_US.json
index 7451e2c1b9..4528890b14 100644
--- a/ui-ngx/src/assets/locale/locale.constant-en_US.json
+++ b/ui-ngx/src/assets/locale/locale.constant-en_US.json
@@ -3077,7 +3077,8 @@
"icon-color": "Icon color",
"icon-size": "Icon size",
"advanced-settings": "Advanced settings",
- "data-settings": "Data settings"
+ "data-settings": "Data settings",
+ "no-data-display-message": "\"No data to display\" alternative message"
},
"widget-type": {
"import": "Import widget type",
diff --git a/ui-ngx/src/assets/locale/locale.constant-ru_RU.json b/ui-ngx/src/assets/locale/locale.constant-ru_RU.json
index d6fefd0e55..66d99281bb 100644
--- a/ui-ngx/src/assets/locale/locale.constant-ru_RU.json
+++ b/ui-ngx/src/assets/locale/locale.constant-ru_RU.json
@@ -1679,7 +1679,8 @@
"icon-color": "Цвет иконки",
"icon-size": "Размер иконки",
"advanced-settings": "Расширенные настройки",
- "data-settings": "Настройки данных"
+ "data-settings": "Настройки данных",
+ "no-data-display-message": "\"Нет данных для отображения\" альтернативный текст"
},
"widget-type": {
"import": "Импортировать тип виджета",
diff --git a/ui-ngx/src/assets/locale/locale.constant-uk_UA.json b/ui-ngx/src/assets/locale/locale.constant-uk_UA.json
index 0031ca2ad0..43691918dd 100644
--- a/ui-ngx/src/assets/locale/locale.constant-uk_UA.json
+++ b/ui-ngx/src/assets/locale/locale.constant-uk_UA.json
@@ -2251,7 +2251,8 @@
"icon-color": "Колір іконки",
"icon-size": "Розмір іконки",
"advanced-settings": "Розширені налаштування",
- "data-settings": "Налаштування даних"
+ "data-settings": "Налаштування даних",
+ "no-data-display-message": "\"Немає данних для відображення\" альтернативний текст"
},
"widget-type": {
"import": "Імпортувати тип віджета",