From 33fc8f0ba5167130cfc7bb7752142e2bc70ba2c0 Mon Sep 17 00:00:00 2001 From: Volodymyr Babak Date: Mon, 10 Sep 2018 15:31:36 +0300 Subject: [PATCH] Entity view fixes --- ui/src/app/api/entity-view.service.js | 2 +- ui/src/app/api/entity.service.js | 17 +++++++++++++++-- ui/src/app/common/types.constant.js | 6 ++++++ ui/src/app/entity-view/entity-view.directive.js | 4 ++-- .../app/entity/entity-autocomplete.directive.js | 6 ++++++ ui/src/app/locale/locale.constant-en_US.json | 4 ++++ 6 files changed, 34 insertions(+), 5 deletions(-) diff --git a/ui/src/app/api/entity-view.service.js b/ui/src/app/api/entity-view.service.js index f2d190863e..d6d5868959 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); diff --git a/ui/src/app/api/entity.service.js b/ui/src/app/api/entity.service.js index 2e29238dfe..ce4dc42dcd 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/common/types.constant.js b/ui/src/app/common/types.constant.js index 060b557b5d..15da584968 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-view/entity-view.directive.js b/ui/src/app/entity-view/entity-view.directive.js index 4d4e84b737..4ec03a12c7 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/entity/entity-autocomplete.directive.js b/ui/src/app/entity/entity-autocomplete.directive.js index e46c614c33..8c1fed76f1 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/locale/locale.constant-en_US.json b/ui/src/app/locale/locale.constant-en_US.json index e98d4fe1ca..87a1b1bef4 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} }",