Commit 2c55d4ab4adcee3ccfc2fe1a4848df6902a20d3c

Authored by Thanasis Naskos

merge with master and resolve conflicts

Showing 27 changed files

... ... @@ -15,7 +15,10 @@
15 15 Finally, the last docker command creates and populates the database.
16 16  
17 17 ## On Keycloak authentication
18   -Update the KEYCLOAK_REALM_PUBLIC_KEY value in .env
  18 +Keycloak authentication is enablede by setting the AUTH_ENABLED variable
  19 +in the .env file to "true" (no quotes needed). Other than that, you will
  20 +need to update the KEYCLOAK_REALM_PUBLIC_KEY value in your .env file
  21 +too.
19 22  
20 23 ##### MLTD proof of concept experiment #######
21 24 MLTD comes with a model already trained.
api/.env.example View file @ 2c55d4a
... ... @@ -51,6 +51,13 @@
51 51  
52 52 KIBANA_PORT=5611
53 53 GRAFANA_PORT=3001
  54 +<<<<<<< HEAD
54 55  
55 56 REMOTESYSLOG=192.168.50.32
  57 +
  58 +OD_GRAFANA_PARAMS=/d/qDDyJZ6Wz/od?orgId=1
  59 +MLTD_GRAFANA_PARAMS=/d/dtCrgk6Wk/mltd?orgId=1
  60 +CEPTD_KIBANA_PARAMS="/app/kibana#/dashboard/Suricata?_g=(refreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-15m%2Cto%3Anow))"
  61 +
  62 +AUTH_ENABLED=false
