1window.angular && (function(angular) { 2 'use strict'; 3 4 angular.module('app.common.directives').directive('logEvent', [ 5 'APIUtils', 6 function(APIUtils) { 7 return { 8 'restrict': 'E', 9 'template': require('./log-event.html'), 10 'scope': {'event': '=', 'tmz': '=', 'multiSelected': '='}, 11 'controller': [ 12 '$rootScope', '$scope', 'dataService', '$location', '$timeout', 13 function($rootScope, $scope, dataService, $location, $timeout) { 14 $scope.dataService = dataService; 15 $scope.copySuccess = function(event) { 16 event.copied = true; 17 $timeout(function() { 18 event.copied = false; 19 }, 5000); 20 }; 21 $scope.copyFailed = function(err) { 22 console.error('Error!', err); 23 }; 24 $scope.resolveEvent = function(event) { 25 APIUtils.resolveLogs([{Id: event.Id}]) 26 .then( 27 function(data) { 28 event.Resolved = 1; 29 }, 30 function(error) { 31 // TODO: Show error to user 32 console.log(JSON.stringify(error)); 33 }); 34 }; 35 $scope.accept = function() { 36 $scope.event.selected = true; 37 $timeout(function() { 38 $scope.$parent.accept(); 39 }, 10); 40 }; 41 42 $scope.getTitle = function(event) { 43 var title = event.type; 44 if ((event.eventID != 'None') && (event.description != 'None')) { 45 title = event.eventID + ': ' + event.description; 46 } 47 return title; 48 }; 49 50 $scope.getAdditionalData = function(event) { 51 var data = event.additional_data; 52 // Stick the type into the additional data if it isn't 53 // already in the title. 54 if ($scope.getTitle(event).search(event.type) == -1) { 55 data += '\nMESSAGE=' + event.type; 56 } 57 return data; 58 }; 59 $scope.copyText = function(event) { 60 return event.description + ' ' + event.additional_data; 61 } 62 } 63 ] 64 }; 65 } 66 ]); 67})(window.angular); 68