thingsboard-aplcache
Changes
ui/src/app/api/datasource.service.js 5(+3 -2)
ui/src/app/api/user.service.js 4(+4 -0)
ui/src/app/api/widget.service.js 2(+2 -0)
Details
ui/src/app/api/datasource.service.js 5(+3 -2)
diff --git a/ui/src/app/api/datasource.service.js b/ui/src/app/api/datasource.service.js
index 9a8da73..2d561c8 100644
--- a/ui/src/app/api/datasource.service.js
+++ b/ui/src/app/api/datasource.service.js
@@ -546,7 +546,7 @@ function DatasourceSubscription(datasourceSubscription, telemetryWebsocketServic
var keyData = sourceData[keyName];
var key = keyName + '_' + type;
var dataKeyList = dataKeys[key];
- for (var keyIndex = 0; keyIndex < dataKeyList.length; keyIndex++) {
+ for (var keyIndex = 0; dataKeyList && keyIndex < dataKeyList.length; keyIndex++) {
var datasourceKey = key + "_" + keyIndex;
if (datasourceData[datasourceKey].data) {
var dataKey = dataKeyList[keyIndex];
@@ -595,6 +595,8 @@ function DatasourceSubscription(datasourceSubscription, telemetryWebsocketServic
datasourceData[datasourceKey].data = data;
for (var i2 in listeners) {
var listener = listeners[i2];
+ if (angular.isFunction(listener))
+ continue;
listener.dataUpdated(datasourceData[datasourceKey],
listener.datasourceIndex,
dataKey.index, apply);
@@ -605,4 +607,3 @@ function DatasourceSubscription(datasourceSubscription, telemetryWebsocketServic
}
}
}
-
ui/src/app/api/user.service.js 4(+4 -0)
diff --git a/ui/src/app/api/user.service.js b/ui/src/app/api/user.service.js
index 55a14ad..4d98d2d 100644
--- a/ui/src/app/api/user.service.js
+++ b/ui/src/app/api/user.service.js
@@ -158,6 +158,8 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, toas
function resolveRefreshTokenQueue(data) {
for (var q in refreshTokenQueue) {
+ if (isNaN(q))
+ continue;
refreshTokenQueue[q].resolve(data);
}
refreshTokenQueue = [];
@@ -165,6 +167,8 @@ function UserService($http, $q, $rootScope, adminService, dashboardService, toas
function rejectRefreshTokenQueue(message) {
for (var q in refreshTokenQueue) {
+ if (isNaN(q))
+ continue;
refreshTokenQueue[q].reject(message);
}
refreshTokenQueue = [];
ui/src/app/api/widget.service.js 2(+2 -0)
diff --git a/ui/src/app/api/widget.service.js b/ui/src/app/api/widget.service.js
index b62fe6b..fb8565c 100644
--- a/ui/src/app/api/widget.service.js
+++ b/ui/src/app/api/widget.service.js
@@ -483,6 +483,8 @@ function WidgetService($rootScope, $http, $q, $filter, $ocLazyLoad, $window, typ
var fetchQueue = widgetsInfoFetchQueue[key];
if (fetchQueue) {
for (var q in fetchQueue) {
+ if (isNaN(q))
+ continue;
fetchQueue[q].resolve(widgetInfo);
}
delete widgetsInfoFetchQueue[key];
diff --git a/ui/src/app/components/widget.controller.js b/ui/src/app/components/widget.controller.js
index 151ec64..ccda4d6 100644
--- a/ui/src/app/components/widget.controller.js
+++ b/ui/src/app/components/widget.controller.js
@@ -807,6 +807,8 @@ export default function WidgetController($scope, $timeout, $window, $element, $q
var index = 0;
for (var i in widgetContext.datasources) {
var datasource = widgetContext.datasources[i];
+ if (angular.isFunction(datasource))
+ continue;
var deviceId = null;
if (datasource.type === types.datasourceType.device && datasource.deviceAliasId) {
if (aliasesInfo.deviceAliases[datasource.deviceAliasId]) {