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) {
25d27bb135SAndrew Geissler              APIUtils.resolveLogs([{Id: event.Id}]).then(function() {
26f2d74644SIftekharul Islam                event.Resolved = 1;
27f2d74644SIftekharul Islam              });
28ba5e3f34SAndrew Geissler            };
29f2d74644SIftekharul Islam
30f2d74644SIftekharul Islam            $scope.accept = function() {
31f2d74644SIftekharul Islam              $scope.event.selected = true;
32f2d74644SIftekharul Islam              $timeout(function() {
33f2d74644SIftekharul Islam                $scope.$parent.accept();
34f2d74644SIftekharul Islam              }, 10);
35ba5e3f34SAndrew Geissler            };
36*845acdc5SMatt Spinler
37*845acdc5SMatt Spinler            $scope.getTitle = function(event) {
38*845acdc5SMatt Spinler              var title = event.type;
39*845acdc5SMatt Spinler              if ((event.eventID != 'None') && (event.description != 'None')) {
40*845acdc5SMatt Spinler                title = event.eventID + ': ' + event.description;
41*845acdc5SMatt Spinler              }
42*845acdc5SMatt Spinler              return title;
43*845acdc5SMatt Spinler            };
44*845acdc5SMatt Spinler
45*845acdc5SMatt Spinler            $scope.getAdditionalData = function(event) {
46*845acdc5SMatt Spinler              var data = event.additional_data;
47*845acdc5SMatt Spinler              // Stick the type into the additional data if it isn't
48*845acdc5SMatt Spinler              // already in the title.
49*845acdc5SMatt Spinler              if ($scope.getTitle(event).search(event.type) == -1) {
50*845acdc5SMatt Spinler                data += '\nMESSAGE=' + event.type;
51*845acdc5SMatt Spinler              }
52*845acdc5SMatt Spinler              return data;
53*845acdc5SMatt Spinler            };
54d27bb135SAndrew Geissler          }
55d27bb135SAndrew Geissler        ]
568b4828a6SIftekharul Islam      };
57d27bb135SAndrew Geissler    }
58d27bb135SAndrew Geissler  ]);
598b4828a6SIftekharul Islam})(window.angular);
60