thingsboard-aplcache
Details
ui/src/app/api/entity.service.js 17(+15 -2)
diff --git a/ui/src/app/api/entity.service.js b/ui/src/app/api/entity.service.js
index 2e29238..ce4dc42 100644
--- a/ui/src/app/api/entity.service.js
+++ b/ui/src/app/api/entity.service.js
@@ -20,8 +20,9 @@ export default angular.module('thingsboard.api.entity', [thingsboardTypes])
.name;
/*@ngInject*/
-function EntityService($http, $q, $filter, $translate, $log, userService, deviceService,
- assetService, tenantService, customerService, ruleChainService, dashboardService, entityRelationService, attributeService, types, utils) {
+function EntityService($http, $q, $filter, $translate, $log, userService, deviceService, assetService, tenantService,
+ customerService, ruleChainService, dashboardService, entityRelationService, attributeService,
+ entityViewService, types, utils) {
var service = {
getEntity: getEntity,
getEntities: getEntities,
@@ -54,6 +55,9 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device
case types.entityType.asset:
promise = assetService.getAsset(entityId, true, config);
break;
+ case types.entityType.entityView:
+ promise = entityViewService.getEntityView(entityId, true, config);
+ break;
case types.entityType.tenant:
promise = tenantService.getTenant(entityId, config);
break;
@@ -239,6 +243,13 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device
promise = assetService.getTenantAssets(pageLink, false, config, subType);
}
break;
+ case types.entityType.entityView:
+ if (user.authority === 'CUSTOMER_USER') {
+ promise = entityViewService.getCustomerEntityViews(customerId, pageLink, false, config, subType);
+ } else {
+ promise = entityViewService.getTenantEntityViews(pageLink, false, config, subType);
+ }
+ break;
case types.entityType.tenant:
if (user.authority === 'TENANT_ADMIN') {
promise = getSingleTenantByPageLinkPromise(pageLink, config);
@@ -725,6 +736,7 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device
case 'TENANT_ADMIN':
entityTypes.device = types.entityType.device;
entityTypes.asset = types.entityType.asset;
+ entityTypes.entityView = types.entityType.entityView;
entityTypes.tenant = types.entityType.tenant;
entityTypes.customer = types.entityType.customer;
entityTypes.dashboard = types.entityType.dashboard;
@@ -735,6 +747,7 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device
case 'CUSTOMER_USER':
entityTypes.device = types.entityType.device;
entityTypes.asset = types.entityType.asset;
+ entityTypes.entityView = types.entityType.entityView;
entityTypes.customer = types.entityType.customer;
entityTypes.dashboard = types.entityType.dashboard;
if (useAliasEntityTypes) {
diff --git a/ui/src/app/api/entity-view.service.js b/ui/src/app/api/entity-view.service.js
index f2d1908..d6d5868 100644
--- a/ui/src/app/api/entity-view.service.js
+++ b/ui/src/app/api/entity-view.service.js
@@ -157,7 +157,7 @@ function EntityViewService($http, $q, $window, userService, attributeService, cu
var url = '/api/entityView';
entityView.keys = {};
- entityView.keys.timeseries = ['a', 'b'];
+ entityView.keys.timeseries = ['temp'];
$http.post(url, entityView).then(function success(response) {
deferred.resolve(response.data);
ui/src/app/common/types.constant.js 6(+6 -0)
diff --git a/ui/src/app/common/types.constant.js b/ui/src/app/common/types.constant.js
index 060b557..15da584 100644
--- a/ui/src/app/common/types.constant.js
+++ b/ui/src/app/common/types.constant.js
@@ -346,6 +346,12 @@ export default angular.module('thingsboard.types', [])
list: 'entity.list-of-assets',
nameStartsWith: 'entity.asset-name-starts-with'
},
+ "ENTITY_VIEW": {
+ type: 'entity.type-entity-view',
+ typePlural: 'entity.type-entity-views',
+ list: 'entity.list-of-entity-views',
+ nameStartsWith: 'entity.entity-view-name-starts-with'
+ },
"TENANT": {
type: 'entity.type-tenant',
typePlural: 'entity.type-tenants',
diff --git a/ui/src/app/entity/entity-autocomplete.directive.js b/ui/src/app/entity/entity-autocomplete.directive.js
index e46c614..8c1fed7 100644
--- a/ui/src/app/entity/entity-autocomplete.directive.js
+++ b/ui/src/app/entity/entity-autocomplete.directive.js
@@ -131,6 +131,12 @@ export default function EntityAutocomplete($compile, $templateCache, $q, $filter
scope.noEntitiesMatchingText = 'device.no-devices-matching';
scope.entityRequiredText = 'device.device-required';
break;
+ case types.entityType.entityView:
+ scope.selectEntityText = 'entity-view.select-entity-view';
+ scope.entityText = 'entity-view.entity-view';
+ scope.noEntitiesMatchingText = 'entity-view.no-entity-views-matching';
+ scope.entityRequiredText = 'entity-view.entity-view-required';
+ break;
case types.entityType.rulechain:
scope.selectEntityText = 'rulechain.select-rulechain';
scope.entityText = 'rulechain.rulechain';
diff --git a/ui/src/app/entity-view/entity-view.directive.js b/ui/src/app/entity-view/entity-view.directive.js
index 4d4e84b..4ec03a1 100644
--- a/ui/src/app/entity-view/entity-view.directive.js
+++ b/ui/src/app/entity-view/entity-view.directive.js
@@ -47,8 +47,8 @@ export default function EntityViewDirective($compile, $templateCache, $filter, t
scope.isPublic = false;
scope.assignedCustomer = null;
}
- scope.startTs = $filter('date')(scope.entityView.endTs, 'yyyy-MM-dd HH:mm:ss');
- scope.endTs = $filter('date')(scope.entityView.startTs, 'yyyy-MM-dd HH:mm:ss');
+ scope.startTs = new Date(scope.entityView.startTs);
+ scope.endTs = new Date(scope.entityView.endTs);
}
});
diff --git a/ui/src/app/locale/locale.constant-en_US.json b/ui/src/app/locale/locale.constant-en_US.json
index e98d4fe..87a1b1b 100644
--- a/ui/src/app/locale/locale.constant-en_US.json
+++ b/ui/src/app/locale/locale.constant-en_US.json
@@ -708,6 +708,10 @@
"type-assets": "Assets",
"list-of-assets": "{ count, plural, 1 {One asset} other {List of # assets} }",
"asset-name-starts-with": "Assets whose names start with '{{prefix}}'",
+ "type-entity-view": "Entity View",
+ "type-entity-views": "Entity Views",
+ "list-of-entity-views": "{ count, plural, 1 {One entity view} other {List of # entity views} }",
+ "entity-view-name-starts-with": "Entity Views whose names start with '{{prefix}}'",
"type-rule": "Rule",
"type-rules": "Rules",
"list-of-rules": "{ count, plural, 1 {One rule} other {List of # rules} }",