Browse Source

Fixed EDGE_EVENT events fetch by edgeId

pull/2436/head
deaflynx 6 years ago
parent
commit
1545a8cd76
  1. 23
      ui/src/app/api/edge.service.js
  2. 5
      ui/src/app/event/event-header-edge-event.tpl.html
  3. 7
      ui/src/app/event/event-row-edge-event.tpl.html
  4. 50
      ui/src/app/event/event-row.directive.js
  5. 43
      ui/src/app/event/event-table.directive.js

23
ui/src/app/api/edge.service.js

@ -32,7 +32,8 @@ function EdgeService($http, $q, customerService) {
assignEdgeToCustomer: assignEdgeToCustomer, assignEdgeToCustomer: assignEdgeToCustomer,
unassignEdgeFromCustomer: unassignEdgeFromCustomer, unassignEdgeFromCustomer: unassignEdgeFromCustomer,
makeEdgePublic: makeEdgePublic, makeEdgePublic: makeEdgePublic,
setRootRuleChain: setRootRuleChain setRootRuleChain: setRootRuleChain,
getEdgeEvents: getEdgeEvents
}; };
return service; return service;
@ -241,4 +242,24 @@ function EdgeService($http, $q, customerService) {
}); });
return deferred.promise; return deferred.promise;
} }
function getEdgeEvents(edgeId, pageLink) {
var deferred = $q.defer();
var url = '/api/edge/' + edgeId + '/events' + '?limit=' + pageLink.limit;
if (angular.isDefined(pageLink.startTime) && pageLink.startTime != null) {
url += '&startTime=' + pageLink.startTime;
}
if (angular.isDefined(pageLink.endTime) && pageLink.endTime != null) {
url += '&endTime=' + pageLink.endTime;
}
if (angular.isDefined(pageLink.idOffset) && pageLink.idOffset != null) {
url += '&offset=' + pageLink.idOffset;
}
$http.get(url, null).then(function success(response) {
deferred.resolve(response.data);
}, function fail(response) {
deferred.reject(response.data);
});
return deferred.promise;
}
} }

5
ui/src/app/event/event-header-edge-event.tpl.html

@ -15,9 +15,8 @@
limitations under the License. limitations under the License.
--> -->
<div translate class="tb-cell" flex="30">event.event-time</div> <div translate class="tb-cell" flex="20">event.event-time</div>
<div translate class="tb-cell" flex="20">event.event-type</div> <div translate class="tb-cell" flex="20">event.event-type</div>
<div translate class="tb-cell" flex="20">edge.entity-id</div>
<div translate class="tb-cell" flex="20">edge.event-action</div> <div translate class="tb-cell" flex="20">edge.event-action</div>
<div translate class="tb-cell" flex="20">event.success</div> <div translate class="tb-cell" flex="30">edge.entity-id</div>
<div translate class="tb-cell" flex="20">edge.entity-info</div> <div translate class="tb-cell" flex="20">edge.entity-info</div>

7
ui/src/app/event/event-row-edge-event.tpl.html

@ -15,11 +15,10 @@
limitations under the License. limitations under the License.
--> -->
<div class="tb-cell" flex="30">{{event.createdTime | date : 'yyyy-MM-dd HH:mm:ss'}}</div> <div class="tb-cell" flex="20">{{event.createdTime | date : 'yyyy-MM-dd HH:mm:ss'}}</div>
<div class="tb-cell" flex="20">{{event.edgeEventType}}</div>
<div class="tb-cell" flex="20">{{event.edgeEventAction}}</div> <div class="tb-cell" flex="20">{{event.edgeEventAction}}</div>
<div class="tb-cell" flex="20">{{event.entityId}}</div> <div class="tb-cell" flex="30">{{event.entityId}}</div>
<div class="tb-cell" flex="20">{{event.entityType}}</div>
<div translate class="tb-cell" flex="20">{{event.success ? 'event.success' : 'event.failed'}}</div>
<div class="tb-cell" flex="20"> <div class="tb-cell" flex="20">
<md-button class="md-icon-button md-primary" <md-button class="md-icon-button md-primary"
ng-click="showEdgeEntityContent($event, 'edge.entity-info', 'JSON')" ng-click="showEdgeEntityContent($event, 'edge.entity-info', 'JSON')"

50
ui/src/app/event/event-row.directive.js

