diff --git a/app/Http/Controllers/ApiController.php b/app/Http/Controllers/ApiController.php index 2435ca1..110a71a 100644 --- a/app/Http/Controllers/ApiController.php +++ b/app/Http/Controllers/ApiController.php @@ -5,7 +5,6 @@ namespace App\Http\Controllers; use Exception; use \Carbon\Carbon; use App\Models\Task; -use App\Models\TaskHistory; use Illuminate\Http\Request; use Illuminate\Support\Facades\DB; @@ -80,26 +79,27 @@ class ApiController extends Controller if (! is_null($task)) { // First, we get the first date of the stats // In this case, one month ago - $date = $last_days = Carbon::now()->subDays($days); + $last_days = Carbon::now()->subDays($days); // Then we get all history for the past month $history = $task ->history() ->orderBy('created_at', 'desc') ->where('created_at', '>', $last_days->toDateString()) - ->selectRaw('date(created_at) as date, created_at, status') + ->selectRaw('id, date(created_at) as date, created_at, status') ->get() ; // Then we start building an array for the entire month $stats = []; + $tmpdate = Carbon::now()->subDays($days); do { - $stats[$date->toDateString()] = [ + $stats[$tmpdate->toDateString()] = [ 'up' => 0, 'down' => 0 ]; - $date = $date->addDay(); + $tmpdate = $tmpdate->addDay(); } - while ($date->lt(Carbon::now())); + while ($tmpdate->lt(Carbon::now())); // Then we populate the stats data if (! is_null($history)) { @@ -133,10 +133,20 @@ class ApiController extends Controller } } + // Getting the notifications sent + $notifications = $task + ->notifications() + ->with('contact') + ->where('notifications.created_at', '>', $last_days->toDateString()) + ->orderBy('notifications.created_at', 'desc') + ->get() + ; + return response()->json([ - 'task' => $task, - 'stats' => $stats, - 'history' => $history + 'task' => $task, + 'stats' => $stats, + 'history' => $history, + 'notifications' => $notifications ]); } } @@ -153,7 +163,7 @@ class ApiController extends Controller $task->active = $active; if ($task->save()) { - return $this->getTaskDetails($id); + return response()->json($task); } else { throw new ApiException('Cannot disable this task'); diff --git a/app/Models/Task.php b/app/Models/Task.php index 91e5225..a3bc2d5 100644 --- a/app/Models/Task.php +++ b/app/Models/Task.php @@ -26,10 +26,6 @@ class Task extends Model return $this->belongsTo('App\Models\Group'); } - public function notifications() { - return $this->hasMany('App\Models\Notification'); - } - public function contacts() { return $this->belongsToMany('App\Models\Contact'); } @@ -37,4 +33,8 @@ class Task extends Model public function history() { return $this->hasMany('App\Models\TaskHistory'); } + + public function notifications() { + return $this->hasManyThrough('App\Models\Notification', 'App\Models\TaskHistory'); + } } diff --git a/public/js/app.js b/public/js/app.js index 061a67e..1019a1a 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -376,7 +376,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n data: function data() {\n return {\n task: {\n id: null\n },\n history: null,\n refresh: null,\n chart: {\n render: false,\n days: 15\n },\n series: [{\n data: []\n }],\n noData: {\n text: 'Loading...'\n },\n chartOptions: {\n responsive: [{\n breakpoint: 480,\n options: {\n legend: {\n position: 'bottom',\n offsetX: -10,\n offsetY: 0\n }\n }\n }],\n xaxis: {\n categories: []\n },\n fill: {\n opacity: .9\n }\n }\n };\n },\n methods: {\n statusText: function statusText(status) {\n switch (status) {\n case 1:\n return 'up';\n break;\n\n case 0:\n return 'down';\n break;\n\n default:\n return 'unknown';\n }\n },\n refreshTask: function refreshTask() {\n var _this = this;\n\n this.$http.post('/api/getTask/' + this.task.id, {\n days: this.chart.days\n }).then(function (response) {\n _this.task = response.data.task;\n _this.history = response.data.history;\n\n _this.refreshGraph(response.data.stats);\n });\n\n if (this.refresh == null) {\n this.refresh = window.setInterval(function () {\n _this.refreshTask();\n }, 10000);\n }\n },\n refreshGraph: function refreshGraph(stats) {\n var xaxis = [];\n var new_data_a = [];\n var new_data_b = [];\n\n for (var date in stats) {\n xaxis.push(date);\n new_data_a.push(stats[date]['up']);\n new_data_b.push(stats[date]['down']);\n }\n\n this.chartOptions = {\n xaxis: {\n categories: xaxis,\n labels: {\n show: true,\n rotate: -45,\n rotateAlways: true\n }\n },\n chart: {\n type: 'bar',\n height: 350,\n stacked: true,\n stackType: '100%'\n },\n legend: {\n position: 'right',\n offsetX: 0,\n offsetY: 50\n }\n };\n this.series = [{\n name: 'UP',\n data: new_data_a,\n color: '#00955c'\n }, {\n name: 'DOWN',\n data: new_data_b,\n color: '#ef3232'\n }];\n this.chart.render = true;\n }\n },\n mounted: function mounted() {\n var _this$$route$params$i;\n\n this.task.id = (_this$$route$params$i = this.$route.params.id) !== null && _this$$route$params$i !== void 0 ? _this$$route$params$i : null;\n\n if (this.task.id != null) {\n this.refreshTask();\n }\n },\n beforeRouteLeave: function beforeRouteLeave(to, from, next) {\n clearTimeout(this.refresh);\n next();\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/Y2xvbmVkUnVsZVNldC01WzBdLnJ1bGVzWzBdLnVzZVswXSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vcmVzb3VyY2VzL3ZpZXdzL3Rhc2tkZXRhaWxzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFxRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBLE9BREE7QUFJQSxtQkFKQTtBQUtBLG1CQUxBO0FBT0E7QUFDQSxxQkFEQTtBQUVBO0FBRkEsT0FQQTtBQVlBO0FBQ0E7QUFEQSxRQVpBO0FBZUE7QUFDQTtBQURBLE9BZkE7QUFrQkE7QUFDQTtBQUNBLHlCQURBO0FBRUE7QUFDQTtBQUNBLGdDQURBO0FBRUEsMEJBRkE7QUFHQTtBQUhBO0FBREE7QUFGQSxVQURBO0FBV0E7QUFDQTtBQURBLFNBWEE7QUFjQTtBQUNBO0FBREE7QUFkQTtBQWxCQTtBQXFDQSxHQXZDQTtBQXdDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFSQTtBQVVBLEtBWkE7QUFhQTtBQUFBOztBQUNBO0FBQ0E7QUFEQSxTQUdBLElBSEEsQ0FHQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQSxPQVBBOztBQVNBO0FBQ0E7QUFDQTtBQUNBLFNBRkEsRUFFQSxLQUZBO0FBR0E7QUFDQSxLQTVCQTtBQTZCQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwyQkFEQTtBQUVBO0FBQ0Esc0JBREE7QUFFQSx1QkFGQTtBQUdBO0FBSEE7QUFGQSxTQURBO0FBU0E7QUFDQSxxQkFEQTtBQUVBLHFCQUZBO0FBR0EsdUJBSEE7QUFJQTtBQUpBLFNBVEE7QUFlQTtBQUNBLDJCQURBO0FBRUEsb0JBRkE7QUFHQTtBQUhBO0FBZkE7QUFxQkE7QUFDQSxrQkFEQTtBQUVBLHdCQUZBO0FBR0E7QUFIQSxTQUtBO0FBQ0Esb0JBREE7QUFFQSx3QkFGQTtBQUdBO0FBSEEsT0FMQTtBQVdBO0FBQ0E7QUF6RUEsR0F4Q0E7QUFtSEE7QUFBQTs7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQXpIQTtBQTBIQSxrQkExSEEsNEJBMEhBLEVBMUhBLEVBMEhBLElBMUhBLEVBMEhBLElBMUhBLEVBMEhBO0FBQ0E7QUFDQTtBQUNBO0FBN0hBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3Jlc291cmNlcy92aWV3cy90YXNrZGV0YWlscy52dWU/NzNhNCJdLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDxkaXY+XG5cdFx0PGRpdiBjbGFzcz1cImNvbnRhaW5lclwiXG5cdFx0XHR2LWlmPVwidGFzay5pZCAhPSBudWxsXCJcblx0XHQ+XG5cdFx0XHQ8aDE+XG5cdFx0XHRcdFRhc2sgI3t7IHRhc2suaWQgfX1cblx0XHRcdFx0PCEtLSA8cCBjbGFzcz1cImNvbnRleHQtbWVudVwiPjxpbWcgc3JjPVwiL2ltZy9tZW51LnN2Z1wiIHdpZHRoPVwiNDBcIiAvPjwvcD4gLS0+XG5cdFx0XHQ8L2gxPlxuXG5cdFx0XHRTaG93OlxuXHRcdFx0PHNlbGVjdFxuXHRcdFx0XHR2LW1vZGVsPVwiY2hhcnQuZGF5c1wiXG5cdFx0XHRcdEBjaGFuZ2U9XCJyZWZyZXNoVGFza1wiXG5cdFx0XHQ+XG5cdFx0XHRcdDxvcHRpb24gdmFsdWU9XCI3XCI+NyBkYXlzPC9vcHRpb24+XG5cdFx0XHRcdDxvcHRpb24gdmFsdWU9XCIxNVwiPjE1IGRheXM8L29wdGlvbj5cblx0XHRcdFx0PG9wdGlvbiB2YWx1ZT1cIjMwXCI+MzAgZGF5czwvb3B0aW9uPlxuXHRcdFx0PC9zZWxlY3Q+XG5cdFx0XHQ8ZGl2IGlkPVwiY2hhcnRcIiBjbGFzcz1cInJvdW5kXCI+XG5cdFx0XHRcdDxoMz5VcHRpbWU6IHBhc3Qge3sgY2hhcnQuZGF5cyB9fSBkYXlzPC9oMz5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImJsb2NrLWNvbnRlbnRcIj5cblx0XHRcdFx0XHQ8YXBleGNoYXJ0IGNsYXNzPVwiZ3JhcGhcIiB2LWlmPVwiY2hhcnQucmVuZGVyXCIgdHlwZT1cImJhclwiIGhlaWdodD1cIjM1MFwiIDpvcHRpb25zPVwiY2hhcnRPcHRpb25zXCIgOnNlcmllcz1cInNlcmllc1wiPjwvYXBleGNoYXJ0PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PlxuXG5cdFx0XHQ8ZGl2IGNsYXNzPVwicm91bmRcIj5cblx0XHRcdFx0PGgzPkxhc3Qge3sgY2hhcnQuZGF5cyB9fSBkYXlzIGhpc3RvcnkgbG9nPC9oMz5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImJsb2NrLWNvbnRlbnRcIiB2LWlmPVwiaGlzdG9yeVwiPlxuXHRcdFx0XHRcdDxwPjxpPlNob3dpbmcgb25seSByZWNvcmRzIHdoZXJlIHN0YXR1cyBoYXMgY2hhbmdlZDwvaT48L3A+XG5cdFx0XHRcdFx0PHRhYmxlIGlkPVwidGFza3NfdGJsXCI+XG5cdFx0XHRcdFx0XHQ8dGhlYWQ+XG5cdFx0XHRcdFx0XHRcdDx0cj5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIyMCVcIj5EYXRlPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIyMCVcIj5UaW1lPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIqXCI+T3V0cHV0PC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIxMCVcIj5TdGF0dXM8L3RoPlxuXHRcdFx0XHRcdFx0XHQ8L3RyPlxuXHRcdFx0XHRcdFx0PC90aGVhZD5cblx0XHRcdFx0XHRcdDx0Ym9keT5cblx0XHRcdFx0XHRcdFx0PHRyXG5cdFx0XHRcdFx0XHRcdFx0di1mb3I9XCJoIGluIGhpc3RvcnlcIlxuXHRcdFx0XHRcdFx0XHRcdHYtYmluZDprZXk9XCJoLmlkXCJcblx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBtb21lbnQoaC5jcmVhdGVkX2F0KS5mb3JtYXQoJ1lZWVktTU0tREQnKSB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkPnt7IG1vbWVudChoLmNyZWF0ZWRfYXQpLmZvcm1hdCgnSEg6bW06c3MnKSB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4gdi1pZj1cImgub3V0cHV0XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7IGgub3V0cHV0IH19XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8c3BhbiB2LWVsc2U+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpPk5vIG91dHB1dDwvaT5cblx0XHRcdFx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZCA6Y2xhc3M9XCJzdGF0dXNUZXh0KGguc3RhdHVzKVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGltZyA6c3JjPVwiJy9pbWcvJytzdGF0dXNUZXh0KGguc3RhdHVzKSsnLnN2ZydcIiB3aWR0aD1cIjE2XCIgYWx0PVwiU3RhdHVzXCIgLz5cblx0XHRcdFx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdFx0XHQ8L3RyPlxuXHRcdFx0XHRcdFx0PC90Ym9keT5cblx0XHRcdFx0XHQ8L3RhYmxlPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PHAgdi1lbHNlPjxjZW50ZXI+Tm8gaGlzdG9yeSB0byBkaXNwbGF5IGhlcmU8L2NlbnRlcj48L3A+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXG4gICAgZXhwb3J0IGRlZmF1bHR7XG5cdFx0ZGF0YTogZnVuY3Rpb24oKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHR0YXNrOiB7XG5cdFx0XHRcdFx0aWQ6IG51bGxcblx0XHRcdFx0fSxcblx0XHRcdFx0aGlzdG9yeTogbnVsbCxcblx0XHRcdFx0cmVmcmVzaDogbnVsbCxcblxuXHRcdFx0XHRjaGFydDoge1xuXHRcdFx0XHRcdHJlbmRlcjogZmFsc2UsXG5cdFx0XHRcdFx0ZGF5czogMTVcblx0XHRcdFx0fSxcblxuXHRcdFx0XHRzZXJpZXM6IFt7XG5cdFx0XHRcdFx0ZGF0YTogW11cblx0XHRcdFx0fV0sXG5cdFx0XHRcdG5vRGF0YToge1xuXHRcdFx0XHRcdHRleHQ6ICdMb2FkaW5nLi4uJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRjaGFydE9wdGlvbnM6IHtcblx0XHRcdFx0XHRyZXNwb25zaXZlOiBbe1xuXHRcdFx0XHRcdFx0YnJlYWtwb2ludDogNDgwLFxuXHRcdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0XHRsZWdlbmQ6IHtcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogJ2JvdHRvbScsXG5cdFx0XHRcdFx0XHRcdFx0b2Zmc2V0WDogLTEwLFxuXHRcdFx0XHRcdFx0XHRcdG9mZnNldFk6IDBcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1dLFxuXHRcdFx0XHRcdHhheGlzOiB7XG5cdFx0XHRcdFx0XHRjYXRlZ29yaWVzOiBbXSxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGZpbGw6IHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IC45XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0fSxcblx0XHRcdH1cblx0XHR9LFxuXHRcdG1ldGhvZHM6IHtcblx0XHRcdHN0YXR1c1RleHQ6IGZ1bmN0aW9uIChzdGF0dXMpIHtcblx0XHRcdFx0c3dpdGNoIChzdGF0dXMpIHtcblx0XHRcdFx0XHRjYXNlIDE6XG5cdFx0XHRcdFx0XHRyZXR1cm4gJ3VwJztcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRjYXNlIDA6XG5cdFx0XHRcdFx0XHRyZXR1cm4gJ2Rvd24nO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRyZXR1cm4gJ3Vua25vd24nO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0cmVmcmVzaFRhc2s6IGZ1bmN0aW9uKCkge1xuXHRcdFx0XHR0aGlzLiRodHRwLnBvc3QoJy9hcGkvZ2V0VGFzay8nK3RoaXMudGFzay5pZCwge1xuXHRcdFx0XHRcdGRheXM6IHRoaXMuY2hhcnQuZGF5c1xuXHRcdFx0XHR9KVxuXHRcdFx0XHQudGhlbihyZXNwb25zZSA9PiB7XG5cdFx0XHRcdFx0dGhpcy50YXNrID0gcmVzcG9uc2UuZGF0YS50YXNrXG5cdFx0XHRcdFx0dGhpcy5oaXN0b3J5ID0gcmVzcG9uc2UuZGF0YS5oaXN0b3J5XG5cdFx0XHRcdFx0dGhpcy5yZWZyZXNoR3JhcGgocmVzcG9uc2UuZGF0YS5zdGF0cylcblx0XHRcdFx0fSlcblxuXHRcdFx0XHRpZiAodGhpcy5yZWZyZXNoID09IG51bGwpIHtcblx0XHRcdFx0XHR0aGlzLnJlZnJlc2ggPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5yZWZyZXNoVGFzaygpXG5cdFx0XHRcdFx0fSwgMTAwMDApXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRyZWZyZXNoR3JhcGg6IGZ1bmN0aW9uKHN0YXRzKSB7XG5cdFx0XHRcdGxldCB4YXhpcyA9IFtdO1xuXHRcdFx0XHRsZXQgbmV3X2RhdGFfYSA9IFtdO1xuXHRcdFx0XHRsZXQgbmV3X2RhdGFfYiA9IFtdO1xuXG5cdFx0XHRcdGZvciAobGV0IGRhdGUgaW4gc3RhdHMpIHtcblx0XHRcdFx0XHR4YXhpcy5wdXNoKGRhdGUpXG5cdFx0XHRcdFx0bmV3X2RhdGFfYS5wdXNoKHN0YXRzW2RhdGVdWyd1cCddKVxuXHRcdFx0XHRcdG5ld19kYXRhX2IucHVzaChzdGF0c1tkYXRlXVsnZG93biddKVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5jaGFydE9wdGlvbnMgPSB7XG5cdFx0XHRcdFx0eGF4aXM6IHtcblx0XHRcdFx0XHRcdGNhdGVnb3JpZXM6IHhheGlzLFxuXHRcdFx0XHRcdFx0bGFiZWxzOiB7XG5cdFx0XHRcdFx0XHRcdHNob3c6IHRydWUsXG5cdFx0XHRcdFx0XHRcdHJvdGF0ZTogLTQ1LFxuXHRcdFx0XHRcdFx0XHRyb3RhdGVBbHdheXM6IHRydWUsXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRjaGFydDoge1xuXHRcdFx0XHRcdFx0dHlwZTogJ2JhcicsXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDM1MCxcblx0XHRcdFx0XHRcdHN0YWNrZWQ6IHRydWUsXG5cdFx0XHRcdFx0XHRzdGFja1R5cGU6ICcxMDAlJ1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0bGVnZW5kOiB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogJ3JpZ2h0Jyxcblx0XHRcdFx0XHRcdG9mZnNldFg6IDAsXG5cdFx0XHRcdFx0XHRvZmZzZXRZOiA1MFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5zZXJpZXMgPSBbe1xuXHRcdFx0XHRcdG5hbWU6ICdVUCcsXG5cdFx0XHRcdFx0ZGF0YTogbmV3X2RhdGFfYSxcblx0XHRcdFx0XHRjb2xvcjogJyMwMDk1NWMnXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRuYW1lOiAnRE9XTicsXG5cdFx0XHRcdFx0ZGF0YTogbmV3X2RhdGFfYixcblx0XHRcdFx0XHRjb2xvcjogJyNlZjMyMzInXG5cdFx0XHRcdH1dXG5cblx0XHRcdFx0dGhpcy5jaGFydC5yZW5kZXIgPSB0cnVlXG5cdFx0XHR9LFxuXHRcdH0sXG5cdFx0bW91bnRlZDogZnVuY3Rpb24oKSB7XG5cdFx0XHR0aGlzLnRhc2suaWQgPSB0aGlzLiRyb3V0ZS5wYXJhbXMuaWQgPz8gbnVsbFxuXG5cdFx0XHRpZiAodGhpcy50YXNrLmlkICE9IG51bGwpIHtcblx0XHRcdFx0dGhpcy5yZWZyZXNoVGFzaygpXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRiZWZvcmVSb3V0ZUxlYXZlKHRvLCBmcm9tLCBuZXh0KSB7XG5cdFx0XHRjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoKTtcblx0XHRcdG5leHQoKTtcblx0XHR9LFxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgc2NvcGVkPlxuXG48L3N0eWxlPlxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/taskdetails.vue?vue&type=script&lang=js&\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n data: function data() {\n return {\n task: {\n id: null\n },\n history: null,\n notifications: null,\n refresh: null,\n chart: {\n render: false,\n days: 15\n },\n series: [{\n data: []\n }],\n noData: {\n text: 'Loading...'\n },\n chartOptions: {\n responsive: [{\n breakpoint: 480,\n options: {\n legend: {\n position: 'bottom',\n offsetX: -10,\n offsetY: 0\n }\n }\n }],\n xaxis: {\n categories: []\n },\n fill: {\n opacity: .9\n }\n }\n };\n },\n methods: {\n statusText: function statusText(status) {\n switch (status) {\n case 1:\n return 'up';\n break;\n\n case 0:\n return 'down';\n break;\n\n default:\n return 'unknown';\n }\n },\n refreshTask: function refreshTask() {\n var _this = this;\n\n this.$http.post('/api/getTask/' + this.task.id, {\n days: this.chart.days\n }).then(function (response) {\n _this.task = response.data.task;\n _this.history = response.data.history;\n _this.notifications = response.data.notifications;\n\n _this.refreshGraph(response.data.stats);\n });\n\n if (this.refresh == null) {\n this.refresh = window.setInterval(function () {\n _this.refreshTask();\n }, 10000);\n }\n },\n refreshGraph: function refreshGraph(stats) {\n var xaxis = [];\n var new_data_a = [];\n var new_data_b = [];\n\n for (var date in stats) {\n xaxis.push(date);\n new_data_a.push(stats[date]['up']);\n new_data_b.push(stats[date]['down']);\n }\n\n this.chartOptions = {\n xaxis: {\n categories: xaxis,\n labels: {\n show: true,\n rotate: -45,\n rotateAlways: true\n }\n },\n chart: {\n type: 'bar',\n height: 350,\n stacked: true,\n stackType: '100%'\n },\n legend: {\n position: 'right',\n offsetX: 0,\n offsetY: 50\n }\n };\n this.series = [{\n name: 'UP',\n data: new_data_a,\n color: '#00955c'\n }, {\n name: 'DOWN',\n data: new_data_b,\n color: '#ef3232'\n }];\n this.chart.render = true;\n }\n },\n mounted: function mounted() {\n var _this$$route$params$i;\n\n this.task.id = (_this$$route$params$i = this.$route.params.id) !== null && _this$$route$params$i !== void 0 ? _this$$route$params$i : null;\n\n if (this.task.id != null) {\n this.refreshTask();\n }\n },\n beforeRouteLeave: function beforeRouteLeave(to, from, next) {\n clearTimeout(this.refresh);\n next();\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/Y2xvbmVkUnVsZVNldC01WzBdLnJ1bGVzWzBdLnVzZVswXSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vcmVzb3VyY2VzL3ZpZXdzL3Rhc2tkZXRhaWxzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBLE9BREE7QUFJQSxtQkFKQTtBQUtBLHlCQUxBO0FBTUEsbUJBTkE7QUFRQTtBQUNBLHFCQURBO0FBRUE7QUFGQSxPQVJBO0FBYUE7QUFDQTtBQURBLFFBYkE7QUFnQkE7QUFDQTtBQURBLE9BaEJBO0FBbUJBO0FBQ0E7QUFDQSx5QkFEQTtBQUVBO0FBQ0E7QUFDQSxnQ0FEQTtBQUVBLDBCQUZBO0FBR0E7QUFIQTtBQURBO0FBRkEsVUFEQTtBQVdBO0FBQ0E7QUFEQSxTQVhBO0FBY0E7QUFDQTtBQURBO0FBZEE7QUFuQkE7QUFzQ0EsR0F4Q0E7QUF5Q0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBUkE7QUFVQSxLQVpBO0FBYUE7QUFBQTs7QUFDQTtBQUNBO0FBREEsU0FHQSxJQUhBLENBR0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQSxPQVJBOztBQVVBO0FBQ0E7QUFDQTtBQUNBLFNBRkEsRUFFQSxLQUZBO0FBR0E7QUFDQSxLQTdCQTtBQThCQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSwyQkFEQTtBQUVBO0FBQ0Esc0JBREE7QUFFQSx1QkFGQTtBQUdBO0FBSEE7QUFGQSxTQURBO0FBU0E7QUFDQSxxQkFEQTtBQUVBLHFCQUZBO0FBR0EsdUJBSEE7QUFJQTtBQUpBLFNBVEE7QUFlQTtBQUNBLDJCQURBO0FBRUEsb0JBRkE7QUFHQTtBQUhBO0FBZkE7QUFxQkE7QUFDQSxrQkFEQTtBQUVBLHdCQUZBO0FBR0E7QUFIQSxTQUtBO0FBQ0Esb0JBREE7QUFFQSx3QkFGQTtBQUdBO0FBSEEsT0FMQTtBQVdBO0FBQ0E7QUExRUEsR0F6Q0E7QUFxSEE7QUFBQTs7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQTNIQTtBQTRIQSxrQkE1SEEsNEJBNEhBLEVBNUhBLEVBNEhBLElBNUhBLEVBNEhBLElBNUhBLEVBNEhBO0FBQ0E7QUFDQTtBQUNBO0FBL0hBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3Jlc291cmNlcy92aWV3cy90YXNrZGV0YWlscy52dWU/NzNhNCJdLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDxkaXY+XG5cdFx0PGRpdiBjbGFzcz1cImNvbnRhaW5lclwiXG5cdFx0XHR2LWlmPVwidGFzay5pZCAhPSBudWxsXCJcblx0XHQ+XG5cdFx0XHQ8aDE+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwiaGlnaGxpZ2h0XCI+e3sgdGFzay50eXBlIH19PC9zcGFuPiBmb3IgaG9zdCA8c3BhbiBjbGFzcz1cImhpZ2hsaWdodFwiPnt7IHRhc2suaG9zdCB9fTwvc3Bhbj5cblx0XHRcdFx0PCEtLSA8cCBjbGFzcz1cImNvbnRleHQtbWVudVwiPjxpbWcgc3JjPVwiL2ltZy9tZW51LnN2Z1wiIHdpZHRoPVwiNDBcIiAvPjwvcD4gLS0+XG5cdFx0XHQ8L2gxPlxuXG5cdFx0XHRTaG93OlxuXHRcdFx0PHNlbGVjdFxuXHRcdFx0XHR2LW1vZGVsPVwiY2hhcnQuZGF5c1wiXG5cdFx0XHRcdEBjaGFuZ2U9XCJyZWZyZXNoVGFza1wiXG5cdFx0XHQ+XG5cdFx0XHRcdDxvcHRpb24gdmFsdWU9XCI3XCI+NyBkYXlzPC9vcHRpb24+XG5cdFx0XHRcdDxvcHRpb24gdmFsdWU9XCIxNVwiPjE1IGRheXM8L29wdGlvbj5cblx0XHRcdFx0PG9wdGlvbiB2YWx1ZT1cIjMwXCI+MzAgZGF5czwvb3B0aW9uPlxuXHRcdFx0PC9zZWxlY3Q+XG5cblx0XHRcdDwhLS0gQ2hhcnQgYmxvY2sgLS0+XG5cdFx0XHQ8ZGl2IGlkPVwiY2hhcnRcIiBjbGFzcz1cInJvdW5kXCI+XG5cdFx0XHRcdDxoMz5VcHRpbWU6IHBhc3Qge3sgY2hhcnQuZGF5cyB9fSBkYXlzPC9oMz5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImJsb2NrLWNvbnRlbnRcIj5cblx0XHRcdFx0XHQ8YXBleGNoYXJ0IGNsYXNzPVwiZ3JhcGhcIiB2LWlmPVwiY2hhcnQucmVuZGVyXCIgdHlwZT1cImJhclwiIGhlaWdodD1cIjM1MFwiIDpvcHRpb25zPVwiY2hhcnRPcHRpb25zXCIgOnNlcmllcz1cInNlcmllc1wiPjwvYXBleGNoYXJ0PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PlxuXG5cdFx0XHQ8IS0tIEhpc3RvcnkgYmFja2xvZyAtLT5cblx0XHRcdDxkaXYgY2xhc3M9XCJyb3VuZFwiPlxuXHRcdFx0XHQ8aDM+TGFzdCB7eyBjaGFydC5kYXlzIH19IGRheXMgaGlzdG9yeSBsb2c8L2gzPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYmxvY2stY29udGVudFwiIHYtaWY9XCJoaXN0b3J5Lmxlbmd0aCA+IDBcIj5cblx0XHRcdFx0XHQ8cD48aT5TaG93aW5nIG9ubHkgcmVjb3JkcyB3aGVyZSBzdGF0dXMgaGFzIGNoYW5nZWQ8L2k+PC9wPlxuXHRcdFx0XHRcdDx0YWJsZSBpZD1cInRhc2tzX3RibFwiPlxuXHRcdFx0XHRcdFx0PHRoZWFkPlxuXHRcdFx0XHRcdFx0XHQ8dHI+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMjAlXCI+RGF0ZTwvdGg+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMjAlXCI+VGltZTwvdGg+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiKlwiPk91dHB1dDwvdGg+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMTAlXCI+U3RhdHVzPC90aD5cblx0XHRcdFx0XHRcdFx0PC90cj5cblx0XHRcdFx0XHRcdDwvdGhlYWQ+XG5cdFx0XHRcdFx0XHQ8dGJvZHk+XG5cdFx0XHRcdFx0XHRcdDx0clxuXHRcdFx0XHRcdFx0XHRcdHYtZm9yPVwiaCBpbiBoaXN0b3J5XCJcblx0XHRcdFx0XHRcdFx0XHR2LWJpbmQ6a2V5PVwiaC5pZFwiXG5cdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQ+e3sgbW9tZW50KGguY3JlYXRlZF9hdCkuZm9ybWF0KCdZWVlZLU1NLUREJykgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBtb21lbnQoaC5jcmVhdGVkX2F0KS5mb3JtYXQoJ0hIOm1tOnNzJykgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD5cblx0XHRcdFx0XHRcdFx0XHRcdDxzcGFuIHYtaWY9XCJoLm91dHB1dFwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHR7eyBoLm91dHB1dCB9fVxuXHRcdFx0XHRcdFx0XHRcdFx0PC9zcGFuPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4gdi1lbHNlPlxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8aT5ObyBvdXRwdXQ8L2k+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQgOmNsYXNzPVwic3RhdHVzVGV4dChoLnN0YXR1cylcIj5cblx0XHRcdFx0XHRcdFx0XHRcdDxpbWcgOnNyYz1cIicvaW1nLycrc3RhdHVzVGV4dChoLnN0YXR1cykrJy5zdmcnXCIgd2lkdGg9XCIxNlwiIGFsdD1cIlN0YXR1c1wiIC8+XG5cdFx0XHRcdFx0XHRcdFx0PC90ZD5cblx0XHRcdFx0XHRcdFx0PC90cj5cblx0XHRcdFx0XHRcdDwvdGJvZHk+XG5cdFx0XHRcdFx0PC90YWJsZT5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxwIHYtZWxzZT48Y2VudGVyPk5vIGhpc3RvcnkgdG8gZGlzcGxheSBoZXJlPC9jZW50ZXI+PC9wPlxuXHRcdFx0PC9kaXY+XG5cblx0XHRcdDwhLS0gTm90aWZpY2F0aW9ucyBibG9jayAtLT5cblx0XHRcdDxkaXYgY2xhc3M9XCJyb3VuZFwiPlxuXHRcdFx0XHQ8aDM+TGFzdCB7eyBjaGFydC5kYXlzIH19IGRheXMgbm90aWZpY2F0aW9ucyBsb2c8L2gzPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYmxvY2stY29udGVudFwiIHYtaWY9XCJub3RpZmljYXRpb25zLmxlbmd0aCA+IDBcIj5cblx0XHRcdFx0XHQ8dGFibGUgaWQ9XCJ0YXNrc190YmxcIj5cblx0XHRcdFx0XHRcdDx0aGVhZD5cblx0XHRcdFx0XHRcdFx0PHRyPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjIwJVwiPkRhdGU8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjIwJVwiPlRpbWU8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIipcIj5GaXJzdG5hbWU8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjEwJVwiPkxhc3RuYW1lPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIxMCVcIj5FbWFpbDwvdGg+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMTAlXCI+U3RhdHVzPC90aD5cblx0XHRcdFx0XHRcdFx0PC90cj5cblx0XHRcdFx0XHRcdDwvdGhlYWQ+XG5cdFx0XHRcdFx0XHQ8dGJvZHk+XG5cdFx0XHRcdFx0XHRcdDx0clxuXHRcdFx0XHRcdFx0XHRcdHYtZm9yPVwibiBpbiBub3RpZmljYXRpb25zXCJcblx0XHRcdFx0XHRcdFx0XHR2LWJpbmQ6a2V5PVwibi5pZFwiXG5cdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQ+e3sgbW9tZW50KG4uY3JlYXRlZF9hdCkuZm9ybWF0KCdZWVlZLU1NLUREJykgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBtb21lbnQobi5jcmVhdGVkX2F0KS5mb3JtYXQoJ0hIOm1tOnNzJykgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBuLmNvbnRhY3QuZmlyc3RuYW1lIH19PC90ZD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQ+e3sgbi5jb250YWN0LnN1cm5hbWUgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBuLmNvbnRhY3QuZW1haWwgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBuLnN0YXR1cyB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdDwvdHI+XG5cdFx0XHRcdFx0XHQ8L3Rib2R5PlxuXHRcdFx0XHRcdDwvdGFibGU+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8cCB2LWVsc2U+PGNlbnRlcj5ObyBub3RpZmljYXRpb24gdG8gZGlzcGxheSBoZXJlPC9jZW50ZXI+PC9wPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblxuICAgIGV4cG9ydCBkZWZhdWx0e1xuXHRcdGRhdGE6IGZ1bmN0aW9uKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dGFzazoge1xuXHRcdFx0XHRcdGlkOiBudWxsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGhpc3Rvcnk6IG51bGwsXG5cdFx0XHRcdG5vdGlmaWNhdGlvbnM6IG51bGwsXG5cdFx0XHRcdHJlZnJlc2g6IG51bGwsXG5cblx0XHRcdFx0Y2hhcnQ6IHtcblx0XHRcdFx0XHRyZW5kZXI6IGZhbHNlLFxuXHRcdFx0XHRcdGRheXM6IDE1XG5cdFx0XHRcdH0sXG5cblx0XHRcdFx0c2VyaWVzOiBbe1xuXHRcdFx0XHRcdGRhdGE6IFtdXG5cdFx0XHRcdH1dLFxuXHRcdFx0XHRub0RhdGE6IHtcblx0XHRcdFx0XHR0ZXh0OiAnTG9hZGluZy4uLidcblx0XHRcdFx0fSxcblx0XHRcdFx0Y2hhcnRPcHRpb25zOiB7XG5cdFx0XHRcdFx0cmVzcG9uc2l2ZTogW3tcblx0XHRcdFx0XHRcdGJyZWFrcG9pbnQ6IDQ4MCxcblx0XHRcdFx0XHRcdG9wdGlvbnM6IHtcblx0XHRcdFx0XHRcdFx0bGVnZW5kOiB7XG5cdFx0XHRcdFx0XHRcdFx0cG9zaXRpb246ICdib3R0b20nLFxuXHRcdFx0XHRcdFx0XHRcdG9mZnNldFg6IC0xMCxcblx0XHRcdFx0XHRcdFx0XHRvZmZzZXRZOiAwXG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XSxcblx0XHRcdFx0XHR4YXhpczoge1xuXHRcdFx0XHRcdFx0Y2F0ZWdvcmllczogW10sXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRmaWxsOiB7XG5cdFx0XHRcdFx0XHRvcGFjaXR5OiAuOVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdH0sXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRtZXRob2RzOiB7XG5cdFx0XHRzdGF0dXNUZXh0OiBmdW5jdGlvbiAoc3RhdHVzKSB7XG5cdFx0XHRcdHN3aXRjaCAoc3RhdHVzKSB7XG5cdFx0XHRcdFx0Y2FzZSAxOlxuXHRcdFx0XHRcdFx0cmV0dXJuICd1cCc7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0Y2FzZSAwOlxuXHRcdFx0XHRcdFx0cmV0dXJuICdkb3duJztcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRkZWZhdWx0OlxuXHRcdFx0XHRcdFx0cmV0dXJuICd1bmtub3duJztcblx0XHRcdFx0fVxuXHRcdFx0fSxcblx0XHRcdHJlZnJlc2hUYXNrOiBmdW5jdGlvbigpIHtcblx0XHRcdFx0dGhpcy4kaHR0cC5wb3N0KCcvYXBpL2dldFRhc2svJyt0aGlzLnRhc2suaWQsIHtcblx0XHRcdFx0XHRkYXlzOiB0aGlzLmNoYXJ0LmRheXNcblx0XHRcdFx0fSlcblx0XHRcdFx0LnRoZW4ocmVzcG9uc2UgPT4ge1xuXHRcdFx0XHRcdHRoaXMudGFzayBcdFx0XHQ9IHJlc3BvbnNlLmRhdGEudGFza1xuXHRcdFx0XHRcdHRoaXMuaGlzdG9yeSBcdFx0PSByZXNwb25zZS5kYXRhLmhpc3Rvcnlcblx0XHRcdFx0XHR0aGlzLm5vdGlmaWNhdGlvbnNcdD0gcmVzcG9uc2UuZGF0YS5ub3RpZmljYXRpb25zXG5cdFx0XHRcdFx0dGhpcy5yZWZyZXNoR3JhcGgocmVzcG9uc2UuZGF0YS5zdGF0cylcblx0XHRcdFx0fSlcblxuXHRcdFx0XHRpZiAodGhpcy5yZWZyZXNoID09IG51bGwpIHtcblx0XHRcdFx0XHR0aGlzLnJlZnJlc2ggPSB3aW5kb3cuc2V0SW50ZXJ2YWwoKCkgPT4ge1xuXHRcdFx0XHRcdFx0dGhpcy5yZWZyZXNoVGFzaygpXG5cdFx0XHRcdFx0fSwgMTAwMDApXG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRyZWZyZXNoR3JhcGg6IGZ1bmN0aW9uKHN0YXRzKSB7XG5cdFx0XHRcdGxldCB4YXhpcyA9IFtdO1xuXHRcdFx0XHRsZXQgbmV3X2RhdGFfYSA9IFtdO1xuXHRcdFx0XHRsZXQgbmV3X2RhdGFfYiA9IFtdO1xuXG5cdFx0XHRcdGZvciAobGV0IGRhdGUgaW4gc3RhdHMpIHtcblx0XHRcdFx0XHR4YXhpcy5wdXNoKGRhdGUpXG5cdFx0XHRcdFx0bmV3X2RhdGFfYS5wdXNoKHN0YXRzW2RhdGVdWyd1cCddKVxuXHRcdFx0XHRcdG5ld19kYXRhX2IucHVzaChzdGF0c1tkYXRlXVsnZG93biddKVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5jaGFydE9wdGlvbnMgPSB7XG5cdFx0XHRcdFx0eGF4aXM6IHtcblx0XHRcdFx0XHRcdGNhdGVnb3JpZXM6IHhheGlzLFxuXHRcdFx0XHRcdFx0bGFiZWxzOiB7XG5cdFx0XHRcdFx0XHRcdHNob3c6IHRydWUsXG5cdFx0XHRcdFx0XHRcdHJvdGF0ZTogLTQ1LFxuXHRcdFx0XHRcdFx0XHRyb3RhdGVBbHdheXM6IHRydWUsXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRjaGFydDoge1xuXHRcdFx0XHRcdFx0dHlwZTogJ2JhcicsXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDM1MCxcblx0XHRcdFx0XHRcdHN0YWNrZWQ6IHRydWUsXG5cdFx0XHRcdFx0XHRzdGFja1R5cGU6ICcxMDAlJ1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0bGVnZW5kOiB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogJ3JpZ2h0Jyxcblx0XHRcdFx0XHRcdG9mZnNldFg6IDAsXG5cdFx0XHRcdFx0XHRvZmZzZXRZOiA1MFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5zZXJpZXMgPSBbe1xuXHRcdFx0XHRcdG5hbWU6ICdVUCcsXG5cdFx0XHRcdFx0ZGF0YTogbmV3X2RhdGFfYSxcblx0XHRcdFx0XHRjb2xvcjogJyMwMDk1NWMnXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRuYW1lOiAnRE9XTicsXG5cdFx0XHRcdFx0ZGF0YTogbmV3X2RhdGFfYixcblx0XHRcdFx0XHRjb2xvcjogJyNlZjMyMzInXG5cdFx0XHRcdH1dXG5cblx0XHRcdFx0dGhpcy5jaGFydC5yZW5kZXIgPSB0cnVlXG5cdFx0XHR9LFxuXHRcdH0sXG5cdFx0bW91bnRlZDogZnVuY3Rpb24oKSB7XG5cdFx0XHR0aGlzLnRhc2suaWQgPSB0aGlzLiRyb3V0ZS5wYXJhbXMuaWQgPz8gbnVsbFxuXG5cdFx0XHRpZiAodGhpcy50YXNrLmlkICE9IG51bGwpIHtcblx0XHRcdFx0dGhpcy5yZWZyZXNoVGFzaygpXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRiZWZvcmVSb3V0ZUxlYXZlKHRvLCBmcm9tLCBuZXh0KSB7XG5cdFx0XHRjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoKTtcblx0XHRcdG5leHQoKTtcblx0XHR9LFxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgc2NvcGVkPlxuXG48L3N0eWxlPlxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/taskdetails.vue?vue&type=script&lang=js&\n"); /***/ }), @@ -2279,7 +2279,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render),\n/* harmony export */ \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _vm.task.id != null\n ? _c(\"div\", { staticClass: \"container\" }, [\n _c(\"h1\", [\n _vm._v(\"\\n\\t\\t\\tTask #\" + _vm._s(_vm.task.id) + \"\\n\\t\\t\\t\"),\n ]),\n _vm._v(\"\\n\\n\\t\\tShow:\\n\\t\\t\"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.chart.days,\n expression: \"chart.days\",\n },\n ],\n on: {\n change: [\n function ($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function (o) {\n return o.selected\n })\n .map(function (o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.chart,\n \"days\",\n $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n )\n },\n _vm.refreshTask,\n ],\n },\n },\n [\n _c(\"option\", { attrs: { value: \"7\" } }, [_vm._v(\"7 days\")]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"15\" } }, [_vm._v(\"15 days\")]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"30\" } }, [_vm._v(\"30 days\")]),\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\", attrs: { id: \"chart\" } }, [\n _c(\"h3\", [\n _vm._v(\"Uptime: past \" + _vm._s(_vm.chart.days) + \" days\"),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"block-content\" },\n [\n _vm.chart.render\n ? _c(\"apexchart\", {\n staticClass: \"graph\",\n attrs: {\n type: \"bar\",\n height: \"350\",\n options: _vm.chartOptions,\n series: _vm.series,\n },\n })\n : _vm._e(),\n ],\n 1\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\" }, [\n _c(\"h3\", [\n _vm._v(\"Last \" + _vm._s(_vm.chart.days) + \" days history log\"),\n ]),\n _vm._v(\" \"),\n _vm.history\n ? _c(\"div\", { staticClass: \"block-content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"table\", { attrs: { id: \"tasks_tbl\" } }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\n \"tbody\",\n _vm._l(_vm.history, function (h) {\n return _c(\"tr\", { key: h.id }, [\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(h.created_at).format(\"YYYY-MM-DD\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(h.created_at).format(\"HH:mm:ss\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n h.output\n ? _c(\"span\", [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\" +\n _vm._s(h.output) +\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"\n ),\n ])\n : _c(\"span\", [_c(\"i\", [_vm._v(\"No output\")])]),\n ]),\n _vm._v(\" \"),\n _c(\"td\", { class: _vm.statusText(h.status) }, [\n _c(\"img\", {\n attrs: {\n src:\n \"/img/\" + _vm.statusText(h.status) + \".svg\",\n width: \"16\",\n alt: \"Status\",\n },\n }),\n ]),\n ])\n }),\n 0\n ),\n ]),\n ])\n : _c(\n \"p\",\n [_c(\"center\", [_vm._v(\"No history to display here\")])],\n 1\n ),\n ]),\n ])\n : _vm._e(),\n ])\n}\nvar staticRenderFns = [\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"i\", [_vm._v(\"Showing only records where status has changed\")]),\n ])\n },\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { width: \"20%\" } }, [_vm._v(\"Date\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"20%\" } }, [_vm._v(\"Time\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"*\" } }, [_vm._v(\"Output\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Status\")]),\n ]),\n ])\n },\n]\nrender._withStripped = true\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9yZXNvdXJjZXMvdmlld3MvdGFza2RldGFpbHMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWEzNzhiZjE4JnNjb3BlZD10cnVlJi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiwwQkFBMEI7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBLGVBQWU7QUFDZixhQUFhO0FBQ2I7QUFDQSw2QkFBNkIsU0FBUyxjQUFjO0FBQ3BEO0FBQ0EsNkJBQTZCLFNBQVMsZUFBZTtBQUNyRDtBQUNBLDZCQUE2QixTQUFTLGVBQWU7QUFDckQ7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLCtCQUErQixlQUFlO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiw4QkFBOEI7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isc0JBQXNCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsOEJBQThCO0FBQzFEO0FBQ0E7QUFDQSxnQ0FBZ0MsU0FBUyxtQkFBbUI7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxXQUFXO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLGlDQUFpQztBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0EsbUJBQW1CLFNBQVMsY0FBYztBQUMxQztBQUNBLG1CQUFtQixTQUFTLGdCQUFnQjtBQUM1QztBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdmlld3MvdGFza2RldGFpbHMudnVlPzY1NjkiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJkaXZcIiwgW1xuICAgIF92bS50YXNrLmlkICE9IG51bGxcbiAgICAgID8gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJjb250YWluZXJcIiB9LCBbXG4gICAgICAgICAgX2MoXCJoMVwiLCBbXG4gICAgICAgICAgICBfdm0uX3YoXCJcXG5cXHRcXHRcXHRUYXNrICNcIiArIF92bS5fcyhfdm0udGFzay5pZCkgKyBcIlxcblxcdFxcdFxcdFwiKSxcbiAgICAgICAgICBdKSxcbiAgICAgICAgICBfdm0uX3YoXCJcXG5cXG5cXHRcXHRTaG93OlxcblxcdFxcdFwiKSxcbiAgICAgICAgICBfYyhcbiAgICAgICAgICAgIFwic2VsZWN0XCIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGRpcmVjdGl2ZXM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiBcIm1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICByYXdOYW1lOiBcInYtbW9kZWxcIixcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBfdm0uY2hhcnQuZGF5cyxcbiAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb246IFwiY2hhcnQuZGF5c1wiLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIG9uOiB7XG4gICAgICAgICAgICAgICAgY2hhbmdlOiBbXG4gICAgICAgICAgICAgICAgICBmdW5jdGlvbiAoJGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciAkJHNlbGVjdGVkVmFsID0gQXJyYXkucHJvdG90eXBlLmZpbHRlclxuICAgICAgICAgICAgICAgICAgICAgIC5jYWxsKCRldmVudC50YXJnZXQub3B0aW9ucywgZnVuY3Rpb24gKG8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvLnNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAubWFwKGZ1bmN0aW9uIChvKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgdmFsID0gXCJfdmFsdWVcIiBpbiBvID8gby5fdmFsdWUgOiBvLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdmFsXG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgX3ZtLiRzZXQoXG4gICAgICAgICAgICAgICAgICAgICAgX3ZtLmNoYXJ0LFxuICAgICAgICAgICAgICAgICAgICAgIFwiZGF5c1wiLFxuICAgICAgICAgICAgICAgICAgICAgICRldmVudC50YXJnZXQubXVsdGlwbGUgPyAkJHNlbGVjdGVkVmFsIDogJCRzZWxlY3RlZFZhbFswXVxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgX3ZtLnJlZnJlc2hUYXNrLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICBfYyhcIm9wdGlvblwiLCB7IGF0dHJzOiB7IHZhbHVlOiBcIjdcIiB9IH0sIFtfdm0uX3YoXCI3IGRheXNcIildKSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX2MoXCJvcHRpb25cIiwgeyBhdHRyczogeyB2YWx1ZTogXCIxNVwiIH0gfSwgW192bS5fdihcIjE1IGRheXNcIildKSxcbiAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgX2MoXCJvcHRpb25cIiwgeyBhdHRyczogeyB2YWx1ZTogXCIzMFwiIH0gfSwgW192bS5fdihcIjMwIGRheXNcIildKSxcbiAgICAgICAgICAgIF1cbiAgICAgICAgICApLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJyb3VuZFwiLCBhdHRyczogeyBpZDogXCJjaGFydFwiIH0gfSwgW1xuICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgIF92bS5fdihcIlVwdGltZTogcGFzdCBcIiArIF92bS5fcyhfdm0uY2hhcnQuZGF5cykgKyBcIiBkYXlzXCIpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgIFwiZGl2XCIsXG4gICAgICAgICAgICAgIHsgc3RhdGljQ2xhc3M6IFwiYmxvY2stY29udGVudFwiIH0sXG4gICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBfdm0uY2hhcnQucmVuZGVyXG4gICAgICAgICAgICAgICAgICA/IF9jKFwiYXBleGNoYXJ0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNDbGFzczogXCJncmFwaFwiLFxuICAgICAgICAgICAgICAgICAgICAgIGF0dHJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImJhclwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjM1MFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uczogX3ZtLmNoYXJ0T3B0aW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlcmllczogX3ZtLnNlcmllcyxcbiAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgOiBfdm0uX2UoKSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBdKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwicm91bmRcIiB9LCBbXG4gICAgICAgICAgICBfYyhcImgzXCIsIFtcbiAgICAgICAgICAgICAgX3ZtLl92KFwiTGFzdCBcIiArIF92bS5fcyhfdm0uY2hhcnQuZGF5cykgKyBcIiBkYXlzIGhpc3RvcnkgbG9nXCIpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX3ZtLmhpc3RvcnlcbiAgICAgICAgICAgICAgPyBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImJsb2NrLWNvbnRlbnRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICBfdm0uX20oMCksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXCJ0YWJsZVwiLCB7IGF0dHJzOiB7IGlkOiBcInRhc2tzX3RibFwiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICBfdm0uX20oMSksXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwidGJvZHlcIixcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uX2woX3ZtLmhpc3RvcnksIGZ1bmN0aW9uIChoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXCJ0clwiLCB7IGtleTogaC5pZCB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLm1vbWVudChoLmNyZWF0ZWRfYXQpLmZvcm1hdChcIllZWVktTU0tRERcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0ubW9tZW50KGguY3JlYXRlZF9hdCkuZm9ybWF0KFwiSEg6bW06c3NcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaC5vdXRwdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gX2MoXCJzcGFuXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKGgub3V0cHV0KSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfYyhcInNwYW5cIiwgW19jKFwiaVwiLCBbX3ZtLl92KFwiTm8gb3V0cHV0XCIpXSldKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgeyBjbGFzczogX3ZtLnN0YXR1c1RleHQoaC5zdGF0dXMpIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImltZ1wiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIvaW1nL1wiICsgX3ZtLnN0YXR1c1RleHQoaC5zdGF0dXMpICsgXCIuc3ZnXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjE2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdDogXCJTdGF0dXNcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICA6IF9jKFxuICAgICAgICAgICAgICAgICAgXCJwXCIsXG4gICAgICAgICAgICAgICAgICBbX2MoXCJjZW50ZXJcIiwgW192bS5fdihcIk5vIGhpc3RvcnkgdG8gZGlzcGxheSBoZXJlXCIpXSldLFxuICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgXSksXG4gICAgICAgIF0pXG4gICAgICA6IF92bS5fZSgpLFxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtcbiAgZnVuY3Rpb24gKCkge1xuICAgIHZhciBfdm0gPSB0aGlzXG4gICAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gICAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gICAgcmV0dXJuIF9jKFwicFwiLCBbXG4gICAgICBfYyhcImlcIiwgW192bS5fdihcIlNob3dpbmcgb25seSByZWNvcmRzIHdoZXJlIHN0YXR1cyBoYXMgY2hhbmdlZFwiKV0pLFxuICAgIF0pXG4gIH0sXG4gIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgX3ZtID0gdGhpc1xuICAgIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICAgIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICAgIHJldHVybiBfYyhcInRoZWFkXCIsIFtcbiAgICAgIF9jKFwidHJcIiwgW1xuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMjAlXCIgfSB9LCBbX3ZtLl92KFwiRGF0ZVwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMjAlXCIgfSB9LCBbX3ZtLl92KFwiVGltZVwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiKlwiIH0gfSwgW192bS5fdihcIk91dHB1dFwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMTAlXCIgfSB9LCBbX3ZtLl92KFwiU3RhdHVzXCIpXSksXG4gICAgICBdKSxcbiAgICBdKVxuICB9LFxuXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/taskdetails.vue?vue&type=template&id=a378bf18&scoped=true&\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render),\n/* harmony export */ \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _vm.task.id != null\n ? _c(\"div\", { staticClass: \"container\" }, [\n _c(\"h1\", [\n _c(\"span\", { staticClass: \"highlight\" }, [\n _vm._v(_vm._s(_vm.task.type)),\n ]),\n _vm._v(\" for host \"),\n _c(\"span\", { staticClass: \"highlight\" }, [\n _vm._v(_vm._s(_vm.task.host)),\n ]),\n ]),\n _vm._v(\"\\n\\n\\t\\tShow:\\n\\t\\t\"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.chart.days,\n expression: \"chart.days\",\n },\n ],\n on: {\n change: [\n function ($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function (o) {\n return o.selected\n })\n .map(function (o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.chart,\n \"days\",\n $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n )\n },\n _vm.refreshTask,\n ],\n },\n },\n [\n _c(\"option\", { attrs: { value: \"7\" } }, [_vm._v(\"7 days\")]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"15\" } }, [_vm._v(\"15 days\")]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"30\" } }, [_vm._v(\"30 days\")]),\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\", attrs: { id: \"chart\" } }, [\n _c(\"h3\", [\n _vm._v(\"Uptime: past \" + _vm._s(_vm.chart.days) + \" days\"),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"block-content\" },\n [\n _vm.chart.render\n ? _c(\"apexchart\", {\n staticClass: \"graph\",\n attrs: {\n type: \"bar\",\n height: \"350\",\n options: _vm.chartOptions,\n series: _vm.series,\n },\n })\n : _vm._e(),\n ],\n 1\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\" }, [\n _c(\"h3\", [\n _vm._v(\"Last \" + _vm._s(_vm.chart.days) + \" days history log\"),\n ]),\n _vm._v(\" \"),\n _vm.history.length > 0\n ? _c(\"div\", { staticClass: \"block-content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"table\", { attrs: { id: \"tasks_tbl\" } }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\n \"tbody\",\n _vm._l(_vm.history, function (h) {\n return _c(\"tr\", { key: h.id }, [\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(h.created_at).format(\"YYYY-MM-DD\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(h.created_at).format(\"HH:mm:ss\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n h.output\n ? _c(\"span\", [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\" +\n _vm._s(h.output) +\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"\n ),\n ])\n : _c(\"span\", [_c(\"i\", [_vm._v(\"No output\")])]),\n ]),\n _vm._v(\" \"),\n _c(\"td\", { class: _vm.statusText(h.status) }, [\n _c(\"img\", {\n attrs: {\n src:\n \"/img/\" + _vm.statusText(h.status) + \".svg\",\n width: \"16\",\n alt: \"Status\",\n },\n }),\n ]),\n ])\n }),\n 0\n ),\n ]),\n ])\n : _c(\n \"p\",\n [_c(\"center\", [_vm._v(\"No history to display here\")])],\n 1\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\" }, [\n _c(\"h3\", [\n _vm._v(\n \"Last \" + _vm._s(_vm.chart.days) + \" days notifications log\"\n ),\n ]),\n _vm._v(\" \"),\n _vm.notifications.length > 0\n ? _c(\"div\", { staticClass: \"block-content\" }, [\n _c(\"table\", { attrs: { id: \"tasks_tbl\" } }, [\n _vm._m(2),\n _vm._v(\" \"),\n _c(\n \"tbody\",\n _vm._l(_vm.notifications, function (n) {\n return _c(\"tr\", { key: n.id }, [\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(n.created_at).format(\"YYYY-MM-DD\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(n.created_at).format(\"HH:mm:ss\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.firstname))]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.surname))]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.email))]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.status))]),\n ])\n }),\n 0\n ),\n ]),\n ])\n : _c(\n \"p\",\n [_c(\"center\", [_vm._v(\"No notification to display here\")])],\n 1\n ),\n ]),\n ])\n : _vm._e(),\n ])\n}\nvar staticRenderFns = [\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"i\", [_vm._v(\"Showing only records where status has changed\")]),\n ])\n },\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { width: \"20%\" } }, [_vm._v(\"Date\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"20%\" } }, [_vm._v(\"Time\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"*\" } }, [_vm._v(\"Output\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Status\")]),\n ]),\n ])\n },\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { width: \"20%\" } }, [_vm._v(\"Date\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"20%\" } }, [_vm._v(\"Time\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"*\" } }, [_vm._v(\"Firstname\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Lastname\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Email\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Status\")]),\n ]),\n ])\n },\n]\nrender._withStripped = true\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9yZXNvdXJjZXMvdmlld3MvdGFza2RldGFpbHMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWEzNzhiZjE4JnNjb3BlZD10cnVlJi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiwwQkFBMEI7QUFDOUM7QUFDQSx5QkFBeUIsMEJBQTBCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QiwwQkFBMEI7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBLGVBQWU7QUFDZixhQUFhO0FBQ2I7QUFDQSw2QkFBNkIsU0FBUyxjQUFjO0FBQ3BEO0FBQ0EsNkJBQTZCLFNBQVMsZUFBZTtBQUNyRDtBQUNBLDZCQUE2QixTQUFTLGVBQWU7QUFDckQ7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLCtCQUErQixlQUFlO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiw4QkFBOEI7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isc0JBQXNCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsOEJBQThCO0FBQzFEO0FBQ0E7QUFDQSxnQ0FBZ0MsU0FBUyxtQkFBbUI7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxXQUFXO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLGlDQUFpQztBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixzQkFBc0I7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsOEJBQThCO0FBQzFELGdDQUFnQyxTQUFTLG1CQUFtQjtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDLFdBQVc7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixTQUFTLGdCQUFnQjtBQUM1QztBQUNBLG1CQUFtQixTQUFTLGdCQUFnQjtBQUM1QztBQUNBLG1CQUFtQixTQUFTLGNBQWM7QUFDMUM7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQSxtQkFBbUIsU0FBUyxjQUFjO0FBQzFDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy92aWV3cy90YXNrZGV0YWlscy52dWU/NjU2OSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCBbXG4gICAgX3ZtLnRhc2suaWQgIT0gbnVsbFxuICAgICAgPyBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImNvbnRhaW5lclwiIH0sIFtcbiAgICAgICAgICBfYyhcImgxXCIsIFtcbiAgICAgICAgICAgIF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcImhpZ2hsaWdodFwiIH0sIFtcbiAgICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0udGFzay50eXBlKSksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBmb3IgaG9zdCBcIiksXG4gICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJoaWdobGlnaHRcIiB9LCBbXG4gICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLnRhc2suaG9zdCkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiXFxuXFxuXFx0XFx0U2hvdzpcXG5cXHRcXHRcIiksXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcInNlbGVjdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmNoYXJ0LmRheXMsXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImNoYXJ0LmRheXNcIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgIGNoYW5nZTogW1xuICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgJCRzZWxlY3RlZFZhbCA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgkZXZlbnQudGFyZ2V0Lm9wdGlvbnMsIGZ1bmN0aW9uIChvKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gby5zZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAobykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbCA9IFwiX3ZhbHVlXCIgaW4gbyA/IG8uX3ZhbHVlIDogby52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5jaGFydCxcbiAgICAgICAgICAgICAgICAgICAgICBcImRheXNcIixcbiAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQudGFyZ2V0Lm11bHRpcGxlID8gJCRzZWxlY3RlZFZhbCA6ICQkc2VsZWN0ZWRWYWxbMF1cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIF92bS5yZWZyZXNoVGFzayxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJvcHRpb25cIiwgeyBhdHRyczogeyB2YWx1ZTogXCI3XCIgfSB9LCBbX3ZtLl92KFwiNyBkYXlzXCIpXSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwib3B0aW9uXCIsIHsgYXR0cnM6IHsgdmFsdWU6IFwiMTVcIiB9IH0sIFtfdm0uX3YoXCIxNSBkYXlzXCIpXSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwib3B0aW9uXCIsIHsgYXR0cnM6IHsgdmFsdWU6IFwiMzBcIiB9IH0sIFtfdm0uX3YoXCIzMCBkYXlzXCIpXSksXG4gICAgICAgICAgICBdXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwicm91bmRcIiwgYXR0cnM6IHsgaWQ6IFwiY2hhcnRcIiB9IH0sIFtcbiAgICAgICAgICAgIF9jKFwiaDNcIiwgW1xuICAgICAgICAgICAgICBfdm0uX3YoXCJVcHRpbWU6IHBhc3QgXCIgKyBfdm0uX3MoX3ZtLmNoYXJ0LmRheXMpICsgXCIgZGF5c1wiKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImJsb2NrLWNvbnRlbnRcIiB9LFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgX3ZtLmNoYXJ0LnJlbmRlclxuICAgICAgICAgICAgICAgICAgPyBfYyhcImFwZXhjaGFydFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiZ3JhcGhcIixcbiAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJiYXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCIzNTBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IF92bS5jaGFydE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXJpZXM6IF92bS5zZXJpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInJvdW5kXCIgfSwgW1xuICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgIF92bS5fdihcIkxhc3QgXCIgKyBfdm0uX3MoX3ZtLmNoYXJ0LmRheXMpICsgXCIgZGF5cyBoaXN0b3J5IGxvZ1wiKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF92bS5oaXN0b3J5Lmxlbmd0aCA+IDBcbiAgICAgICAgICAgICAgPyBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImJsb2NrLWNvbnRlbnRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICBfdm0uX20oMCksXG4gICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgX2MoXCJ0YWJsZVwiLCB7IGF0dHJzOiB7IGlkOiBcInRhc2tzX3RibFwiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICBfdm0uX20oMSksXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwidGJvZHlcIixcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uX2woX3ZtLmhpc3RvcnksIGZ1bmN0aW9uIChoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXCJ0clwiLCB7IGtleTogaC5pZCB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLm1vbWVudChoLmNyZWF0ZWRfYXQpLmZvcm1hdChcIllZWVktTU0tRERcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0ubW9tZW50KGguY3JlYXRlZF9hdCkuZm9ybWF0KFwiSEg6bW06c3NcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaC5vdXRwdXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gX2MoXCJzcGFuXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFwiICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKGgub3V0cHV0KSArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBfYyhcInNwYW5cIiwgW19jKFwiaVwiLCBbX3ZtLl92KFwiTm8gb3V0cHV0XCIpXSldKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgeyBjbGFzczogX3ZtLnN0YXR1c1RleHQoaC5zdGF0dXMpIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcImltZ1wiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIvaW1nL1wiICsgX3ZtLnN0YXR1c1RleHQoaC5zdGF0dXMpICsgXCIuc3ZnXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBcIjE2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsdDogXCJTdGF0dXNcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAwXG4gICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICA6IF9jKFxuICAgICAgICAgICAgICAgICAgXCJwXCIsXG4gICAgICAgICAgICAgICAgICBbX2MoXCJjZW50ZXJcIiwgW192bS5fdihcIk5vIGhpc3RvcnkgdG8gZGlzcGxheSBoZXJlXCIpXSldLFxuICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInJvdW5kXCIgfSwgW1xuICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICBcIkxhc3QgXCIgKyBfdm0uX3MoX3ZtLmNoYXJ0LmRheXMpICsgXCIgZGF5cyBub3RpZmljYXRpb25zIGxvZ1wiXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfdm0ubm90aWZpY2F0aW9ucy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgID8gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJibG9jay1jb250ZW50XCIgfSwgW1xuICAgICAgICAgICAgICAgICAgX2MoXCJ0YWJsZVwiLCB7IGF0dHJzOiB7IGlkOiBcInRhc2tzX3RibFwiIH0gfSwgW1xuICAgICAgICAgICAgICAgICAgICBfdm0uX20oMiksXG4gICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICAgICAgICAgIFwidGJvZHlcIixcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uX2woX3ZtLm5vdGlmaWNhdGlvbnMsIGZ1bmN0aW9uIChuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gX2MoXCJ0clwiLCB7IGtleTogbi5pZCB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLm1vbWVudChuLmNyZWF0ZWRfYXQpLmZvcm1hdChcIllZWVktTU0tRERcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0ubW9tZW50KG4uY3JlYXRlZF9hdCkuZm9ybWF0KFwiSEg6bW06c3NcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbX3ZtLl92KF92bS5fcyhuLmNvbnRhY3QuZmlyc3RuYW1lKSldKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbX3ZtLl92KF92bS5fcyhuLmNvbnRhY3Quc3VybmFtZSkpXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW192bS5fdihfdm0uX3Mobi5jb250YWN0LmVtYWlsKSldKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbX3ZtLl92KF92bS5fcyhuLnN0YXR1cykpXSksXG4gICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgIDBcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgIDogX2MoXG4gICAgICAgICAgICAgICAgICBcInBcIixcbiAgICAgICAgICAgICAgICAgIFtfYyhcImNlbnRlclwiLCBbX3ZtLl92KFwiTm8gbm90aWZpY2F0aW9uIHRvIGRpc3BsYXkgaGVyZVwiKV0pXSxcbiAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgIF0pLFxuICAgICAgICBdKVxuICAgICAgOiBfdm0uX2UoKSxcbiAgXSlcbn1cbnZhciBzdGF0aWNSZW5kZXJGbnMgPSBbXG4gIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgX3ZtID0gdGhpc1xuICAgIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICAgIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICAgIHJldHVybiBfYyhcInBcIiwgW1xuICAgICAgX2MoXCJpXCIsIFtfdm0uX3YoXCJTaG93aW5nIG9ubHkgcmVjb3JkcyB3aGVyZSBzdGF0dXMgaGFzIGNoYW5nZWRcIildKSxcbiAgICBdKVxuICB9LFxuICBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIF92bSA9IHRoaXNcbiAgICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgICByZXR1cm4gX2MoXCJ0aGVhZFwiLCBbXG4gICAgICBfYyhcInRyXCIsIFtcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjIwJVwiIH0gfSwgW192bS5fdihcIkRhdGVcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjIwJVwiIH0gfSwgW192bS5fdihcIlRpbWVcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIipcIiB9IH0sIFtfdm0uX3YoXCJPdXRwdXRcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjEwJVwiIH0gfSwgW192bS5fdihcIlN0YXR1c1wiKV0pLFxuICAgICAgXSksXG4gICAgXSlcbiAgfSxcbiAgZnVuY3Rpb24gKCkge1xuICAgIHZhciBfdm0gPSB0aGlzXG4gICAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gICAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gICAgcmV0dXJuIF9jKFwidGhlYWRcIiwgW1xuICAgICAgX2MoXCJ0clwiLCBbXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIyMCVcIiB9IH0sIFtfdm0uX3YoXCJEYXRlXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIyMCVcIiB9IH0sIFtfdm0uX3YoXCJUaW1lXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIqXCIgfSB9LCBbX3ZtLl92KFwiRmlyc3RuYW1lXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIxMCVcIiB9IH0sIFtfdm0uX3YoXCJMYXN0bmFtZVwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMTAlXCIgfSB9LCBbX3ZtLl92KFwiRW1haWxcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjEwJVwiIH0gfSwgW192bS5fdihcIlN0YXR1c1wiKV0pLFxuICAgICAgXSksXG4gICAgXSlcbiAgfSxcbl1cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/taskdetails.vue?vue&type=template&id=a378bf18&scoped=true&\n"); /***/ }), diff --git a/resources/views/taskdetails.vue b/resources/views/taskdetails.vue index c93d524..b55bb55 100644 --- a/resources/views/taskdetails.vue +++ b/resources/views/taskdetails.vue @@ -4,7 +4,7 @@ v-if="task.id != null" >

- Task #{{ task.id }} + {{ task.type }} for host {{ task.host }}

@@ -17,6 +17,8 @@ + +

Uptime: past {{ chart.days }} days

@@ -24,9 +26,10 @@
+

Last {{ chart.days }} days history log

-
+

Showing only records where status has changed

@@ -61,6 +64,39 @@

No history to display here

+ + +
+

Last {{ chart.days }} days notifications log

+
+
+ + + + + + + + + + + + + + + + + + + + +
DateTimeFirstnameLastnameEmailStatus
{{ moment(n.created_at).format('YYYY-MM-DD') }}{{ moment(n.created_at).format('HH:mm:ss') }}{{ n.contact.firstname }}{{ n.contact.surname }}{{ n.contact.email }}{{ n.status }}
+
+

No notification to display here

+
@@ -74,6 +110,7 @@ id: null }, history: null, + notifications: null, refresh: null, chart: { @@ -125,8 +162,9 @@ days: this.chart.days }) .then(response => { - this.task = response.data.task - this.history = response.data.history + this.task = response.data.task + this.history = response.data.history + this.notifications = response.data.notifications this.refreshGraph(response.data.stats) })