Browse Source

Edge events reverted

pull/2436/head
deaflynx 6 years ago
parent
commit
60bd2600cc
  1. 383
      ui/src/app/event/event-row.directive.js

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

@ -1,193 +1,190 @@
/* /*
* Copyright © 2016-2020 The Thingsboard Authors * Copyright © 2016-2020 The Thingsboard Authors
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
* You may obtain a copy of the License at * You may obtain a copy of the License at
* *
* http://www.apache.org/licenses/LICENSE-2.0 * http://www.apache.org/licenses/LICENSE-2.0
* *
* Unless required by applicable law or agreed to in writing, software * Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS, * distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and * See the License for the specific language governing permissions and
* limitations under the License. * limitations under the License.
*/ */
/* eslint-disable import/no-unresolved, import/default */ /* eslint-disable import/no-unresolved, import/default */
import eventErrorDialogTemplate from './event-content-dialog.tpl.html'; import eventErrorDialogTemplate from './event-content-dialog.tpl.html';
import eventRowLcEventTemplate from './event-row-lc-event.tpl.html'; import eventRowLcEventTemplate from './event-row-lc-event.tpl.html';
import eventRowStatsTemplate from './event-row-stats.tpl.html'; import eventRowStatsTemplate from './event-row-stats.tpl.html';
import eventRowErrorTemplate from './event-row-error.tpl.html'; import eventRowErrorTemplate from './event-row-error.tpl.html';
import eventRowDebugRuleNodeTemplate from './event-row-debug-rulenode.tpl.html'; import eventRowDebugRuleNodeTemplate from './event-row-debug-rulenode.tpl.html';
import eventRowEdgeEventTemplate from './event-row-edge-event.tpl.html'; 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, export default function EventRowDirective($compile, $templateCache, $mdDialog, $document, $translate,
types, utils, toast, entityService, ruleChainService) { types, utils, toast, entityService, ruleChainService) {
var linker = function (scope, element, attrs) { var linker = function (scope, element, attrs) {
var getTemplate = function(eventType) { var getTemplate = function(eventType) {
var template = ''; var template = '';
switch(eventType) { switch(eventType) {
case types.eventType.lcEvent.value: case types.eventType.lcEvent.value:
template = eventRowLcEventTemplate; template = eventRowLcEventTemplate;
break; break;
case types.eventType.stats.value: case types.eventType.stats.value:
template = eventRowStatsTemplate; template = eventRowStatsTemplate;
break; break;
case types.eventType.error.value: case types.eventType.error.value:
template = eventRowErrorTemplate; template = eventRowErrorTemplate;
break; break;
case types.debugEventType.debugRuleNode.value: case types.debugEventType.debugRuleNode.value:
template = eventRowDebugRuleNodeTemplate; template = eventRowDebugRuleNodeTemplate;
break; break;
case types.debugEventType.debugRuleChain.value: case types.debugEventType.debugRuleChain.value:
template = eventRowDebugRuleNodeTemplate; template = eventRowDebugRuleNodeTemplate;
break; break;
case types.eventType.edgeEvent.value: case types.eventType.edgeEvent.value:
template = eventRowEdgeEventTemplate; template = eventRowEdgeEventTemplate;
break; break;
} }
return $templateCache.get(template); return $templateCache.get(template);
} }
scope.loadTemplate = function() { scope.loadTemplate = function() {
element.html(getTemplate(attrs.eventType)); element.html(getTemplate(attrs.eventType));
$compile(element.contents())(scope); $compile(element.contents())(scope);
} }
attrs.$observe('eventType', function() { attrs.$observe('eventType', function() {
scope.loadTemplate(); scope.loadTemplate();
}); });
scope.types = types; scope.types = types;
scope.event = attrs.event; scope.event = attrs.event;
scope.showContent = function($event, content, title, contentType) { scope.showContent = function($event, content, title, contentType) {
var onShowingCallback = { var onShowingCallback = {
onShowing: function(){} onShowing: function(){}
} }
if (!contentType) { if (!contentType) {
contentType = null; contentType = null;
} }
var sortedContent; var sortedContent;
try { try {
sortedContent = angular.toJson(utils.sortObjectKeys(angular.fromJson(content))); sortedContent = angular.toJson(utils.sortObjectKeys(angular.fromJson(content)));
} }
catch(err) { catch(err) {
sortedContent = content; sortedContent = content;
} }
$mdDialog.show({ $mdDialog.show({
controller: 'EventContentDialogController', controller: 'EventContentDialogController',
controllerAs: 'vm', controllerAs: 'vm',
templateUrl: eventErrorDialogTemplate, templateUrl: eventErrorDialogTemplate,
locals: {content: sortedContent, title: title, contentType: contentType, showingCallback: onShowingCallback}, locals: {content: sortedContent, title: title, contentType: contentType, showingCallback: onShowingCallback},
parent: angular.element($document[0].body), parent: angular.element($document[0].body),
fullscreen: true, fullscreen: true,
targetEvent: $event, targetEvent: $event,
multiple: true, multiple: true,
onShowing: function(scope, element) { onShowing: function(scope, element) {
onShowingCallback.onShowing(scope, element); onShowingCallback.onShowing(scope, element);
} }
}); });
} }
scope.showEdgeEntityContent = function($event, title, contentType) { scope.showEdgeEntityContent = function($event, title, contentType) {
var onShowingCallback = { var onShowingCallback = {
onShowing: function(){} onShowing: function(){}
} }
if (!contentType) { if (!contentType) {
contentType = null; contentType = null;
} }
var content = ''; var content = '';
switch(scope.event.type) { switch(scope.event.type) {
case types.edgeEventType.relation: case types.edgeEventType.relation:
case types.edgeEventType.whiteLabeling: content = angular.toJson(scope.event.body);
case types.edgeEventType.loginWhiteLabeling: showDialog();
case types.edgeEventType.customTranslation: break;
content = angular.toJson(scope.event.body); case types.edgeEventType.ruleChainMetaData:
showDialog(); content = ruleChainService.getRuleChainMetaData(scope.event.entityId, {ignoreErrors: true}).then(
break; function success(info) {
case types.edgeEventType.ruleChainMetaData: showDialog();
content = ruleChainService.getRuleChainMetaData(scope.event.entityId, {ignoreErrors: true}).then( return angular.toJson(info);
function success(info) { }, function fail() {
showDialog(); showError();
return angular.toJson(info); });
}, function fail() { break;
showError(); default:
}); content = entityService.getEntity(scope.event.type, scope.event.entityId, {ignoreErrors: true}).then(
break; function success(info) {
default: showDialog();
content = entityService.getEntity(scope.event.type, scope.event.entityId, {ignoreErrors: true}).then( return angular.toJson(info);
function success(info) { }, function fail() {
showDialog(); showError();
return angular.toJson(info); });
}, function fail() { break;
showError(); }
}); function showDialog() {
break; $mdDialog.show({
} controller: 'EventContentDialogController',
function showDialog() { controllerAs: 'vm',
$mdDialog.show({ templateUrl: eventErrorDialogTemplate,
controller: 'EventContentDialogController', locals: {content: content, title: title, contentType: contentType, showingCallback: onShowingCallback},
controllerAs: 'vm', parent: angular.element($document[0].body),
templateUrl: eventErrorDialogTemplate, fullscreen: true,
locals: {content: content, title: title, contentType: contentType, showingCallback: onShowingCallback}, targetEvent: $event,
parent: angular.element($document[0].body), multiple: true,
fullscreen: true, onShowing: function(scope, element) {
targetEvent: $event, onShowingCallback.onShowing(scope, element);
multiple: true, }
onShowing: function(scope, element) { });
onShowingCallback.onShowing(scope, element); }
} function showError() {
}); toast.showError($translate.instant('edge.load-entity-error'));
} }
function showError() { }
toast.showError($translate.instant('edge.load-entity-error'));
} scope.checkEdgeEventType = function (edgeEventType) {
} return !(edgeEventType === types.edgeEventType.widgetType ||
edgeEventType === types.edgeEventType.adminSettings ||
scope.checkEdgeEventType = function (edgeEventType) { edgeEventType === types.edgeEventType.widgetsBundle );
return !(edgeEventType === types.edgeEventType.widgetType || }
edgeEventType === types.edgeEventType.adminSettings ||
edgeEventType === types.edgeEventType.widgetsBundle ); scope.checkTooltip = function($event) {
} var el = $event.target;
var $el = angular.element(el);
scope.checkTooltip = function($event) { if(el.offsetWidth < el.scrollWidth && !$el.attr('title')){
var el = $event.target; $el.attr('title', $el.text());
var $el = angular.element(el); }
if(el.offsetWidth < el.scrollWidth && !$el.attr('title')){ }
$el.attr('title', $el.text());
} $compile(element.contents())(scope);
}
scope.updateStatus = function(eventCreatedTime) {
$compile(element.contents())(scope); if (scope.queueStartTs) {
var status;
scope.updateStatus = function(eventCreatedTime) { if (eventCreatedTime < scope.queueStartTs) {
if (scope.queueStartTs) { status = $translate.instant('edge.success');
var status; scope.isPending = false;
if (eventCreatedTime < scope.queueStartTs) { } else {
status = $translate.instant('edge.success'); status = $translate.instant('edge.failed');
scope.isPending = false; scope.isPending = true;
} else { }
status = $translate.instant('edge.failed'); return status;
scope.isPending = true; }
} }
return status; }
}
} return {
} restrict: "A",
replace: false,
return { link: linker,
restrict: "A", scope: false
replace: false, };
link: linker, }
scope: false
};
}

Loading…
Cancel
Save