From 54ef5364ec159980106ce05491cabdd6a79565c4 Mon Sep 17 00:00:00 2001 From: Igor Kulikov Date: Thu, 19 Oct 2023 19:00:23 +0300 Subject: [PATCH] UI: Improve 'Wind speed and direction' widget data keys configuration. --- .../wind_speed_and_direction.json | 4 +- ...d_speed_and_direction_with_background.json | 4 +- ...-speed-direction-basic-config.component.ts | 32 +++++++-------- ...eed-direction-widget-settings.component.ts | 7 ++-- .../wind-speed-direction-widget.component.ts | 39 ++++++++++--------- .../wind-speed-direction-widget.models.ts | 3 -- .../shared/models/widget-settings.models.ts | 13 +++++-- 7 files changed, 51 insertions(+), 51 deletions(-) diff --git a/application/src/main/data/json/system/widget_types/wind_speed_and_direction.json b/application/src/main/data/json/system/widget_types/wind_speed_and_direction.json index ebdedcf611..d6734f8516 100644 --- a/application/src/main/data/json/system/widget_types/wind_speed_and_direction.json +++ b/application/src/main/data/json/system/widget_types/wind_speed_and_direction.json @@ -11,13 +11,13 @@ "resources": [], "templateHtml": "\n", "templateCss": "", - "controllerScript": "self.onInit = function() {\n self.ctx.$scope.windSpeedDirectionWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.windSpeedDirectionWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 2,\n singleEntity: true,\n previewWidth: '270px',\n previewHeight: '270px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'direction', label: 'Direction', type: 'timeseries' },\n { name: 'speed', label: 'centerValue', type: 'timeseries',\n units: 'm/s', decimals: 1 }];\n }\n };\n};\n\nself.actionSources = function() {\n return {\n 'cardClick': {\n name: 'widget-action.card-click',\n multiple: false\n }\n };\n}\n\nself.onDestroy = function() {\n};\n", + "controllerScript": "self.onInit = function() {\n self.ctx.$scope.windSpeedDirectionWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.windSpeedDirectionWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 2,\n singleEntity: true,\n previewWidth: '270px',\n previewHeight: '270px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'direction', label: 'Wind Direction', type: 'timeseries' },\n { name: 'speed', label: 'Wind Speed', type: 'timeseries',\n units: 'm/s', decimals: 1 }];\n }\n };\n};\n\nself.actionSources = function() {\n return {\n 'cardClick': {\n name: 'widget-action.card-click',\n multiple: false\n }\n };\n}\n\nself.onDestroy = function() {\n};\n", "settingsSchema": "", "dataKeySettingsSchema": "", "settingsDirective": "tb-wind-speed-direction-widget-settings", "hasBasicMode": true, "basicModeDirective": "tb-wind-speed-direction-basic-config", - "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"windDirection\",\"color\":\"#4caf50\",\"settings\":{},\"_hash\":0.7227918773301678,\"funcBody\":\"if (prevValue === 0) {\\n prevValue = Math.random() * 360;\\n}\\nvar value = prevValue + Math.random() * 20 - 10;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 360) {\\n\\tvalue = 360;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"centerValue\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 16 - 8;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 26) {\\n\\tvalue = 26;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"m/s\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"layout\":\"default\",\"centerValueFont\":{\"family\":\"Roboto\",\"size\":24,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"32px\"},\"centerValueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":0.2,\"color\":\"#7191EF\"},{\"from\":0.2,\"to\":3.4,\"color\":\"#5B7EE6\"},{\"from\":3.4,\"to\":8,\"color\":\"#5B7EE6\"},{\"from\":8,\"to\":10.8,\"color\":\"#305AD7\"},{\"from\":10.8,\"to\":17.2,\"color\":\"#234CC7\"},{\"from\":17.2,\"to\":24.5,\"color\":\"#F04022\"},{\"from\":24.5,\"to\":null,\"color\":\"#D81838\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"ticksColor\":\"rgba(0, 0, 0, 0.12)\",\"directionalNamesElseDegrees\":true,\"majorTicksFont\":{\"family\":\"Roboto\",\"size\":14,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"20px\"},\"majorTicksColor\":\"rgba(158, 158, 158, 1)\",\"minorTicksFont\":{\"family\":\"Roboto\",\"size\":14,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"20px\"},\"minorTicksColor\":\"rgba(0, 0, 0, 0.12)\",\"arrowColor\":\"rgba(0, 0, 0, 0.87)\",\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}}},\"title\":\"Wind Speed\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"\",\"decimals\":0,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{\"headerButton\":[]},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":true,\"titleTooltip\":\"\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"titleIcon\":\"mdi:windsock\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"24px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null},\"titleColor\":\"rgba(0, 0, 0, 0.87)\"}" + "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Wind Direction\",\"color\":\"#4caf50\",\"settings\":{},\"_hash\":0.7227918773301678,\"funcBody\":\"if (prevValue === 0) {\\n prevValue = Math.random() * 360;\\n}\\nvar value = prevValue + Math.random() * 20 - 10;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 360) {\\n\\tvalue = 360;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Wind Speed\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 16 - 8;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 26) {\\n\\tvalue = 26;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"m/s\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"layout\":\"default\",\"centerValueFont\":{\"family\":\"Roboto\",\"size\":24,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"32px\"},\"centerValueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":0.2,\"color\":\"#7191EF\"},{\"from\":0.2,\"to\":3.4,\"color\":\"#5B7EE6\"},{\"from\":3.4,\"to\":8,\"color\":\"#5B7EE6\"},{\"from\":8,\"to\":10.8,\"color\":\"#305AD7\"},{\"from\":10.8,\"to\":17.2,\"color\":\"#234CC7\"},{\"from\":17.2,\"to\":24.5,\"color\":\"#F04022\"},{\"from\":24.5,\"to\":null,\"color\":\"#D81838\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"ticksColor\":\"rgba(0, 0, 0, 0.12)\",\"directionalNamesElseDegrees\":true,\"majorTicksFont\":{\"family\":\"Roboto\",\"size\":14,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"20px\"},\"majorTicksColor\":\"rgba(158, 158, 158, 1)\",\"minorTicksFont\":{\"family\":\"Roboto\",\"size\":14,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"20px\"},\"minorTicksColor\":\"rgba(0, 0, 0, 0.12)\",\"arrowColor\":\"rgba(0, 0, 0, 0.87)\",\"background\":{\"type\":\"color\",\"color\":\"#fff\",\"overlay\":{\"enabled\":false,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}}},\"title\":\"Wind Speed\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"\",\"decimals\":0,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{\"headerButton\":[]},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":true,\"titleTooltip\":\"\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"titleIcon\":\"mdi:windsock\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"24px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null},\"titleColor\":\"rgba(0, 0, 0, 0.87)\"}" }, "externalId": null, "tags": [ diff --git a/application/src/main/data/json/system/widget_types/wind_speed_and_direction_with_background.json b/application/src/main/data/json/system/widget_types/wind_speed_and_direction_with_background.json index 1e338cd67e..32a54a29e3 100644 --- a/application/src/main/data/json/system/widget_types/wind_speed_and_direction_with_background.json +++ b/application/src/main/data/json/system/widget_types/wind_speed_and_direction_with_background.json @@ -11,13 +11,13 @@ "resources": [], "templateHtml": "\n", "templateCss": "", - "controllerScript": "self.onInit = function() {\n self.ctx.$scope.windSpeedDirectionWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.windSpeedDirectionWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 2,\n singleEntity: true,\n previewWidth: '270px',\n previewHeight: '270px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'direction', label: 'Direction', type: 'timeseries' },\n { name: 'speed', label: 'centerValue', type: 'timeseries',\n units: 'm/s', decimals: 1 }];\n }\n };\n};\n\nself.actionSources = function() {\n return {\n 'cardClick': {\n name: 'widget-action.card-click',\n multiple: false\n }\n };\n}\n\nself.onDestroy = function() {\n};\n", + "controllerScript": "self.onInit = function() {\n self.ctx.$scope.windSpeedDirectionWidget.onInit();\n};\n\nself.onDataUpdated = function() {\n self.ctx.$scope.windSpeedDirectionWidget.onDataUpdated();\n};\n\nself.typeParameters = function() {\n return {\n maxDatasources: 1,\n maxDataKeys: 2,\n singleEntity: true,\n previewWidth: '270px',\n previewHeight: '270px',\n embedTitlePanel: true,\n defaultDataKeysFunction: function() {\n return [{ name: 'direction', label: 'Wind Direction', type: 'timeseries' },\n { name: 'speed', label: 'Wind Speed', type: 'timeseries',\n units: 'm/s', decimals: 1 }];\n }\n };\n};\n\nself.actionSources = function() {\n return {\n 'cardClick': {\n name: 'widget-action.card-click',\n multiple: false\n }\n };\n}\n\nself.onDestroy = function() {\n};\n", "settingsSchema": "", "dataKeySettingsSchema": "", "settingsDirective": "tb-wind-speed-direction-widget-settings", "hasBasicMode": true, "basicModeDirective": "tb-wind-speed-direction-basic-config", - "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"windDirection\",\"color\":\"#4caf50\",\"settings\":{},\"_hash\":0.7227918773301678,\"funcBody\":\"if (prevValue === 0) {\\n prevValue = Math.random() * 360;\\n}\\nvar value = prevValue + Math.random() * 20 - 10;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 360) {\\n\\tvalue = 360;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"centerValue\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 16 - 8;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 26) {\\n\\tvalue = 26;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"m/s\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"layout\":\"default\",\"centerValueFont\":{\"family\":\"Roboto\",\"size\":24,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"32px\"},\"centerValueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":0.2,\"color\":\"#6083EC\"},{\"from\":0.2,\"to\":3.4,\"color\":\"#5579E5\"},{\"from\":3.4,\"to\":8,\"color\":\"#4369DD\"},{\"from\":8,\"to\":10.8,\"color\":\"#2B54CE\"},{\"from\":10.8,\"to\":17.2,\"color\":\"#224AC2\"},{\"from\":17.2,\"to\":24.5,\"color\":\"#F04022\"},{\"from\":24.5,\"to\":null,\"color\":\"#DE2343\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"ticksColor\":\"rgba(0, 0, 0, 0.12)\",\"directionalNamesElseDegrees\":true,\"majorTicksFont\":{\"family\":\"Roboto\",\"size\":14,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"20px\"},\"majorTicksColor\":\"rgba(158, 158, 158, 1)\",\"minorTicksFont\":{\"family\":\"Roboto\",\"size\":14,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"20px\"},\"minorTicksColor\":\"rgba(0, 0, 0, 0.12)\",\"arrowColor\":\"rgba(0, 0, 0, 0.87)\",\"background\":{\"type\":\"image\",\"imageBase64\":\"data:image/png;base64,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\",\"imageUrl\":null,\"color\":\"#fff\",\"overlay\":{\"enabled\":true,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}}},\"title\":\"Wind Speed\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"\",\"decimals\":0,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{\"headerButton\":[]},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":true,\"titleTooltip\":\"\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"titleIcon\":\"mdi:windsock\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"24px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null},\"titleColor\":\"rgba(0, 0, 0, 0.87)\"}" + "defaultConfig": "{\"datasources\":[{\"type\":\"function\",\"name\":\"function\",\"dataKeys\":[{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Wind Direction\",\"color\":\"#4caf50\",\"settings\":{},\"_hash\":0.7227918773301678,\"funcBody\":\"if (prevValue === 0) {\\n prevValue = Math.random() * 360;\\n}\\nvar value = prevValue + Math.random() * 20 - 10;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 360) {\\n\\tvalue = 360;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":null,\"decimals\":null,\"usePostProcessing\":null,\"postFuncBody\":null},{\"name\":\"f(x)\",\"type\":\"function\",\"label\":\"Wind Speed\",\"color\":\"#2196f3\",\"settings\":{},\"_hash\":0.2392660816082064,\"funcBody\":\"var value = prevValue + Math.random() * 16 - 8;\\nif (value < 0) {\\n\\tvalue = 0;\\n} else if (value > 26) {\\n\\tvalue = 26;\\n}\\nreturn value;\",\"aggregationType\":null,\"units\":\"m/s\",\"decimals\":1,\"usePostProcessing\":null,\"postFuncBody\":null}],\"alarmFilterConfig\":{\"statusList\":[\"ACTIVE\"]}}],\"timewindow\":{\"realtime\":{\"timewindowMs\":60000}},\"showTitle\":true,\"backgroundColor\":\"rgba(0, 0, 0, 0)\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"padding\":\"0px\",\"settings\":{\"layout\":\"default\",\"centerValueFont\":{\"family\":\"Roboto\",\"size\":24,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"32px\"},\"centerValueColor\":{\"type\":\"range\",\"color\":\"rgba(0, 0, 0, 0.87)\",\"rangeList\":[{\"from\":0,\"to\":0.2,\"color\":\"#6083EC\"},{\"from\":0.2,\"to\":3.4,\"color\":\"#5579E5\"},{\"from\":3.4,\"to\":8,\"color\":\"#4369DD\"},{\"from\":8,\"to\":10.8,\"color\":\"#2B54CE\"},{\"from\":10.8,\"to\":17.2,\"color\":\"#224AC2\"},{\"from\":17.2,\"to\":24.5,\"color\":\"#F04022\"},{\"from\":24.5,\"to\":null,\"color\":\"#DE2343\"}],\"colorFunction\":\"var temperature = value;\\nif (typeof temperature !== undefined) {\\n var percent = (temperature + 60)/120 * 100;\\n return tinycolor.mix('blue', 'red', percent).toHexString();\\n}\\nreturn 'blue';\"},\"ticksColor\":\"rgba(0, 0, 0, 0.12)\",\"directionalNamesElseDegrees\":true,\"majorTicksFont\":{\"family\":\"Roboto\",\"size\":14,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"20px\"},\"majorTicksColor\":\"rgba(158, 158, 158, 1)\",\"minorTicksFont\":{\"family\":\"Roboto\",\"size\":14,\"sizeUnit\":\"px\",\"style\":\"normal\",\"weight\":\"500\",\"lineHeight\":\"20px\"},\"minorTicksColor\":\"rgba(0, 0, 0, 0.12)\",\"arrowColor\":\"rgba(0, 0, 0, 0.87)\",\"background\":{\"type\":\"image\",\"imageBase64\":\"data:image/png;base64,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\",\"imageUrl\":null,\"color\":\"#fff\",\"overlay\":{\"enabled\":true,\"color\":\"rgba(255,255,255,0.72)\",\"blur\":3}}},\"title\":\"Wind Speed\",\"dropShadow\":true,\"enableFullscreen\":false,\"titleStyle\":{\"fontSize\":\"16px\",\"fontWeight\":400},\"units\":\"\",\"decimals\":0,\"useDashboardTimewindow\":true,\"showLegend\":false,\"widgetStyle\":{},\"actions\":{\"headerButton\":[]},\"configMode\":\"basic\",\"displayTimewindow\":true,\"margin\":\"0px\",\"borderRadius\":\"0px\",\"widgetCss\":\"\",\"pageSize\":1024,\"noDataDisplayMessage\":\"\",\"showTitleIcon\":true,\"titleTooltip\":\"\",\"titleFont\":{\"size\":16,\"sizeUnit\":\"px\",\"family\":\"Roboto\",\"weight\":\"500\",\"style\":\"normal\",\"lineHeight\":\"24px\"},\"titleIcon\":\"mdi:windsock\",\"iconColor\":\"rgba(0, 0, 0, 0.87)\",\"iconSize\":\"24px\",\"timewindowStyle\":{\"showIcon\":true,\"iconSize\":\"14px\",\"icon\":\"query_builder\",\"iconPosition\":\"left\",\"font\":{\"size\":12,\"sizeUnit\":\"px\",\"family\":null,\"weight\":null,\"style\":null,\"lineHeight\":\"1\"},\"color\":null},\"titleColor\":\"rgba(0, 0, 0, 0.87)\"}" }, "externalId": null, "tags": [ diff --git a/ui-ngx/src/app/modules/home/components/widget/config/basic/weather/wind-speed-direction-basic-config.component.ts b/ui-ngx/src/app/modules/home/components/widget/config/basic/weather/wind-speed-direction-basic-config.component.ts index 45344aba84..6bf8c38e59 100644 --- a/ui-ngx/src/app/modules/home/components/widget/config/basic/weather/wind-speed-direction-basic-config.component.ts +++ b/ui-ngx/src/app/modules/home/components/widget/config/basic/weather/wind-speed-direction-basic-config.component.ts @@ -34,15 +34,8 @@ import { setTimewindowConfig } from '@home/components/widget/config/timewindow-config-panel.component'; import { formatValue, isDefinedAndNotNull, isUndefined } from '@core/utils'; +import { cssSizeToStrSize, getDataKey, resolveCssSize, updateDataKeys } from '@shared/models/widget-settings.models'; import { - cssSizeToStrSize, getDataKey, - getDataKeyByLabel, - resolveCssSize, - updateDataKeyByLabel -} from '@shared/models/widget-settings.models'; -import { - centerValueLabel, - windDirectionLabel, windSpeedDirectionDefaultSettings, WindSpeedDirectionLayout, windSpeedDirectionLayoutImages, @@ -108,25 +101,21 @@ export class WindSpeedDirectionBasicConfigComponent extends BasicWidgetConfigCom } protected defaultDataKeys(configData: WidgetConfigComponentData): DataKey[] { - return [{ name: 'winddirection', label: windDirectionLabel, type: DataKeyType.timeseries }, - { name: 'windspeed', label: centerValueLabel, type: DataKeyType.timeseries, + return [{ name: 'direction', label: 'Wind Direction', type: DataKeyType.timeseries }, + { name: 'speed', label: 'Wind Speed', type: DataKeyType.timeseries, units: 'm/s', decimals: 1 }]; } protected onConfigSet(configData: WidgetConfigComponentData) { const settings: WindSpeedDirectionWidgetSettings = {...windSpeedDirectionDefaultSettings, ...(configData.config.settings || {})}; const iconSize = resolveCssSize(configData.config.iconSize); - let windDirectionDataKey = getDataKeyByLabel(configData.config.datasources, windDirectionLabel); - if (!windDirectionDataKey) { - windDirectionDataKey = getDataKey(configData.config.datasources); - } this.windSpeedDirectionWidgetConfigForm = this.fb.group({ timewindowConfig: [getTimewindowConfig(configData.config), []], datasources: [configData.config.datasources, []], - windDirectionKey: [windDirectionDataKey, [Validators.required]], + windDirectionKey: [getDataKey(configData.config.datasources, 0), [Validators.required]], - centerValueKey: [getDataKeyByLabel(configData.config.datasources, centerValueLabel), []], + centerValueKey: [getDataKey(configData.config.datasources, 1), []], centerValueFont: [settings.centerValueFont, []], centerValueColor: [settings.centerValueColor, []], @@ -167,8 +156,15 @@ export class WindSpeedDirectionBasicConfigComponent extends BasicWidgetConfigCom setTimewindowConfig(this.widgetConfig.config, config.timewindowConfig); this.widgetConfig.config.datasources = config.datasources; - updateDataKeyByLabel(this.widgetConfig.config.datasources, config.windDirectionKey, windDirectionLabel); - updateDataKeyByLabel(this.widgetConfig.config.datasources, config.centerValueKey, centerValueLabel); + const dataKeys: DataKey[] = []; + if (config.windDirectionKey) { + dataKeys.push(config.windDirectionKey); + if (config.centerValueKey) { + dataKeys.push(config.centerValueKey); + } + } + + updateDataKeys(this.widgetConfig.config.datasources, dataKeys); this.widgetConfig.config.showTitle = config.showTitle; this.widgetConfig.config.title = config.title; diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/settings/weather/wind-speed-direction-widget-settings.component.ts b/ui-ngx/src/app/modules/home/components/widget/lib/settings/weather/wind-speed-direction-widget-settings.component.ts index a9ae8b978a..aa33842cb9 100644 --- a/ui-ngx/src/app/modules/home/components/widget/lib/settings/weather/wind-speed-direction-widget-settings.component.ts +++ b/ui-ngx/src/app/modules/home/components/widget/lib/settings/weather/wind-speed-direction-widget-settings.component.ts @@ -21,14 +21,13 @@ import { Store } from '@ngrx/store'; import { AppState } from '@core/core.state'; import { formatValue, isDefinedAndNotNull } from '@core/utils'; import { - centerValueLabel, windSpeedDirectionDefaultSettings, WindSpeedDirectionLayout, windSpeedDirectionLayoutImages, windSpeedDirectionLayouts, windSpeedDirectionLayoutTranslations } from '@home/components/widget/lib/weather/wind-speed-direction-widget.models'; -import { getDataKeyByLabel } from '@shared/models/widget-settings.models'; +import { getDataKey } from '@shared/models/widget-settings.models'; @Component({ selector: 'tb-wind-speed-direction-widget-settings', @@ -38,7 +37,7 @@ import { getDataKeyByLabel } from '@shared/models/widget-settings.models'; export class WindSpeedDirectionWidgetSettingsComponent extends WidgetSettingsComponent { get hasCenterValue(): boolean { - return !!getDataKeyByLabel(this.widgetConfig.config.datasources, centerValueLabel); + return !!getDataKey(this.widgetConfig.config.datasources, 1); } get majorTicksFontEnabled(): boolean { @@ -120,7 +119,7 @@ export class WindSpeedDirectionWidgetSettingsComponent extends WidgetSettingsCom } private _centerValuePreviewFn(): string { - const centerValueDataKey = getDataKeyByLabel(this.widgetConfig.config.datasources, centerValueLabel); + const centerValueDataKey = getDataKey(this.widgetConfig.config.datasources, 1); if (centerValueDataKey) { let units: string = this.widgetConfig.config.units; let decimals: number = this.widgetConfig.config.decimals; diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/weather/wind-speed-direction-widget.component.ts b/ui-ngx/src/app/modules/home/components/widget/lib/weather/wind-speed-direction-widget.component.ts index d328e59ace..3e341d11f5 100644 --- a/ui-ngx/src/app/modules/home/components/widget/lib/weather/wind-speed-direction-widget.component.ts +++ b/ui-ngx/src/app/modules/home/components/widget/lib/weather/wind-speed-direction-widget.component.ts @@ -24,12 +24,11 @@ import { OnInit, Renderer2, TemplateRef, - ViewChild, ViewEncapsulation + ViewChild, + ViewEncapsulation } from '@angular/core'; import { WidgetContext } from '@home/models/widget-component.models'; import { - centerValueLabel, - windDirectionLabel, windSpeedDirectionDefaultSettings, WindSpeedDirectionLayout, WindSpeedDirectionWidgetSettings @@ -38,8 +37,8 @@ import { backgroundStyle, ColorProcessor, ComponentStyle, - Font, getDataKey, - getDataKeyByLabel, + Font, + getDataKey, getSingleTsValueByDataKey, overlayStyle } from '@shared/models/widget-settings.models'; @@ -118,11 +117,8 @@ export class WindSpeedDirectionWidgetComponent implements OnInit, OnDestroy, Aft this.ctx.$scope.windSpeedDirectionWidget = this; this.settings = {...windSpeedDirectionDefaultSettings, ...this.ctx.settings}; - this.windDirectionDataKey = getDataKeyByLabel(this.ctx.datasources, windDirectionLabel); - if (!this.windDirectionDataKey) { - this.windDirectionDataKey = getDataKey(this.ctx.datasources); - } - this.centerValueDataKey = getDataKeyByLabel(this.ctx.datasources, centerValueLabel); + this.windDirectionDataKey = getDataKey(this.ctx.datasources, 0); + this.centerValueDataKey = getDataKey(this.ctx.datasources, 1); if (this.centerValueDataKey) { this.decimals = this.ctx.decimals; @@ -169,21 +165,27 @@ export class WindSpeedDirectionWidgetComponent implements OnInit, OnDestroy, Aft } public onDataUpdated() { - let centerValue = 0; + let value = 0; this.windDirection = 0; this.centerValueText = 'N/A'; - const windDirectionTsValue = getSingleTsValueByDataKey(this.ctx.data, this.windDirectionDataKey); - if (windDirectionTsValue && isDefinedAndNotNull(windDirectionTsValue[1]) && isNumeric(windDirectionTsValue[1])) { - this.windDirection = windDirectionTsValue[1]; + if (this.windDirectionDataKey) { + const windDirectionTsValue = getSingleTsValueByDataKey(this.ctx.data, this.windDirectionDataKey); + if (windDirectionTsValue && isDefinedAndNotNull(windDirectionTsValue[1]) && isNumeric(windDirectionTsValue[1])) { + this.windDirection = windDirectionTsValue[1]; + if (!this.centerValueDataKey) { + value = this.windDirection; + this.centerValueText = formatValue(value, 0, '') + '°'; + } + } } if (this.centerValueDataKey) { const centerValueTsValue = getSingleTsValueByDataKey(this.ctx.data, this.centerValueDataKey); if (centerValueTsValue && isDefinedAndNotNull(centerValueTsValue[1]) && isNumeric(centerValueTsValue[1])) { - centerValue = centerValueTsValue[1]; - this.centerValueText = formatValue(centerValue, this.decimals, '', true); + value = centerValueTsValue[1]; + this.centerValueText = formatValue(value, this.decimals, '', true); } } - this.centerValueColor.update(centerValue); + this.centerValueColor.update(value); this.renderValues(); } @@ -313,9 +315,8 @@ export class WindSpeedDirectionWidgetComponent implements OnInit, OnDestroy, Aft } private renderCenterValueText() { - const text = this.centerValueDataKey ? this.centerValueText : formatValue(this.windDirection, 0, '') + '°'; this.centerValueTextNode.text(add => { - add.tspan(text).font({size: '24px'}); + add.tspan(this.centerValueText).font({size: '24px'}); if (this.units) { add.tspan(this.units).newLine().font({size: '14px'}); } diff --git a/ui-ngx/src/app/modules/home/components/widget/lib/weather/wind-speed-direction-widget.models.ts b/ui-ngx/src/app/modules/home/components/widget/lib/weather/wind-speed-direction-widget.models.ts index c9fe2a84df..6359696f25 100644 --- a/ui-ngx/src/app/modules/home/components/widget/lib/weather/wind-speed-direction-widget.models.ts +++ b/ui-ngx/src/app/modules/home/components/widget/lib/weather/wind-speed-direction-widget.models.ts @@ -103,6 +103,3 @@ export const windSpeedDirectionDefaultSettings: WindSpeedDirectionWidgetSettings } } }; - -export const windDirectionLabel = 'windDirection'; -export const centerValueLabel = 'centerValue'; diff --git a/ui-ngx/src/app/shared/models/widget-settings.models.ts b/ui-ngx/src/app/shared/models/widget-settings.models.ts index 056738f396..5055893b6f 100644 --- a/ui-ngx/src/app/shared/models/widget-settings.models.ts +++ b/ui-ngx/src/app/shared/models/widget-settings.models.ts @@ -422,16 +422,23 @@ export const overlayStyle = (overlay: OverlaySettings): ComponentStyle => ( } ); -export const getDataKey = (datasources?: Datasource[]): DataKey => { +export const getDataKey = (datasources?: Datasource[], index = 0): DataKey => { if (datasources && datasources.length) { const dataKeys = datasources[0].dataKeys; - if (dataKeys && dataKeys.length) { - return dataKeys[0]; + if (dataKeys && dataKeys.length > index) { + return dataKeys[index]; } } return null; }; +export const updateDataKeys = (datasources: Datasource[], dataKeys: DataKey[]): void => { + if (datasources && datasources.length) { + datasources[0].dataKeys = dataKeys; + } +}; + + export const getDataKeyByLabel = (datasources: Datasource[], label: string): DataKey => { if (datasources && datasources.length) { const dataKeys = datasources[0].dataKeys;