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,
unassignEdgeFromCustomer: unassignEdgeFromCustomer,
makeEdgePublic: makeEdgePublic,
setRootRuleChain: setRootRuleChain
setRootRuleChain: setRootRuleChain,
getEdgeEvents: getEdgeEvents
};
return service;
@ -241,4 +242,24 @@ function EdgeService($http, $q, customerService) {
});
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.
-->
<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">edge.entity-id</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>

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

@ -15,11 +15,10 @@
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.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="30">{{event.entityId}}</div>
<div class="tb-cell" flex="20">
<md-button class="md-icon-button md-primary"
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 */
/*@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) {
@ -97,27 +98,36 @@ export default function EventRowDirective($compile, $templateCache, $mdDialog, $
if (!contentType) {
contentType = null;
}
entityService.getEntity(scope.event.entityType, scope.event.entityId, {}).then(
function success(info) {
var content = angular.toJson(info);
$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);
}
if (scope.event.edgeEventType === 'RELATION') {
var content = angular.toJson(scope.event.entityBody);
} else if (scope.event.edgeEventType === 'RULE_CHAIN_METADATA') {
content = ruleChainService.getRuleChainMetaData(scope.event.entityId, {}).then(
function success(info) {
return angular.toJson(info);
}, function fail() {
toast.showError($translate.instant('edge.load-entity-error'));
});
},
function fail() {
toast.showError($translate.instant('edge.load-entity-error'));
} else {
content = entityService.getEntity(scope.event.edgeEventType, scope.event.entityId, {}).then(
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) {

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 */
/*@ngInject*/
export default function EventTableDirective($compile, $templateCache, $rootScope, types, eventService) {
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
}
]
export default function EventTableDirective($compile, $templateCache, $rootScope, $stateParams, types, eventService, edgeService) {
var linker = function (scope, element, attrs) {
var linker = function (scope, element, attrs) {
var template = $templateCache.get(eventTableTemplate);
@ -119,10 +98,14 @@ export default function EventTableDirective($compile, $templateCache, $rootScope
},
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) {
var promise = eventService.getEvents(scope.entityType, scope.entityId,
scope.eventType, scope.tenantId, scope.events.nextPageLink);
if (scope.eventType !== "EDGE_EVENT") {
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) {
scope.events.pending = true;
promise.then(
@ -146,11 +129,6 @@ export default function EventTableDirective($compile, $templateCache, $rootScope
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: {
entityType: '=',
entityId: '=',
tenantId: '='
tenantId: '=',
edge: '=?'
}
};
}

Loading…
Cancel
Save