@ -26,7 +26,8 @@ import eventRowEdgeEventTemplate from './event-row-edge-event.tpl.html';
/* eslint-enable import/no-unresolved, import/default */ /* eslint-enable import/no-unresolved, import/default */
/*@ngInject*/ /*@ngInject*/
export default function EventRowDirective($compile, $templateCache, $mdDialog, $document, $translate, types, toast, entityService) { export default function EventRowDirective($compile, $templateCache, $mdDialog, $document, $translate,
types, toast, entityService, ruleChainService) {
var linker = function (scope, element, attrs) { var linker = function (scope, element, attrs) {
@ -97,27 +98,36 @@ export default function EventRowDirective($compile, $templateCache, $mdDialog, $
if (!contentType) { if (!contentType) {
contentType = null; contentType = null;
} }
entityService.getEntity(scope.event.entityType, scope.event.entityId, {}).then( if (scope.event.edgeEventType === 'RELATION') {
function success(info) { var content = angular.toJson(scope.event.entityBody);
var content = angular.toJson(info); } else if (scope.event.edgeEventType === 'RULE_CHAIN_METADATA') {
$mdDialog.show({ content = ruleChainService.getRuleChainMetaData(scope.event.entityId, {}).then(
controller: 'EventContentDialogController', function success(info) {
controllerAs: 'vm', return angular.toJson(info);
templateUrl: eventErrorDialogTemplate, }, function fail() {
locals: {content: content, title: title, contentType: contentType, showingCallback: onShowingCallback}, toast.showError($translate.instant('edge.load-entity-error'));
parent: angular.element($document[0].body),
fullscreen: true,
targetEvent: $event,
multiple: true,
onShowing: function(scope, element) {
onShowingCallback.onShowing(scope, element);
}
}); });
}, } else {
function fail() { content = entityService.getEntity(scope.event.edgeEventType, scope.event.entityId, {}).then(
toast.showError($translate.instant('edge.load-entity-error')); function success(info) {
return angular.toJson(info);
}, function fail() {
toast.showError($translate.instant('edge.load-entity-error'));
});
}
$mdDialog.show({
controller: 'EventContentDialogController',
controllerAs: 'vm',
templateUrl: eventErrorDialogTemplate,
locals: {content: content, title: title, contentType: contentType, showingCallback: onShowingCallback},
parent: angular.element($document[0].body),
fullscreen: true,
targetEvent: $event,
multiple: true,
onShowing: function(scope, element) {
onShowingCallback.onShowing(scope, element);
} }
); });
} }
scope.checkTooltip = function($event) { scope.checkTooltip = function($event) {

43
ui/src/app/event/event-table.directive.js

@ -22,30 +22,9 @@ import eventTableTemplate from './event-table.tpl.html';
/* eslint-enable import/no-unresolved, import/default */ /* eslint-enable import/no-unresolved, import/default */
/*@ngInject*/ /*@ngInject*/
export default function EventTableDirective($compile, $templateCache, $rootScope, types, eventService) { export default function EventTableDirective($compile, $templateCache, $rootScope, $stateParams, types, eventService, edgeService) {
var edgeData = [
{
"createdTime": 1593592774537,
"tenantId": "63746950-bb76-11ea-9f96-69d7782607f7",
"edgeId": "85bb84b0-bb78-11ea-8472-c3dbdeb0fd97",
"edgeEventAction": "ASSIGNED_TO_EDGE",
"entityId": "640055a0-bb76-11ea-9f96-69d7782607f7",
"entityType": "DEVICE",
"success": true,
},
{
"createdTime": 1593592774538,
"tenantId": "63746950-bb76-11ea-9f96-69d7782607f7",
"edgeId": "85bb84b0-bb78-11ea-8472-c3dbdeb0fd97",
"edgeEventAction": "CREDENTIALS_UPDATED",
"entityId": "640055a0-bb76-11ea-9f96-69d7782607f8",
"entityType": "DEVICE",
"success": false
}
]
var linker = function (scope, element, attrs) { var linker = function (scope, element, attrs) {
var template = $templateCache.get(eventTableTemplate); var template = $templateCache.get(eventTableTemplate);
@ -119,10 +98,14 @@ export default function EventTableDirective($compile, $templateCache, $rootScope
}, },
fetchMoreItems_: function () { fetchMoreItems_: function () {
if (scope.events.hasNext && !scope.events.pending && scope.eventType !== "EDGE_EVENT") { if (scope.events.hasNext && !scope.events.pending) {
if (scope.entityType && scope.entityId && scope.eventType && scope.tenantId) { if (scope.entityType && scope.entityId && scope.eventType && scope.tenantId) {
var promise = eventService.getEvents(scope.entityType, scope.entityId, if (scope.eventType !== "EDGE_EVENT") {
scope.eventType, scope.tenantId, scope.events.nextPageLink); var promise = eventService.getEvents(scope.entityType, scope.entityId,
scope.eventType, scope.tenantId, scope.events.nextPageLink);
} else {
promise = edgeService.getEdgeEvents(scope.entityId, scope.events.nextPageLink);
}
if (promise) { if (promise) {
scope.events.pending = true; scope.events.pending = true;
promise.then( promise.then(
@ -146,11 +129,6 @@ export default function EventTableDirective($compile, $templateCache, $rootScope
scope.events.hasNext = false; scope.events.hasNext = false;
} }
} }
if (scope.eventType === "EDGE_EVENT") {
scope.events.data = edgeData;
scope.events.nextPageLink = false;
scope.events.hasNext = null;
}
} }
}; };
@ -243,7 +221,8 @@ export default function EventTableDirective($compile, $templateCache, $rootScope
scope: { scope: {
entityType: '=', entityType: '=',
entityId: '=', entityId: '=',
tenantId: '=' tenantId: '=',
edge: '=?'
} }
}; };
} }

Loading…
Cancel
Save