blob: e179389bddd44cda1016e9a11da3b6e33e1b3a98 [file] [log] [blame]
Andrew Geisslerba5e3f32018-05-24 10:58:00 -07001window.angular && (function(angular) {
2 'use strict';
Iftekharul Islam8b4828a2017-04-19 14:37:55 -05003
Andrew Geisslerd27bb132018-05-24 11:07:27 -07004 angular.module('app.common.directives').directive('logEvent', [
5 'APIUtils',
6 function(APIUtils) {
Andrew Geisslerba5e3f32018-05-24 10:58:00 -07007 return {
8 'restrict': 'E',
9 'template': require('./log-event.html'),
Andrew Geisslerd27bb132018-05-24 11:07:27 -070010 '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) {
Gunnar Mills7e48d082019-01-23 16:02:03 -060025 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 });
Andrew Geisslerd27bb132018-05-24 11:07:27 -070034 };
Andrew Geisslerd27bb132018-05-24 11:07:27 -070035 $scope.accept = function() {
36 $scope.event.selected = true;
37 $timeout(function() {
38 $scope.$parent.accept();
39 }, 10);
40 };
Matt Spinler845acdc2018-05-01 16:41:28 -050041
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 };
beccabroekc93b03c2018-07-27 10:07:51 -050059 $scope.copyText = function(event) {
60 return event.description + ' ' + event.additional_data;
61 }
Andrew Geisslerd27bb132018-05-24 11:07:27 -070062 }
63 ]
Andrew Geisslerba5e3f32018-05-24 10:58:00 -070064 };
Andrew Geisslerd27bb132018-05-24 11:07:27 -070065 }
66 ]);
Iftekharul Islam8b4828a2017-04-19 14:37:55 -050067})(window.angular);