api/app/Http/Controllers/ConfigController.php View file @ 2c55d4a
... ... @@ -10,8 +10,9 @@
10 10 {
11 11 return [
12 12 'base_url' => env('APP_URL'),
13   - 'kibana_url' => env('APP_URL') . ':' . env('KIBANA_PORT'),
14   - 'grafana_url' => env('APP_URL') . ':' . env('GRAFANA_PORT')
  13 + 'od_url' => env('APP_URL') . ':' . env('GRAFANA_PORT') . env('OD_GRAFANA_PARAMS'),
  14 + 'mltd_url' => env('APP_URL') . ':' . env('GRAFANA_PORT') . env('MLTD_GRAFANA_PARAMS'),
  15 + 'ceptd_url' => env('APP_URL') . ':' . env('KIBANA_PORT') . env('CEPTD_KIBANA_PARAMS'),
15 16 ];
16 17 }
17 18 }
api/dashboard/src/pages/panel/components/ceptd.vue View file @ 2c55d4a
... ... @@ -11,8 +11,7 @@
11 11 name: 'CEPTD',
12 12 data () {
13 13 return {
14   - src: '',
15   - params: '/app/kibana#/dashboard/Suricata?_g=(refreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-15m%2Cto%3Anow))'
  14 + src: ''
16 15 }
17 16 },
18 17 created () {
... ... @@ -22,7 +21,7 @@
22 21 async config () {
23 22 try {
24 23 const { data } = await axios.get('/config')
25   - this.src = data.kibana_url + this.params
  24 + this.src = data.ceptd_url
26 25 } catch (e) {
27 26 this.$toasted.error('Error fetching Kibana URL!')
28 27 }
api/dashboard/src/pages/panel/components/mltd.vue View file @ 2c55d4a
... ... @@ -11,8 +11,7 @@
11 11 name: 'MLTD',
12 12 data () {
13 13 return {
14   - src: '',
15   - params: '/d/dtCrgk6Wk/mltd?orgId=1'
  14 + src: ''
16 15 }
17 16 },
18 17 created () {
... ... @@ -22,7 +21,7 @@
22 21 async config () {
23 22 try {
24 23 const { data } = await axios.get('/config')
25   - this.src = data.grafana_url + this.params
  24 + this.src = data.mltd_url
26 25 } catch (e) {
27 26 this.$toasted.error('Error fetching Grafana URL!')
28 27 }
api/dashboard/src/pages/panel/components/od.vue View file @ 2c55d4a
... ... @@ -11,8 +11,7 @@
11 11 name: 'OD',
12 12 data () {
13 13 return {
14   - src: '',
15   - params: '/d/qDDyJZ6Wz/od?orgId=1'
  14 + src: ''
16 15 }
17 16 },
18 17 created () {
... ... @@ -22,7 +21,7 @@
22 21 async config () {
23 22 try {
24 23 const { data } = await axios.get('/config')
25   - this.src = data.kibana_url + this.params
  24 + this.src = data.od_url
26 25 } catch (e) {
27 26 this.$toasted.error('Error fetching Grafana URL!')
28 27 }
api/public/js/app.3c181a04.js View file @ 2c55d4a
1   -(function(e){function t(t){for(var r,a,u=t[0],i=t[1],s=t[2],d=0,f=[];d<u.length;d++)a=u[d],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&f.push(o[a][0]),o[a]=0;for(r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r]);l&&l(t);while(f.length)f.shift()();return c.push.apply(c,s||[]),n()}function n(){for(var e,t=0;t<c.length;t++){for(var n=c[t],r=!0,a=1;a<n.length;a++){var u=n[a];0!==o[u]&&(r=!1)}r&&(c.splice(t--,1),e=i(i.s=n[0]))}return e}var r={},a={app:0},o={app:0},c=[];function u(e){return i.p+"js/"+({}[e]||e)+"."+{"chunk-2d0c55f2":"5c85b614","chunk-2d0d70a2":"7ea12236","chunk-2d0e55df":"3d7ea4b4","chunk-2d0e99de":"fb0153a3","chunk-2d224ec2":"03a05a00","chunk-ad9746d8":"9562ee9e"}[e]+".js"}function i(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.e=function(e){var t=[],n={"chunk-ad9746d8":1};a[e]?t.push(a[e]):0!==a[e]&&n[e]&&t.push(a[e]=new Promise((function(t,n){for(var r="css/"+({}[e]||e)+"."+{"chunk-2d0c55f2":"31d6cfe0","chunk-2d0d70a2":"31d6cfe0","chunk-2d0e55df":"31d6cfe0","chunk-2d0e99de":"31d6cfe0","chunk-2d224ec2":"31d6cfe0","chunk-ad9746d8":"9a04f192"}[e]+".css",o=i.p+r,c=document.getElementsByTagName("link"),u=0;u<c.length;u++){var s=c[u],d=s.getAttribute("data-href")||s.getAttribute("href");if("stylesheet"===s.rel&&(d===r||d===o))return t()}var f=document.getElementsByTagName("style");for(u=0;u<f.length;u++){s=f[u],d=s.getAttribute("data-href");if(d===r||d===o)return t()}var l=document.createElement("link");l.rel="stylesheet",l.type="text/css",l.onload=t,l.onerror=function(t){var r=t&&t.target&&t.target.src||o,c=new Error("Loading CSS chunk "+e+" failed.\n("+r+")");c.code="CSS_CHUNK_LOAD_FAILED",c.request=r,delete a[e],l.parentNode.removeChild(l),n(c)},l.href=o;var p=document.getElementsByTagName("head")[0];p.appendChild(l)})).then((function(){a[e]=0})));var r=o[e];if(0!==r)if(r)t.push(r[2]);else{var c=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=c);var s,d=document.createElement("script");d.charset="utf-8",d.timeout=120,i.nc&&d.setAttribute("nonce",i.nc),d.src=u(e);var f=new Error;s=function(t){d.onerror=d.onload=null,clearTimeout(l);var n=o[e];if(0!==n){if(n){var r=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;f.message="Loading chunk "+e+" failed.\n("+r+": "+a+")",f.name="ChunkLoadError",f.type=r,f.request=a,n[1](f)}o[e]=void 0}};var l=setTimeout((function(){s({type:"timeout",target:d})}),12e4);d.onerror=d.onload=s,document.head.appendChild(d)}return Promise.all(t)},i.m=e,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/",i.oe=function(e){throw console.error(e),e};var s=window["webpackJsonp"]=window["webpackJsonp"]||[],d=s.push.bind(s);s.push=t,s=s.slice();for(var f=0;f<s.length;f++)t(s[f]);var l=d;c.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("56d7")},"0a6b":function(e,t,n){"use strict";n.r(t),t["default"]=function(e,t,n){n()}},"0ce0":function(e,t,n){},3597:function(e,t,n){},5047:function(e,t,n){"use strict";var r=n("fa04"),a=n.n(r);a.a},"56d0":function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"d-flex",class:{toggled:!e.sidebarShow},attrs:{id:"wrapper"}},[n("sidebar"),n("div",{attrs:{id:"page-content-wrapper"}},[n("main-header"),n("div",{staticClass:"container-fluid"},[n("transition",{attrs:{name:"fade"}},[n("router-view")],1)],1)],1)],1)},a=[],o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"border-right",attrs:{id:"sidebar-wrapper"}},[n("div",{staticClass:"sidebar-header"},[e._v(" KEA ")]),n("ul",{staticClass:"list-group list-group-flush"},[n("li",[n("router-link",{attrs:{to:{name:"panel.dashboard"}}},[e._v(" Dashboard ")])],1),n("h6",{staticClass:"text-center pt-3"},[e._v(" Monitor ")]),n("li",[n("router-link",{attrs:{to:{name:"panel.components.mltd"}}},[e._v(" MLTD ")])],1),n("li",[n("router-link",{attrs:{to:{name:"panel.components.od"}}},[e._v(" OD ")])],1),n("li",[n("router-link",{attrs:{to:{name:"panel.components.ceptd"}}},[e._v(" CEPTD ")])],1)])])},c=[],u={name:"Sidebar"},i=u,s=(n("ae14"),n("2877")),d=Object(s["a"])(i,o,c,!1,null,"466c867c",null),f=d.exports,l=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("b-navbar",{staticClass:"bottom-shadow mb-3",attrs:{variant:"white"}},[n("b-button",{staticClass:"no-outline",attrs:{variant:"none"},on:{click:function(t){return e.$store.dispatch("ui/toggle","sidebarShow")}}},[n("fa",{attrs:{icon:"bars"}})],1)],1)},p=[],h=(n("96cf"),n("1da1")),m={name:"MainHeader",methods:{logout:function(){var e=this;return Object(h["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("auth/logout");case 2:e.$router.push({name:"login"});case 3:case"end":return t.stop()}}),t)})))()}}},b=m,v=(n("71c6"),Object(s["a"])(b,l,p,!1,null,"3c68b016",null)),g=v.exports,k=n("2f62"),w={name:"PanelLayout",components:{Sidebar:f,MainHeader:g},computed:Object(k["b"])({sidebarShow:"ui/sidebarShow"})},y=w,O=(n("b77a"),Object(s["a"])(y,r,a,!1,null,"03a4fafb",null));t["default"]=O.exports},"56d7":function(e,t,n){"use strict";n.r(t);var r=n("5530"),a=(n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("2d26"),n("2b0e")),o=n("5f5b"),c=n("b1e0"),u=n("a65d"),i=n.n(u),s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("loading",{ref:"loading"}),n("transition",{attrs:{name:"page",mode:"out-in"}},[e.layout?n(e.layout,{tag:"component"}):e._e()],1)],1)},d=[],f=(n("d81d"),n("13d5"),n("d3b7"),n("ac1f"),n("5319"),n("ddb0"),n("3835")),l=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"progress",style:{width:e.percent+"%",height:e.height,opacity:e.show?1:0,"background-color":e.canSuccess?e.color:e.failedColor}})},p=[],h={data:function(){return{percent:0,show:!1,canSuccess:!0,duration:3e3,height:"2px",color:"#77b6ff",failedColor:"red"}},methods:{start:function(){var e=this;return this.show=!0,this.canSuccess=!0,this._timer&&(clearInterval(this._timer),this.percent=0),this._cut=1e4/Math.floor(this.duration),this._timer=setInterval((function(){e.increase(e._cut*Math.random()),e.percent>95&&e.finish()}),100),this},set:function(e){return this.show=!0,this.canSuccess=!0,this.percent=Math.floor(e),this},get:function(){return Math.floor(this.percent)},increase:function(e){return this.percent=this.percent+Math.floor(e),this},decrease:function(e){return this.percent=this.percent-Math.floor(e),this},finish:function(){return this.percent=100,this.hide(),this},pause:function(){return clearInterval(this._timer),this},hide:function(){var e=this;return clearInterval(this._timer),this._timer=null,setTimeout((function(){e.show=!1,e.$nextTick((function(){setTimeout((function(){e.percent=0}),200)}))}),500),this},fail:function(){return this.canSuccess=!1,this}}},m=h,b=(n("dc51"),n("2877")),v=Object(b["a"])(m,l,p,!1,null,"4a92ff42",null),g=v.exports,k=n("81be"),w=k.keys().map((function(e){return[e.replace(/(^.\/)|(\.vue$)/g,""),k(e)]})).reduce((function(e,t){var n=Object(f["a"])(t,2),r=n[0],a=n[1];return e[r]=a.default||a,e}),{}),y={el:"#app",components:{Loading:g},data:function(){return{layout:null,defaultLayout:"default"}},metaInfo:function(){var e=Object({VUE_APP_BASE_URL:"/api",NODE_ENV:"production",BASE_URL:"/"}).VUE_APP_NAME;return{title:e,titleTemplate:"%s ยท ".concat(e)}},mounted:function(){this.$loading=this.$refs.loading},methods:{setLayout:function(e){e&&w[e]||(e=this.defaultLayout),this.layout=w[e]}}},O=y,j=Object(b["a"])(O,s,d,!1,null,null,null),_=j.exports,x=(n("99af"),n("4de4"),n("4160"),n("fb6a"),n("3ca3"),n("159b"),n("96cf"),n("ade3")),E=n("2909"),S=n("1da1"),C=n("2f62");a["default"].use(C["a"]);var T=n("6c17"),L=T.keys().map((function(e){return[e.replace(/(^.\/)|(\.js$)/g,""),T(e)]})).reduce((function(e,t){var n=Object(f["a"])(t,2),a=n[0],o=n[1];return void 0===o.namespaced&&(o.namespaced=!0),Object(r["a"])({},e,Object(x["a"])({},a,o))}),{}),M=new C["a"].Store({modules:L});function U(e){return function(){return n("a383")("./".concat(e)).then((function(e){return e.default||e}))}}var $=[{path:"/",name:"panel",redirect:"/dashboard",component:U("panel/index.vue"),children:[{path:"dashboard",name:"panel.dashboard",component:U("panel/dashboard.vue")},{path:"components/mltd",name:"panel.components.mltd",component:U("panel/components/mltd.vue")},{path:"components/od",name:"panel.components.od",component:U("panel/components/od.vue")},{path:"components/ceptd",name:"panel.components.ceptd",component:U("panel/components/ceptd.vue")}]}],P=n("8c4f"),R=n("31bd");a["default"].use(P["a"]);var A=["check-auth"],N=Q(n("9091")),D=I();Object(R["sync"])(M,D);var F=D;function I(){var e=new P["a"]({scrollBehavior:J,mode:"history",routes:$});return e.beforeEach(B),e.afterEach(V),e}function B(e,t,n){return H.apply(this,arguments)}function H(){return H=Object(S["a"])(regeneratorRuntime.mark((function e(t,n,a){var o,c;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return o=[],e.prev=1,e.next=4,G(D.getMatchedComponents(Object(r["a"])({},t)));case 4:o=e.sent,e.next=12;break;case 7:if(e.prev=7,e.t0=e["catch"](1),!/^Loading( CSS)? chunk (\d)+ failed\./.test(e.t0.message)){e.next=12;break}return window.location.reload(!0),e.abrupt("return");case 12:if(0!==o.length){e.next=14;break}return e.abrupt("return",a());case 14:!1!==o[o.length-1].loading&&D.app.$nextTick((function(){return D.app.$loading.start()})),c=K(o),z(c,t,n,(function(){0===arguments.length&&D.app.setLayout(o[0].layout||""),a.apply(void 0,arguments)}));case 17:case"end":return e.stop()}}),e,null,[[1,7]])}))),H.apply(this,arguments)}function V(e,t,n){return q.apply(this,arguments)}function q(){return q=Object(S["a"])(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,D.app.$nextTick();case 2:D.app.$loading.finish();case 3:case"end":return e.stop()}}),e)}))),q.apply(this,arguments)}function z(e,t,n,r){var a=e.reverse(),o=function e(){if(arguments.length>0||0===a.length)return arguments.length>0&&D.app.$loading.finish(),r.apply(void 0,arguments);var o=a.pop();if("function"===typeof o)o(t,n,e);else{if(!N[o])throw Error("Undefined middleware [".concat(o,"]"));N[o](t,n,e)}};o()}function G(e){return Promise.all(e.map((function(e){return"function"===typeof e?e():e})))}function K(e){var t=[].concat(A);return e.filter((function(e){return e.middleware})).forEach((function(e){Array.isArray(e.middleware)?t.push.apply(t,Object(E["a"])(e.middleware)):t.push(e.middleware)})),t}function J(e,t,n){if(n)return n;if(e.hash)return{selector:e.hash};var a=D.getMatchedComponents(Object(r["a"])({},e)).slice(-1),o=Object(f["a"])(a,1),c=o[0];return c&&!1===c.scrollToTop?{}:{x:0,y:0}}function Q(e){return e.keys().map((function(t){return[t.replace(/(^.\/)|(\.js$)/g,""),e(t)]})).reduce((function(e,t){var n=Object(f["a"])(t,2),a=n[0],o=n[1];return Object(r["a"])({},e,Object(x["a"])({},a,o.default))}),{})}var W=n("bc3a"),X=n.n(W);X.a.interceptors.request.use((function(e){e.baseURL="/api";var t=M.getters["lang/locale"];return t&&(e.headers.common["Accept-Language"]=t),e})),X.a.interceptors.response.use((function(e){return e}),(function(e){return Promise.reject(e)}));var Y=n("ecee"),Z=n("ad3d"),ee=n("c074");Y["c"].add(ee["j"],ee["f"],ee["h"],ee["e"],ee["a"],ee["b"],ee["d"],ee["c"],ee["i"],ee["g"]),a["default"].component("fa",Z["a"]),a["default"].component("fa-layers",Z["b"]);n("bb35");a["default"].use(o["a"]),a["default"].use(c["a"]),a["default"].use(i.a,{position:"bottom-center",duration:5e3}),a["default"].config.performance=!0,new a["default"](Object(r["a"])({router:F,store:M},_)).$mount("#app")},"6c17":function(e,t,n){var r={"./auth.js":"c7d4","./ui.js":"f01d"};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id="6c17"},"71c6":function(e,t,n){"use strict";var r=n("bb10"),a=n.n(r);a.a},"74a4":function(e,t,n){"use strict";n.r(t);n("96cf");var r=n("1da1");t["default"]=function(){var e=Object(r["a"])(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:r();case 1:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}()},"81be":function(e,t,n){var r={"./panel.vue":"56d0","./public.vue":"a657"};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id="81be"},9091:function(e,t,n){var r={"./auth.js":"efbe","./check-auth.js":"74a4","./guest.js":"0a6b"};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id="9091"},"9fb0":function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"d",(function(){return a})),n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return c})),n.d(t,"e",(function(){return u}));var r="LOGOUT",a="SAVE_TOKEN",o="FETCH_USER_SUCCESS",c="FETCH_USER_FAILURE",u="TOGGLE"},a383:function(e,t,n){var r={"./login":["c6f7","chunk-ad9746d8"],"./login.vue":["c6f7","chunk-ad9746d8"],"./panel":["e1cc","chunk-2d224ec2"],"./panel/":["e1cc","chunk-2d224ec2"],"./panel/components/ceptd":["8dfb","chunk-2d0e99de"],"./panel/components/ceptd.vue":["8dfb","chunk-2d0e99de"],"./panel/components/mltd":["93d3","chunk-2d0e55df"],"./panel/components/mltd.vue":["93d3","chunk-2d0e55df"],"./panel/components/od":["3f8a","chunk-2d0c55f2"],"./panel/components/od.vue":["3f8a","chunk-2d0c55f2"],"./panel/dashboard":["74b1","chunk-2d0d70a2"],"./panel/dashboard.vue":["74b1","chunk-2d0d70a2"],"./panel/index":["e1cc","chunk-2d224ec2"],"./panel/index.vue":["e1cc","chunk-2d224ec2"]};function a(e){if(!n.o(r,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=r[e],a=t[0];return n.e(t[1]).then((function(){return n(a)}))}a.keys=function(){return Object.keys(r)},a.id="a383",e.exports=a},a657:function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"base"},[n("header"),n("router-view"),n("footer")],1)},a=[],o={name:"PublicLayout"},c=o,u=(n("5047"),n("2877")),i=Object(u["a"])(c,r,a,!1,null,"7d981356",null);t["default"]=i.exports},ae14:function(e,t,n){"use strict";var r=n("3597"),a=n.n(r);a.a},b77a:function(e,t,n){"use strict";var r=n("b864"),a=n.n(r);a.a},b864:function(e,t,n){},bb10:function(e,t,n){},bb35:function(e,t,n){},c7d4:function(e,t,n){"use strict";n.r(t),n.d(t,"state",(function(){return f})),n.d(t,"getters",(function(){return l})),n.d(t,"mutations",(function(){return p})),n.d(t,"actions",(function(){return h}));n("96cf");var r,a=n("1da1"),o=n("ade3"),c=n("bc3a"),u=n.n(c),i=n("a78e"),s=n.n(i),d=n("9fb0"),f={user:null,token:s.a.get("token")},l={user:function(e){return e.user},token:function(e){return e.token},check:function(e){return null!==e.user}},p=(r={},Object(o["a"])(r,d["d"],(function(e,t){var n=t.token,r=t.remember;e.token=n,s.a.set("token",n,{expires:r?365:null})})),Object(o["a"])(r,d["b"],(function(e,t){var n=t.user;e.user=n})),Object(o["a"])(r,d["a"],(function(e){e.token=null,s.a.remove("token")})),Object(o["a"])(r,d["c"],(function(e){e.user=null,e.token=null,s.a.remove("token")})),r),h={saveToken:function(e,t){var n=e.commit;e.dispatch;n(d["d"],t)},fetchUser:function(e){return Object(a["a"])(regeneratorRuntime.mark((function t(){var n,r,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n=e.commit,t.prev=1,t.next=4,u.a.get("/user");case 4:r=t.sent,a=r.data,n(d["b"],{user:a}),t.next=12;break;case 9:t.prev=9,t.t0=t["catch"](1),n(d["a"]);case 12:case"end":return t.stop()}}),t,null,[[1,9]])})))()},logout:function(e){return Object(a["a"])(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n=e.commit,t.prev=1,t.next=4,u.a.post("/logout");case 4:t.next=8;break;case 6:t.prev=6,t.t0=t["catch"](1);case 8:n(d["c"]);case 9:case"end":return t.stop()}}),t,null,[[1,6]])})))()}}},dc51:function(e,t,n){"use strict";var r=n("0ce0"),a=n.n(r);a.a},efbe:function(e,t,n){"use strict";n.r(t);n("96cf");var r=n("1da1");t["default"]=function(){var e=Object(r["a"])(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:r();case 1:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}()},f01d:function(e,t,n){"use strict";n.r(t),n.d(t,"state",(function(){return o})),n.d(t,"getters",(function(){return c})),n.d(t,"mutations",(function(){return u})),n.d(t,"actions",(function(){return i}));var r=n("ade3"),a=n("9fb0"),o={sidebarShow:!0,sidebarMinimize:!1},c={sidebarShow:function(e){return e.sidebarShow},sidebarMinimize:function(e){return e.sidebarMinimize}},u=Object(r["a"])({},a["e"],(function(e,t){e[t]=!e[t]})),i={toggle:function(e,t){var n=e.commit;n(a["e"],t)}}},fa04:function(e,t,n){}});
2   -//# sourceMappingURL=app.3c181a04.js.map
api/public/js/app.3c181a04.js.map View file @ 2c55d4a
1   -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/middleware/guest.js","webpack:///./src/layouts/public.vue?e81d","webpack:///./src/layouts/panel.vue?9fef","webpack:///./src/containers/Sidebar.vue?6465","webpack:///src/containers/Sidebar.vue","webpack:///./src/containers/Sidebar.vue?da49","webpack:///./src/containers/Sidebar.vue?9e2c","webpack:///./src/containers/MainHeader.vue?c456","webpack:///src/containers/MainHeader.vue","webpack:///./src/containers/MainHeader.vue?e455","webpack:///./src/containers/MainHeader.vue?f374","webpack:///src/layouts/panel.vue","webpack:///./src/layouts/panel.vue?35cd","webpack:///./src/layouts/panel.vue?119b","webpack:///./src/App.vue?4ed4","webpack:///./src/Loading.vue?095a","webpack:///src/Loading.vue","webpack:///./src/Loading.vue?b83e","webpack:///./src/Loading.vue?71b5","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/store/index.js","webpack:///./src/router/routes.js","webpack:///./src/router/index.js","webpack:///./src/plugins/axios.js","webpack:///./src/plugins/fontawesome.js","webpack:///./src/main.js","webpack:///./src/store/modules sync nonrecursive .*\\.js$","webpack:///./src/containers/MainHeader.vue?cec7","webpack:///./src/middleware/check-auth.js","webpack:///./src/layouts sync nonrecursive .*\\.vue$","webpack:///./src/middleware sync nonrecursive .*\\.js$","webpack:///./src/store/mutation-types.js","webpack:///./src/pages lazy ^\\.\\/.*$ namespace object","webpack:///./src/layouts/public.vue?a728","webpack:///src/layouts/public.vue","webpack:///./src/layouts/public.vue?3a7c","webpack:///./src/layouts/public.vue?4545","webpack:///./src/containers/Sidebar.vue?c2fa","webpack:///./src/layouts/panel.vue?e5fe","webpack:///./src/store/modules/auth.js","webpack:///./src/Loading.vue?5476","webpack:///./src/middleware/auth.js","webpack:///./src/store/modules/ui.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","to","from","next","render","_vm","this","_h","$createElement","_c","_self","staticClass","class","sidebarShow","attrs","staticRenderFns","_v","component","on","$event","$store","dispatch","methods","components","Sidebar","computed","ref","layout","_e","style","width","percent","height","opacity","show","canSuccess","color","failedColor","start","_timer","clearInterval","_cut","Math","floor","duration","setInterval","set","num","increase","decrease","finish","hide","pause","fail","Vue","use","Vuex","requireContext","require","keys","map","file","replace","reduce","namespaced","Store","page","path","default","redirect","children","Router","globalMiddleware","routeMiddleware","resolveMiddleware","router","createRouter","sync","store","scrollBehavior","routes","beforeEach","afterEach","resolveComponents","getMatchedComponents","test","location","reload","loading","app","$nextTick","$loading","middleware","getMiddleware","callMiddleware","setLayout","stack","reverse","_next","pop","filter","forEach","Array","isArray","savedPosition","hash","selector","scrollToTop","x","y","guards","guard","axios","interceptors","baseURL","process","locale","getters","headers","common","response","library","add","faUser","faLock","faSignOutAlt","faEnvelope","faArrowDown","faArrowUp","faCogs","faBars","faStop","faSearch","FontAwesomeIcon","FontAwesomeLayers","BootstrapVue","IconsPlugin","Toasted","position","config","performance","App","$mount","webpackContext","req","id","webpackContextResolve","LOGOUT","SAVE_TOKEN","FETCH_USER_SUCCESS","FETCH_USER_FAILURE","TOGGLE","webpackAsyncContext","ids","state","user","token","Cookies","check","mutations","types","remember","expires","remove","actions","saveToken","payload","commit","fetchUser","logout","post","sidebarMinimize","variable","toggle"],"mappings":"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","file":"js/app.3c181a04.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0c55f2\":\"5c85b614\",\"chunk-2d0d70a2\":\"7ea12236\",\"chunk-2d0e55df\":\"3d7ea4b4\",\"chunk-2d0e99de\":\"fb0153a3\",\"chunk-2d224ec2\":\"03a05a00\",\"chunk-ad9746d8\":\"9562ee9e\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-ad9746d8\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0c55f2\":\"31d6cfe0\",\"chunk-2d0d70a2\":\"31d6cfe0\",\"chunk-2d0e55df\":\"31d6cfe0\",\"chunk-2d0e99de\":\"31d6cfe0\",\"chunk-2d224ec2\":\"31d6cfe0\",\"chunk-ad9746d8\":\"9a04f192\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","// import store from '~/store'\n\nexport default (to, from, next) => {\n next()\n // if (store.getters['auth/check']) {\n // next({ name: 'home' })\n // } else {\n // next()\n // }\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=style&index=0&id=7d981356&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=style&index=0&id=7d981356&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex\",class:{ 'toggled': !_vm.sidebarShow },attrs:{\"id\":\"wrapper\"}},[_c('sidebar'),_c('div',{attrs:{\"id\":\"page-content-wrapper\"}},[_c('main-header'),_c('div',{staticClass:\"container-fluid\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('router-view')],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"border-right\",attrs:{\"id\":\"sidebar-wrapper\"}},[_c('div',{staticClass:\"sidebar-header\"},[_vm._v(\" KEA \")]),_c('ul',{staticClass:\"list-group list-group-flush\"},[_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.dashboard' }}},[_vm._v(\" Dashboard \")])],1),_c('h6',{staticClass:\"text-center pt-3\"},[_vm._v(\" Monitor \")]),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.components.mltd' }}},[_vm._v(\" MLTD \")])],1),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.components.od' }}},[_vm._v(\" OD \")])],1),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.components.ceptd' }}},[_vm._v(\" CEPTD \")])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n<template>\n <div id=\"sidebar-wrapper\" class=\"border-right\">\n <div class=\"sidebar-header\">\n KEA\n </div>\n <ul class=\"list-group list-group-flush\">\n <li>\n <router-link :to=\"{ name: 'panel.dashboard' }\">\n Dashboard\n </router-link>\n </li>\n <h6 class=\"text-center pt-3\">\n Monitor\n </h6>\n <li>\n <router-link :to=\"{ name: 'panel.components.mltd' }\">\n MLTD\n </router-link>\n </li>\n <li>\n <router-link :to=\"{ name: 'panel.components.od' }\">\n OD\n </router-link>\n </li>\n <li>\n <router-link :to=\"{ name: 'panel.components.ceptd' }\">\n CEPTD\n </router-link>\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'Sidebar'\n}\n</script>\n\n<style scoped>\n #sidebar-wrapper {\n background: #4876d5;\n color: #fff;\n transition: all 0.6s cubic-bezier(0.945, 0.020, 0.270, 0.665);\n transform-origin: bottom left;\n }\n\n .sidebar-header {\n padding: 12px;\n font-size: 1.35rem;\n text-align: center;\n }\n\n #sidebar-wrapper ul li a {\n padding: 10px;\n font-size: 1.1em;\n display: block;\n }\n #sidebar-wrapper ul li a:hover {\n color: #5197fa;\n background: #fff;\n }\n\n #sidebar-wrapper ul a.router-link-exact-active {\n color: #fff;\n background: #5197fa;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=466c867c&scoped=true&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&id=466c867c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"466c867c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-navbar',{staticClass:\"bottom-shadow mb-3\",attrs:{\"variant\":\"white\"}},[_c('b-button',{staticClass:\"no-outline\",attrs:{\"variant\":\"none\"},on:{\"click\":function($event){return _vm.$store.dispatch('ui/toggle', 'sidebarShow')}}},[_c('fa',{attrs:{\"icon\":\"bars\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <b-navbar variant=\"white\" class=\"bottom-shadow mb-3\">\n <b-button variant=\"none\" class=\"no-outline\" @click=\"$store.dispatch('ui/toggle', 'sidebarShow')\">\n <fa icon=\"bars\" />\n </b-button>\n <!-- Right aligned nav items -->\n<!-- <b-navbar-nav class=\"ml-auto\">-->\n<!-- <b-nav-item @click=\"logout\">-->\n<!-- <fa icon=\"sign-out-alt\" />-->\n<!-- </b-nav-item>-->\n<!-- </b-navbar-nav>-->\n </b-navbar>\n</template>\n\n<script>\nexport default {\n name: 'MainHeader',\n methods: {\n async logout () {\n await this.$store.dispatch('auth/logout')\n this.$router.push({ name: 'login' })\n }\n }\n}\n</script>\n\n<style scoped>\n .bottom-shadow {\n box-shadow: 0 4px 2px -2px gray;\n }\n .no-outline:focus, .no-outline:active {\n outline: none !important;\n box-shadow: none !important;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainHeader.vue?vue&type=template&id=3c68b016&scoped=true&\"\nimport script from \"./MainHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./MainHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MainHeader.vue?vue&type=style&index=0&id=3c68b016&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3c68b016\",\n null\n \n)\n\nexport default component.exports","<template>\n <div id=\"wrapper\" class=\"d-flex\" :class=\"{ 'toggled': !sidebarShow }\">\n <sidebar />\n <div id=\"page-content-wrapper\">\n <main-header />\n <div class=\"container-fluid\">\n <transition name=\"fade\">\n <router-view />\n </transition>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport Sidebar from '../containers/Sidebar'\nimport MainHeader from '../containers/MainHeader'\nimport { mapGetters } from 'vuex'\nexport default {\n name: 'PanelLayout',\n components: {\n Sidebar, MainHeader\n },\n computed: mapGetters({\n sidebarShow: 'ui/sidebarShow'\n })\n}\n</script>\n\n<style scoped>\n .fade-enter-active,\n .fade-leave-active {\n transition: opacity 0.3s;\n }\n .fade-enter,\n .fade-leave-to {\n opacity: 0;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./panel.vue?vue&type=template&id=03a4fafb&scoped=true&\"\nimport script from \"./panel.vue?vue&type=script&lang=js&\"\nexport * from \"./panel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./panel.vue?vue&type=style&index=0&id=03a4fafb&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"03a4fafb\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('loading',{ref:\"loading\"}),_c('transition',{attrs:{\"name\":\"page\",\"mode\":\"out-in\"}},[(_vm.layout)?_c(_vm.layout,{tag:\"component\"}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"progress\",style:({\n width: (_vm.percent + \"%\"),\n height: _vm.height,\n opacity: _vm.show ? 1 : 0,\n 'background-color': _vm.canSuccess ? _vm.color : _vm.failedColor\n})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div :style=\"{\n width: `${percent}%`,\n height: height,\n opacity: show ? 1 : 0,\n 'background-color': canSuccess ? color : failedColor\n }\" class=\"progress\"\n />\n</template>\n\n<script>\n// https://github.com/nuxt/nuxt.js/blob/master/lib/app/components/nuxt-loading.vue\nexport default {\n data: () => ({\n percent: 0,\n show: false,\n canSuccess: true,\n duration: 3000,\n height: '2px',\n color: '#77b6ff',\n failedColor: 'red'\n }),\n\n methods: {\n start () {\n this.show = true\n this.canSuccess = true\n if (this._timer) {\n clearInterval(this._timer)\n this.percent = 0\n }\n this._cut = 10000 / Math.floor(this.duration)\n this._timer = setInterval(() => {\n this.increase(this._cut * Math.random())\n if (this.percent > 95) {\n this.finish()\n }\n }, 100)\n return this\n },\n set (num) {\n this.show = true\n this.canSuccess = true\n this.percent = Math.floor(num)\n return this\n },\n get () {\n return Math.floor(this.percent)\n },\n increase (num) {\n this.percent = this.percent + Math.floor(num)\n return this\n },\n decrease (num) {\n this.percent = this.percent - Math.floor(num)\n return this\n },\n finish () {\n this.percent = 100\n this.hide()\n return this\n },\n pause () {\n clearInterval(this._timer)\n return this\n },\n hide () {\n clearInterval(this._timer)\n this._timer = null\n setTimeout(() => {\n this.show = false\n this.$nextTick(() => {\n setTimeout(() => {\n this.percent = 0\n }, 200)\n })\n }, 500)\n return this\n },\n fail () {\n this.canSuccess = false\n return this\n }\n }\n}\n</script>\n\n<style scoped>\n.progress {\n position: fixed;\n top: 0px;\n left: 0px;\n right: 0px;\n height: 2px;\n width: 0%;\n transition: width 0.2s, opacity 0.4s;\n opacity: 1;\n background-color: #efc14e;\n z-index: 999999;\n}\n</style>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Loading.vue?vue&type=template&id=4a92ff42&scoped=true&\"\nimport script from \"./Loading.vue?vue&type=script&lang=js&\"\nexport * from \"./Loading.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Loading.vue?vue&type=style&index=0&id=4a92ff42&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4a92ff42\",\n null\n \n)\n\nexport default component.exports","<template>\n <div id=\"app\">\n <loading ref=\"loading\" />\n <transition name=\"page\" mode=\"out-in\">\n <component :is=\"layout\" v-if=\"layout\" />\n </transition>\n </div>\n</template>\n\n<script>\n import Loading from './Loading'\n\n // Load layout components dynamically.\n const requireContext = require.context('~/layouts', false, /.*\\.vue$/)\n\n const layouts = requireContext.keys()\n .map(file =>\n [file.replace(/(^.\\/)|(\\.vue$)/g, ''), requireContext(file)]\n )\n .reduce((components, [name, component]) => {\n components[name] = component.default || component\n return components\n }, {})\n\n export default {\n el: '#app',\n\n components: {\n Loading\n },\n\n data: () => ({\n layout: null,\n defaultLayout: 'default'\n }),\n\n metaInfo () {\n const appName = process.env.VUE_APP_NAME\n\n return {\n title: appName,\n titleTemplate: `%s ยท ${appName}`\n }\n },\n\n mounted () {\n this.$loading = this.$refs.loading\n },\n\n methods: {\n /**\n * Set the application layout.\n *\n * @param {String} layout\n */\n setLayout (layout) {\n if (!layout || !layouts[layout]) {\n layout = this.defaultLayout\n }\n\n this.layout = layouts[layout]\n }\n }\n }\n</script>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7e821574&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex)\n\n// Load store modules dynamically.\nconst requireContext = require.context('./modules', false, /.*\\.js$/)\n\nconst modules = requireContext.keys()\n .map(file =>\n [file.replace(/(^.\\/)|(\\.js$)/g, ''), requireContext(file)]\n )\n .reduce((modules, [name, module]) => {\n if (module.namespaced === undefined) {\n module.namespaced = true\n }\n\n return { ...modules, [name]: module }\n }, {})\n\nexport default new Vuex.Store({\n modules\n})\n","function page (path) {\n return () => import(`~/pages/${path}`).then(m => m.default || m)\n}\n\nexport default [\n {\n path: '/',\n name: 'panel',\n redirect: '/dashboard',\n component: page('panel/index.vue'),\n children: [\n {\n path: 'dashboard',\n name: 'panel.dashboard',\n component: page('panel/dashboard.vue')\n },\n {\n path: 'components/mltd',\n name: 'panel.components.mltd',\n component: page('panel/components/mltd.vue')\n },\n {\n path: 'components/od',\n name: 'panel.components.od',\n component: page('panel/components/od.vue')\n },\n {\n path: 'components/ceptd',\n name: 'panel.components.ceptd',\n component: page('panel/components/ceptd.vue')\n }\n ]\n }\n // { path: '/login', name: 'login', component: page('login.vue') }\n]\n","import Vue from 'vue'\nimport store from '~/store'\nimport routes from './routes'\nimport Router from 'vue-router'\nimport { sync } from 'vuex-router-sync'\n\nVue.use(Router)\n\n// The middleware for every page of the application.\nconst globalMiddleware = ['check-auth']\n\n// Load middleware modules dynamically.\nconst routeMiddleware = resolveMiddleware(\n require.context('~/middleware', false, /.*\\.js$/)\n)\n\nconst router = createRouter()\n\nsync(store, router)\n\nexport default router\n\n/**\n * Create a new router instance.\n *\n * @return {Router}\n */\nfunction createRouter () {\n const router = new Router({\n scrollBehavior,\n mode: 'history',\n routes\n })\n\n router.beforeEach(beforeEach)\n router.afterEach(afterEach)\n\n return router\n}\n\n/**\n * Global router guard.\n *\n * @param {Route} to\n * @param {Route} from\n * @param {Function} next\n */\nasync function beforeEach (to, from, next) {\n let components = []\n\n try {\n // Get the matched components and resolve them.\n components = await resolveComponents(\n router.getMatchedComponents({ ...to })\n )\n } catch (error) {\n if (/^Loading( CSS)? chunk (\\d)+ failed\\./.test(error.message)) {\n window.location.reload(true)\n return\n }\n }\n\n if (components.length === 0) {\n return next()\n }\n\n // Start the loading bar.\n if (components[components.length - 1].loading !== false) {\n router.app.$nextTick(() => router.app.$loading.start())\n }\n\n // Get the middleware for all the matched components.\n const middleware = getMiddleware(components)\n\n // Call each middleware.\n callMiddleware(middleware, to, from, (...args) => {\n // Set the application layout only if \"next()\" was called with no args.\n if (args.length === 0) {\n router.app.setLayout(components[0].layout || '')\n }\n\n next(...args)\n })\n}\n\n/**\n * Global after hook.\n *\n * @param {Route} to\n * @param {Route} from\n * @param {Function} next\n */\nasync function afterEach (to, from, next) {\n await router.app.$nextTick()\n\n router.app.$loading.finish()\n}\n\n/**\n * Call each middleware.\n *\n * @param {Array} middleware\n * @param {Route} to\n * @param {Route} from\n * @param {Function} next\n */\nfunction callMiddleware (middleware, to, from, next) {\n const stack = middleware.reverse()\n\n const _next = (...args) => {\n // Stop if \"_next\" was called with an argument or the stack is empty.\n if (args.length > 0 || stack.length === 0) {\n if (args.length > 0) {\n router.app.$loading.finish()\n }\n\n return next(...args)\n }\n\n const middleware = stack.pop()\n\n if (typeof middleware === 'function') {\n middleware(to, from, _next)\n } else if (routeMiddleware[middleware]) {\n routeMiddleware[middleware](to, from, _next)\n } else {\n throw Error(`Undefined middleware [${middleware}]`)\n }\n }\n\n _next()\n}\n\n/**\n * Resolve async components.\n *\n * @param {Array} components\n * @return {Array}\n */\nfunction resolveComponents (components) {\n return Promise.all(components.map(component => {\n return typeof component === 'function' ? component() : component\n }))\n}\n\n/**\n * Merge the the global middleware with the components middleware.\n *\n * @param {Array} components\n * @return {Array}\n */\nfunction getMiddleware (components) {\n const middleware = [...globalMiddleware]\n\n components.filter(c => c.middleware).forEach(component => {\n if (Array.isArray(component.middleware)) {\n middleware.push(...component.middleware)\n } else {\n middleware.push(component.middleware)\n }\n })\n\n return middleware\n}\n\n/**\n * Scroll Behavior\n *\n * @link https://router.vuejs.org/en/advanced/scroll-behavior.html\n *\n * @param {Route} to\n * @param {Route} from\n * @param {Object|undefined} savedPosition\n * @return {Object}\n */\nfunction scrollBehavior (to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition\n }\n\n if (to.hash) {\n return { selector: to.hash }\n }\n\n const [component] = router.getMatchedComponents({ ...to }).slice(-1)\n\n if (component && component.scrollToTop === false) {\n return {}\n }\n\n return { x: 0, y: 0 }\n}\n\n/**\n * @param {Object} requireContext\n * @return {Object}\n */\nfunction resolveMiddleware (requireContext) {\n return requireContext.keys()\n .map(file =>\n [file.replace(/(^.\\/)|(\\.js$)/g, ''), requireContext(file)]\n )\n .reduce((guards, [name, guard]) => (\n { ...guards, [name]: guard.default }\n ), {})\n}\n","import axios from 'axios'\nimport store from '~/store'\n\n// Request interceptor\naxios.interceptors.request.use(request => {\n request.baseURL = process.env.VUE_APP_BASE_URL\n\n // const token = store.getters['auth/token']\n // if (token) {\n // request.headers.common.Authorization = `Bearer ${token}`\n // }\n\n const locale = store.getters['lang/locale']\n if (locale) {\n request.headers.common['Accept-Language'] = locale\n }\n\n // request.headers['X-Socket-Id'] = Echo.socketId()\n\n return request\n})\n\n// Response interceptor\naxios.interceptors.response.use(response => response, error => {\n return Promise.reject(error)\n})\n","import Vue from 'vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeIcon, FontAwesomeLayers } from '@fortawesome/vue-fontawesome'\nimport {\n faUser, faLock, faSignOutAlt, faEnvelope, faArrowDown, faArrowUp, faCogs, faBars, faStop, faSearch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faUser, faLock, faSignOutAlt, faEnvelope, faArrowDown, faArrowUp, faCogs, faBars, faStop, faSearch\n)\n\nVue.component('fa', FontAwesomeIcon)\nVue.component('fa-layers', FontAwesomeLayers)\n","import 'core-js/stable'\nimport Vue from 'vue'\nimport { BootstrapVue, IconsPlugin } from 'bootstrap-vue'\nimport Toasted from 'vue-toasted'\nimport App from './App'\nimport router from './router'\nimport store from './store'\nimport '~/plugins'\n\nimport '~/assets/scss/custom.scss'\n\n// Install BootstrapVue\nVue.use(BootstrapVue)\n// Optionally install the BootstrapVue icon components plugin\nVue.use(IconsPlugin)\nVue.use(Toasted, {\n position: 'bottom-center',\n duration: 5000\n})\n\nVue.config.performance = true\n\nnew Vue({\n router,\n store,\n ...App\n}).$mount('#app')\n","var map = {\n\t\"./auth.js\": \"c7d4\",\n\t\"./ui.js\": \"f01d\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"6c17\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=style&index=0&id=3c68b016&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=style&index=0&id=3c68b016&scoped=true&lang=css&\"","// import store from '~/store'\n\nexport default async (to, from, next) => {\n // if (!store.getters['auth/check'] && store.getters['auth/token']) {\n // try {\n // await store.dispatch('auth/fetchUser')\n // } catch (e) { }\n // }\n\n next()\n}\n","var map = {\n\t\"./panel.vue\": \"56d0\",\n\t\"./public.vue\": \"a657\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"81be\";","var map = {\n\t\"./auth.js\": \"efbe\",\n\t\"./check-auth.js\": \"74a4\",\n\t\"./guest.js\": \"0a6b\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"9091\";","// auth.js\nexport const LOGOUT = 'LOGOUT'\nexport const SAVE_TOKEN = 'SAVE_TOKEN'\nexport const FETCH_USER = 'FETCH_USER'\nexport const FETCH_USER_SUCCESS = 'FETCH_USER_SUCCESS'\nexport const FETCH_USER_FAILURE = 'FETCH_USER_FAILURE'\n\n// ui.js\nexport const TOGGLE = 'TOGGLE'\n","var map = {\n\t\"./login\": [\n\t\t\"c6f7\",\n\t\t\"chunk-ad9746d8\"\n\t],\n\t\"./login.vue\": [\n\t\t\"c6f7\",\n\t\t\"chunk-ad9746d8\"\n\t],\n\t\"./panel\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t],\n\t\"./panel/\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t],\n\t\"./panel/components/ceptd\": [\n\t\t\"8dfb\",\n\t\t\"chunk-2d0e99de\"\n\t],\n\t\"./panel/components/ceptd.vue\": [\n\t\t\"8dfb\",\n\t\t\"chunk-2d0e99de\"\n\t],\n\t\"./panel/components/mltd\": [\n\t\t\"93d3\",\n\t\t\"chunk-2d0e55df\"\n\t],\n\t\"./panel/components/mltd.vue\": [\n\t\t\"93d3\",\n\t\t\"chunk-2d0e55df\"\n\t],\n\t\"./panel/components/od\": [\n\t\t\"3f8a\",\n\t\t\"chunk-2d0c55f2\"\n\t],\n\t\"./panel/components/od.vue\": [\n\t\t\"3f8a\",\n\t\t\"chunk-2d0c55f2\"\n\t],\n\t\"./panel/dashboard\": [\n\t\t\"74b1\",\n\t\t\"chunk-2d0d70a2\"\n\t],\n\t\"./panel/dashboard.vue\": [\n\t\t\"74b1\",\n\t\t\"chunk-2d0d70a2\"\n\t],\n\t\"./panel/index\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t],\n\t\"./panel/index.vue\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"a383\";\nmodule.exports = webpackAsyncContext;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"base\"},[_c('header'),_c('router-view'),_c('footer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"base\">\n <header />\n <router-view />\n <footer />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'PublicLayout'\n}\n</script>\n\n<style lang=\"scss\" scoped>\n .base {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n min-height: 100vh;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./public.vue?vue&type=template&id=7d981356&scoped=true&\"\nimport script from \"./public.vue?vue&type=script&lang=js&\"\nexport * from \"./public.vue?vue&type=script&lang=js&\"\nimport style0 from \"./public.vue?vue&type=style&index=0&id=7d981356&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d981356\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&id=466c867c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&id=466c867c&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=style&index=0&id=03a4fafb&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=style&index=0&id=03a4fafb&scoped=true&lang=css&\"","import axios from 'axios'\nimport Cookies from 'js-cookie'\nimport * as types from '../mutation-types'\n\n// state\nexport const state = {\n user: null,\n token: Cookies.get('token')\n}\n\n// getters\nexport const getters = {\n user: state => state.user,\n token: state => state.token,\n check: state => state.user !== null\n}\n\n// mutations\nexport const mutations = {\n [types.SAVE_TOKEN] (state, { token, remember }) {\n state.token = token\n Cookies.set('token', token, { expires: remember ? 365 : null })\n },\n\n [types.FETCH_USER_SUCCESS] (state, { user }) {\n state.user = user\n },\n\n [types.FETCH_USER_FAILURE] (state) {\n state.token = null\n Cookies.remove('token')\n },\n\n [types.LOGOUT] (state) {\n state.user = null\n state.token = null\n\n Cookies.remove('token')\n }\n}\n\n// actions\nexport const actions = {\n saveToken ({ commit, dispatch }, payload) {\n commit(types.SAVE_TOKEN, payload)\n },\n\n async fetchUser ({ commit }) {\n try {\n const { data } = await axios.get('/user')\n\n commit(types.FETCH_USER_SUCCESS, { user: data })\n } catch (e) {\n commit(types.FETCH_USER_FAILURE)\n }\n },\n\n async logout ({ commit }) {\n try {\n await axios.post('/logout')\n } catch (e) { }\n\n commit(types.LOGOUT)\n }\n}\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=style&index=0&id=4a92ff42&scoped=true&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=style&index=0&id=4a92ff42&scoped=true&lang=css&\"","// import store from '~/store'\n\nexport default async (to, from, next) => {\n // if (!store.getters['auth/check']) {\n // next({ name: 'login' })\n // } else {\n next()\n // }\n}\n","import * as types from '../mutation-types'\n\n// state\nexport const state = {\n sidebarShow: true,\n sidebarMinimize: false\n}\n\n// getters\nexport const getters = {\n sidebarShow: state => state.sidebarShow,\n sidebarMinimize: state => state.sidebarMinimize\n}\n\n// mutations\nexport const mutations = {\n [types.TOGGLE] (state, variable) {\n state[variable] = !state[variable]\n }\n}\n\n// actions\nexport const actions = {\n toggle ({ commit }, variable) {\n commit(types.TOGGLE, variable)\n }\n}\n"],"sourceRoot":""}
api/public/js/app.5c548b9a.js View file @ 2c55d4a
  1 +(function(e){function t(t){for(var r,a,u=t[0],i=t[1],s=t[2],d=0,f=[];d<u.length;d++)a=u[d],Object.prototype.hasOwnProperty.call(o,a)&&o[a]&&f.push(o[a][0]),o[a]=0;for(r in i)Object.prototype.hasOwnProperty.call(i,r)&&(e[r]=i[r]);l&&l(t);while(f.length)f.shift()();return c.push.apply(c,s||[]),n()}function n(){for(var e,t=0;t<c.length;t++){for(var n=c[t],r=!0,a=1;a<n.length;a++){var u=n[a];0!==o[u]&&(r=!1)}r&&(c.splice(t--,1),e=i(i.s=n[0]))}return e}var r={},a={app:0},o={app:0},c=[];function u(e){return i.p+"js/"+({}[e]||e)+"."+{"chunk-2d0c55f2":"e64e1b18","chunk-2d0d70a2":"7ea12236","chunk-2d0e55df":"3deb6696","chunk-2d0e99de":"c48b6ddb","chunk-2d224ec2":"03a05a00","chunk-ad9746d8":"9562ee9e"}[e]+".js"}function i(t){if(r[t])return r[t].exports;var n=r[t]={i:t,l:!1,exports:{}};return e[t].call(n.exports,n,n.exports,i),n.l=!0,n.exports}i.e=function(e){var t=[],n={"chunk-ad9746d8":1};a[e]?t.push(a[e]):0!==a[e]&&n[e]&&t.push(a[e]=new Promise((function(t,n){for(var r="css/"+({}[e]||e)+"."+{"chunk-2d0c55f2":"31d6cfe0","chunk-2d0d70a2":"31d6cfe0","chunk-2d0e55df":"31d6cfe0","chunk-2d0e99de":"31d6cfe0","chunk-2d224ec2":"31d6cfe0","chunk-ad9746d8":"9a04f192"}[e]+".css",o=i.p+r,c=document.getElementsByTagName("link"),u=0;u<c.length;u++){var s=c[u],d=s.getAttribute("data-href")||s.getAttribute("href");if("stylesheet"===s.rel&&(d===r||d===o))return t()}var f=document.getElementsByTagName("style");for(u=0;u<f.length;u++){s=f[u],d=s.getAttribute("data-href");if(d===r||d===o)return t()}var l=document.createElement("link");l.rel="stylesheet",l.type="text/css",l.onload=t,l.onerror=function(t){var r=t&&t.target&&t.target.src||o,c=new Error("Loading CSS chunk "+e+" failed.\n("+r+")");c.code="CSS_CHUNK_LOAD_FAILED",c.request=r,delete a[e],l.parentNode.removeChild(l),n(c)},l.href=o;var p=document.getElementsByTagName("head")[0];p.appendChild(l)})).then((function(){a[e]=0})));var r=o[e];if(0!==r)if(r)t.push(r[2]);else{var c=new Promise((function(t,n){r=o[e]=[t,n]}));t.push(r[2]=c);var s,d=document.createElement("script");d.charset="utf-8",d.timeout=120,i.nc&&d.setAttribute("nonce",i.nc),d.src=u(e);var f=new Error;s=function(t){d.onerror=d.onload=null,clearTimeout(l);var n=o[e];if(0!==n){if(n){var r=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;f.message="Loading chunk "+e+" failed.\n("+r+": "+a+")",f.name="ChunkLoadError",f.type=r,f.request=a,n[1](f)}o[e]=void 0}};var l=setTimeout((function(){s({type:"timeout",target:d})}),12e4);d.onerror=d.onload=s,document.head.appendChild(d)}return Promise.all(t)},i.m=e,i.c=r,i.d=function(e,t,n){i.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.t=function(e,t){if(1&t&&(e=i(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(i.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)i.d(n,r,function(t){return e[t]}.bind(null,r));return n},i.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return i.d(t,"a",t),t},i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},i.p="/",i.oe=function(e){throw console.error(e),e};var s=window["webpackJsonp"]=window["webpackJsonp"]||[],d=s.push.bind(s);s.push=t,s=s.slice();for(var f=0;f<s.length;f++)t(s[f]);var l=d;c.push([0,"chunk-vendors"]),n()})({0:function(e,t,n){e.exports=n("56d7")},"0a6b":function(e,t,n){"use strict";n.r(t),t["default"]=function(e,t,n){n()}},"0ce0":function(e,t,n){},3597:function(e,t,n){},5047:function(e,t,n){"use strict";var r=n("fa04"),a=n.n(r);a.a},"56d0":function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"d-flex",class:{toggled:!e.sidebarShow},attrs:{id:"wrapper"}},[n("sidebar"),n("div",{attrs:{id:"page-content-wrapper"}},[n("main-header"),n("div",{staticClass:"container-fluid"},[n("transition",{attrs:{name:"fade"}},[n("router-view")],1)],1)],1)],1)},a=[],o=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"border-right",attrs:{id:"sidebar-wrapper"}},[n("div",{staticClass:"sidebar-header"},[e._v(" KEA ")]),n("ul",{staticClass:"list-group list-group-flush"},[n("li",[n("router-link",{attrs:{to:{name:"panel.dashboard"}}},[e._v(" Dashboard ")])],1),n("h6",{staticClass:"text-center pt-3"},[e._v(" Monitor ")]),n("li",[n("router-link",{attrs:{to:{name:"panel.components.mltd"}}},[e._v(" MLTD ")])],1),n("li",[n("router-link",{attrs:{to:{name:"panel.components.od"}}},[e._v(" OD ")])],1),n("li",[n("router-link",{attrs:{to:{name:"panel.components.ceptd"}}},[e._v(" CEPTD ")])],1)])])},c=[],u={name:"Sidebar"},i=u,s=(n("ae14"),n("2877")),d=Object(s["a"])(i,o,c,!1,null,"466c867c",null),f=d.exports,l=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("b-navbar",{staticClass:"bottom-shadow mb-3",attrs:{variant:"white"}},[n("b-button",{staticClass:"no-outline",attrs:{variant:"none"},on:{click:function(t){return e.$store.dispatch("ui/toggle","sidebarShow")}}},[n("fa",{attrs:{icon:"bars"}})],1)],1)},p=[],h=(n("96cf"),n("1da1")),m={name:"MainHeader",methods:{logout:function(){var e=this;return Object(h["a"])(regeneratorRuntime.mark((function t(){return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.$store.dispatch("auth/logout");case 2:e.$router.push({name:"login"});case 3:case"end":return t.stop()}}),t)})))()}}},b=m,v=(n("71c6"),Object(s["a"])(b,l,p,!1,null,"3c68b016",null)),g=v.exports,k=n("2f62"),w={name:"PanelLayout",components:{Sidebar:f,MainHeader:g},computed:Object(k["b"])({sidebarShow:"ui/sidebarShow"})},y=w,O=(n("b77a"),Object(s["a"])(y,r,a,!1,null,"03a4fafb",null));t["default"]=O.exports},"56d7":function(e,t,n){"use strict";n.r(t);var r=n("5530"),a=(n("e260"),n("e6cf"),n("cca6"),n("a79d"),n("2d26"),n("2b0e")),o=n("5f5b"),c=n("b1e0"),u=n("a65d"),i=n.n(u),s=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{attrs:{id:"app"}},[n("loading",{ref:"loading"}),n("transition",{attrs:{name:"page",mode:"out-in"}},[e.layout?n(e.layout,{tag:"component"}):e._e()],1)],1)},d=[],f=(n("d81d"),n("13d5"),n("d3b7"),n("ac1f"),n("5319"),n("ddb0"),n("3835")),l=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"progress",style:{width:e.percent+"%",height:e.height,opacity:e.show?1:0,"background-color":e.canSuccess?e.color:e.failedColor}})},p=[],h={data:function(){return{percent:0,show:!1,canSuccess:!0,duration:3e3,height:"2px",color:"#77b6ff",failedColor:"red"}},methods:{start:function(){var e=this;return this.show=!0,this.canSuccess=!0,this._timer&&(clearInterval(this._timer),this.percent=0),this._cut=1e4/Math.floor(this.duration),this._timer=setInterval((function(){e.increase(e._cut*Math.random()),e.percent>95&&e.finish()}),100),this},set:function(e){return this.show=!0,this.canSuccess=!0,this.percent=Math.floor(e),this},get:function(){return Math.floor(this.percent)},increase:function(e){return this.percent=this.percent+Math.floor(e),this},decrease:function(e){return this.percent=this.percent-Math.floor(e),this},finish:function(){return this.percent=100,this.hide(),this},pause:function(){return clearInterval(this._timer),this},hide:function(){var e=this;return clearInterval(this._timer),this._timer=null,setTimeout((function(){e.show=!1,e.$nextTick((function(){setTimeout((function(){e.percent=0}),200)}))}),500),this},fail:function(){return this.canSuccess=!1,this}}},m=h,b=(n("dc51"),n("2877")),v=Object(b["a"])(m,l,p,!1,null,"4a92ff42",null),g=v.exports,k=n("81be"),w=k.keys().map((function(e){return[e.replace(/(^.\/)|(\.vue$)/g,""),k(e)]})).reduce((function(e,t){var n=Object(f["a"])(t,2),r=n[0],a=n[1];return e[r]=a.default||a,e}),{}),y={el:"#app",components:{Loading:g},data:function(){return{layout:null,defaultLayout:"default"}},metaInfo:function(){var e=Object({VUE_APP_BASE_URL:"/api",NODE_ENV:"production",BASE_URL:"/"}).VUE_APP_NAME;return{title:e,titleTemplate:"%s ยท ".concat(e)}},mounted:function(){this.$loading=this.$refs.loading},methods:{setLayout:function(e){e&&w[e]||(e=this.defaultLayout),this.layout=w[e]}}},O=y,j=Object(b["a"])(O,s,d,!1,null,null,null),_=j.exports,x=(n("99af"),n("4de4"),n("4160"),n("fb6a"),n("3ca3"),n("159b"),n("96cf"),n("ade3")),E=n("2909"),S=n("1da1"),C=n("2f62");a["default"].use(C["a"]);var T=n("6c17"),L=T.keys().map((function(e){return[e.replace(/(^.\/)|(\.js$)/g,""),T(e)]})).reduce((function(e,t){var n=Object(f["a"])(t,2),a=n[0],o=n[1];return void 0===o.namespaced&&(o.namespaced=!0),Object(r["a"])({},e,Object(x["a"])({},a,o))}),{}),M=new C["a"].Store({modules:L});function U(e){return function(){return n("a383")("./".concat(e)).then((function(e){return e.default||e}))}}var $=[{path:"/",name:"panel",redirect:"/dashboard",component:U("panel/index.vue"),children:[{path:"dashboard",name:"panel.dashboard",component:U("panel/dashboard.vue")},{path:"components/mltd",name:"panel.components.mltd",component:U("panel/components/mltd.vue")},{path:"components/od",name:"panel.components.od",component:U("panel/components/od.vue")},{path:"components/ceptd",name:"panel.components.ceptd",component:U("panel/components/ceptd.vue")}]}],P=n("8c4f"),R=n("31bd");a["default"].use(P["a"]);var A=["check-auth"],N=Q(n("9091")),D=I();Object(R["sync"])(M,D);var F=D;function I(){var e=new P["a"]({scrollBehavior:J,mode:"history",routes:$});return e.beforeEach(B),e.afterEach(V),e}function B(e,t,n){return H.apply(this,arguments)}function H(){return H=Object(S["a"])(regeneratorRuntime.mark((function e(t,n,a){var o,c;return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return o=[],e.prev=1,e.next=4,G(D.getMatchedComponents(Object(r["a"])({},t)));case 4:o=e.sent,e.next=12;break;case 7:if(e.prev=7,e.t0=e["catch"](1),!/^Loading( CSS)? chunk (\d)+ failed\./.test(e.t0.message)){e.next=12;break}return window.location.reload(!0),e.abrupt("return");case 12:if(0!==o.length){e.next=14;break}return e.abrupt("return",a());case 14:!1!==o[o.length-1].loading&&D.app.$nextTick((function(){return D.app.$loading.start()})),c=K(o),z(c,t,n,(function(){0===arguments.length&&D.app.setLayout(o[0].layout||""),a.apply(void 0,arguments)}));case 17:case"end":return e.stop()}}),e,null,[[1,7]])}))),H.apply(this,arguments)}function V(e,t,n){return q.apply(this,arguments)}function q(){return q=Object(S["a"])(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,D.app.$nextTick();case 2:D.app.$loading.finish();case 3:case"end":return e.stop()}}),e)}))),q.apply(this,arguments)}function z(e,t,n,r){var a=e.reverse(),o=function e(){if(arguments.length>0||0===a.length)return arguments.length>0&&D.app.$loading.finish(),r.apply(void 0,arguments);var o=a.pop();if("function"===typeof o)o(t,n,e);else{if(!N[o])throw Error("Undefined middleware [".concat(o,"]"));N[o](t,n,e)}};o()}function G(e){return Promise.all(e.map((function(e){return"function"===typeof e?e():e})))}function K(e){var t=[].concat(A);return e.filter((function(e){return e.middleware})).forEach((function(e){Array.isArray(e.middleware)?t.push.apply(t,Object(E["a"])(e.middleware)):t.push(e.middleware)})),t}function J(e,t,n){if(n)return n;if(e.hash)return{selector:e.hash};var a=D.getMatchedComponents(Object(r["a"])({},e)).slice(-1),o=Object(f["a"])(a,1),c=o[0];return c&&!1===c.scrollToTop?{}:{x:0,y:0}}function Q(e){return e.keys().map((function(t){return[t.replace(/(^.\/)|(\.js$)/g,""),e(t)]})).reduce((function(e,t){var n=Object(f["a"])(t,2),a=n[0],o=n[1];return Object(r["a"])({},e,Object(x["a"])({},a,o.default))}),{})}var W=n("bc3a"),X=n.n(W);X.a.interceptors.request.use((function(e){e.baseURL="/api";var t=M.getters["lang/locale"];return t&&(e.headers.common["Accept-Language"]=t),e})),X.a.interceptors.response.use((function(e){return e}),(function(e){return Promise.reject(e)}));var Y=n("ecee"),Z=n("ad3d"),ee=n("c074");Y["c"].add(ee["j"],ee["f"],ee["h"],ee["e"],ee["a"],ee["b"],ee["d"],ee["c"],ee["i"],ee["g"]),a["default"].component("fa",Z["a"]),a["default"].component("fa-layers",Z["b"]);n("bb35");a["default"].use(o["a"]),a["default"].use(c["a"]),a["default"].use(i.a,{position:"bottom-center",duration:5e3}),a["default"].config.performance=!0,new a["default"](Object(r["a"])({router:F,store:M},_)).$mount("#app")},"6c17":function(e,t,n){var r={"./auth.js":"c7d4","./ui.js":"f01d"};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id="6c17"},"71c6":function(e,t,n){"use strict";var r=n("bb10"),a=n.n(r);a.a},"74a4":function(e,t,n){"use strict";n.r(t);n("96cf");var r=n("1da1");t["default"]=function(){var e=Object(r["a"])(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:r();case 1:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}()},"81be":function(e,t,n){var r={"./panel.vue":"56d0","./public.vue":"a657"};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id="81be"},9091:function(e,t,n){var r={"./auth.js":"efbe","./check-auth.js":"74a4","./guest.js":"0a6b"};function a(e){var t=o(e);return n(t)}function o(e){if(!n.o(r,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return r[e]}a.keys=function(){return Object.keys(r)},a.resolve=o,e.exports=a,a.id="9091"},"9fb0":function(e,t,n){"use strict";n.d(t,"c",(function(){return r})),n.d(t,"d",(function(){return a})),n.d(t,"b",(function(){return o})),n.d(t,"a",(function(){return c})),n.d(t,"e",(function(){return u}));var r="LOGOUT",a="SAVE_TOKEN",o="FETCH_USER_SUCCESS",c="FETCH_USER_FAILURE",u="TOGGLE"},a383:function(e,t,n){var r={"./login":["c6f7","chunk-ad9746d8"],"./login.vue":["c6f7","chunk-ad9746d8"],"./panel":["e1cc","chunk-2d224ec2"],"./panel/":["e1cc","chunk-2d224ec2"],"./panel/components/ceptd":["8dfb","chunk-2d0e99de"],"./panel/components/ceptd.vue":["8dfb","chunk-2d0e99de"],"./panel/components/mltd":["93d3","chunk-2d0e55df"],"./panel/components/mltd.vue":["93d3","chunk-2d0e55df"],"./panel/components/od":["3f8a","chunk-2d0c55f2"],"./panel/components/od.vue":["3f8a","chunk-2d0c55f2"],"./panel/dashboard":["74b1","chunk-2d0d70a2"],"./panel/dashboard.vue":["74b1","chunk-2d0d70a2"],"./panel/index":["e1cc","chunk-2d224ec2"],"./panel/index.vue":["e1cc","chunk-2d224ec2"]};function a(e){if(!n.o(r,e))return Promise.resolve().then((function(){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}));var t=r[e],a=t[0];return n.e(t[1]).then((function(){return n(a)}))}a.keys=function(){return Object.keys(r)},a.id="a383",e.exports=a},a657:function(e,t,n){"use strict";n.r(t);var r=function(){var e=this,t=e.$createElement,n=e._self._c||t;return n("div",{staticClass:"base"},[n("header"),n("router-view"),n("footer")],1)},a=[],o={name:"PublicLayout"},c=o,u=(n("5047"),n("2877")),i=Object(u["a"])(c,r,a,!1,null,"7d981356",null);t["default"]=i.exports},ae14:function(e,t,n){"use strict";var r=n("3597"),a=n.n(r);a.a},b77a:function(e,t,n){"use strict";var r=n("b864"),a=n.n(r);a.a},b864:function(e,t,n){},bb10:function(e,t,n){},bb35:function(e,t,n){},c7d4:function(e,t,n){"use strict";n.r(t),n.d(t,"state",(function(){return f})),n.d(t,"getters",(function(){return l})),n.d(t,"mutations",(function(){return p})),n.d(t,"actions",(function(){return h}));n("96cf");var r,a=n("1da1"),o=n("ade3"),c=n("bc3a"),u=n.n(c),i=n("a78e"),s=n.n(i),d=n("9fb0"),f={user:null,token:s.a.get("token")},l={user:function(e){return e.user},token:function(e){return e.token},check:function(e){return null!==e.user}},p=(r={},Object(o["a"])(r,d["d"],(function(e,t){var n=t.token,r=t.remember;e.token=n,s.a.set("token",n,{expires:r?365:null})})),Object(o["a"])(r,d["b"],(function(e,t){var n=t.user;e.user=n})),Object(o["a"])(r,d["a"],(function(e){e.token=null,s.a.remove("token")})),Object(o["a"])(r,d["c"],(function(e){e.user=null,e.token=null,s.a.remove("token")})),r),h={saveToken:function(e,t){var n=e.commit;e.dispatch;n(d["d"],t)},fetchUser:function(e){return Object(a["a"])(regeneratorRuntime.mark((function t(){var n,r,a;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n=e.commit,t.prev=1,t.next=4,u.a.get("/user");case 4:r=t.sent,a=r.data,n(d["b"],{user:a}),t.next=12;break;case 9:t.prev=9,t.t0=t["catch"](1),n(d["a"]);case 12:case"end":return t.stop()}}),t,null,[[1,9]])})))()},logout:function(e){return Object(a["a"])(regeneratorRuntime.mark((function t(){var n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return n=e.commit,t.prev=1,t.next=4,u.a.post("/logout");case 4:t.next=8;break;case 6:t.prev=6,t.t0=t["catch"](1);case 8:n(d["c"]);case 9:case"end":return t.stop()}}),t,null,[[1,6]])})))()}}},dc51:function(e,t,n){"use strict";var r=n("0ce0"),a=n.n(r);a.a},efbe:function(e,t,n){"use strict";n.r(t);n("96cf");var r=n("1da1");t["default"]=function(){var e=Object(r["a"])(regeneratorRuntime.mark((function e(t,n,r){return regeneratorRuntime.wrap((function(e){while(1)switch(e.prev=e.next){case 0:r();case 1:case"end":return e.stop()}}),e)})));return function(t,n,r){return e.apply(this,arguments)}}()},f01d:function(e,t,n){"use strict";n.r(t),n.d(t,"state",(function(){return o})),n.d(t,"getters",(function(){return c})),n.d(t,"mutations",(function(){return u})),n.d(t,"actions",(function(){return i}));var r=n("ade3"),a=n("9fb0"),o={sidebarShow:!0,sidebarMinimize:!1},c={sidebarShow:function(e){return e.sidebarShow},sidebarMinimize:function(e){return e.sidebarMinimize}},u=Object(r["a"])({},a["e"],(function(e,t){e[t]=!e[t]})),i={toggle:function(e,t){var n=e.commit;n(a["e"],t)}}},fa04:function(e,t,n){}});
  2 +//# sourceMappingURL=app.5c548b9a.js.map
