Showing
6 changed files
with
34 additions
and
5 deletions
... | ... | @@ -157,7 +157,7 @@ function EntityViewService($http, $q, $window, userService, attributeService, cu |
157 | 157 | var url = '/api/entityView'; |
158 | 158 | |
159 | 159 | entityView.keys = {}; |
160 | - entityView.keys.timeseries = ['a', 'b']; | |
160 | + entityView.keys.timeseries = ['temp']; | |
161 | 161 | |
162 | 162 | $http.post(url, entityView).then(function success(response) { |
163 | 163 | deferred.resolve(response.data); | ... | ... |
... | ... | @@ -20,8 +20,9 @@ export default angular.module('thingsboard.api.entity', [thingsboardTypes]) |
20 | 20 | .name; |
21 | 21 | |
22 | 22 | /*@ngInject*/ |
23 | -function EntityService($http, $q, $filter, $translate, $log, userService, deviceService, | |
24 | - assetService, tenantService, customerService, ruleChainService, dashboardService, entityRelationService, attributeService, types, utils) { | |
23 | +function EntityService($http, $q, $filter, $translate, $log, userService, deviceService, assetService, tenantService, | |
24 | + customerService, ruleChainService, dashboardService, entityRelationService, attributeService, | |
25 | + entityViewService, types, utils) { | |
25 | 26 | var service = { |
26 | 27 | getEntity: getEntity, |
27 | 28 | getEntities: getEntities, |
... | ... | @@ -54,6 +55,9 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device |
54 | 55 | case types.entityType.asset: |
55 | 56 | promise = assetService.getAsset(entityId, true, config); |
56 | 57 | break; |
58 | + case types.entityType.entityView: | |
59 | + promise = entityViewService.getEntityView(entityId, true, config); | |
60 | + break; | |
57 | 61 | case types.entityType.tenant: |
58 | 62 | promise = tenantService.getTenant(entityId, config); |
59 | 63 | break; |
... | ... | @@ -239,6 +243,13 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device |
239 | 243 | promise = assetService.getTenantAssets(pageLink, false, config, subType); |
240 | 244 | } |
241 | 245 | break; |
246 | + case types.entityType.entityView: | |
247 | + if (user.authority === 'CUSTOMER_USER') { | |
248 | + promise = entityViewService.getCustomerEntityViews(customerId, pageLink, false, config, subType); | |
249 | + } else { | |
250 | + promise = entityViewService.getTenantEntityViews(pageLink, false, config, subType); | |
251 | + } | |
252 | + break; | |
242 | 253 | case types.entityType.tenant: |
243 | 254 | if (user.authority === 'TENANT_ADMIN') { |
244 | 255 | promise = getSingleTenantByPageLinkPromise(pageLink, config); |
... | ... | @@ -725,6 +736,7 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device |
725 | 736 | case 'TENANT_ADMIN': |
726 | 737 | entityTypes.device = types.entityType.device; |
727 | 738 | entityTypes.asset = types.entityType.asset; |
739 | + entityTypes.entityView = types.entityType.entityView; | |
728 | 740 | entityTypes.tenant = types.entityType.tenant; |
729 | 741 | entityTypes.customer = types.entityType.customer; |
730 | 742 | entityTypes.dashboard = types.entityType.dashboard; |
... | ... | @@ -735,6 +747,7 @@ function EntityService($http, $q, $filter, $translate, $log, userService, device |
735 | 747 | case 'CUSTOMER_USER': |
736 | 748 | entityTypes.device = types.entityType.device; |
737 | 749 | entityTypes.asset = types.entityType.asset; |
750 | + entityTypes.entityView = types.entityType.entityView; | |
738 | 751 | entityTypes.customer = types.entityType.customer; |
739 | 752 | entityTypes.dashboard = types.entityType.dashboard; |
740 | 753 | if (useAliasEntityTypes) { | ... | ... |
... | ... | @@ -346,6 +346,12 @@ export default angular.module('thingsboard.types', []) |
346 | 346 | list: 'entity.list-of-assets', |
347 | 347 | nameStartsWith: 'entity.asset-name-starts-with' |
348 | 348 | }, |
349 | + "ENTITY_VIEW": { | |
350 | + type: 'entity.type-entity-view', | |
351 | + typePlural: 'entity.type-entity-views', | |
352 | + list: 'entity.list-of-entity-views', | |
353 | + nameStartsWith: 'entity.entity-view-name-starts-with' | |
354 | + }, | |
349 | 355 | "TENANT": { |
350 | 356 | type: 'entity.type-tenant', |
351 | 357 | typePlural: 'entity.type-tenants', | ... | ... |
... | ... | @@ -47,8 +47,8 @@ export default function EntityViewDirective($compile, $templateCache, $filter, t |
47 | 47 | scope.isPublic = false; |
48 | 48 | scope.assignedCustomer = null; |
49 | 49 | } |
50 | - scope.startTs = $filter('date')(scope.entityView.endTs, 'yyyy-MM-dd HH:mm:ss'); | |
51 | - scope.endTs = $filter('date')(scope.entityView.startTs, 'yyyy-MM-dd HH:mm:ss'); | |
50 | + scope.startTs = new Date(scope.entityView.startTs); | |
51 | + scope.endTs = new Date(scope.entityView.endTs); | |
52 | 52 | } |
53 | 53 | }); |
54 | 54 | ... | ... |
... | ... | @@ -131,6 +131,12 @@ export default function EntityAutocomplete($compile, $templateCache, $q, $filter |
131 | 131 | scope.noEntitiesMatchingText = 'device.no-devices-matching'; |
132 | 132 | scope.entityRequiredText = 'device.device-required'; |
133 | 133 | break; |
134 | + case types.entityType.entityView: | |
135 | + scope.selectEntityText = 'entity-view.select-entity-view'; | |
136 | + scope.entityText = 'entity-view.entity-view'; | |
137 | + scope.noEntitiesMatchingText = 'entity-view.no-entity-views-matching'; | |
138 | + scope.entityRequiredText = 'entity-view.entity-view-required'; | |
139 | + break; | |
134 | 140 | case types.entityType.rulechain: |
135 | 141 | scope.selectEntityText = 'rulechain.select-rulechain'; |
136 | 142 | scope.entityText = 'rulechain.rulechain'; | ... | ... |
... | ... | @@ -708,6 +708,10 @@ |
708 | 708 | "type-assets": "Assets", |
709 | 709 | "list-of-assets": "{ count, plural, 1 {One asset} other {List of # assets} }", |
710 | 710 | "asset-name-starts-with": "Assets whose names start with '{{prefix}}'", |
711 | + "type-entity-view": "Entity View", | |
712 | + "type-entity-views": "Entity Views", | |
713 | + "list-of-entity-views": "{ count, plural, 1 {One entity view} other {List of # entity views} }", | |
714 | + "entity-view-name-starts-with": "Entity Views whose names start with '{{prefix}}'", | |
711 | 715 | "type-rule": "Rule", |
712 | 716 | "type-rules": "Rules", |
713 | 717 | "list-of-rules": "{ count, plural, 1 {One rule} other {List of # rules} }", | ... | ... |