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