api/public/js/app.5c548b9a.js.map View file @ 2c55d4a
  1 +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/middleware/guest.js","webpack:///./src/layouts/public.vue?e81d","webpack:///./src/layouts/panel.vue?9fef","webpack:///./src/containers/Sidebar.vue?6465","webpack:///src/containers/Sidebar.vue","webpack:///./src/containers/Sidebar.vue?da49","webpack:///./src/containers/Sidebar.vue?9e2c","webpack:///./src/containers/MainHeader.vue?c456","webpack:///src/containers/MainHeader.vue","webpack:///./src/containers/MainHeader.vue?e455","webpack:///./src/containers/MainHeader.vue?f374","webpack:///src/layouts/panel.vue","webpack:///./src/layouts/panel.vue?35cd","webpack:///./src/layouts/panel.vue?119b","webpack:///./src/App.vue?4ed4","webpack:///./src/Loading.vue?095a","webpack:///src/Loading.vue","webpack:///./src/Loading.vue?b83e","webpack:///./src/Loading.vue?71b5","webpack:///src/App.vue","webpack:///./src/App.vue?1160","webpack:///./src/App.vue","webpack:///./src/store/index.js","webpack:///./src/router/routes.js","webpack:///./src/router/index.js","webpack:///./src/plugins/axios.js","webpack:///./src/plugins/fontawesome.js","webpack:///./src/main.js","webpack:///./src/store/modules sync nonrecursive .*\\.js$","webpack:///./src/containers/MainHeader.vue?cec7","webpack:///./src/middleware/check-auth.js","webpack:///./src/layouts sync nonrecursive .*\\.vue$","webpack:///./src/middleware sync nonrecursive .*\\.js$","webpack:///./src/store/mutation-types.js","webpack:///./src/pages lazy ^\\.\\/.*$ namespace object","webpack:///./src/layouts/public.vue?a728","webpack:///src/layouts/public.vue","webpack:///./src/layouts/public.vue?3a7c","webpack:///./src/layouts/public.vue?4545","webpack:///./src/containers/Sidebar.vue?c2fa","webpack:///./src/layouts/panel.vue?e5fe","webpack:///./src/store/modules/auth.js","webpack:///./src/Loading.vue?5476","webpack:///./src/middleware/auth.js","webpack:///./src/store/modules/ui.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","to","from","next","render","_vm","this","_h","$createElement","_c","_self","staticClass","class","sidebarShow","attrs","staticRenderFns","_v","component","on","$event","$store","dispatch","methods","components","Sidebar","computed","ref","layout","_e","style","width","percent","height","opacity","show","canSuccess","color","failedColor","start","_timer","clearInterval","_cut","Math","floor","duration","setInterval","set","num","increase","decrease","finish","hide","pause","fail","Vue","use","Vuex","requireContext","require","keys","map","file","replace","reduce","namespaced","Store","page","path","default","redirect","children","Router","globalMiddleware","routeMiddleware","resolveMiddleware","router","createRouter","sync","store","scrollBehavior","routes","beforeEach","afterEach","resolveComponents","getMatchedComponents","test","location","reload","loading","app","$nextTick","$loading","middleware","getMiddleware","callMiddleware","setLayout","stack","reverse","_next","pop","filter","forEach","Array","isArray","savedPosition","hash","selector","scrollToTop","x","y","guards","guard","axios","interceptors","baseURL","process","locale","getters","headers","common","response","library","add","faUser","faLock","faSignOutAlt","faEnvelope","faArrowDown","faArrowUp","faCogs","faBars","faStop","faSearch","FontAwesomeIcon","FontAwesomeLayers","BootstrapVue","IconsPlugin","Toasted","position","config","performance","App","$mount","webpackContext","req","id","webpackContextResolve","LOGOUT","SAVE_TOKEN","FETCH_USER_SUCCESS","FETCH_USER_FAILURE","TOGGLE","webpackAsyncContext","ids","state","user","token","Cookies","check","mutations","types","remember","expires","remove","actions","saveToken","payload","commit","fetchUser","logout","post","sidebarMinimize","variable","toggle"],"mappings":"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","file":"js/app.5c548b9a.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0c55f2\":\"e64e1b18\",\"chunk-2d0d70a2\":\"7ea12236\",\"chunk-2d0e55df\":\"3deb6696\",\"chunk-2d0e99de\":\"c48b6ddb\",\"chunk-2d224ec2\":\"03a05a00\",\"chunk-ad9746d8\":\"9562ee9e\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-ad9746d8\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0c55f2\":\"31d6cfe0\",\"chunk-2d0d70a2\":\"31d6cfe0\",\"chunk-2d0e55df\":\"31d6cfe0\",\"chunk-2d0e99de\":\"31d6cfe0\",\"chunk-2d224ec2\":\"31d6cfe0\",\"chunk-ad9746d8\":\"9a04f192\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","// import store from '~/store'\n\nexport default (to, from, next) => {\n next()\n // if (store.getters['auth/check']) {\n // next({ name: 'home' })\n // } else {\n // next()\n // }\n}\n","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=style&index=0&id=7d981356&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--8-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=style&index=0&id=7d981356&lang=scss&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"d-flex\",class:{ 'toggled': !_vm.sidebarShow },attrs:{\"id\":\"wrapper\"}},[_c('sidebar'),_c('div',{attrs:{\"id\":\"page-content-wrapper\"}},[_c('main-header'),_c('div',{staticClass:\"container-fluid\"},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('router-view')],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"border-right\",attrs:{\"id\":\"sidebar-wrapper\"}},[_c('div',{staticClass:\"sidebar-header\"},[_vm._v(\" KEA \")]),_c('ul',{staticClass:\"list-group list-group-flush\"},[_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.dashboard' }}},[_vm._v(\" Dashboard \")])],1),_c('h6',{staticClass:\"text-center pt-3\"},[_vm._v(\" Monitor \")]),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.components.mltd' }}},[_vm._v(\" MLTD \")])],1),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.components.od' }}},[_vm._v(\" OD \")])],1),_c('li',[_c('router-link',{attrs:{\"to\":{ name: 'panel.components.ceptd' }}},[_vm._v(\" CEPTD \")])],1)])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n<template>\n <div id=\"sidebar-wrapper\" class=\"border-right\">\n <div class=\"sidebar-header\">\n KEA\n </div>\n <ul class=\"list-group list-group-flush\">\n <li>\n <router-link :to=\"{ name: 'panel.dashboard' }\">\n Dashboard\n </router-link>\n </li>\n <h6 class=\"text-center pt-3\">\n Monitor\n </h6>\n <li>\n <router-link :to=\"{ name: 'panel.components.mltd' }\">\n MLTD\n </router-link>\n </li>\n <li>\n <router-link :to=\"{ name: 'panel.components.od' }\">\n OD\n </router-link>\n </li>\n <li>\n <router-link :to=\"{ name: 'panel.components.ceptd' }\">\n CEPTD\n </router-link>\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nexport default {\n name: 'Sidebar'\n}\n</script>\n\n<style scoped>\n #sidebar-wrapper {\n background: #4876d5;\n color: #fff;\n transition: all 0.6s cubic-bezier(0.945, 0.020, 0.270, 0.665);\n transform-origin: bottom left;\n }\n\n .sidebar-header {\n padding: 12px;\n font-size: 1.35rem;\n text-align: center;\n }\n\n #sidebar-wrapper ul li a {\n padding: 10px;\n font-size: 1.1em;\n display: block;\n }\n #sidebar-wrapper ul li a:hover {\n color: #5197fa;\n background: #fff;\n }\n\n #sidebar-wrapper ul a.router-link-exact-active {\n color: #fff;\n background: #5197fa;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Sidebar.vue?vue&type=template&id=466c867c&scoped=true&\"\nimport script from \"./Sidebar.vue?vue&type=script&lang=js&\"\nexport * from \"./Sidebar.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Sidebar.vue?vue&type=style&index=0&id=466c867c&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"466c867c\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-navbar',{staticClass:\"bottom-shadow mb-3\",attrs:{\"variant\":\"white\"}},[_c('b-button',{staticClass:\"no-outline\",attrs:{\"variant\":\"none\"},on:{\"click\":function($event){return _vm.$store.dispatch('ui/toggle', 'sidebarShow')}}},[_c('fa',{attrs:{\"icon\":\"bars\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <b-navbar variant=\"white\" class=\"bottom-shadow mb-3\">\n <b-button variant=\"none\" class=\"no-outline\" @click=\"$store.dispatch('ui/toggle', 'sidebarShow')\">\n <fa icon=\"bars\" />\n </b-button>\n <!-- Right aligned nav items -->\n<!-- <b-navbar-nav class=\"ml-auto\">-->\n<!-- <b-nav-item @click=\"logout\">-->\n<!-- <fa icon=\"sign-out-alt\" />-->\n<!-- </b-nav-item>-->\n<!-- </b-navbar-nav>-->\n </b-navbar>\n</template>\n\n<script>\nexport default {\n name: 'MainHeader',\n methods: {\n async logout () {\n await this.$store.dispatch('auth/logout')\n this.$router.push({ name: 'login' })\n }\n }\n}\n</script>\n\n<style scoped>\n .bottom-shadow {\n box-shadow: 0 4px 2px -2px gray;\n }\n .no-outline:focus, .no-outline:active {\n outline: none !important;\n box-shadow: none !important;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./MainHeader.vue?vue&type=template&id=3c68b016&scoped=true&\"\nimport script from \"./MainHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./MainHeader.vue?vue&type=script&lang=js&\"\nimport style0 from \"./MainHeader.vue?vue&type=style&index=0&id=3c68b016&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3c68b016\",\n null\n \n)\n\nexport default component.exports","<template>\n <div id=\"wrapper\" class=\"d-flex\" :class=\"{ 'toggled': !sidebarShow }\">\n <sidebar />\n <div id=\"page-content-wrapper\">\n <main-header />\n <div class=\"container-fluid\">\n <transition name=\"fade\">\n <router-view />\n </transition>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport Sidebar from '../containers/Sidebar'\nimport MainHeader from '../containers/MainHeader'\nimport { mapGetters } from 'vuex'\nexport default {\n name: 'PanelLayout',\n components: {\n Sidebar, MainHeader\n },\n computed: mapGetters({\n sidebarShow: 'ui/sidebarShow'\n })\n}\n</script>\n\n<style scoped>\n .fade-enter-active,\n .fade-leave-active {\n transition: opacity 0.3s;\n }\n .fade-enter,\n .fade-leave-to {\n opacity: 0;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./panel.vue?vue&type=template&id=03a4fafb&scoped=true&\"\nimport script from \"./panel.vue?vue&type=script&lang=js&\"\nexport * from \"./panel.vue?vue&type=script&lang=js&\"\nimport style0 from \"./panel.vue?vue&type=style&index=0&id=03a4fafb&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"03a4fafb\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('loading',{ref:\"loading\"}),_c('transition',{attrs:{\"name\":\"page\",\"mode\":\"out-in\"}},[(_vm.layout)?_c(_vm.layout,{tag:\"component\"}):_vm._e()],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"progress\",style:({\n width: (_vm.percent + \"%\"),\n height: _vm.height,\n opacity: _vm.show ? 1 : 0,\n 'background-color': _vm.canSuccess ? _vm.color : _vm.failedColor\n})})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div :style=\"{\n width: `${percent}%`,\n height: height,\n opacity: show ? 1 : 0,\n 'background-color': canSuccess ? color : failedColor\n }\" class=\"progress\"\n />\n</template>\n\n<script>\n// https://github.com/nuxt/nuxt.js/blob/master/lib/app/components/nuxt-loading.vue\nexport default {\n data: () => ({\n percent: 0,\n show: false,\n canSuccess: true,\n duration: 3000,\n height: '2px',\n color: '#77b6ff',\n failedColor: 'red'\n }),\n\n methods: {\n start () {\n this.show = true\n this.canSuccess = true\n if (this._timer) {\n clearInterval(this._timer)\n this.percent = 0\n }\n this._cut = 10000 / Math.floor(this.duration)\n this._timer = setInterval(() => {\n this.increase(this._cut * Math.random())\n if (this.percent > 95) {\n this.finish()\n }\n }, 100)\n return this\n },\n set (num) {\n this.show = true\n this.canSuccess = true\n this.percent = Math.floor(num)\n return this\n },\n get () {\n return Math.floor(this.percent)\n },\n increase (num) {\n this.percent = this.percent + Math.floor(num)\n return this\n },\n decrease (num) {\n this.percent = this.percent - Math.floor(num)\n return this\n },\n finish () {\n this.percent = 100\n this.hide()\n return this\n },\n pause () {\n clearInterval(this._timer)\n return this\n },\n hide () {\n clearInterval(this._timer)\n this._timer = null\n setTimeout(() => {\n this.show = false\n this.$nextTick(() => {\n setTimeout(() => {\n this.percent = 0\n }, 200)\n })\n }, 500)\n return this\n },\n fail () {\n this.canSuccess = false\n return this\n }\n }\n}\n</script>\n\n<style scoped>\n.progress {\n position: fixed;\n top: 0px;\n left: 0px;\n right: 0px;\n height: 2px;\n width: 0%;\n transition: width 0.2s, opacity 0.4s;\n opacity: 1;\n background-color: #efc14e;\n z-index: 999999;\n}\n</style>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Loading.vue?vue&type=template&id=4a92ff42&scoped=true&\"\nimport script from \"./Loading.vue?vue&type=script&lang=js&\"\nexport * from \"./Loading.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Loading.vue?vue&type=style&index=0&id=4a92ff42&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4a92ff42\",\n null\n \n)\n\nexport default component.exports","<template>\n <div id=\"app\">\n <loading ref=\"loading\" />\n <transition name=\"page\" mode=\"out-in\">\n <component :is=\"layout\" v-if=\"layout\" />\n </transition>\n </div>\n</template>\n\n<script>\n import Loading from './Loading'\n\n // Load layout components dynamically.\n const requireContext = require.context('~/layouts', false, /.*\\.vue$/)\n\n const layouts = requireContext.keys()\n .map(file =>\n [file.replace(/(^.\\/)|(\\.vue$)/g, ''), requireContext(file)]\n )\n .reduce((components, [name, component]) => {\n components[name] = component.default || component\n return components\n }, {})\n\n export default {\n el: '#app',\n\n components: {\n Loading\n },\n\n data: () => ({\n layout: null,\n defaultLayout: 'default'\n }),\n\n metaInfo () {\n const appName = process.env.VUE_APP_NAME\n\n return {\n title: appName,\n titleTemplate: `%s ยท ${appName}`\n }\n },\n\n mounted () {\n this.$loading = this.$refs.loading\n },\n\n methods: {\n /**\n * Set the application layout.\n *\n * @param {String} layout\n */\n setLayout (layout) {\n if (!layout || !layouts[layout]) {\n layout = this.defaultLayout\n }\n\n this.layout = layouts[layout]\n }\n }\n }\n</script>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--12-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=7e821574&\"\nimport script from \"./App.vue?vue&type=script&lang=js&\"\nexport * from \"./App.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex)\n\n// Load store modules dynamically.\nconst requireContext = require.context('./modules', false, /.*\\.js$/)\n\nconst modules = requireContext.keys()\n .map(file =>\n [file.replace(/(^.\\/)|(\\.js$)/g, ''), requireContext(file)]\n )\n .reduce((modules, [name, module]) => {\n if (module.namespaced === undefined) {\n module.namespaced = true\n }\n\n return { ...modules, [name]: module }\n }, {})\n\nexport default new Vuex.Store({\n modules\n})\n","function page (path) {\n return () => import(`~/pages/${path}`).then(m => m.default || m)\n}\n\nexport default [\n {\n path: '/',\n name: 'panel',\n redirect: '/dashboard',\n component: page('panel/index.vue'),\n children: [\n {\n path: 'dashboard',\n name: 'panel.dashboard',\n component: page('panel/dashboard.vue')\n },\n {\n path: 'components/mltd',\n name: 'panel.components.mltd',\n component: page('panel/components/mltd.vue')\n },\n {\n path: 'components/od',\n name: 'panel.components.od',\n component: page('panel/components/od.vue')\n },\n {\n path: 'components/ceptd',\n name: 'panel.components.ceptd',\n component: page('panel/components/ceptd.vue')\n }\n ]\n }\n // { path: '/login', name: 'login', component: page('login.vue') }\n]\n","import Vue from 'vue'\nimport store from '~/store'\nimport routes from './routes'\nimport Router from 'vue-router'\nimport { sync } from 'vuex-router-sync'\n\nVue.use(Router)\n\n// The middleware for every page of the application.\nconst globalMiddleware = ['check-auth']\n\n// Load middleware modules dynamically.\nconst routeMiddleware = resolveMiddleware(\n require.context('~/middleware', false, /.*\\.js$/)\n)\n\nconst router = createRouter()\n\nsync(store, router)\n\nexport default router\n\n/**\n * Create a new router instance.\n *\n * @return {Router}\n */\nfunction createRouter () {\n const router = new Router({\n scrollBehavior,\n mode: 'history',\n routes\n })\n\n router.beforeEach(beforeEach)\n router.afterEach(afterEach)\n\n return router\n}\n\n/**\n * Global router guard.\n *\n * @param {Route} to\n * @param {Route} from\n * @param {Function} next\n */\nasync function beforeEach (to, from, next) {\n let components = []\n\n try {\n // Get the matched components and resolve them.\n components = await resolveComponents(\n router.getMatchedComponents({ ...to })\n )\n } catch (error) {\n if (/^Loading( CSS)? chunk (\\d)+ failed\\./.test(error.message)) {\n window.location.reload(true)\n return\n }\n }\n\n if (components.length === 0) {\n return next()\n }\n\n // Start the loading bar.\n if (components[components.length - 1].loading !== false) {\n router.app.$nextTick(() => router.app.$loading.start())\n }\n\n // Get the middleware for all the matched components.\n const middleware = getMiddleware(components)\n\n // Call each middleware.\n callMiddleware(middleware, to, from, (...args) => {\n // Set the application layout only if \"next()\" was called with no args.\n if (args.length === 0) {\n router.app.setLayout(components[0].layout || '')\n }\n\n next(...args)\n })\n}\n\n/**\n * Global after hook.\n *\n * @param {Route} to\n * @param {Route} from\n * @param {Function} next\n */\nasync function afterEach (to, from, next) {\n await router.app.$nextTick()\n\n router.app.$loading.finish()\n}\n\n/**\n * Call each middleware.\n *\n * @param {Array} middleware\n * @param {Route} to\n * @param {Route} from\n * @param {Function} next\n */\nfunction callMiddleware (middleware, to, from, next) {\n const stack = middleware.reverse()\n\n const _next = (...args) => {\n // Stop if \"_next\" was called with an argument or the stack is empty.\n if (args.length > 0 || stack.length === 0) {\n if (args.length > 0) {\n router.app.$loading.finish()\n }\n\n return next(...args)\n }\n\n const middleware = stack.pop()\n\n if (typeof middleware === 'function') {\n middleware(to, from, _next)\n } else if (routeMiddleware[middleware]) {\n routeMiddleware[middleware](to, from, _next)\n } else {\n throw Error(`Undefined middleware [${middleware}]`)\n }\n }\n\n _next()\n}\n\n/**\n * Resolve async components.\n *\n * @param {Array} components\n * @return {Array}\n */\nfunction resolveComponents (components) {\n return Promise.all(components.map(component => {\n return typeof component === 'function' ? component() : component\n }))\n}\n\n/**\n * Merge the the global middleware with the components middleware.\n *\n * @param {Array} components\n * @return {Array}\n */\nfunction getMiddleware (components) {\n const middleware = [...globalMiddleware]\n\n components.filter(c => c.middleware).forEach(component => {\n if (Array.isArray(component.middleware)) {\n middleware.push(...component.middleware)\n } else {\n middleware.push(component.middleware)\n }\n })\n\n return middleware\n}\n\n/**\n * Scroll Behavior\n *\n * @link https://router.vuejs.org/en/advanced/scroll-behavior.html\n *\n * @param {Route} to\n * @param {Route} from\n * @param {Object|undefined} savedPosition\n * @return {Object}\n */\nfunction scrollBehavior (to, from, savedPosition) {\n if (savedPosition) {\n return savedPosition\n }\n\n if (to.hash) {\n return { selector: to.hash }\n }\n\n const [component] = router.getMatchedComponents({ ...to }).slice(-1)\n\n if (component && component.scrollToTop === false) {\n return {}\n }\n\n return { x: 0, y: 0 }\n}\n\n/**\n * @param {Object} requireContext\n * @return {Object}\n */\nfunction resolveMiddleware (requireContext) {\n return requireContext.keys()\n .map(file =>\n [file.replace(/(^.\\/)|(\\.js$)/g, ''), requireContext(file)]\n )\n .reduce((guards, [name, guard]) => (\n { ...guards, [name]: guard.default }\n ), {})\n}\n","import axios from 'axios'\nimport store from '~/store'\n\n// Request interceptor\naxios.interceptors.request.use(request => {\n request.baseURL = process.env.VUE_APP_BASE_URL\n\n // const token = store.getters['auth/token']\n // if (token) {\n // request.headers.common.Authorization = `Bearer ${token}`\n // }\n\n const locale = store.getters['lang/locale']\n if (locale) {\n request.headers.common['Accept-Language'] = locale\n }\n\n // request.headers['X-Socket-Id'] = Echo.socketId()\n\n return request\n})\n\n// Response interceptor\naxios.interceptors.response.use(response => response, error => {\n return Promise.reject(error)\n})\n","import Vue from 'vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport { FontAwesomeIcon, FontAwesomeLayers } from '@fortawesome/vue-fontawesome'\nimport {\n faUser, faLock, faSignOutAlt, faEnvelope, faArrowDown, faArrowUp, faCogs, faBars, faStop, faSearch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faUser, faLock, faSignOutAlt, faEnvelope, faArrowDown, faArrowUp, faCogs, faBars, faStop, faSearch\n)\n\nVue.component('fa', FontAwesomeIcon)\nVue.component('fa-layers', FontAwesomeLayers)\n","import 'core-js/stable'\nimport Vue from 'vue'\nimport { BootstrapVue, IconsPlugin } from 'bootstrap-vue'\nimport Toasted from 'vue-toasted'\nimport App from './App'\nimport router from './router'\nimport store from './store'\nimport '~/plugins'\n\nimport '~/assets/scss/custom.scss'\n\n// Install BootstrapVue\nVue.use(BootstrapVue)\n// Optionally install the BootstrapVue icon components plugin\nVue.use(IconsPlugin)\nVue.use(Toasted, {\n position: 'bottom-center',\n duration: 5000\n})\n\nVue.config.performance = true\n\nnew Vue({\n router,\n store,\n ...App\n}).$mount('#app')\n","var map = {\n\t\"./auth.js\": \"c7d4\",\n\t\"./ui.js\": \"f01d\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"6c17\";","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=style&index=0&id=3c68b016&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainHeader.vue?vue&type=style&index=0&id=3c68b016&scoped=true&lang=css&\"","// import store from '~/store'\n\nexport default async (to, from, next) => {\n // if (!store.getters['auth/check'] && store.getters['auth/token']) {\n // try {\n // await store.dispatch('auth/fetchUser')\n // } catch (e) { }\n // }\n\n next()\n}\n","var map = {\n\t\"./panel.vue\": \"56d0\",\n\t\"./public.vue\": \"a657\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"81be\";","var map = {\n\t\"./auth.js\": \"efbe\",\n\t\"./check-auth.js\": \"74a4\",\n\t\"./guest.js\": \"0a6b\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"9091\";","// auth.js\nexport const LOGOUT = 'LOGOUT'\nexport const SAVE_TOKEN = 'SAVE_TOKEN'\nexport const FETCH_USER = 'FETCH_USER'\nexport const FETCH_USER_SUCCESS = 'FETCH_USER_SUCCESS'\nexport const FETCH_USER_FAILURE = 'FETCH_USER_FAILURE'\n\n// ui.js\nexport const TOGGLE = 'TOGGLE'\n","var map = {\n\t\"./login\": [\n\t\t\"c6f7\",\n\t\t\"chunk-ad9746d8\"\n\t],\n\t\"./login.vue\": [\n\t\t\"c6f7\",\n\t\t\"chunk-ad9746d8\"\n\t],\n\t\"./panel\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t],\n\t\"./panel/\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t],\n\t\"./panel/components/ceptd\": [\n\t\t\"8dfb\",\n\t\t\"chunk-2d0e99de\"\n\t],\n\t\"./panel/components/ceptd.vue\": [\n\t\t\"8dfb\",\n\t\t\"chunk-2d0e99de\"\n\t],\n\t\"./panel/components/mltd\": [\n\t\t\"93d3\",\n\t\t\"chunk-2d0e55df\"\n\t],\n\t\"./panel/components/mltd.vue\": [\n\t\t\"93d3\",\n\t\t\"chunk-2d0e55df\"\n\t],\n\t\"./panel/components/od\": [\n\t\t\"3f8a\",\n\t\t\"chunk-2d0c55f2\"\n\t],\n\t\"./panel/components/od.vue\": [\n\t\t\"3f8a\",\n\t\t\"chunk-2d0c55f2\"\n\t],\n\t\"./panel/dashboard\": [\n\t\t\"74b1\",\n\t\t\"chunk-2d0d70a2\"\n\t],\n\t\"./panel/dashboard.vue\": [\n\t\t\"74b1\",\n\t\t\"chunk-2d0d70a2\"\n\t],\n\t\"./panel/index\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t],\n\t\"./panel/index.vue\": [\n\t\t\"e1cc\",\n\t\t\"chunk-2d224ec2\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"a383\";\nmodule.exports = webpackAsyncContext;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"base\"},[_c('header'),_c('router-view'),_c('footer')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"base\">\n <header />\n <router-view />\n <footer />\n </div>\n</template>\n\n<script>\nexport default {\n name: 'PublicLayout'\n}\n</script>\n\n<style lang=\"scss\" scoped>\n .base {\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n min-height: 100vh;\n }\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./public.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./public.vue?vue&type=template&id=7d981356&scoped=true&\"\nimport script from \"./public.vue?vue&type=script&lang=js&\"\nexport * from \"./public.vue?vue&type=script&lang=js&\"\nimport style0 from \"./public.vue?vue&type=style&index=0&id=7d981356&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7d981356\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&id=466c867c&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Sidebar.vue?vue&type=style&index=0&id=466c867c&scoped=true&lang=css&\"","import mod from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=style&index=0&id=03a4fafb&scoped=true&lang=css&\"; export default mod; export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./panel.vue?vue&type=style&index=0&id=03a4fafb&scoped=true&lang=css&\"","import axios from 'axios'\nimport Cookies from 'js-cookie'\nimport * as types from '../mutation-types'\n\n// state\nexport const state = {\n user: null,\n token: Cookies.get('token')\n}\n\n// getters\nexport const getters = {\n user: state => state.user,\n token: state => state.token,\n check: state => state.user !== null\n}\n\n// mutations\nexport const mutations = {\n [types.SAVE_TOKEN] (state, { token, remember }) {\n state.token = token\n Cookies.set('token', token, { expires: remember ? 365 : null })\n },\n\n [types.FETCH_USER_SUCCESS] (state, { user }) {\n state.user = user\n },\n\n [types.FETCH_USER_FAILURE] (state) {\n state.token = null\n Cookies.remove('token')\n },\n\n [types.LOGOUT] (state) {\n state.user = null\n state.token = null\n\n Cookies.remove('token')\n }\n}\n\n// actions\nexport const actions = {\n saveToken ({ commit, dispatch }, payload) {\n commit(types.SAVE_TOKEN, payload)\n },\n\n async fetchUser ({ commit }) {\n try {\n const { data } = await axios.get('/user')\n\n commit(types.FETCH_USER_SUCCESS, { user: data })\n } catch (e) {\n commit(types.FETCH_USER_FAILURE)\n }\n },\n\n async logout ({ commit }) {\n try {\n await axios.post('/logout')\n } catch (e) { }\n\n commit(types.LOGOUT)\n }\n}\n","import mod from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=style&index=0&id=4a92ff42&scoped=true&lang=css&\"; export default mod; export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../node_modules/cache-loader/dist/cjs.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loading.vue?vue&type=style&index=0&id=4a92ff42&scoped=true&lang=css&\"","// import store from '~/store'\n\nexport default async (to, from, next) => {\n // if (!store.getters['auth/check']) {\n // next({ name: 'login' })\n // } else {\n next()\n // }\n}\n","import * as types from '../mutation-types'\n\n// state\nexport const state = {\n sidebarShow: true,\n sidebarMinimize: false\n}\n\n// getters\nexport const getters = {\n sidebarShow: state => state.sidebarShow,\n sidebarMinimize: state => state.sidebarMinimize\n}\n\n// mutations\nexport const mutations = {\n [types.TOGGLE] (state, variable) {\n state[variable] = !state[variable]\n }\n}\n\n// actions\nexport const actions = {\n toggle ({ commit }, variable) {\n commit(types.TOGGLE, variable)\n }\n}\n"],"sourceRoot":""}
