18b4828a6SIftekharul Islamwindow.angular && (function(angular) { 28b4828a6SIftekharul Islam 'use strict'; 38b4828a6SIftekharul Islam 4d27bb135SAndrew Geissler angular.module('app.common.directives').directive('logEvent', [ 5d27bb135SAndrew Geissler 'APIUtils', 6d27bb135SAndrew Geissler function(APIUtils) { 78b4828a6SIftekharul Islam return { 88b4828a6SIftekharul Islam 'restrict': 'E', 9bbcf670aSEd Tanous 'template': require('./log-event.html'), 10d27bb135SAndrew Geissler 'scope': {'event': '=', 'tmz': '=', 'multiSelected': '='}, 11d27bb135SAndrew Geissler 'controller': [ 12d27bb135SAndrew Geissler '$rootScope', '$scope', 'dataService', '$location', '$timeout', 13d27bb135SAndrew Geissler function($rootScope, $scope, dataService, $location, $timeout) { 148b4828a6SIftekharul Islam $scope.dataService = dataService; 158b4828a6SIftekharul Islam $scope.copySuccess = function(event) { 168b4828a6SIftekharul Islam event.copied = true; 178b4828a6SIftekharul Islam $timeout(function() { 188b4828a6SIftekharul Islam event.copied = false; 198b4828a6SIftekharul Islam }, 5000); 208b4828a6SIftekharul Islam }; 218b4828a6SIftekharul Islam $scope.copyFailed = function(err) { 228b4828a6SIftekharul Islam console.error('Error!', err); 238b4828a6SIftekharul Islam }; 24f2d74644SIftekharul Islam $scope.resolveEvent = function(event) { 25*7e48d081SGunnar Mills APIUtils.resolveLogs([{Id: event.Id}]) 26*7e48d081SGunnar Mills .then( 27*7e48d081SGunnar Mills function(data) { 28f2d74644SIftekharul Islam event.Resolved = 1; 29*7e48d081SGunnar Mills }, 30*7e48d081SGunnar Mills function(error) { 31*7e48d081SGunnar Mills // TODO: Show error to user 32*7e48d081SGunnar Mills console.log(JSON.stringify(error)); 33f2d74644SIftekharul Islam }); 34ba5e3f34SAndrew Geissler }; 35f2d74644SIftekharul Islam $scope.accept = function() { 36f2d74644SIftekharul Islam $scope.event.selected = true; 37f2d74644SIftekharul Islam $timeout(function() { 38f2d74644SIftekharul Islam $scope.$parent.accept(); 39f2d74644SIftekharul Islam }, 10); 40ba5e3f34SAndrew Geissler }; 41845acdc5SMatt Spinler 42845acdc5SMatt Spinler $scope.getTitle = function(event) { 43845acdc5SMatt Spinler var title = event.type; 44845acdc5SMatt Spinler if ((event.eventID != 'None') && (event.description != 'None')) { 45845acdc5SMatt Spinler title = event.eventID + ': ' + event.description; 46845acdc5SMatt Spinler } 47845acdc5SMatt Spinler return title; 48845acdc5SMatt Spinler }; 49845acdc5SMatt Spinler 50845acdc5SMatt Spinler $scope.getAdditionalData = function(event) { 51845acdc5SMatt Spinler var data = event.additional_data; 52845acdc5SMatt Spinler // Stick the type into the additional data if it isn't 53845acdc5SMatt Spinler // already in the title. 54845acdc5SMatt Spinler if ($scope.getTitle(event).search(event.type) == -1) { 55845acdc5SMatt Spinler data += '\nMESSAGE=' + event.type; 56845acdc5SMatt Spinler } 57845acdc5SMatt Spinler return data; 58845acdc5SMatt Spinler }; 59c93b03c2Sbeccabroek $scope.copyText = function(event) { 60c93b03c2Sbeccabroek return event.description + ' ' + event.additional_data; 61c93b03c2Sbeccabroek } 62d27bb135SAndrew Geissler } 63d27bb135SAndrew Geissler ] 648b4828a6SIftekharul Islam }; 65d27bb135SAndrew Geissler } 66d27bb135SAndrew Geissler ]); 678b4828a6SIftekharul Islam})(window.angular); 68