+
{{ event.createdTime | date :  'yyyy-MM-dd HH:mm:ss' }}
+
{{ event.edgeEventType }}
+
{{ event.edgeEventAction }}
+
{{ event.entityId }}
+
{{ updateStatus(event.createdTime) | translate }}
+
     
@@ -33,3 +34,4 @@
     
 
 
+
diff --git a/ui/src/app/event/event-row.directive.js b/ui/src/app/event/event-row.directive.js
index 0ba533d5f1..92da9c06b9 100644
--- a/ui/src/app/event/event-row.directive.js
+++ b/ui/src/app/event/event-row.directive.js
@@ -102,37 +102,45 @@ export default function EventRowDirective($compile, $templateCache, $mdDialog, $
             switch(scope.event.edgeEventType) {
                 case types.edgeEventType.relation:
                     content = angular.toJson(scope.event.entityBody);
+                    showDialog();
                     break;
                 case types.edgeEventType.ruleChainMetaData:
-                    content = ruleChainService.getRuleChainMetaData(scope.event.entityId, {}).then(
+                    content = ruleChainService.getRuleChainMetaData(scope.event.entityId, {ignoreErrors: true}).then(
                         function success(info) {
+                            showDialog();
                             return angular.toJson(info);
                         }, function fail() {
-                            toast.showError($translate.instant('edge.load-entity-error'));
+                            showError();
                         });
                     break;
                 default:
-                    content = entityService.getEntity(scope.event.edgeEventType, scope.event.entityId, {}).then(
+                    content = entityService.getEntity(scope.event.edgeEventType, scope.event.entityId, {ignoreErrors: true}).then(
                         function success(info) {
+                            showDialog();
                             return angular.toJson(info);
                         }, function fail() {
-                            toast.showError($translate.instant('edge.load-entity-error'));
+                            showError();
                         });
                     break;
             }
-            $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);
-                }
-            });
+            function showDialog() {
+                $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);
+                    }
+                });
+            }
+            function showError() {
+                toast.showError($translate.instant('edge.load-entity-error'));
+            }
         }
 
         scope.checkTooltip = function($event) {
@@ -144,6 +152,20 @@ export default function EventRowDirective($compile, $templateCache, $mdDialog, $
         }
 
         $compile(element.contents())(scope);
+
+        scope.updateStatus = function(eventCreatedTime) {
+            if (scope.queueStartTs) {
+                var status;
+                if (eventCreatedTime < scope.queueStartTs) {
+                    status = $translate.instant('edge.success');
+                    scope.isPending = false;
+                } else {
+                    status = $translate.instant('edge.failed');
+                    scope.isPending = true;
+                }
+                return status;
+            }
+        }
     }
 
     return {
diff --git a/ui/src/app/event/event-table.directive.js b/ui/src/app/event/event-table.directive.js
index 4e8ae226b7..9c7c57d5d7 100644
--- a/ui/src/app/event/event-table.directive.js
+++ b/ui/src/app/event/event-table.directive.js
@@ -22,7 +22,8 @@ import eventTableTemplate from './event-table.tpl.html';
 /* eslint-enable import/no-unresolved, import/default */
 
 /*@ngInject*/
-export default function EventTableDirective($compile, $templateCache, $rootScope, types, eventService, edgeService) {
+export default function EventTableDirective($compile, $templateCache, $rootScope, types,
+                                            eventService, edgeService, attributeService) {
 
     var linker = function (scope, element, attrs) {
 
@@ -30,11 +31,16 @@ export default function EventTableDirective($compile, $templateCache, $rootScope
 
         element.html(template);
 
+        scope.eventTypeScope = angular.copy(types.eventType);
+        if (scope.entityType !== types.entityType.edge) {
+            delete scope.eventTypeScope.edgeEvent;
+        }
+
         if (attrs.disabledEventTypes) {
             var disabledEventTypes = attrs.disabledEventTypes.split(',');
             scope.eventTypes = {};
-            for (var type in types.eventType) {
-                var eventType = types.eventType[type];
+            for (var type in scope.eventTypeScope) {
+                var eventType = scope.eventTypeScope[type];
                 var enabled = true;
                 for (var i=0;i