api/public/js/chunk-2d0c55f2.5c85b614.js View file @ 2c55d4a
1   -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c55f2"],{"3f8a":function(e,r,t){"use strict";t.r(r);var n=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticStyle:{height:"90vh"}},[t("iframe",{attrs:{width:"100%",height:"100%",src:e.src,frameborder:"0"}})])},a=[],c=(t("96cf"),t("1da1")),i=t("bc3a"),s=t.n(i),o={name:"OD",data:function(){return{src:"",params:"/d/qDDyJZ6Wz/od?orgId=1"}},created:function(){this.config()},methods:{config:function(){var e=this;return Object(c["a"])(regeneratorRuntime.mark((function r(){var t,n;return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,s.a.get("/config");case 3:t=r.sent,n=t.data,e.src=n.kibana_url+e.params,r.next=11;break;case 8:r.prev=8,r.t0=r["catch"](0),e.$toasted.error("Error fetching Grafana URL!");case 11:case"end":return r.stop()}}),r,null,[[0,8]])})))()}}},u=o,f=t("2877"),d=Object(f["a"])(u,n,a,!1,null,"4c1485ec",null);r["default"]=d.exports}}]);
2   -//# sourceMappingURL=chunk-2d0c55f2.5c85b614.js.map
api/public/js/chunk-2d0c55f2.5c85b614.js.map View file @ 2c55d4a
1   -{"version":3,"sources":["webpack:///./src/pages/panel/components/od.vue?306b","webpack:///src/pages/panel/components/od.vue","webpack:///./src/pages/panel/components/od.vue?d888","webpack:///./src/pages/panel/components/od.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticStyle","attrs","src","staticRenderFns","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,CAAC,OAAS,SAAS,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,IAAMP,EAAIQ,IAAI,YAAc,UACrNC,EAAkB,G,6CCQtB,GACE,KAAF,KACE,KAFF,WAGI,MAAJ,CACM,IAAN,GACM,OAAN,4BAGE,QARF,WASI,KAAJ,UAEE,QAAF,CACI,OADJ,WACM,IAAN,OAAM,OAAN,uKAEA,mBAFA,gBAEA,EAFA,EAEA,KACA,4BAHA,mDAKA,gDALA,8DCrB0W,I,YCOtWC,EAAY,eACd,EACAX,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAC,E","file":"js/chunk-2d0c55f2.5c85b614.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"90vh\"}},[_c('iframe',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"src\":_vm.src,\"frameborder\":\"0\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div style=\"height: 90vh\">\n <iframe width=\"100%\" height=\"100%\" :src=\"src\" frameborder=\"0\" />\n </div>\n</template>\n\n<script>\n import axios from 'axios'\n\n export default {\n name: 'OD',\n data () {\n return {\n src: '',\n params: '/d/qDDyJZ6Wz/od?orgId=1'\n }\n },\n created () {\n this.config()\n },\n methods: {\n async config () {\n try {\n const { data } = await axios.get('/config')\n this.src = data.kibana_url + this.params\n } catch (e) {\n this.$toasted.error('Error fetching Grafana URL!')\n }\n }\n }\n }\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./od.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./od.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./od.vue?vue&type=template&id=4c1485ec&scoped=true&\"\nimport script from \"./od.vue?vue&type=script&lang=js&\"\nexport * from \"./od.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4c1485ec\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-2d0c55f2.e64e1b18.js View file @ 2c55d4a
  1 +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0c55f2"],{"3f8a":function(e,t,r){"use strict";r.r(t);var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticStyle:{height:"90vh"}},[r("iframe",{attrs:{width:"100%",height:"100%",src:e.src,frameborder:"0"}})])},a=[],c=(r("96cf"),r("1da1")),i=r("bc3a"),s=r.n(i),o={name:"OD",data:function(){return{src:""}},created:function(){this.config()},methods:{config:function(){var e=this;return Object(c["a"])(regeneratorRuntime.mark((function t(){var r,n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.a.get("/config");case 3:r=t.sent,n=r.data,e.src=n.od_url,t.next=11;break;case 8:t.prev=8,t.t0=t["catch"](0),e.$toasted.error("Error fetching Grafana URL!");case 11:case"end":return t.stop()}}),t,null,[[0,8]])})))()}}},u=o,f=r("2877"),h=Object(f["a"])(u,n,a,!1,null,"7463b763",null);t["default"]=h.exports}}]);
  2 +//# sourceMappingURL=chunk-2d0c55f2.e64e1b18.js.map
api/public/js/chunk-2d0c55f2.e64e1b18.js.map View file @ 2c55d4a
  1 +{"version":3,"sources":["webpack:///./src/pages/panel/components/od.vue?c281","webpack:///src/pages/panel/components/od.vue","webpack:///./src/pages/panel/components/od.vue?d888","webpack:///./src/pages/panel/components/od.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticStyle","attrs","src","staticRenderFns","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,CAAC,OAAS,SAAS,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,IAAMP,EAAIQ,IAAI,YAAc,UACrNC,EAAkB,G,6CCQtB,GACE,KAAF,KACE,KAFF,WAGI,MAAJ,CACM,IAAN,KAGE,QAPF,WAQI,KAAJ,UAEE,QAAF,CACI,OADJ,WACM,IAAN,OAAM,OAAN,uKAEA,mBAFA,gBAEA,EAFA,EAEA,KACA,eAHA,mDAKA,gDALA,8DCpB0W,I,YCOtWC,EAAY,eACd,EACAX,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAC,E","file":"js/chunk-2d0c55f2.e64e1b18.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"90vh\"}},[_c('iframe',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"src\":_vm.src,\"frameborder\":\"0\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div style=\"height: 90vh\">\n <iframe width=\"100%\" height=\"100%\" :src=\"src\" frameborder=\"0\" />\n </div>\n</template>\n\n<script>\n import axios from 'axios'\n\n export default {\n name: 'OD',\n data () {\n return {\n src: ''\n }\n },\n created () {\n this.config()\n },\n methods: {\n async config () {\n try {\n const { data } = await axios.get('/config')\n this.src = data.od_url\n } catch (e) {\n this.$toasted.error('Error fetching Grafana URL!')\n }\n }\n }\n }\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./od.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./od.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./od.vue?vue&type=template&id=7463b763&scoped=true&\"\nimport script from \"./od.vue?vue&type=script&lang=js&\"\nexport * from \"./od.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7463b763\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-2d0e55df.3d7ea4b4.js View file @ 2c55d4a
1   -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0e55df"],{"93d3":function(e,r,t){"use strict";t.r(r);var a=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticStyle:{height:"90vh"}},[t("iframe",{attrs:{width:"100%",height:"100%",src:e.src,frameborder:"0"}})])},n=[],c=(t("96cf"),t("1da1")),s=t("bc3a"),i=t.n(s),o={name:"MLTD",data:function(){return{src:"",params:"/d/dtCrgk6Wk/mltd?orgId=1"}},created:function(){this.config()},methods:{config:function(){var e=this;return Object(c["a"])(regeneratorRuntime.mark((function r(){var t,a;return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,i.a.get("/config");case 3:t=r.sent,a=t.data,e.src=a.grafana_url+e.params,r.next=11;break;case 8:r.prev=8,r.t0=r["catch"](0),e.$toasted.error("Error fetching Grafana URL!");case 11:case"end":return r.stop()}}),r,null,[[0,8]])})))()}}},u=o,d=t("2877"),f=Object(d["a"])(u,a,n,!1,null,"d5a5e0fc",null);r["default"]=f.exports}}]);
2   -//# sourceMappingURL=chunk-2d0e55df.3d7ea4b4.js.map
api/public/js/chunk-2d0e55df.3d7ea4b4.js.map View file @ 2c55d4a
1   -{"version":3,"sources":["webpack:///./src/pages/panel/components/mltd.vue?e9a7","webpack:///src/pages/panel/components/mltd.vue","webpack:///./src/pages/panel/components/mltd.vue?04f8","webpack:///./src/pages/panel/components/mltd.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticStyle","attrs","src","staticRenderFns","name","data","params","created","config","methods","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,CAAC,OAAS,SAAS,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,IAAMP,EAAIQ,IAAI,YAAc,UACrNC,EAAkB,G,6CCQtB,GACEC,KAAM,OACNC,KAFF,WAGI,MAAO,CACLH,IAAK,GACLI,OAAQ,8BAGZC,QARF,WASIZ,KAAKa,UAEPC,QAAS,CACP,OADJ,WACA,yLAEA,mBAFA,gBAEA,EAFA,EAEA,KACA,6BAHA,mDAKA,gDALA,8DCrB4W,I,YCOxWC,EAAY,eACd,EACAjB,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAO,E","file":"js/chunk-2d0e55df.3d7ea4b4.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"90vh\"}},[_c('iframe',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"src\":_vm.src,\"frameborder\":\"0\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div style=\"height: 90vh\">\n <iframe width=\"100%\" height=\"100%\" :src=\"src\" frameborder=\"0\" />\n </div>\n</template>\n\n<script>\nimport axios from 'axios'\n\nexport default {\n name: 'MLTD',\n data () {\n return {\n src: '',\n params: '/d/dtCrgk6Wk/mltd?orgId=1'\n }\n },\n created () {\n this.config()\n },\n methods: {\n async config () {\n try {\n const { data } = await axios.get('/config')\n this.src = data.grafana_url + this.params\n } catch (e) {\n this.$toasted.error('Error fetching Grafana URL!')\n }\n }\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mltd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mltd.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./mltd.vue?vue&type=template&id=d5a5e0fc&scoped=true&\"\nimport script from \"./mltd.vue?vue&type=script&lang=js&\"\nexport * from \"./mltd.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"d5a5e0fc\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-2d0e55df.3deb6696.js View file @ 2c55d4a
  1 +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0e55df"],{"93d3":function(e,t,r){"use strict";r.r(t);var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticStyle:{height:"90vh"}},[r("iframe",{attrs:{width:"100%",height:"100%",src:e.src,frameborder:"0"}})])},a=[],c=(r("96cf"),r("1da1")),i=r("bc3a"),s=r.n(i),o={name:"MLTD",data:function(){return{src:""}},created:function(){this.config()},methods:{config:function(){var e=this;return Object(c["a"])(regeneratorRuntime.mark((function t(){var r,n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.a.get("/config");case 3:r=t.sent,n=r.data,e.src=n.mltd_url,t.next=11;break;case 8:t.prev=8,t.t0=t["catch"](0),e.$toasted.error("Error fetching Grafana URL!");case 11:case"end":return t.stop()}}),t,null,[[0,8]])})))()}}},u=o,d=r("2877"),f=Object(d["a"])(u,n,a,!1,null,"892dc75e",null);t["default"]=f.exports}}]);
  2 +//# sourceMappingURL=chunk-2d0e55df.3deb6696.js.map
api/public/js/chunk-2d0e55df.3deb6696.js.map View file @ 2c55d4a
  1 +{"version":3,"sources":["webpack:///./src/pages/panel/components/mltd.vue?c7bd","webpack:///src/pages/panel/components/mltd.vue","webpack:///./src/pages/panel/components/mltd.vue?04f8","webpack:///./src/pages/panel/components/mltd.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticStyle","attrs","src","staticRenderFns","name","data","created","config","methods","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,CAAC,OAAS,SAAS,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,IAAMP,EAAIQ,IAAI,YAAc,UACrNC,EAAkB,G,6CCQtB,GACEC,KAAM,OACNC,KAFF,WAGI,MAAO,CACLH,IAAK,KAGTI,QAPF,WAQIX,KAAKY,UAEPC,QAAS,CACP,OADJ,WACA,yLAEA,mBAFA,gBAEA,EAFA,EAEA,KACA,iBAHA,mDAKA,gDALA,8DCpB4W,I,YCOxWC,EAAY,eACd,EACAhB,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAM,E","file":"js/chunk-2d0e55df.3deb6696.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"90vh\"}},[_c('iframe',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"src\":_vm.src,\"frameborder\":\"0\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div style=\"height: 90vh\">\n <iframe width=\"100%\" height=\"100%\" :src=\"src\" frameborder=\"0\" />\n </div>\n</template>\n\n<script>\nimport axios from 'axios'\n\nexport default {\n name: 'MLTD',\n data () {\n return {\n src: ''\n }\n },\n created () {\n this.config()\n },\n methods: {\n async config () {\n try {\n const { data } = await axios.get('/config')\n this.src = data.mltd_url\n } catch (e) {\n this.$toasted.error('Error fetching Grafana URL!')\n }\n }\n }\n}\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mltd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./mltd.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./mltd.vue?vue&type=template&id=892dc75e&scoped=true&\"\nimport script from \"./mltd.vue?vue&type=script&lang=js&\"\nexport * from \"./mltd.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"892dc75e\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-2d0e99de.c48b6ddb.js View file @ 2c55d4a
  1 +(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0e99de"],{"8dfb":function(e,t,r){"use strict";r.r(t);var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticStyle:{height:"85vh"}},[r("iframe",{attrs:{width:"100%",height:"100%",src:e.src,frameborder:"0"}})])},a=[],c=(r("96cf"),r("1da1")),i=r("bc3a"),s=r.n(i),o={name:"CEPTD",data:function(){return{src:""}},created:function(){this.config()},methods:{config:function(){var e=this;return Object(c["a"])(regeneratorRuntime.mark((function t(){var r,n;return regeneratorRuntime.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,s.a.get("/config");case 3:r=t.sent,n=r.data,e.src=n.ceptd_url,t.next=11;break;case 8:t.prev=8,t.t0=t["catch"](0),e.$toasted.error("Error fetching Kibana URL!");case 11:case"end":return t.stop()}}),t,null,[[0,8]])})))()}}},u=o,d=r("2877"),f=Object(d["a"])(u,n,a,!1,null,"69bce4a4",null);t["default"]=f.exports}}]);
  2 +//# sourceMappingURL=chunk-2d0e99de.c48b6ddb.js.map
api/public/js/chunk-2d0e99de.c48b6ddb.js.map View file @ 2c55d4a
  1 +{"version":3,"sources":["webpack:///./src/pages/panel/components/ceptd.vue?d0fa","webpack:///src/pages/panel/components/ceptd.vue","webpack:///./src/pages/panel/components/ceptd.vue?288a","webpack:///./src/pages/panel/components/ceptd.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticStyle","attrs","src","staticRenderFns","name","data","created","config","methods","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,CAAC,OAAS,SAAS,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,IAAMP,EAAIQ,IAAI,YAAc,UACrNC,EAAkB,G,6CCQtB,GACEC,KAAM,QACNC,KAFF,WAGI,MAAO,CACLH,IAAK,KAGTI,QAPF,WAQIX,KAAKY,UAEPC,QAAS,CACP,OADJ,WACA,yLAEA,mBAFA,gBAEA,EAFA,EAEA,KACA,kBAHA,mDAKA,+CALA,8DCpB6W,I,YCOzWC,EAAY,eACd,EACAhB,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAM,E","file":"js/chunk-2d0e99de.c48b6ddb.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"85vh\"}},[_c('iframe',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"src\":_vm.src,\"frameborder\":\"0\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div style=\"height: 85vh\">\n <iframe width=\"100%\" height=\"100%\" :src=\"src\" frameborder=\"0\" />\n </div>\n</template>\n\n<script>\nimport axios from 'axios'\n\nexport default {\n name: 'CEPTD',\n data () {\n return {\n src: ''\n }\n },\n created () {\n this.config()\n },\n methods: {\n async config () {\n try {\n const { data } = await axios.get('/config')\n this.src = data.ceptd_url\n } catch (e) {\n this.$toasted.error('Error fetching Kibana URL!')\n }\n }\n }\n}\n</script>\n\n<style scoped>\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ceptd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ceptd.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ceptd.vue?vue&type=template&id=69bce4a4&scoped=true&\"\nimport script from \"./ceptd.vue?vue&type=script&lang=js&\"\nexport * from \"./ceptd.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"69bce4a4\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/public/js/chunk-2d0e99de.fb0153a3.js View file @ 2c55d4a
1   -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d0e99de"],{"8dfb":function(e,r,t){"use strict";t.r(r);var a=function(){var e=this,r=e.$createElement,t=e._self._c||r;return t("div",{staticStyle:{height:"85vh"}},[t("iframe",{attrs:{width:"100%",height:"100%",src:e.src,frameborder:"0"}})])},n=[],c=(t("96cf"),t("1da1")),i=t("bc3a"),s=t.n(i),o={name:"CEPTD",data:function(){return{src:"",params:"/app/kibana#/dashboard/Suricata?_g=(refreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-15m%2Cto%3Anow))"}},created:function(){this.config()},methods:{config:function(){var e=this;return Object(c["a"])(regeneratorRuntime.mark((function r(){var t,a;return regeneratorRuntime.wrap((function(r){while(1)switch(r.prev=r.next){case 0:return r.prev=0,r.next=3,s.a.get("/config");case 3:t=r.sent,a=t.data,e.src=a.kibana_url+e.params,r.next=11;break;case 8:r.prev=8,r.t0=r["catch"](0),e.$toasted.error("Error fetching Kibana URL!");case 11:case"end":return r.stop()}}),r,null,[[0,8]])})))()}}},u=o,f=t("2877"),d=Object(f["a"])(u,a,n,!1,null,"3a9f78d0",null);r["default"]=d.exports}}]);
2   -//# sourceMappingURL=chunk-2d0e99de.fb0153a3.js.map
api/public/js/chunk-2d0e99de.fb0153a3.js.map View file @ 2c55d4a
1   -{"version":3,"sources":["webpack:///./src/pages/panel/components/ceptd.vue?0e7c","webpack:///src/pages/panel/components/ceptd.vue","webpack:///./src/pages/panel/components/ceptd.vue?288a","webpack:///./src/pages/panel/components/ceptd.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticStyle","attrs","src","staticRenderFns","name","data","params","created","config","methods","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,CAAC,OAAS,SAAS,CAACF,EAAG,SAAS,CAACG,MAAM,CAAC,MAAQ,OAAO,OAAS,OAAO,IAAMP,EAAIQ,IAAI,YAAc,UACrNC,EAAkB,G,6CCQtB,GACEC,KAAM,QACNC,KAFF,WAGI,MAAO,CACLH,IAAK,GACLI,OAAQ,yHAGZC,QARF,WASIZ,KAAKa,UAEPC,QAAS,CACP,OADJ,WACA,yLAEA,mBAFA,gBAEA,EAFA,EAEA,KACA,4BAHA,mDAKA,+CALA,8DCrB6W,I,YCOzWC,EAAY,eACd,EACAjB,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAAO,E","file":"js/chunk-2d0e99de.fb0153a3.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"height\":\"85vh\"}},[_c('iframe',{attrs:{\"width\":\"100%\",\"height\":\"100%\",\"src\":_vm.src,\"frameborder\":\"0\"}})])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div style=\"height: 85vh\">\n <iframe width=\"100%\" height=\"100%\" :src=\"src\" frameborder=\"0\" />\n </div>\n</template>\n\n<script>\nimport axios from 'axios'\n\nexport default {\n name: 'CEPTD',\n data () {\n return {\n src: '',\n params: '/app/kibana#/dashboard/Suricata?_g=(refreshInterval%3A(pause%3A!t%2Cvalue%3A0)%2Ctime%3A(from%3Anow-15m%2Cto%3Anow))'\n }\n },\n created () {\n this.config()\n },\n methods: {\n async config () {\n try {\n const { data } = await axios.get('/config')\n this.src = data.kibana_url + this.params\n } catch (e) {\n this.$toasted.error('Error fetching Kibana URL!')\n }\n }\n }\n}\n</script>\n\n<style scoped>\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ceptd.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ceptd.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./ceptd.vue?vue&type=template&id=3a9f78d0&scoped=true&\"\nimport script from \"./ceptd.vue?vue&type=script&lang=js&\"\nexport * from \"./ceptd.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3a9f78d0\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}
api/resources/views/index.blade.php View file @ 2c55d4a
1   -<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><title>ฮšฮ•ฮ‘ Dashboard</title><link href=/css/chunk-ad9746d8.9a04f192.css rel=prefetch><link href=/js/chunk-2d0c55f2.5c85b614.js rel=prefetch><link href=/js/chunk-2d0d70a2.7ea12236.js rel=prefetch><link href=/js/chunk-2d0e55df.3d7ea4b4.js rel=prefetch><link href=/js/chunk-2d0e99de.fb0153a3.js rel=prefetch><link href=/js/chunk-2d224ec2.03a05a00.js rel=prefetch><link href=/js/chunk-ad9746d8.9562ee9e.js rel=prefetch><link href=/css/app.c7bbf867.css rel=preload as=style><link href=/js/app.3c181a04.js rel=preload as=script><link href=/js/chunk-vendors.10c73b4b.js rel=preload as=script><link href=/css/app.c7bbf867.css rel=stylesheet></head><body><noscript><strong>We're sorry but ฮšฮ•ฮ‘ Dashboard doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/js/chunk-vendors.10c73b4b.js></script><script src=/js/app.3c181a04.js></script></body></html>
  1 +<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><title>ฮšฮ•ฮ‘ Dashboard</title><link href=/css/chunk-ad9746d8.9a04f192.css rel=prefetch><link href=/js/chunk-2d0c55f2.e64e1b18.js rel=prefetch><link href=/js/chunk-2d0d70a2.7ea12236.js rel=prefetch><link href=/js/chunk-2d0e55df.3deb6696.js rel=prefetch><link href=/js/chunk-2d0e99de.c48b6ddb.js rel=prefetch><link href=/js/chunk-2d224ec2.03a05a00.js rel=prefetch><link href=/js/chunk-ad9746d8.9562ee9e.js rel=prefetch><link href=/css/app.c7bbf867.css rel=preload as=style><link href=/js/app.5c548b9a.js rel=preload as=script><link href=/js/chunk-vendors.10c73b4b.js rel=preload as=script><link href=/css/app.c7bbf867.css rel=stylesheet></head><body><noscript><strong>We're sorry but ฮšฮ•ฮ‘ Dashboard doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/js/chunk-vendors.10c73b4b.js></script><script src=/js/app.5c548b9a.js></script></body></html>
api/routes/api.php View file @ 2c55d4a
... ... @@ -13,7 +13,9 @@
13 13 |
14 14 */
15 15  
16   -//Route::group(['middleware' => 'auth:api'], function () {
  16 +$parameters = env('AUTH_ENABLED') ? ['middleware' => 'auth:api'] : [];
  17 +
  18 +Route::group($parameters, function () {
17 19 Route::get('config', 'ConfigController@index');
18 20 Route::get('capec', 'CapecController@index');
19 21 Route::group(['prefix' => 'v1'], function () {
20 22  
... ... @@ -31,10 +33,11 @@
31 33 Route::get('start', 'V1\Components\MltdController@start');
32 34 Route::get('status', 'V1\Components\MltdController@status');
33 35 Route::get('stop/{pid}', 'V1\Components\MltdController@stop');
34   - Route::get('{train_id}/{top}', 'V1\Components\MltdController@train');
35 36 Route::get('events/count','V1\Components\MltdController@count');
36 37 Route::get('events/group','V1\Components\MltdController@group');
37 38 Route::get('events/last','V1\Components\MltdController@last');
  39 + //should be last since matches to anything */*
  40 + Route::get('{train_id}/{top}', 'V1\Components\MltdController@train');
38 41 });
39 42 Route::group(['prefix' => 'od'], function () {
40 43 Route::get('start', 'V1\Components\OdController@start');
... ... @@ -46,6 +49,5 @@
46 49 Route::get('events/last','V1\Components\OdController@last');
47 50 });
48 51 });
49   -
50   -//});
  52 +});
api/start.sh View file @ 2c55d4a
1 1 #!/bin/sh
2 2  
3   -sed -i "s|http://localhost:5611|${APP_URL}:5611|g" public/js/*
4 3 sed "s|^APP_URL=.*|APP_URL=${APP_URL}|" .env.example > .env
5 4  
6 5 php-fpm
docker-compose-jfrog.yml View file @ 2c55d4a
... ... @@ -71,7 +71,7 @@
71 71 - api_volume:/var/www
72 72  
73 73 api:
74   - image: registry.curex-project.eu:443/curex-local/kea_api:1.1.2
  74 + image: registry.curex-project.eu:443/curex-local/kea_api:1.1.5
75 75 container_name: kea_api
76 76 restart: unless-stopped
77 77 tty: true
... ... @@ -83,6 +83,8 @@
83 83 - "APP_ENV=${APP_ENV}"
84 84 - "APP_DEBUG=${APP_DEBUG}"
85 85 - "APP_URL=${APP_URL}"
  86 + - "KIBANA_PORT=${KIBANA_PORT}"
  87 + - "GRAFANA_PORT=${GRAFANA_PORT}"
86 88 - "LOG_CHANNEL=${LOG_CHANNEL}"
87 89 - "DB_CONNECTION=${DB_CONNECTION}"
88 90 - "DB_HOST=${DB_HOST}"
... ... @@ -107,6 +109,7 @@
107 109 - "MLTD_PORT=${MLTD_PORT}"
108 110 - "OD_HOST=${OD_HOST}"
109 111 - "OD_PORT=${OD_PORT}"
  112 + - "AUTH_ENABLED=${AUTH_ENABLED}"
110 113  
111 114 #OD
112 115 od:
kea_testing.groovy View file @ 2c55d4a
... ... @@ -14,14 +14,18 @@
14 14 PRIVATE_REGISTRY = "https://registry.curex-project.eu:443/curex-local/"
15 15 ARTIFACTORY_URL = "registry.curex-project.eu:443/curex-local/"
16 16  
17   - DEPLOYMENT_HOST = "116.203.166.220:2376"
  17 + HOST_IP = "116.203.166.220"
  18 + DEPLOYMENT_HOST = "${HOST_IP}:2376"
18 19 DEPLOYMENT_HOST_CREDENTIALS = "vm2-creds"
19 20  
20 21 // KEA specific
21 22 APP_NAME = "KEA"
22 23 APP_ENV = "production"
23 24 APP_DEBUG = "true"
24   - APP_URL = "http://116.203.166.220:13880"
  25 + APP_URL = "http://${HOST_IP}"
  26 +
  27 + KIBANA_PORT = "5611"
  28 + GRAFANA_PORT = "3001"
25 29  
26 30 LOG_CHANNEL = "stack"
27 31  
28 32  
29 33  
... ... @@ -85,14 +89,55 @@
85 89 echo '*** TESTS ***'
86 90 echo '*************'
87 91 /* Here do your tests */
88   - sleep 50
  92 + sleep 90
89 93 try {
90   - String testName = "1. Check that app is running - 200 response code"
91   - String url = "$APP_URL"
  94 + String testName = "KEA_F001"
  95 + String url = "$APP_URL:13880"
92 96 String responseCode = sh(label: testName, script: "curl -m 10 -sLI -w '%{http_code}' $url -o /dev/null", returnStdout: true)
93 97 if (responseCode != '200') {
94 98 error("$testName: Returned status code = $responseCode when calling $url")
95 99 }
  100 + testName = "KEA_F002"
  101 + url = "$APP_URL:13880/components/od"
  102 + responseCode = sh(label: testName, script: "curl -m 10 -sLI -w '%{http_code}' $url -o /dev/null", returnStdout: true)
  103 + if (responseCode != '200') {
  104 + error("$testName: Returned status code = $responseCode when calling $url")
  105 + }
  106 + testName = "KEA_F003"
  107 + url = "$APP_URL:13880/components/mltd"
  108 + responseCode = sh(label: testName, script: "curl -m 10 -sLI -w '%{http_code}' $url -o /dev/null", returnStdout: true)
  109 + if (responseCode != '200') {
  110 + error("$testName: Returned status code = $responseCode when calling $url")
  111 + }
  112 + testName = "KEA_F006"
  113 + url = "$APP_URL:3001"
  114 + responseCode = sh(label: testName, script: "curl -m 10 -sLI -w '%{http_code}' $url -o /dev/null", returnStdout: true)
  115 + if (responseCode != '200') {
  116 + error("$testName: Returned status code = $responseCode when calling $url")
  117 + }
  118 + testName = "KEA_F007"
  119 + url = "$APP_URL:5611"
  120 + responseCode = sh(label: testName, script: "curl -m 10 -sLI -w '%{http_code}' $url -o /dev/null", returnStdout: true)
  121 + if (responseCode != '200') {
  122 + error("$testName: Returned status code = $responseCode when calling $url")
  123 + }
  124 + testName = "KEA_F008"
  125 + url = "$APP_URL:13880/components/ceptd"
  126 + responseCode = sh(label: testName, script: "curl -m 10 -sLI -w '%{http_code}' $url -o /dev/null", returnStdout: true)
  127 + if (responseCode != '200') {
  128 + error("$testName: Returned status code = $responseCode when calling $url")
  129 + }
  130 + testName = "KEA_F004"
  131 + url = "mqtt://${HOST_IP}:1883/test"
  132 + responseCode = sh(label: testName, script: "sleep 2 ; curl -d 1 $url & OUT=`curl -m 4 -s $url` ; echo $OUT", returnStdout: true)
  133 + if (responseCode != 'test1') {
  134 + error("$testName: Returned status code = $responseCode when running MQTT test on $url")
  135 + }
  136 + testName = "KEA_F005"
  137 + responseCode = sh(label: testName, script: "docker exec -ti kea_timescaledb psql -l -U postgres | grep -q kea ; echo \$?", returnStdout: true)
  138 + if (responseCode != '0') {
  139 + error("$testName: Returned status code = $responseCode when looking for presense of kea DB")
  140 + }
96 141 } catch (ignored) {
97 142 currentBuild.result = 'FAILURE'
98 143 echo "KEA Deployment Tests failed"
... ... @@ -109,7 +154,7 @@
109 154 docker.withRegistry("$PRIVATE_REGISTRY" , 'artifactory') {
110 155  
111 156 //echo 'Stop and remove the specified Docker containers from the DEV server'
112   - //sh 'sh delete.sh'
  157 + sh 'sh delete.sh'
113 158  
114 159 }
115 160 }