You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1 lines
1.2 MiB

{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/App.vue?9b05","webpack:///./src/components/mynetwork/dockerservices.vue?4fbe","webpack:///./src/assets/img/dockernetwork.png","webpack:///./src/components/manageservices/view-dashboard.vue?72cd","webpack:///./src/components/mynetwork/AdhocView.vue?a8e6","webpack:///./src/assets/img/docker.png","webpack:///./src/assets/img/penguin/penguinfledgling2.png","webpack:///./src/components/manageservices/view-dashboard.vue?58d7","webpack:///./src/assets/img/video1.png","webpack:///./src/assets/img/code-128.png","webpack:///./src/assets/img/book.png","webpack:///./src/components/mynetwork/availablemicroservices.vue?a60b","webpack:///./src/components/manageservices/join-service.vue?c30c","webpack:///./src/components/mynetwork/availableservices.vue?f5a7","webpack:///./src/components/manageservices/llo-view.vue?1d94","webpack:///./src/assets/img/penguin21a.png","webpack:///./src/components/mynetwork/mytable.vue?e698","webpack:///./src/components/mynetwork/availablestorage.vue?505c","webpack:///./src/components/manageservices/hybridlab.vue?d9b1","webpack:///./src/components/manageservices/manage-service.vue?39c7","webpack:///./src/App.vue?b956","webpack:///./src/config/index.js","webpack:///./src/store/modules/create_pipelineLLO.js","webpack:///./src/store/index.js","webpack:///./src/components/Card.vue?4561","webpack:///src/components/Card.vue","webpack:///./src/components/Card.vue?2e9d","webpack:///./src/components/Card.vue","webpack:///./src/components/myconnect-server.vue?c7ce","webpack:///./src/components/manageservices/manage-service.vue?b902","webpack:///src/components/manageservices/manage-service.vue","webpack:///./src/components/manageservices/manage-service.vue?3ae5","webpack:///./src/components/manageservices/manage-service.vue","webpack:///./src/components/manageservices/hybridlab.vue?cdd3","webpack:///src/components/manageservices/hybridlab.vue","webpack:///./src/components/manageservices/hybridlab.vue?ce1b","webpack:///./src/components/manageservices/hybridlab.vue","webpack:///./src/components/mynetwork/myconnect-server.vue?d6a6","webpack:///src/components/mynetwork/myconnect-server.vue","webpack:///./src/components/mynetwork/myconnect-server.vue?d4d0","webpack:///./src/components/mynetwork/myconnect-server.vue","webpack:///src/components/myconnect-server.vue","webpack:///./src/components/myconnect-server.vue?ec3f","webpack:///./src/components/myconnect-server.vue","webpack:///./src/components/mynetwork.vue?7ad7","webpack:///./src/components/mynetwork/mytable.vue?381d","webpack:///./src/config/index-gui.js","webpack:///./src/config/index-web.js","webpack:///./src/config/index-editor.js","webpack:///src/components/mynetwork/mytable.vue","webpack:///./src/components/mynetwork/mytable.vue?d75f","webpack:///./src/components/mynetwork/mytable.vue","webpack:///./src/components/mynetwork/AdhocView.vue?0439","webpack:///src/components/mynetwork/AdhocView.vue","webpack:///./src/components/mynetwork/AdhocView.vue?4e74","webpack:///./src/components/mynetwork/AdhocView.vue","webpack:///./src/components/mynetwork/dockerservices.vue?967d","webpack:///src/components/mynetwork/dockerservices.vue","webpack:///./src/components/mynetwork/dockerservices.vue?a364","webpack:///./src/components/mynetwork/dockerservices.vue","webpack:///./src/components/mynetwork/images.vue?3190","webpack:///src/components/mynetwork/images.vue","webpack:///./src/components/mynetwork/images.vue?6942","webpack:///./src/components/mynetwork/images.vue","webpack:///./src/components/mynetwork/networks.vue?1f9b","webpack:///src/components/mynetwork/networks.vue","webpack:///./src/components/mynetwork/networks.vue?8b1d","webpack:///./src/components/mynetwork/networks.vue","webpack:///src/components/mynetwork.vue","webpack:///./src/components/mynetwork.vue?0608","webpack:///./src/components/mynetwork.vue","webpack:///./src/components/myservices.vue?fdfe","webpack:///./src/components/mynetwork/availableservices.vue?7ddb","webpack:///src/components/mynetwork/availableservices.vue","webpack:///./src/components/mynetwork/availableservices.vue?4b33","webpack:///./src/components/mynetwork/availableservices.vue","webpack:///src/components/myservices.vue","webpack:///./src/components/myservices.vue?48ae","webpack:///./src/components/myservices.vue","webpack:///./src/components/manageservices.vue?5296","webpack:///./src/components/manageservices/join-service.vue?d3cc","webpack:///src/components/manageservices/join-service.vue","webpack:///./src/components/manageservices/join-service.vue?ad7a","webpack:///./src/components/manageservices/join-service.vue","webpack:///src/components/manageservices.vue","webpack:///./src/components/manageservices.vue?90e3","webpack:///./src/components/manageservices.vue","webpack:///./src/components/mystorage.vue?180e","webpack:///./src/components/mynetwork/availablestorage.vue?89f7","webpack:///src/components/mynetwork/availablestorage.vue","webpack:///./src/components/mynetwork/availablestorage.vue?ce03","webpack:///./src/components/mynetwork/availablestorage.vue","webpack:///src/components/mystorage.vue","webpack:///./src/components/mystorage.vue?50c8","webpack:///./src/components/mystorage.vue","webpack:///./src/components/mymicroservices.vue?7d69","webpack:///./src/components/mynetwork/availablemicroservices.vue?dbdd","webpack:///src/components/mynetwork/availablemicroservices.vue","webpack:///./src/components/mynetwork/availablemicroservices.vue?89d6","webpack:///./src/components/mynetwork/availablemicroservices.vue","webpack:///src/components/mymicroservices.vue","webpack:///./src/components/mymicroservices.vue?2b67","webpack:///./src/components/mymicroservices.vue","webpack:///./src/components/mymicroservicescustom.vue?9af1","webpack:///./src/components/mynetwork/availablemicroservicescustom.vue?2a71","webpack:///src/components/mynetwork/availablemicroservicescustom.vue","webpack:///./src/components/mynetwork/availablemicroservicescustom.vue?5fde","webpack:///./src/components/mynetwork/availablemicroservicescustom.vue","webpack:///src/components/mymicroservicescustom.vue","webpack:///./src/components/mymicroservicescustom.vue?c8f0","webpack:///./src/components/mymicroservicescustom.vue","webpack:///./src/components/proofofconcept.vue?7646","webpack:///./src/components/mynetwork/availablepoc.vue?4477","webpack:///src/components/mynetwork/availablepoc.vue","webpack:///./src/components/mynetwork/availablepoc.vue?cc98","webpack:///./src/components/mynetwork/availablepoc.vue","webpack:///src/components/proofofconcept.vue","webpack:///./src/components/proofofconcept.vue?1a03","webpack:///./src/components/proofofconcept.vue","webpack:///./src/components/mybuild.vue?979f","webpack:///./src/components/mynetwork/customservices.vue?bf80","webpack:///src/components/mynetwork/customservices.vue","webpack:///./src/components/mynetwork/customservices.vue?5f96","webpack:///./src/components/mynetwork/customservices.vue","webpack:///./src/components/mynetwork/builderservices.vue?8156","webpack:///src/components/mynetwork/builderservices.vue","webpack:///./src/components/mynetwork/builderservices.vue?c12c","webpack:///./src/components/mynetwork/builderservices.vue","webpack:///./src/components/mynetwork/buildermyservices.vue?fb33","webpack:///src/components/mynetwork/buildermyservices.vue","webpack:///./src/components/mynetwork/buildermyservices.vue?f3ad","webpack:///./src/components/mynetwork/buildermyservices.vue","webpack:///src/components/mybuild.vue","webpack:///./src/components/mybuild.vue?392c","webpack:///./src/components/mybuild.vue","webpack:///./src/components/managedeploy.vue?c3ab","webpack:///./src/components/manageservices/deploy-bootstrap.vue?6fca","webpack:///src/components/manageservices/deploy-bootstrap.vue","webpack:///./src/components/manageservices/deploy-bootstrap.vue?d6b7","webpack:///./src/components/manageservices/deploy-bootstrap.vue","webpack:///./src/components/manageservices/view-service.vue?6e0a","webpack:///./src/components/manageservices/LogView.vue?d5e9","webpack:///src/components/manageservices/LogView.vue","webpack:///./src/components/manageservices/LogView.vue?d4f1","webpack:///./src/components/manageservices/LogView.vue","webpack:///src/components/manageservices/view-service.vue","webpack:///./src/components/manageservices/view-service.vue?4cff","webpack:///./src/components/manageservices/view-service.vue","webpack:///src/components/managedeploy.vue","webpack:///./src/components/managedeploy.vue?d326","webpack:///./src/components/managedeploy.vue","webpack:///./src/components/managello.vue?06b6","webpack:///./src/components/manageservices/llo-search.vue?a997","webpack:///src/components/manageservices/llo-search.vue","webpack:///./src/components/manageservices/llo-search.vue?7e74","webpack:///./src/components/manageservices/llo-search.vue","webpack:///./src/components/manageservices/llo-view.vue?01b2","webpack:///./src/components/asciiplayer.vue?02f6","webpack:///src/components/asciiplayer.vue","webpack:///./src/components/asciiplayer.vue?9de9","webpack:///./src/components/asciiplayer.vue","webpack:///src/components/manageservices/llo-view.vue","webpack:///./src/components/manageservices/llo-view.vue?105f","webpack:///./src/components/manageservices/llo-view.vue","webpack:///src/components/managello.vue","webpack:///./src/components/managello.vue?ff75","webpack:///./src/components/managello.vue","webpack:///./src/components/dashboard.vue?2322","webpack:///./src/components/manageservices/calendarview.vue?b596","webpack:///src/components/manageservices/calendarview.vue","webpack:///./src/components/manageservices/calendarview.vue?809f","webpack:///./src/components/manageservices/calendarview.vue","webpack:///./src/components/manageservices/view-events.vue?5e98","webpack:///src/components/manageservices/view-events.vue","webpack:///./src/components/manageservices/view-events.vue?84ce","webpack:///./src/components/manageservices/view-events.vue","webpack:///src/components/dashboard.vue","webpack:///./src/components/dashboard.vue?8c84","webpack:///./src/components/dashboard.vue","webpack:///./src/components/dashboardall.vue?ef75","webpack:///./src/components/manageservices/view-dashboard.vue?b90d","webpack:///src/components/manageservices/view-dashboard.vue","webpack:///./src/components/manageservices/view-dashboard.vue?5426","webpack:///./src/components/manageservices/view-dashboard.vue","webpack:///src/components/dashboardall.vue","webpack:///./src/components/dashboardall.vue?db03","webpack:///./src/components/dashboardall.vue","webpack:///src/App.vue","webpack:///./src/App.vue?a7d1","webpack:///./src/App.vue","webpack:///./src/main.js","webpack:///./src/components/manageservices/view-service.vue?448b","webpack:///./src/assets/img/penguinfledgling.png","webpack:///./src/components/mynetwork/builderservices.vue?38a9","webpack:///./src/assets/img/library.png","webpack:///./src/assets/img/warning.png","webpack:///./src/components/manageservices/deploy-bootstrap.vue?1455","webpack:///./src/assets/img/academy.png","webpack:///./src/components/mynetwork/availablemicroservicescustom.vue?9f01","webpack:///./src/components/manageservices/calendarview.vue?aa18","webpack:///./src/components/manageservices/llo-search.vue?f8b4","webpack:///./src/components/mynetwork/myconnect-server.vue?c996","webpack:///./src/assets/loading.gif","webpack:///./src/components/mynetwork/images.vue?f749","webpack:///./src/components/manageservices/view-events.vue?5719","webpack:///./src/components/mynetwork/availablepoc.vue?7f5f","webpack:///./src/components/mynetwork/networks.vue?fd0f","webpack:///./src/components/manageservices/LogView.vue?a582","webpack:///./src/components/mynetwork/customservices.vue?c8e2","webpack:///./src/assets/img/hybrid-1.png","webpack:///./src/components/mynetwork/buildermyservices.vue?7155"],"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","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","warning","staticStyle","_v","on","setWarning","_m","$event","onAction","issocket","sidemenou","directives","rawName","modifiers","class","active","isActive","setActive","hybrid","isActiveSub","onActionMenu","_e","hybridmenou","expression","componentKeyreload","componentKeyreload1","componentKeyreload2","componentKeyreload3","mycomponentKeyreload3","componentKeyreload4","componentKeybuilders","showdiscl","staticRenderFns","ApiConfig","namespaced","state","token","socketStatus","status","statusswarmlab","config","getters","getsocketStatus","container","gettoken","getlog","log","getconfig","getstatus","getstatusswarmlab","mutations","set_socketStatus","set_token","set_status","add_log","add_config","add_statusswarmlab","console","JSON","stringify","actions","addstatusswarmlab","commit","addconfig","addlog","tt","message","tailed_path","date","setsocketStatus","settoken","setstatus","rootGetters","params","action","options","headers","Authorization","sock_server_l","url_80","axios","post","e","test","R","ERROR_str","ERROR","location","href","track","course","chapter","evaluation","error","service","info","readme","baseservice","sh","packages","gitrepo","serviceversion","rclocal","port1","name1","url1","port2","name2","url2","port3","name3","url3","begin","end","save","pipeline","pipelineApi","nodename","nodeip","nodeid","noderole","nodezones","nodedesc","instance","package","user","network","networks","defaultnetwork","bootstrapnameid","bootstrapstackname","code","storagename","dir","file","swarmlabname","node","bootstrapstackid","swarmlabservice","deploy","Vue","use","Vuex","BootstrapVue","component","FontAwesomeIcon","library","add","faIcons","faSort","faChevronUp","faChevronDown","faBars","faJs","faVuejs","fab","fas","faFontAwesome","dom","watch","Store","pipelineLLO","$slots","_t","header","title","_s","subTitle","props","String","domProps","type","indexOf","_k","keyCode","setFilter","target","composing","searchFor","resetFilter","ref","scopedSlots","_u","fn","valid","errors","ariaMsg","ariaInput","vuetablekeyc","apiurl","httpOptions","fields","itemActions","sortOrder","multiSort","perpage","paginationComponent","moreParams","css","table","onPaginationData","loadsuccess","onLoadError","rowData","rowIndex","paginationInfo","pagination","onChangePage","components","sortField","titleClass","visible","width","dataClass","url_string","url","URL","searchParams","computed","methods","$refs","setPaginationData","paginationData","vuetable","changePage","page","alert","nodeadmin","nodeadminupdate","provider","validate","then","success","rowdata","swarmlabhybridapi","$set","showinfo","getApi","labservices","$swal","html","showCloseButton","showLoaderOnConfirm","allowOutsideClick","showCancelButton","reverseButtons","focusCancel","confirmButtonText","CONFIG","workerkey","swarmlab_public_wgkey","server_ip","wg_ip","privatekey","publickey","serverstatus","slot","$socket","webinterfacegeneric","hybridshowdata","Names","webinterfacegenericedit","ID","Image","RunningFor","Status","CreatedAt","Networks","addNetworkMenou","addNetwork","Ports","localNetworkoptions","model","callback","$$v","selectedNetworks","updateNetwork","ApiConfigGUI","ApiConfigWEB","ApiConfigEDIT","obGUIEDIT","obGUI","swarmlabname_size","size","swarmlabname_port","port","swarmlabnamecustomdata","baseservicedata","swarmlabnamecustomstart","swarmlabname_git","git","swarmlabnamecustom","swarmlabnamecustomservice","swarmlabnamecustomuser","client","emit","icon","cancelButtonText","openuerlju","obWEB","strbase","sRegExInput1","RegExp","getcustomnames","replace","logdatacustom","store","dispatch","logdatacustomres","parse","swarmlabinstance1cda1","splitcda1split","split","splitcda1bc","i1","splitcd1a1bc","pocurletherpadserverttyd","ttydurl","splitcda1bcapp1","splitcd1a1bcapp1","pocurletherpadservertapp1","pocurletherpadservertapp1text","link1","splitcda1bcapp2","splitcd1a1bcapp2","pocurletherpadservertapp2","pocurletherpadservertapp2text","link2","splitcda1bcapp3","splitcd1a1bcapp3","pocurletherpadservertapp3","pocurletherpadservertapp3text","link3","splitcda1bcapp3port1","splitcd1a1bcapp3port1","pocurletherpadservertapp3port1","servicedata","pocurletherpadservertapp3textport1","text4linkcustom","splitcda1bcapp3port2","splitcd1a1bcapp3port2","pocurletherpadservertapp3port2","pocurletherpadservertapp3textport2","splitcda1bcapp3port3","splitcd1a1bcapp3port3","pocurletherpadservertapp3port3","pocurletherpadservertapp3textport3","splitcda1bcapp3port4","splitcd1a1bcapp3port4","pocurletherpadservertapp3port4","url4","pocurletherpadservertapp3textport4","name4","splitcda1bcapp3port5","splitcd1a1bcapp3port5","pocurletherpadservertapp3port5","url5","pocurletherpadservertapp3textport5","name5","val","errorrun","runextenderror","clear","cmOptions","keyMap","infoFilter","onCmCursorActivity","onCmReady","onCmFocus","onCmCodeChange","socketonline","extenderror","tryConsole","ssl","getinfo","editchoice","optionsedit","searchLLOactive","ADOC_html_code","challenge","tryLLO","activecount","remove","activeField","bootstrap","firstbootstrap","htmlasciitmp","datafile","datadir","LearningObject","showllo","showlloedit","topwindow","index","cm","chg","a","b","newCode","selected","myCm","codemirror","$wait","start","setRefresh","vuetablekeyb","actionrowindex","$root","$emit","rmall_i","vuetablekeybimages","image2rm","vuetablekeybnetworks1","componentKeyreloadservice","hybridoptions","setHybridoptions","vuetablekeya","testactionrowindex","checkactionrowindex","refreshVuetable","swarmlab1info","componentKeyreloadstorage","checkHybridoptions","vuetablekeystorage","password","componentKeyreloadservice5","up_name","backup","backupview","viewhybridoptions","customedit","custommenouopen","setcustom","setcustomcancel","setcustomsave","custommenou","customostext","custom","os","customshtext","heavy","heavytext","vuetablekeyg","testtest","testtestdir","_id","vuetablekeygslot","currentpagepaginationData","currentpage","resetcustom","vuetablekeygusersservices","testtestdiruser","vuetablekeygslotcustom","componentKeyreloadpoc","vuetablekeypoc","setservice","form_baseservice","invalid","isDeployValid","stackname","isValid","form_myservicename","stackversion","form_version","form_gitrepo","form_readme","form_os","form_sh","form_port1","form_url1","form_name1","form_port2","form_url2","form_name2","form_port3","form_url3","form_name3","form_rclocal","cancel","setserviceform2null","menouselect","infotxt","customservice","myservicename","version","setserviceform","field","hybrid_stackname","hybrid_stackversion","vuetablekeygmybuildservice1","swarmlab","vuetablekeygmybuildservice123","image","showInfo","cpu","memory","networkport","timePickerOptions","add_deploy","Array","isArray","usersjoin","_i","$$a","$$el","$$c","checked","$$i","concat","DatePicker","ValidationProvider","card","isAllValid","hybridshowlog","onActionLog","onActionHybrid","Replicas","bootstrapimage","bootstrapname","bootstrapdateend","bootstrapnetwork","bootstrapdatebegin","ports","vuetablekeyd","datatitle","_l","exercise_file","activeItem","subtitle","desc","viewllo","style","progress","$$selectedVal","filter","map","_value","searchcourselang","multiple","searchcourselevel","vuetablekeyf","courses","courseshow","getprogress","llo","coursesnew1","level","lang","license","hybridshow","asciinemasource","sourcevimeo","dofin","asciidocurl","completiontracking","oncompletiontracking","courseread","height","source","timeFormatOptions","begindate","bd_y","bd_m","bd_d","enddate","ed_y","ed_m","ed_d","getevents","labtext","originalItem","Level","Prerequisites","startDate","endDate","urltype","stats_stats_imagescontainers","optionsystem","stats_stats_container","optiondocker","VChart","provide","document","documentElement","clientWidth","clientHeight","text","left","tooltip","trigger","formatter","series","refresh","NetworkTable","ViewDashboard","ViewDashboardall","ServicesTable","ConnectServer","ManageServices","ManageStorage","ManageMicroservices","ManageMymicroservices","ManageProofofconcept","ManageBuilders","ManageDeploy","ManageLlo","show","SwarmabAsciiLabTemplate","menuItem","activeItemSub","menuItemSub","VueSweetalert2","VueWait","socketurl","socket","io","autoConnect","reconnection","reconnectionDelay","reconnectionDelayMax","maxReconnectionAttempts","Infinity","pingInterval","pingTimeout","timeout","transports","secure","rejectUnauthorized","VueSocketIOExt","productionTip","el","wait","h","App"],"mappings":"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","file":"js/app.2778fb2b.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 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// 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\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 \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","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!./App.vue?vue&type=style&index=0&lang=css&\"","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!./dockerservices.vue?vue&type=style&index=0&lang=css&\"","module.exports = __webpack_public_path__ + \"img/dockernetwork.f3bb6fa3.png\";","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!./view-dashboard.vue?vue&type=style&index=0&id=ef09e03c&scoped=true&lang=css&\"","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!./AdhocView.vue?vue&type=style&index=0&lang=css&\"","module.exports = __webpack_public_path__ + \"img/docker.7b56657d.png\";","module.exports = __webpack_public_path__ + \"img/penguinfledgling2.d4cb3ed7.png\";","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!./view-dashboard.vue?vue&type=style&index=1&lang=css&\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAATWSURBVHhe7Z0tsNw2FIUfKwwMDCwMLAwsDAwsLAzJTGFYYWBhYGBgYGFRJrAwExTYKSpt79mMMhv1eG1p5bv28/fNHOK1Ze31saQr/90BAAAAAAAAAAAAAAAAAAAAAAAAAAAAwH3nu9DT0MvQu9DvaFJvQ4qT4rV7dOB/Df0T+hc166+Q4qc47o4fQn+G3B9DbVIcFc9dUM5690dQv9SK/hLaPL+F3B9AY6TxwWZ5EnKVLtIgR3/gWUjrom/1U0jxUZxc/CS1BJvsDh6EPoZcpXfVh22EH0OfQ1Px3NzA8HXIVVbLdzmK3QA6qZQ2u7hqnLUZHoZcJTfp1J2h2LqWQF3BFmIrk576rrqCEs3+GDRmcvHV8lsh8ykr0VzFafaqrtybEIzjj1AdY2Vct+Dn0HmrZEetahVgHDrb6hhrfJCJpqfd5J4d/SutgXEo+HWMdeJloGPpWqAia4DvQzAOHYQ6xmsbQMfQde+1rAEehWAcmQZQ5jGV1jthgAQyDKCUrufqLQZIYE0DnKd09T6WCAMksJYBlK1NTTmfS63C1FVeDJDAaANMpXROGg9oXCDc7xgggVEGUDnari7LSRlAnc259TBAAtcaYGlKJ6lc7c/h1scACfQaQE330pt01CXM3YzqtsMACbQaoCWl0yBw6dS92x4DJLDUAErpnoeWpHRaR+lfy2VlVw4GSGCJAVpTutO1/EZceRgggUsGUL/9IVT/7nSe0vXgysQACTgDvA/JBPVyJ5fS9eDKxgAJOAMskQyibUfh9oEBEmg1wJKUrge3LwyQwItQHWOnlpSuB7dPDJDA1IWYop6Urge3bwyQwJQBrknpenB1wAAJOAPo4F+T0vVQ10HCAAk4A5zuyU+mroOEARLAAAcHAxwcDHBwMMDBwQAHBwMcHAxwcDDAwcEABwcDHBwMcHAwwMHBAAcHAxwcDHBwnAH+DmVT10HCAAk4A0i67TvzhZyuDhgggSkDFI168GMOt28MkMCcAYr0KPia9wm6fWKABFoeDFnzTmG3PwyQQM+jYcoS9Kj4yGcF3H4wQALOAJ9Co18AMYcrHwMk4AygDKDlFTB6hPza5wVduRgggSkDFFpfAtWbOrryMEACcwYoaD0tr9d16kkdXTkYIIGlBii0vAiyJXV022OABFoNUBj93iC3LQZIoNcAouVl0HOpo9sGAyRwjQEKI94d6NbFAAmMMEBB/f3SD0LUqaNbBwMkMNIAhZ7U0f2GARJYwwAFlX3po1BzwgAJrGmAQkvqeC4MkECGAQr1hyHnhAESyDSAaEkdrQH4bvBY9Dn5OsZrGqCg1PFV6FLqaAcQa7yl8sioWa5jnGGAwqXU8VSReqEmHGAc+hh3HWMdkGweh+rU8e5ltUDSICLr5YX3HY2nXBOsPvpWnKeOJ1fUlZNu4dD7iGthpS0MtL929VMfLHgWgn50YcbFNbP/X4RG/VMjRbUEdAdtKF5Tgy7FOeMZgGbcWKBIYwKNZNe8Z/0+oGZdZ/2liZhb9v0X0eTB0m/XoD5trumvUdPUM5+M5qW47mKGVS3BVP+F+qR5lam7dDaLpi9bLiqg/0tn/a6n1TWa1a1FmslacisS+hInxUsp9O7OegAAAAAAAAAAAAAAAAAAAAAAAAAAAADYEXd3/wFf5K8vCdtHPAAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAURSURBVHhe7ZgtsBRHFEafQyKRSCQSiYxEIpFIJDIOiYyMRCKRkUgkMhKJxCb3UNVVt296l519O5vp2fNVnaoVs9N/p//mzhhjjDHGGGMW51nwPPEm+P0AL4L8LJiNhwFm4BjAP4O/gq/BPyvwI+D9lEN5CPI4mDkPA9rxOsiT4VNAWzNfglG/ZP4O8n8+Bu2dTL42sSh3UR4E/PFt8CFYa5DP5XNAvWgoQi5u4Mp5GvwWUL82URB61JZr0oR5H1C3/8jBgPPA6M9bByloFKvUtUOZ74JTZu0WQQxWj58/Rg/MxveAFeJV8Ci4dHgn76YMyhrVYUZ2I0CFmcnqdp+tgmV95ll+CrsVoME+zJ78JDg17OUc0kbv2xu7FyDDWedlMAqHYJb4rR1+12axABy86EiWRg5g7WRZoUNz6veCdmLO8N5rCEkZbXsAyv4WjJ5dg3bdrbST+jHq9fG+N42jHc7e1+6W1752USYzkkbT0DXEoPPWuKq1AWawqD+y0Z41byvtGg/tYxxb36/67egDvGBLoZF8A/gjWEOIc6Eu3A742LPkrHGNIMKozo2pBKjhKyGdzn12jZl8CM4J9A0r1Na/VO5agBrOFawOa9zTGXSW1jW+MayZmxKghfMKK8N9T/SIhFBbW9aX5CYFyGFVYH8ete8Q3AjouGsffNfIzQvQwl7N1fXY9sA5gmW+XmFnjgKUcD0btRXoi71FAUoUoEcBEgpQUID5owAlCtCjAAkFKCjA/FGAEgXoUYCEAhQUYP4oQIkC9ChAQgEKCjB/FKBEAXoUIKEABQWYPwpQogA9CpBQgIICzB8FKFGAHgVIKEBBAeaPApQoQI8CJBSgoADzRwFKFKBHARIKUFCA+aMAJQrQowAJBSgowPxRgBIF6FGAhAIUFGD+KECJAvQoQEIBCgowfxSgRAF6FCChAAUFmD8KUKIAPQqQUICCAswfBShRgB4FSChAQQHmjwKUKECPAiQUoKAA80cBShSgRwESClBQgPmjACUK0KMACQUoKMD8UYASBehRgIQCFBRg/ihAiQL0KEBCAQoKMH8UoEQBehQgoQAFBZg/ClCiAD0KkFCAggLMHwUoUYAeBUgoQEEB5o8ClChAjwIkFKCgAPNHAUoUoEcBEgpQUID5owAlCtCjAAkFKCjA/FGAEgXoUYCEAhSOCfAgeJ54GVDYKeT/NR4F14gC9BwV4FPA4LwJ3gV03udg9Oyl4P0fAyqOVJSPbJfKtQV4GNCGNkGYVNSh8j0Y1WkEfZT/+yFok6v12eOA3EuALUEH0VgaRAPPDe8YvR/uI8DTIE+UL8GojK0xjQCVHwEr1NuAzj81lxKgDTir1ZLZuzWmFaDCIDAYr4JjW8a5AnBG2cOAV3YjQIbVgb12tFUsEQCR2FNZaUbP74FdCpChfZwb2qHoFAGeBQi0p5l+iN0LkGHwj7WXleOW+gMWN5hOhHbteBGw1MIphzFmV3u+8TrgXeyvvJuBGJW9F74GtLNdd5dSr5KjMk7loAC8+H3AoYpBuuRd/NQgC4JxtVr7+8MlQWD6j3q3/qMta4eDaptUTRbqcazvfgpw7pXq/wiNo57Udwt7NHWgLnQ2srazxhaDhO2DFGJ8CzY/4L8K9WeluubezRJOmchoNpQ1ZWAZ5TvAk8BMELaJ0UCeA0ummSwcvkaDeQ4KMGEU4MajADceBbjxKMCNhyshA3cJvO8bY4wxxpi95O7uX6RC0MISi/00AAAAAElFTkSuQmCC\"","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!./availablemicroservices.vue?vue&type=style&index=0&lang=css&\"","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!./join-service.vue?vue&type=style&index=0&lang=css&\"","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!./availableservices.vue?vue&type=style&index=0&lang=css&\"","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!./llo-view.vue?vue&type=style&index=0&lang=css&\"","module.exports = __webpack_public_path__ + \"img/penguin21a.a2b45b3f.png\";","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!./mytable.vue?vue&type=style&index=0&lang=scss&\"","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!./availablestorage.vue?vue&type=style&index=0&lang=css&\"","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!./hybridlab.vue?vue&type=style&index=0&lang=css&\"","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!./manage-service.vue?vue&type=style&index=0&lang=css&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid\",attrs:{\"id\":\"app\"}},[(_vm.warning===true)?_c('div',[_c('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3 order-first \"},[_c('br')]),_c('div',{staticClass:\"col-8 order-last\"},[_c('br'),_c('h2',[_vm._v(\" Welcome to Swarmlab-hybrid! \")]),_c('br'),_vm._v(\" You are now \"),_c('b',[_vm._v(\"connected to the local Swarmlab client.\")]),_c('br'),_vm._v(\" That means that \"),_c('b',[_vm._v(\"at the moment you are offline\")]),_vm._v(\" and can only \"),_c('b',[_vm._v(\"work locally on your PC.\")]),_c('br'),_c('br'),_vm._v(\" To \"),_c('u',[_vm._v(\"connect to the server\")]),_vm._v(\" and built on-demand network environments \"),_c('i',[_vm._v(\"visit the \\\"https://git.swarmlab.io:3000/swarmlab/venus-client\\\" and install \\\"Venus\\\".\")]),_c('br'),_c('br'),_c('b',[_vm._v(\"DISCLAMER:\")]),_c('br'),_vm._v(\" When connecting to the server \"),_c('b',[_vm._v(\"your host is becoming part of a network\")]),_vm._v(\" of multiple other computers that are also connected. \"),_c('br'),_vm._v(\" This means that communication between those hosts is unlimited. \"),_c('br'),_c('br'),_vm._v(\" Since docker is a contained virtual environment this is \"),_c('b',[_vm._v(\"VERY SAFE\")]),_c('br'),_c('br'),_c('b',[_vm._v(\"BUT\")]),_c('br'),_vm._v(\" to be absolutely secure, like when connecting to any network: \"),_c('br'),_c('ul',[_c('li',[_vm._v(\" please make sure \"),_c('b',[_vm._v(\"your passwords are strong\")]),_vm._v(\" (and obviously \"),_c('b',[_vm._v(\"change all defaults\")]),_vm._v(\" like the ones provided for the downloadable docker images or our labs, since they are publicly available) \")]),_c('li',[_vm._v(\" don't connect to hosts you don't trust (e.g. when using the hybrid only trust relliable sources) \")]),_c('li',[_vm._v(\" be aware that you are in a public network (like an airport e.g.) and act accordingly \")])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-5 order-first \"},[_c('b',[_vm._v(\"You can always check your connection status at the top right\")])]),_c('div',{staticClass:\"col-7 order-last\"},[_c('img',{attrs:{\"src\":require(\"@/assets/img/warning.png\"),\"alt\":\"...\"}})])]),_c('br'),_c('br'),_c('h4',{staticClass:\"text-warning\"},[_vm._v(\" Please make sure all users on your system have a strong password! \")]),_c('h5',{staticClass:\"text-info\"},[_c('span',{staticClass:\"text-dark\"},[_vm._v(\"Advice:\")]),_vm._v(\" If at all unsure (e.g. \"),_c('span',{staticClass:\"text-primary\"},[_vm._v(\"if your machine has personal data on it\")]),_vm._v(\") you can ofcourse use our image and launch a virtual machine to be absolutely isolated. \")]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3 order-first \"},[_c('br')]),_c('div',{staticClass:\"col-8 order-last\"},[_c('div',{staticClass:\"input-group\"},[_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-danger\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setWarning}},[_vm._v(\" Yes I understad and will be careful\")])])])])])])])])],1):_c('div',[_c('nav',{staticClass:\"navbar navbar-light navbar-expand-md bg-light justify-content-md-center justify-content-start\"},[_c('b-navbar-brand',{staticClass:\"logo simple-text ti-swarmlab text-secondary\"},[_vm._v(\" Swarmlab.io \")]),_c('div',{staticClass:\"navbar-collapse collapse justify-content-between align-items-center w-100\",attrs:{\"id\":\"collapsingNavbar2\"}},[_c('ul',{staticClass:\"navbar-nav mx-auto text-md-center text-left\"},[_c('b-nav-item',{attrs:{\"href\":\"http://docs.swarmlab.io/SwarmLab-HowTos/swarmlab/docs\",\"target\":\"_swarmlabgit\"}},[_vm._v(\" Docs \")]),_vm._m(0),_vm._m(1),_vm._m(2),_c('b-nav-item',{attrs:{\"href\":\"https://vimeo.com/showcase/9022099\",\"target\":\"_vimeo\"}},[_vm._v(\" Follow_us_on_Vimeo \")])],1),_c('ul',{staticClass:\"nav navbar-nav flex-row justify-content-md-center justify-content-start flex-nowrap\"},[_c('b-nav-item',{on:{\"click\":function($event){return _vm.onAction('check')}}},[_vm._v(\"Check Connection Status:\")]),_c('b-nav-item',[_vm._v(\"Agent\")]),(_vm.issocket === 'close')?_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"ti-link nav-link text-danger\",attrs:{\"href\":\"#\",\"title\":\"You are disconnected from hybrid_agent\"}})]):_c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"ti-link nav-link text-success\",attrs:{\"href\":\"#\",\"title\":\"You are connected hybrid_agent\"},on:{\"click\":function($event){return _vm.onAction('connect')}}})]),_c('b-nav-item')],1)])],1),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"d-flex\",attrs:{\"id\":\"wrapper\"}},[(_vm.sidemenou == 'max')?_c('div',{staticClass:\" bg-light border-right\",staticStyle:{\"width\":\"15rem\"},attrs:{\"id\":\"sidebar-wrapper\"}},[_c('div',{staticClass:\"list-group list-group-flush\"},[_c('b-list-group-item',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.hybrid-dashboard\",modifiers:{\"hybrid-dashboard\":true}}],staticClass:\"ti-dashboard list-group-item list-group-item-action\",class:{ active: _vm.isActive('dashboard') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Dashboard\"},on:{\"click\":[function($event){return _vm.setActive('dashboard','')},function($event){return _vm.hybrid('dashboard')}]}},[_vm._v(\" Dashboard\")]),_c('b-collapse',{staticClass:\"m-subm\",attrs:{\"id\":\"hybrid-dashboard\",\"accordion\":\"m-sidebar\",\"role\":\"tabpanel\"}},[_c('b-list-group-item',{staticClass:\" ti-face-smile m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('dashboard_dashboard') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"dashboard\"},on:{\"click\":[function($event){return _vm.setActive('dashboard','dashboard_dashboard')},function($event){return _vm.hybrid('dashboard')}]}},[_vm._v(\" Welcome\")]),_c('b-list-group-item',{staticClass:\" ti-bar-chart-alt m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('dashboard_dashboardall') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"dashboardall\"},on:{\"click\":[function($event){return _vm.setActive('dashboardall','dashboard_dashboardall')},function($event){return _vm.hybrid('dashboardall')}]}},[_vm._v(\" Usage_Stats\")])],1),_c('b-list-group-item',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.hybrid-container\",modifiers:{\"hybrid-container\":true}}],staticClass:\"ti-package list-group-item list-group-item-action\",class:{ active: _vm.isActive('container') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Local\"},on:{\"click\":[function($event){return _vm.setActive('container','')},function($event){return _vm.hybrid('bootstrap')}]}},[_vm._v(\" RunningInstances\")]),_c('b-collapse',{staticClass:\"m-subm\",attrs:{\"id\":\"hybrid-container\",\"accordion\":\"m-sidebar\",\"role\":\"tabpanel\"}},[_c('b-list-group-item',{staticClass:\"ti-harddrives m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('hybrid_container') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Container\"},on:{\"click\":[function($event){return _vm.setActive('container','hybrid_container')},function($event){return _vm.hybrid('bootstrap')}]}},[_vm._v(\" Container\")])],1),_c('b-list-group-item',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.hybrid-hybrid\",modifiers:{\"hybrid-hybrid\":true}}],staticClass:\"ti-share list-group-item list-group-item-action\",class:{ active: _vm.isActive('hybrid') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Local\"},on:{\"click\":[function($event){return _vm.setActive('hybrid','')},function($event){return _vm.hybrid('manage_service')}]}},[_vm._v(\" Share\")]),_c('b-list-group-item',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.hybrid-private\",modifiers:{\"hybrid-private\":true}}],staticClass:\"ti-home list-group-item list-group-item-action\",class:{ active: _vm.isActive('private') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Private\"},on:{\"click\":[function($event){return _vm.setActive('private','hybrid_microservice')},function($event){return _vm.hybrid('microservice')}]}},[_vm._v(\" Labs@Home\")]),_c('b-collapse',{staticClass:\"m-subm\",attrs:{\"id\":\"hybrid-private\",\"accordion\":\"m-sidebar\",\"role\":\"tabpanel\"}},[_c('b-list-group-item',{staticClass:\"ti-harddrive m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('hybrid_private') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Container\"},on:{\"click\":[function($event){return _vm.setActive('private','hybrid_private')},function($event){return _vm.hybrid('services')}]}},[_vm._v(\" LabRoom\")]),_c('b-list-group-item',{staticClass:\"ti-server m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('hybrid_storage') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Storage\"},on:{\"click\":[function($event){return _vm.setActive('private','hybrid_storage')},function($event){return _vm.hybrid('storage')}]}},[_vm._v(\" Storage\")]),_c('b-list-group-item',{staticClass:\"ti-cloud m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('hybrid_microservice') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Microservice\"},on:{\"click\":[function($event){return _vm.setActive('private','hybrid_microservice')},function($event){return _vm.hybrid('microservice')}]}},[_vm._v(\" MicroServices\")]),_c('b-list-group-item',{staticClass:\" ti-light-bulb m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('hybrid_proofofconcept') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Proof_of_concept\"},on:{\"click\":[function($event){return _vm.setActive('private','hybrid_proofofconcept')},function($event){return _vm.hybrid('proofofconcept')}]}},[_vm._v(\" Proof_of_concept\")]),_c('b-list-group-item',{staticClass:\"ti-user m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('hybrid_mymicroservice') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"communityMicroservice\"},on:{\"click\":[function($event){return _vm.setActive('private','hybrid_mymicroservice')},function($event){return _vm.hybrid('mymicroservice')}]}},[_vm._v(\" Users images\")])],1),_c('b-list-group-item',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.hybrid-builders\",modifiers:{\"hybrid-builders\":true}}],staticClass:\"ti-settings list-group-item list-group-item-action\",class:{ active: _vm.isActive('builders') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Private\"},on:{\"click\":[function($event){return _vm.setActive('builders','')},function($event){return _vm.hybrid('builders')}]}},[_vm._v(\" Build\")]),_c('b-collapse',{staticClass:\"m-subm\",attrs:{\"id\":\"hybrid-builders\",\"accordion\":\"m-sidebar\",\"role\":\"tabpanel\"}},[_c('b-list-group-item',{staticClass:\" ti-folder m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('hybrid_builders') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"build_vmware\"},on:{\"click\":[function($event){return _vm.setActive('builders','hybrid_builders')},function($event){return _vm.hybrid('builders')}]}},[_vm._v(\" myServices\")])],1),_c('b-list-group-item',{staticClass:\"ti-angle-double-left list-group-item list-group-item-action\",class:{ active: _vm.isActive('menou-min') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"menou-min\",\"title\":\"Minimize\"},on:{\"click\":function($event){return _vm.onActionMenu('min')}}})],1)]):_vm._e(),(_vm.sidemenou == 'min')?_c('div',{staticClass:\" bg-light border-right\",attrs:{\"id\":\"sidebar-wrapper1\"}},[_c('div',{staticClass:\"list-group list-group-flush\"},[_c('b-list-group-item',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.hybrid-dashboard1\",modifiers:{\"hybrid-dashboard1\":true}}],staticClass:\"ti-dashboard list-group-item list-group-item-action\",class:{ active: _vm.isActive('dashboard') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Dashboard\",\"title\":\"Dashboard\"},on:{\"click\":[function($event){return _vm.setActive('dashboard','')},function($event){return _vm.hybrid('dashboard')}]}}),_c('b-collapse',{staticClass:\"m-subm\",attrs:{\"id\":\"hybrid-dashboard1\",\"accordion\":\"m-sidebar\",\"role\":\"tabpanel\"}},[_c('b-list-group-item',{staticClass:\" ti-face-smile m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('dashboard_dashboard') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"dashboard\",\"title\":\"Welcome\"},on:{\"click\":[function($event){return _vm.setActive('dashboard','dashboard_dashboard')},function($event){return _vm.hybrid('dashboard')}]}}),_c('b-list-group-item',{staticClass:\" ti-bar-chart-alt m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('dashboard_dashboardall') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"dashboardall\",\"title\":\"Usage statistics\"},on:{\"click\":[function($event){return _vm.setActive('dashboard','dashboard_dashboardall')},function($event){return _vm.hybrid('dashboardall')}]}})],1),_c('b-list-group-item',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.hybrid-container1\",modifiers:{\"hybrid-container1\":true}}],staticClass:\"ti-package list-group-item list-group-item-action\",class:{ active: _vm.isActive('container') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Local\",\"title\":\"Instances\"},on:{\"click\":[function($event){return _vm.setActive('container','')},function($event){return _vm.hybrid('bootstrap')}]}}),_c('b-collapse',{staticClass:\"m-subm\",attrs:{\"id\":\"hybrid-container1\",\"accordion\":\"m-sidebar\",\"role\":\"tabpanel\"}},[_c('b-list-group-item',{staticClass:\"ti-harddrives m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('hybrid_container') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Container\",\"title\":\"Show all containers\"},on:{\"click\":[function($event){return _vm.setActive('container','hybrid_container')},function($event){return _vm.hybrid('bootstrap')}]}})],1),_c('b-list-group-item',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.hybrid-hybrid1\",modifiers:{\"hybrid-hybrid1\":true}}],staticClass:\"ti-share list-group-item list-group-item-action\",class:{ active: _vm.isActive('hybrid') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Local\",\"title\":\"Share\"},on:{\"click\":[function($event){return _vm.setActive('hybrid','')},function($event){return _vm.hybrid('manage_service')}]}}),_c('b-list-group-item',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.hybrid-private1\",modifiers:{\"hybrid-private1\":true}}],staticClass:\"ti-home list-group-item list-group-item-action\",class:{ active: _vm.isActive('private') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Private\",\"title\":\"Private\"},on:{\"click\":[function($event){return _vm.setActive('private','')},function($event){return _vm.hybrid('services')}]}}),_c('b-collapse',{staticClass:\"m-subm\",attrs:{\"id\":\"hybrid-private1\",\"accordion\":\"m-sidebar\",\"role\":\"tabpanel\"}},[_c('b-list-group-item',{staticClass:\"ti-harddrive m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('hybrid_private') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Container\",\"title\":\"LabRoom\"},on:{\"click\":[function($event){return _vm.setActive('private','hybrid_private')},function($event){return _vm.hybrid('services')}]}}),_c('b-list-group-item',{staticClass:\"ti-server m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('hybrid_storage') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Storage\",\"title\":\"Storage\"},on:{\"click\":[function($event){return _vm.setActive('private','hybrid_storage')},function($event){return _vm.hybrid('storage')}]}}),_c('b-list-group-item',{staticClass:\"ti-cloud m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('hybrid_microservice') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Microservice\",\"title\":\"Microservices\"},on:{\"click\":[function($event){return _vm.setActive('private','hybrid_microservice')},function($event){return _vm.hybrid('microservice')}]}}),_c('b-list-group-item',{staticClass:\"ti-light-bulb m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('hybrid_proofofconcept') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Proof_of_concept\",\"title\":\"Proof_of_concept\"},on:{\"click\":[function($event){return _vm.setActive('private','hybrid_proofofconcept')},function($event){return _vm.hybrid('proofofconcept')}]}}),_c('b-list-group-item',{staticClass:\"ti-user m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('hybrid_mymicroservice') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"communityMicroservice\",\"title\":\"Users Microservices\"},on:{\"click\":[function($event){return _vm.setActive('private','hybrid_mymicroservice')},function($event){return _vm.hybrid('mymicroservice')}]}})],1),_c('b-list-group-item',{directives:[{name:\"b-toggle\",rawName:\"v-b-toggle.hybrid-builders\",modifiers:{\"hybrid-builders\":true}}],staticClass:\"ti-settings list-group-item list-group-item-action\",class:{ active: _vm.isActive('builders') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"Private\",\"title\":\"Build\"},on:{\"click\":[function($event){return _vm.setActive('builders','')},function($event){return _vm.hybrid('builders')}]}}),_c('b-collapse',{staticClass:\"m-subm\",attrs:{\"id\":\"hybrid-builders1\",\"accordion\":\"m-sidebar\",\"role\":\"tabpanel\"}},[_c('b-list-group-item',{staticClass:\" ti-folder m-subm-listgroup list-group-item list-group-item-action\",class:{ active: _vm.isActiveSub('hybrid_builders') },staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"build_vmware\",\"title\":\"Build Service\"},on:{\"click\":[function($event){return _vm.setActive('builders','hybrid_builders')},function($event){return _vm.hybrid('builders')}]}})],1),_c('b-list-group-item',{staticClass:\"ti-angle-double-right list-group-item list-group-item-action\",staticStyle:{\"cursor\":\"pointer\"},attrs:{\"variant\":\"light\",\"name\":\"menou-max\",\"title\":\"Maximize\"},on:{\"click\":function($event){return _vm.onActionMenu('max')}}})],1)]):_vm._e(),_c('div',{staticClass:\"w-100 p-3\",staticStyle:{\"background-color\":\"#eee\"}},[(_vm.hybridmenou == 'dashboardall')?_c('view-dashboardall',{staticStyle:{\"background-color\":\"#f8f9fa\"}}):_vm._e(),(_vm.hybridmenou == 'dashboard')?_c('view-dashboard',{staticStyle:{\"background-color\":\"#f8f9fa\"}}):_vm._e(),_c('connect-server',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hybridmenou == 'connect-server'),expression:\"hybridmenou == 'connect-server'\"}],staticStyle:{\"background-color\":\"#f8f9fa\"}}),(_vm.hybridmenou == 'manage_service')?_c('manage-services',{key:_vm.componentKeyreload,staticStyle:{\"background-color\":\"#f8f9fa\"}}):_vm._e(),(_vm.hybridmenou == 'llo')?_c('manage-llo',{staticStyle:{\"background-color\":\"#f8f9fa\"}}):_vm._e(),_c('network-table',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hybridmenou == 'bootstrap'),expression:\"hybridmenou == 'bootstrap'\"}],key:_vm.componentKeyreload1,staticStyle:{\"background-color\":\"#f8f9fa\"}}),_c('services-table',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hybridmenou == 'services'),expression:\"hybridmenou == 'services'\"}],staticStyle:{\"background-color\":\"#f8f9fa\"}}),_c('manage-storage',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hybridmenou == 'storage'),expression:\"hybridmenou == 'storage'\"}],key:_vm.componentKeyreload2,staticStyle:{\"background-color\":\"#f8f9fa\"}}),_c('manage-microservices',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hybridmenou == 'microservice'),expression:\"hybridmenou == 'microservice'\"}],key:_vm.componentKeyreload3,staticStyle:{\"background-color\":\"#f8f9fa\"}}),_c('manage-mymicroservices',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hybridmenou == 'mymicroservice'),expression:\"hybridmenou == 'mymicroservice'\"}],key:_vm.mycomponentKeyreload3,staticStyle:{\"background-color\":\"#f8f9fa\"}}),_c('manage-proofofconcept',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hybridmenou == 'proofofconcept'),expression:\"hybridmenou == 'proofofconcept'\"}],key:_vm.componentKeyreload4,staticStyle:{\"background-color\":\"#f8f9fa\"}}),_c('manage-builders',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.hybridmenou == 'builders'),expression:\"hybridmenou == 'builders'\"}],key:_vm.componentKeybuilders,staticStyle:{\"background-color\":\"#f8f9fa\"}}),(_vm.hybridmenou == 'manage_deploy')?_c('manage-deploy',{staticStyle:{\"background-color\":\"#f8f9fa\"}}):_vm._e()],1)])])],1),_c('footer',{staticClass:\"footer\"},[_c('div',{staticClass:\"container\",staticStyle:{\"max-width\":\"75%\"},attrs:{\"id\":\"appfooter\"}},[_vm._m(3),_vm._v(\" | \"),_c('a',{staticClass:\"text-info\",attrs:{\"href\":\"https://www.gnu.org/licenses/agpl-3.0.html\",\"target\":\"_blank\"}},[_vm._v(\" ©\")]),_vm._v(\" Coded with \"),_c('i',{staticClass:\"ti-heart\"}),_vm._v(\" by \"),_c('a',{staticClass:\"text-info\",attrs:{\"href\":\"https://git.swarmlab.io:3000/zeus\",\"target\":\"_blank\"}},[_vm._v(\" zeus\")]),_vm._v(\" - Released under the \"),_c('a',{staticClass:\"text-info\",attrs:{\"href\":\"https://www.gnu.org/licenses/agpl-3.0.html\",\"target\":\"_blank\"}},[_vm._v(\" GNU AGPL License\")]),_vm._v(\" | \"),_c('a',{staticClass:\"text-info\",attrs:{\"href\":\"#\"},on:{\"click\":function($event){return _vm.showdiscl()}}},[_vm._v(\"Disclaimer and Notices\")]),(_vm.hybridmenou == 'llo'||_vm.hybridmenou == 'dashboard')?_c('span',[_vm._v(\" | \")]):_vm._e(),(_vm.hybridmenou == 'llo'||_vm.hybridmenou == 'dashboard')?_c('a',{staticClass:\"external text text-info\",attrs:{\"rel\":\"nofollow\",\"href\":\"https://letsgolarval.wordpress.com/open-art/\",\"target\":\"newl\"}},[_vm._v(\" Linux Penguin \")]):_vm._e(),(_vm.hybridmenou == 'llo'||_vm.hybridmenou == 'dashboard')?_c('span',[_vm._v(\" by Rebekah Yoder / \")]):_vm._e(),(_vm.hybridmenou == 'llo'||_vm.hybridmenou == 'dashboard')?_c('a',{staticClass:\"external text text-info\",attrs:{\"rel\":\"nofollow\",\"href\":\"https://creativecommons.org/licenses/by/2.0/\",\"target\":\"newl\"}},[_vm._v(\"BY-SA \")]):_vm._e()])])],1)])}\nvar staticRenderFns = [function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link\",attrs:{\"href\":\"#\"}},[_vm._v(\" - \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"nav-item my-auto\"},[_c('a',{staticClass:\"nav-link navbar-brand mx-0 d-none d-md-inline\",attrs:{\"href\":\"\"}},[_vm._v(\"Hybrid\")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('li',{staticClass:\"nav-item\"},[_c('a',{staticClass:\"nav-link\",attrs:{\"href\":\"#\"}},[_vm._v(\" - \")])])},function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"jsl10n\",attrs:{\"data-jsl10n\":\"license\"}},[_vm._v(\"Content is available under the \"),_c('a',{staticClass:\"text-info\",attrs:{\"href\":\"https://creativecommons.org/licenses/by-sa/3.0/\",\"target\":\"_blank\"}},[_vm._v(\"Creative Commons License\")])])}]\n\nexport { render, staticRenderFns }","//var global_config = {\nexport const ApiConfig = {\n\t\t'swarmlab_url_80'\t\t\t: 'https://api.swarmlab.io', \t\t\t\n\t\t'url_80'\t\t\t\t\t\t\t: 'http://localhost:3080', \t\t\t// webclient \t\t\n\t\t'url_443'\t\t\t\t\t\t\t: 'https://localhost:3080' \t\t\t// webclient\n\t\t\t\t\t\t\t\t\t\t\t/* \tconfig for swarmlab ide */\n};\n","import { mapState, mapActions, commit } from 'vuex'\nimport store from '@/store/index'\nimport axios from 'axios'\nimport {ApiConfig} from \"@/config/index\";\n\nexport default {\n namespaced: true,\n state: {\n token: '',\n\t\tsocketStatus:'close',\n status: {},\n statusswarmlab: {},\n config: {}\n },\n getters: {\n\t\tgetsocketStatus (state, container) {\n\t\t\treturn state.socketStatus\n\t\t},\n\t\tgettoken (state, container) {\n\t\t\treturn state.token\n\t\t},\n\t\tgetlog (state, container) {\n\t\t\treturn state.log\n\t\t},\n\t\tgetconfig (state, container) {\n\t\t\treturn state.config\n\t\t},\n\t\tgetstatus (state, container) {\n\t\t\treturn state.status\n\t\t},\n\t\tgetstatusswarmlab (state, container) {\n\t\t\treturn state.statusswarmlab\n\t\t}\n },\n mutations: {\n\t\tset_socketStatus (state, data) {\n\t\t\t\tstate.socketStatus=data;\n\t\t},\n\t\tset_token (state, data) {\n\t\t\t\tstate.token=data;\n\t\t},\n\t\tset_status (state, data) {\n\t\t\t\tstate.status=data;\n\t\t},\n\t\tadd_log (state, data) {\n //console.log(\"js1 set \"+JSON.stringify(data))\n\t\t\t\tstate.log.push(data);\n\t\t},\n\t\tadd_config (state, data) {\n //console.log(\"js1 set \"+JSON.stringify(data))\n\t\t\t\tstate.config = data\n\t\t},\n\t\tadd_statusswarmlab (state, data) {\n console.log(\"status server \"+JSON.stringify(data))\n\t\t\t\tstate.statusswarmlab = data\n\t\t}\n },\n actions: {\n\t\taddstatusswarmlab({commit}, value) {\n\t\t\t commit('add_statusswarmlab', value)\n\t\t},\n\t\taddconfig({commit}, value) {\n\t\t\t commit('add_config', value)\n\t\t},\n\t\taddlog({commit}, value) {\n\t\t\t\t//console.log(\"container \"+value)\n var tt = {}\n tt.message = value.log.log.message\n tt.tailed_path = value.log.log.tailed_path\n tt.date = value.log.date\n\t\t\t commit('add_log', tt)\n\t\t},\n\t\tsetsocketStatus({commit}, value) {\n\t\t\t\t//console.log(\"container \"+value)\n\t\t\tcommit('set_socketStatus', value.status)\n\t\t},\n\t\tsettoken({commit}, value) {\n\t\t\t\t//console.log(\"container \"+value)\n\t\t\tcommit('set_token', value.token)\n\t\t},\n\t\tsetstatus({commit}, value) {\n\t\t\t\t//console.log(\"container \"+value)\n\t\t\tcommit('set_status', value.status)\n\t\t},\n async swarmlabstart({commit,rootGetters}, value) {\n //console.log('from '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n action: value.action,\n }\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/run'\n var p = await axios.post(sock_server_l,params,options);\n //var p = await axios.post('http://localhost:8084/run',params,options);\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async oncompletiontracking({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n action: value.action,\n track: value.track,\n course: value.course,\n chapter: value.chapter,\n evaluation: value.evaluation\n }\n\t\t\t\t\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var p = await axios.post('https://api.swarmlab.io/completiontracking',params,options);\n if(p.error == \"invalid_token\"){\n console.log(p)\n //console.log(JSON.stringify(p))\n }else{\n }\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n\t\t\t\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async rmmycustomservice({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n service: value.service\n }\n\t\t\t\t\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var p = await axios.post('https://api.swarmlab.io/rmmycustomservice',params,options);\n\t\t\t\t return p\n if(p.error == \"invalid_token\"){\n console.log(p)\n //console.log(JSON.stringify(p))\n }else{\n }\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n\t\t\t\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getcompletion({commit,rootGetters}, value) {\n try {\n var token = rootGetters['pipelineLLO/gettoken']\n var params = {\n course: value.course,\n chapter: value.chapter\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n\n const info = await axios.get('https://api.swarmlab.io/getcompletion',options);\n return info\n\n } catch (e) {\n //console.error(e);\n if(e.error == \"invalid_token\"){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }\n }\n },\n async getmyservices({commit,rootGetters}, value) {\n try {\n var token = rootGetters['pipelineLLO/gettoken']\n var params = {\n service: value.service\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n\n const info = await axios.get('https://api.swarmlab.io/getmyservices',options);\n return info\n\n } catch (e) {\n //console.error(e);\n if(e.error == \"invalid_token\"){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }\n }\n },\n async addmycustomservice({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n service: \t\t\tvalue.service,\n readme: \t\t\t\tvalue.readme,\n\t\t\t\t\t\t\tbaseservice: \t\tvalue.baseservice,\n\t\t\t\t\t\t\tsh: \t\t\t\t\t\tvalue.sh,\n\t\t\t\t\t\t\tpackages:\t\t\t\tvalue.packages,\n\t\t\t\t\t\t\tgitrepo: \t\t\t\tvalue.gitrepo,\n\t\t\t\t\t\t\tserviceversion: value.serviceversion,\n\t\t\t\t\t\t\trclocal:\t\t\t\tvalue.rclocal,\n\t\t\t\t\t\t\tport1: \t\t\t\t\tvalue.port1,\n\t\t\t\t\t\t\tname1: \t\t\t\t\tvalue.name1,\n\t\t\t\t\t\t\turl1: \t\t\t\t\tvalue.url1,\n\t\t\t\t\t\t\tport2: \t\t\t\t\tvalue.port2,\n\t\t\t\t\t\t\tname2: \t\t\t\t\tvalue.name2,\n\t\t\t\t\t\t\turl2: \t\t\t\t\tvalue.url2,\n\t\t\t\t\t\t\tport3: \t\t\t\t\tvalue.port3,\n\t\t\t\t\t\t\tname3: \t\t\t\t\tvalue.name3,\n\t\t\t\t\t\t\turl3: \t\t\t\t\tvalue.url3\n }\n\t\t\t\t\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var p = await axios.post('https://api.swarmlab.io/addmycustomservice',params,options);\n return p\n if(p.error == \"invalid_token\"){\n console.log(p)\n //console.log(JSON.stringify(p))\n }else{\n }\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n\t\t\t\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getevents({commit,rootGetters}, value) {\n try {\n var token = rootGetters['pipelineLLO/gettoken']\n var params = {\n begin: value.begin,\n end: value.end\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n\n const info = await axios.get('https://api.swarmlab.io/getswarmlabevents',options);\n return info\n\n } catch (e) {\n //console.error(e);\n if(e.error == \"invalid_token\"){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }\n }\n },\n\t\t async swarmlabhybridapi({commit,rootGetters}, value) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\t\t\tvar token = rootGetters['pipelineLLO/gettoken']\n\t\t\t\t\t\t\t\t\tvar save = value\n\t\t\t\t\t\t\t\t\tvar params = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tpipeline: save\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tvar options = {\n\t\t\t\t\t\t\t\t\t\t\t\theaders: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\n var pipelineApi = await axios.post('https://api.swarmlab.io/swarmlabhybridapi',params,options);\n\t\t\t\t\t\t\t\t\treturn pipelineApi\n\t\t\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\t\t\t\tif(e.error == \"invalid_token\"){\n\t\t\t\t\t\t\t\t\t\t\twindow.location.href = 'https://api-login.swarmlab.io:8089';\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tconsole.error(e);\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t },\n\n async getprogress({commit,rootGetters}, value) {\n try {\n var token = rootGetters['pipelineLLO/gettoken']\n var params = {\n course: value.course\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n\n const info = await axios.get('https://api.swarmlab.io/getprogress',options);\n return info\n\n } catch (e) {\n //console.error(e);\n if(e.error == \"invalid_token\"){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }\n }\n },\n async swarmlabhybridadd({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n action: value.action,\n nodename: value.nodename,\n nodeip: value.nodeip,\n nodeid: value.nodeid,\n noderole: value.noderole,\n nodezones: value.nodezones,\n nodedesc: value.nodedesc\n }\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var p = await axios.post('https://api.swarmlab.io/swarmlabhybridadd',params,options);\n if(p.error == \"invalid_token\"){\n console.log(p)\n //console.log(JSON.stringify(p))\n }else{\n }\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async swarmlabhybridrm({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n action: value.action,\n nodename: value.nodename,\n nodeip: value.nodeip,\n nodeid: value.nodeid,\n noderole: value.noderole,\n nodezones: value.nodezones,\n nodedesc: value.nodedesc\n }\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var p = await axios.post('https://api.swarmlab.io/swarmlabhybridrm',params,options);\n if(p.error == \"invalid_token\"){\n console.log(p)\n //console.log(JSON.stringify(p))\n }else{\n }\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getjupyterinfo({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getjupyterinfo'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async rungui({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/rungui'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getcustom({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getcustom'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getcustomuser({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getcustomuser'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async savecustom({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance,\n package: value.package,\n sh: value.sh\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/savecustom'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async savecustomuser({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value,\n package: value.package,\n sh: value.sh\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/savecustomuser'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async get_stats_imagescontainers({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n action: value,\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/get_stats_imagescontainers'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async get_stats_containers({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n action: value,\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/get_stats_containers'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async runeditor({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/runeditor'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async chown({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/chown'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async chowncustom({commit,rootGetters}, value) {\n console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n user: value.user,\n service: value.service,\n baseservice: value.baseservice\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/chowncustom'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async checkowner({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/checkowner'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getinstallcustom({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getinstallcustom'\n var p = await axios.get(sock_server_l,options);\n return p\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async checkownercustom({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/checkownercustom'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async runbackup({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/runbackup'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async runbackupinstance({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/runbackupinstance'\n var p = await axios.get(sock_server_l,options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async runbackupinstanceuser({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/runbackupinstanceuser'\n var p = await axios.get(sock_server_l,options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async hybrid_rmimage({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/hybrid_rmimage'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async hybrid_rmnetworks({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/hybrid_rmnetworks'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async hybrid_inspectnetworks({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/hybrid_inspectnetworks'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async hybrid_inspectimages({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/hybrid_inspectimages'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async hybrid_inspectcontainer({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/hybrid_inspectcontainer'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async hybrid_rmall({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n action: value.action\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/hybrid_rmall'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getmountinfo({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getmountinfo'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getservicesinfo({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getservicesinfo'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getshareinfo({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getshareinfo'\n var p = await axios.get(sock_server_l,options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getnetworks({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getnetworks'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async updatenetworks({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n \n try {\n var token = value.token\n var params = {\n network: value.networks,\n defaultnetwork: value.defaultnetwork,\n container: value.container\n }\n var options = {\n //params: params,\n headers: { 'content-type': 'application/json',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/updatenetworks'\n var p = await axios.post(sock_server_l,params,options);\n //var p = await axios.get('https://localhost:3000/get_config',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n //window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n \n },\n async getlogs({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n container: value\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getlogs'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesinfo',options);\n return p\n //console.log(JSON.stringify(p))\n //console.log(value.token)\n //console.log(value.swarmlabname)\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getserviceshybridstatus({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n bootstrapnameid: value.bootstrapnameid,\n bootstrapstackname: value.bootstrapstackname\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getserviceshybridstatus'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesstatus',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getservicesstatus({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getservicesstatus'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesstatus',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getservicesstatusall({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getservicesstatusall'\n var p = await axios.get(sock_server_l,options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async stopservice({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/stopservice'\n var p = await axios.get(sock_server_l,options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async stopservicecustom({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/stopservicecustom'\n var p = await axios.get(sock_server_l,options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getservicesinfoall({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getservicesinfoall'\n var p = await axios.get(sock_server_l,options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getservicesinfoallcustom({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getservicesinfoallcustom'\n var p = await axios.get(sock_server_l,options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async rmbuildstatus({commit,rootGetters}, value) {\n //console.log('valuei22222222222222222222222222222222 '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/rmbuildstatus'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesstatus',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getbuildstatus({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getbuildstatus'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesstatus',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getstoragestatus({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getstoragestatus'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesstatus',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async getpocstatus({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n try {\n var token = value.token\n var params = {\n instance: value.instance\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/getpocstatus'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/getservicesstatus',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async create_config({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n \n try {\n var token = value.token\n var params = {\n value: value.value\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/create_config'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/create_config',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n \n },\n async rmswarmlablocal({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n \n try {\n var token = value.token\n var params = {\n instance: value\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/rm_swarmlab'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/get_config',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n \n },\n async rmswarmlablocaluser({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n \n try {\n var token = value.token\n var params = {\n instance: value\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/rm_swarmlabuser'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/get_config',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n \n },\n async rmswarmlablocalpoc({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n \n try {\n var token = value.token\n var params = {\n instance: value\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/rm_swarmlabpoc'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/get_config',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n \n },\n async save_llo_asciidoctmp({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n \n try {\n var token = value.token\n var params = {\n code: value\n }\n var options = {\n //params: params,\n headers: { 'content-type': 'application/json',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/save_course_ascii'\n var p = await axios.post(sock_server_l,params,options);\n //var p = await axios.get('https://localhost:3000/get_config',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n //window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n \n },\n async getstoragesudoprepare({commit,rootGetters}, value) {\n \n try {\n var token = value.token\n var params = {\n storagename: value\n }\n var options = {\n headers: { 'content-type': 'application/json',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/check_storage_sudorun'\n var p = await axios.post(sock_server_l,params,options);\n console.log('error '+JSON.stringify(p))\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n \n },\n async getstoragesudopreparestop({commit,rootGetters}, value) {\n \n try {\n var token = value.token\n var params = {\n storagename: value\n }\n var options = {\n headers: { 'content-type': 'application/json',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/check_storage_sudostop'\n var p = await axios.post(sock_server_l,params,options);\n console.log('error '+JSON.stringify(p))\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n \n },\n async get_llo_course_ascii({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n \n try {\n var token = value.token\n var params = {\n dir: value.dir,\n file: value.file\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/get_course_ascii'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/get_config',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n //window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n \n },\n async get_llo_course({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n \n try {\n var token = value.token\n var params = {\n course: value\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/get_course'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/get_config',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n \n },\n async get_config({commit,rootGetters}, value) {\n //console.log('value '+JSON.stringify(value))\n \n try {\n var token = value.token\n var params = {\n value: 'get'\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var sock_server_l = ApiConfig.url_80+'/get_config'\n var p = await axios.get(sock_server_l,options);\n //var p = await axios.get('https://localhost:3000/get_config',options);\n return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n \n },\n async getswarmlabinfo({commit,rootGetters}, value) {\n try {\n var token = rootGetters['pipelineLLO/gettoken']\n //console.log('token ' + token)\n var params = {\n swarmlabname: value\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n\n const info = await axios.get('https://api.swarmlab.io/getswarmlabhybridservicesinfo',options);\n return info\n\n } catch (e) {\n //console.error(e);\n if(e.error == \"invalid_token\"){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }\n }\n },\n async getswarmlabstorageinfo({commit,rootGetters}, value) {\n try {\n var token = rootGetters['pipelineLLO/gettoken']\n //console.log('token ' + token)\n var params = {\n swarmlabname: value\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n\n const info = await axios.get('https://api.swarmlab.io/getswarmlabhybridstorageinfo',options);\n return info\n\n } catch (e) {\n //console.error(e);\n if(e.error == \"invalid_token\"){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }\n }\n },\n async getswarmlabpocinfo({commit,rootGetters}, value) {\n try {\n var token = rootGetters['pipelineLLO/gettoken']\n //console.log('token ' + token)\n var params = {\n swarmlabname: value\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n\n const info = await axios.get('https://api.swarmlab.io/getswarmlabhybridpocinfo',options);\n return info\n\n } catch (e) {\n //console.error(e);\n if(e.error == \"invalid_token\"){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }\n }\n },\n async getswarmlabmicroserviceinfo({commit,rootGetters}, value) {\n try {\n var token = rootGetters['pipelineLLO/gettoken']\n //console.log('token ' + token)\n var params = {\n swarmlabname: value\n }\n var options = {\n params: params,\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n\n const info = await axios.get('https://api.swarmlab.io/getswarmlabhybridmicroserviceinfo',options);\n return info\n\n } catch (e) {\n //console.error(e);\n if(e.error == \"invalid_token\"){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }\n }\n },\n async hybrid_join({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n node: value.node,\n bootstrapstackid: value.bootstrapstackid,\n bootstrapnameid: value.bootstrapnameid,\n action: 'join'\n }\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var p = await axios.post('https://api.swarmlab.io/swarmlabhybridjoinstack',params,options);\n if(p.error == \"invalid_token\"){\n console.log(p)\n \t\t//console.log(JSON.stringify(p))\n }else{\n }\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n\t\t\t return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async hybrid_leave({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n node: value.node,\n bootstrapstackid: value.bootstrapstackid,\n bootstrapnameid: value.bootstrapnameid,\n action: 'leave'\n }\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var p = await axios.post('https://api.swarmlab.io/swarmlabhybridjoinstack',params,options);\n if(p.error == \"invalid_token\"){\n console.log(p)\n \t\t//console.log(JSON.stringify(p))\n }else{\n }\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n\t\t\t return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async swarmlabhybridconfig({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n action: 'add'\n }\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var p = await axios.post('https://api.swarmlab.io/swarmlabhybridconfiginfo',params,options);\n if(p.error == \"invalid_token\"){\n console.log(p)\n \t\t//console.log(JSON.stringify(p))\n }else{\n }\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n\t\t\t return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async hybrid_servicerm({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n bootstrapstackid: value.bootstrapstackid,\n bootstrapnameid: value.bootstrapnameid,\n action: 'servicesrm'\n }\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var p = await axios.post('https://api.swarmlab.io/swarmlabhybridrmservice',params,options);\n if(p.error == \"invalid_token\"){\n console.log(p)\n \t\t//console.log(JSON.stringify(p))\n }else{\n }\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n\t\t\t return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async stackrm({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n bootstrapstackid: value.bootstrapstackid,\n action: 'stackrm'\n }\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var p = await axios.post('https://api.swarmlab.io/swarmlabhybridrmstack',params,options);\n if(p.error == \"invalid_token\"){\n console.log(p)\n \t\tconsole.log(JSON.stringify(p))\n }else{\n }\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n\t\t\t return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async hybrid_servicerestart({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n bootstrapnameid: value.bootstrapnameid,\n action: 'stackrestart'\n }\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var p = await axios.post('https://api.swarmlab.io/swarmlabhybridrestartservice',params,options);\n if(p.error == \"invalid_token\"){\n console.log(p)\n \t\t//console.log(JSON.stringify(p))\n }else{\n }\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n\t\t\t return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async hybrid_servicelog({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n bootstrapnameid: value.bootstrapnameid,\n action: 'stackrestlog'\n }\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var p = await axios.post('https://api.swarmlab.io/swarmlabhybridlogservice',params,options);\n if(p.error == \"invalid_token\"){\n console.log(p)\n \t\t//console.log(JSON.stringify(p))\n }else{\n }\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n\t\t\t return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async swarmlabhybridjoin({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n swarmlabservice: 'ondemand_test_spitifgdfgdfkngkndfkngkdfngkdfk',\n action: 'join'\n }\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var p = await axios.post('https://api.swarmlab.io/swarmlabhybridjoin',params,options);\n if(p.error == \"invalid_token\"){\n console.log(p)\n \t\t//console.log(JSON.stringify(p))\n }else{\n }\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n\t\t\t return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n async adddeploy({commit,rootGetters}, value) {\n try {\n var token = value.token\n var params = {\n deploy: value.deploy,\n action: 'deploy'\n }\n var options = {\n headers: { 'content-type': 'application/x-www-form-urlencoded',Authorization: `Bearer ${token}` },\n };\n var p = await axios.post('https://api.swarmlab.io/adddeployhybrid',params,options);\n if(p.error == \"invalid_token\"){\n console.log(p)\n \t\t//console.log(JSON.stringify(p))\n }else{\n }\n //console.log(value.token)\n //console.log(value.swarmlabname)\n //console.log(JSON.stringify(p))\n\t\t\t return p\n } catch (e) {\n if(e.message == \"Request failed with status code 401\" || /401/i.test(e.message)){\n //console.log('error '+JSON.stringify(e))\n window.location.href = 'https://api-login.swarmlab.io:8089';\n }else{\n var R = {\n ERROR_str: e,\n ERROR: 'yes'\n }\n return R;\n }\n }\n },\n\n\n\n }\n}\n","import Vuex from 'vuex'\nimport Vue from 'vue'\nimport { BootstrapVue, BootstrapVueIcons } from 'bootstrap-vue'\n// -------------- Playbook----------------\nimport pipelineLLO from './modules/create_pipelineLLO'\nimport { library, dom } from '@fortawesome/fontawesome-svg-core'\n\nimport {faIcons, faSort, faChevronUp, faChevronDown, faBars, fas } from '@fortawesome/free-solid-svg-icons'\nimport { faJs, faVuejs, fab, faFontAwesome} from '@fortawesome/free-brands-svg-icons'\nimport { FontAwesomeIcon, FontAwesomeLayers, FontAwesomeLayersText } from '@fortawesome/vue-fontawesome'\n\n\n\n\n\nVue.use(Vuex)\nVue.use(BootstrapVue);\n\n\n\nVue.component('font-awesome-icon', FontAwesomeIcon)\nlibrary.add(faIcons, faSort, faChevronUp, faChevronDown, faBars, faJs, faVuejs, fab, fas, faFontAwesome)\ndom.watch() // This will kick of the initial replacement of i to svg tags and configure a MutationObserver\n\n\nimport 'bootstrap/dist/css/bootstrap.css'\nimport 'bootstrap-vue/dist/bootstrap-vue.css'\n\n\nexport default new Vuex.Store({\n modules: {\n\t\tpipelineLLO\n },\n state: { // = data\n },\n getters: { // = computed properties\n },\n mutations: {\n }\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"card\"},[(_vm.$slots.image)?_c('div',{staticClass:\"card-image\"},[_vm._t(\"image\")],2):_vm._e(),(_vm.$slots.header || _vm.title)?_c('div',{staticClass:\"card-header\"},[_vm._t(\"header\",[_c('h4',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.title))]),(_vm.subTitle)?_c('p',{staticClass:\"card-category\"},[_vm._v(_vm._s(_vm.subTitle))]):_vm._e()])],2):_vm._e(),(_vm.$slots.default)?_c('div',{staticClass:\"card-body\"},[_vm._t(\"default\")],2):_vm._e(),_vm._t(\"raw-content\"),(_vm.$slots.footer)?_c('div',{staticClass:\"card-footer\"},[_c('hr'),_vm._t(\"footer\")],2):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <div class=\"card\">\n <div class=\"card-image\" v-if=\"$slots.image\">\n <slot name=\"image\"></slot>\n </div>\n <div class=\"card-header\" v-if=\"$slots.header || title\">\n <slot name=\"header\">\n <h4 class=\"card-title\">{{title}}</h4>\n <p class=\"card-category\" v-if=\"subTitle\">{{subTitle}}</p>\n </slot>\n </div>\n <div class=\"card-body\" v-if=\"$slots.default\">\n <slot></slot>\n </div>\n <slot name=\"raw-content\"></slot>\n <div class=\"card-footer\" v-if=\"$slots.footer\">\n <hr>\n <slot name=\"footer\"></slot>\n </div>\n </div>\n</template>\n<script>\nexport default {\n name: \"card\",\n props: {\n title: String,\n subTitle: String\n }\n};\n</script>\n<style>\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!./Card.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!./Card.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Card.vue?vue&type=template&id=54cb0c34&\"\nimport script from \"./Card.vue?vue&type=script&lang=js&\"\nexport * from \"./Card.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-7 order-first \"},[_c('br'),_c('myconnect-server'),(_vm.ishybridlab)?_c('hybrid-lab'):_vm._e()],1),_c('div',{staticClass:\"col-5 order-last\"},[_c('br'),_c('zones-view')],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('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"author\"},[_c('img',{staticClass:\"avatar border-white\",attrs:{\"src\":require(\"@/assets/img/docker.png\"),\"alt\":\"...\"}})]),_c('b-container',{staticClass:\"bv-example-row\",attrs:{\"fluid\":\"\"}},[_c('div',{staticClass:\"row text-center\"},[_c('div',{staticClass:\"col-12\"},[_c('b',[_vm._v(\"Swarmlab hybrid zones config\")])])]),_c('br'),_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onAction('add')}}},[_vm._v(\" Add Network Node\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchFor),expression:\"searchFor\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Search\"},domProps:{\"value\":(_vm.searchFor)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.setFilter($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchFor=$event.target.value}}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setFilter}},[_vm._v(\" Go\")])]),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.resetFilter}},[_vm._v(\" Reset\")])])]),(_vm.nodeadmin)?_c('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('br'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3 order-first pr-md-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nodename),expression:\"nodename\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Name\"},domProps:{\"value\":(_vm.nodename)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.nodename=$event.target.value}}})]),_vm._v(\" \"),_c('div',{staticClass:\"col-3 pr-md-1\"},[(_vm.nodeadminupdate)?_c('ValidationProvider',{ref:\"provider\",attrs:{\"name\":\"nodeid\",\"rules\":\"required|alpha_num\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar valid = ref.valid;\nvar errors = ref.errors;\nvar ariaMsg = ref.ariaMsg;\nvar ariaInput = ref.ariaInput;\nreturn [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nodeid),expression:\"nodeid\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"NodeId\",\"disabled\":\"\"},domProps:{\"value\":(_vm.nodeid)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.nodeid=$event.target.value}}})]}}],null,false,1653130323)}):_c('ValidationProvider',{ref:\"provider\",attrs:{\"name\":\"nodeid\",\"rules\":\"required|alpha_num\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar valid = ref.valid;\nvar errors = ref.errors;\nvar ariaMsg = ref.ariaMsg;\nvar ariaInput = ref.ariaInput;\nreturn [_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nodeid),expression:\"nodeid\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"NodeId\",\"data-vv-as\":\"\\\"Node id\\\"\",\"data-vv-value-path\":\"nodeid\",\"data-vv-name\":\"nodeid\"},domProps:{\"value\":(_vm.nodeid)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.nodeid=$event.target.value}}}),_c('span',[_vm._v(_vm._s(errors[0]))])]}}],null,false,3037502831)})],1),_vm._v(\" \"),_c('div',{staticClass:\"col-3 pr-md-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nodeip),expression:\"nodeip\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"IP\"},domProps:{\"value\":(_vm.nodeip)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.nodeip=$event.target.value}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3 order-first pr-md-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.noderole),expression:\"noderole\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Role\"},domProps:{\"value\":(_vm.noderole)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.noderole=$event.target.value}}})]),_vm._v(\" \"),_c('div',{staticClass:\"col-3 pr-md-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nodezones),expression:\"nodezones\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Zones\"},domProps:{\"value\":(_vm.nodezones)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.nodezones=$event.target.value}}})]),_vm._v(\" \"),_c('div',{staticClass:\"col-3 pr-md-1\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.nodedesc),expression:\"nodedesc\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"nodedesc\"},domProps:{\"value\":(_vm.nodedesc)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.nodedesc=$event.target.value}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-2 pr-md-1\"},[_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('div',{staticClass:\"input-group-append\"},[(_vm.nodeadminupdate)?_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onAction('update')}}},[_vm._v(\" update\")]):_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onAction('addserver')}}},[_vm._v(\" add\")])]),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onAction('cancel')}}},[_vm._v(\" Cancel\")])])])])])]):_vm._e(),_vm._v(\" \"),_c('vuetable',{key:_vm.vuetablekeyc,ref:\"vuetable\",attrs:{\"api-url\":_vm.apiurl,\"api-mode\":true,\"http-options\":_vm.httpOptions,\"fields\":_vm.fields,\"item-actions\":_vm.itemActions,\"sort-order\":_vm.sortOrder,\"show-sort-icons\":true,\"multi-sort\":_vm.multiSort,\"per-page\":_vm.perpage,\"pagination-path\":\"links.pagination\",\"pagination-component\":_vm.paginationComponent,\"append-params\":_vm.moreParams,\"wrapper-class\":\"vuetable-wrapper\",\"loading-class\":\"loading\",\"detail-row-id\":\"id\",\"css\":_vm.css.table},on:{\"vuetable:pagination-data\":_vm.onPaginationData,\"vuetable:load-success\":_vm.loadsuccess,\"vuetable:load-error\":_vm.onLoadError},scopedSlots:_vm._u([{key:\"actions\",fn:function(props){return [_c('div',{staticClass:\"table-button-container\"},[_c('button',{staticClass:\"ti-pencil btn btn-outline-secondary btn-sm\",on:{\"click\":function($event){return _vm.onAction('edit', props.rowData, props.rowIndex)}}}),_c('button',{staticClass:\"ti-trash btn btn-outline-secondary btn-sm\",attrs:{\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('rm', props.rowData, props.rowIndex)}}})])]}}])}),_c('div',{staticClass:\"vuetable-pagination ui basic segment grid\"},[_c('vuetable-pagination-info',{ref:\"paginationInfo\",attrs:{\"css\":_vm.css.paginationInfo}}),_c('vuetable-pagination',{ref:\"pagination\",attrs:{\"css\":_vm.css.pagination},on:{\"vuetable-pagination:change-page\":_vm.onChangePage}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n <div class=\"author\">\n <img class=\"avatar border-white\" src=\"@/assets/img/docker.png\" alt=\"...\">\n </div>\n\n <b-container fluid class=\"bv-example-row\">\n\n\n <div class=\"row text-center\">\n <div class=\"col-12\">\n <b>Swarmlab hybrid zones config</b>\n </div>\n </div>\n\n<br>\n\n\n\n <div class=\"input-group input-group-sm sm-3\">\n <div class=\"input-group-prepend\">\n <button \n class=\"btn btn-outline-primary\" \n round\n type=\"button\"\n @click=\"onAction('add')\"\n >\n Add Network Node</button>\n </div>\n \n <input type=\"text\" \n class=\"form-control\" \n aria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n placeholder=\"Search\"\n v-model=\"searchFor\"\n @keyup.enter=\"setFilter\"\n >\n \n <div class=\"input-group-append\">\n <button \n class=\"btn btn-outline-primary\" \n round\n type=\"button\"\n @click=\"setFilter\">\n Go</button>\n </div>\n \n <div class=\"input-group-append\">\n <button class=\"btn btn-outline-secondary\" \n round\n type=\"button\"\n @click=\"resetFilter\">\n Reset</button>\n </div>\n </div>\n\n <!-- add newNODE -->\n <card class=\"card-user\" style=\"max-height:100%\"\n v-if=\"nodeadmin\"\n >\n <br>\n <div class=\"white h-20 flex-fixed-width-item\"\n\n <!-- add newROW ---------------------------------------------------- -->\n <div class=\"row\" >\n <div class=\"col-3 order-first pr-md-1\" >\n <input type=\"text\" \n class=\"form-control\" \n aria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n placeholder=\"Name\"\n v-model=\"nodename\"\n >\n </div> <!-- coll -->\n\n <div class=\"col-3 pr-md-1\" >\n\n\n\n <ValidationProvider name=\"nodeid\" rules=\"required|alpha_num\" ref=\"provider\" \n v-slot=\"{ valid, errors, ariaMsg, ariaInput }\"\n v-if=\"nodeadminupdate\"\n >\n <input type=\"text\" \n class=\"form-control\" \n aria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n placeholder=\"NodeId\"\n disabled\n v-model=\"nodeid\"\n >\n </ValidationProvider>\n <ValidationProvider name=\"nodeid\" rules=\"required|alpha_num\" ref=\"provider\" \n v-slot=\"{ valid, errors, ariaMsg, ariaInput }\"\n v-else\n >\n <input type=\"text\" \n class=\"form-control\" \n aria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n placeholder=\"NodeId\"\n v-model=\"nodeid\"\n data-vv-as='\"Node id\"'\n data-vv-value-path=\"nodeid\"\n data-vv-name=\"nodeid\"\n >\n <span>{{ errors[0] }}</span>\n </ValidationProvider>\n </div> <!-- coll -->\n\n <div class=\"col-3 pr-md-1\" >\n <input type=\"text\" \n class=\"form-control\" \n aria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n placeholder=\"IP\"\n v-model=\"nodeip\"\n >\n </div> <!-- coll -->\n </div> <!-- row -->\n\n <!-- add newROW ---------------------------------------------------- -->\n <div class=\"row\" >\n <div class=\"col-3 order-first pr-md-1\" >\n <input type=\"text\" \n class=\"form-control\" \n aria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n placeholder=\"Role\"\n v-model=\"noderole\"\n >\n </div> <!-- coll -->\n\n <div class=\"col-3 pr-md-1\" >\n <input type=\"text\" \n class=\"form-control\" \n aria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n placeholder=\"Zones\"\n v-model=\"nodezones\"\n >\n </div> <!-- coll -->\n\n <div class=\"col-3 pr-md-1\" >\n <input type=\"text\" \n class=\"form-control\" \n aria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n placeholder=\"nodedesc\"\n v-model=\"nodedesc\"\n >\n </div> <!-- coll -->\n </div> <!-- row -->\n\n <!-- add newROW ---------------------------------------------------- -->\n <div class=\"row\" >\n <div class=\"col-2 pr-md-1\" >\n <div class=\"input-group input-group-sm sm-3\">\n <div class=\"input-group-append\">\n\n <button \n class=\"btn btn-outline-primary\" \n round\n type=\"button\"\n v-if=\"nodeadminupdate\"\n @click=\"onAction('update')\">\n update</button>\n <button \n class=\"btn btn-outline-primary\" \n round\n type=\"button\"\n v-else\n @click=\"onAction('addserver')\">\n add</button>\n </div>\n\n <div class=\"input-group-append\">\n <button class=\"btn btn-outline-secondary\" \n round\n type=\"button\"\n @click=\"onAction('cancel')\"\n >\n Cancel</button>\n </div>\n </div>\n </div> <!-- coll -->\n </div> <!-- row -->\n </card> <!-- card -->\n <!-- add newNODE -->\n\n <div class=\"white h-100 flex-fixed-width-item\"\n <vuetable \n ref=\"vuetable\"\n :key=\"vuetablekeyc\"\n :api-url='apiurl'\n :api-mode=\"true\"\n :http-options=\"httpOptions\"\n :fields=\"fields\"\n :item-actions=\"itemActions\"\n :sort-order=\"sortOrder\"\n :show-sort-icons=\"true\"\n :multi-sort=\"multiSort\"\n :per-page=\"perpage\"\n pagination-path=\"links.pagination\"\n :pagination-component=\"paginationComponent\"\n :append-params=\"moreParams\"\n wrapper-class=\"vuetable-wrapper\"\n loading-class=\"loading\"\n detail-row-id=\"id\"\n @vuetable:pagination-data=\"onPaginationData\"\n @vuetable:load-success=\"loadsuccess\"\n @vuetable:load-error=\"onLoadError\"\n :css=\"css.table\"\n >\n <template slot=\"actions\" slot-scope=\"props\">\n <div class=\"table-button-container\">\n <button \n class=\"ti-pencil btn btn-outline-secondary btn-sm\"\n @click=\"onAction('edit', props.rowData, props.rowIndex)\"\n >\n </button>\n <button \n round\n class=\"ti-trash btn btn-outline-secondary btn-sm\"\n @click=\"onAction('rm', props.rowData, props.rowIndex)\"\n >\n </button>\n\n </div>\n </template>\n </vuetable>\n <div class=\"vuetable-pagination ui basic segment grid\">\n <vuetable-pagination-info \n ref=\"paginationInfo\" \n :css=\"css.paginationInfo\"\n >\n </vuetable-pagination-info>\n <vuetable-pagination \n :css=\"css.pagination\"\n ref=\"pagination\"\n @vuetable-pagination:change-page=\"onChangePage\"\n >\n </vuetable-pagination>\n </div>\n\n\n\n\n\n\n\n\n\n </b-container>\n </card>\n</template>\n<script>\nimport store from '@/store/index'\nimport {mapState, mapGetters, mapActions,dispatch} from 'vuex'\nimport Vue from 'vue'\nimport {Vuetable, VuetablePaginationDropdown} from 'vuetable-2'\nimport card from '@/components/Card.vue'\nimport VuetablePaginationInfo from 'vuetable-2/src/components/VuetablePaginationInfo'\nimport VuetablePagination from 'vuetable-2/src/components/VuetablePagination'\nimport CssConfig from 'vuetable-2/src/components/VuetableCssConfig.js'\nimport {ApiConfig} from \"@/config/index\";\nimport { extend } from 'vee-validate';\nimport { required, alpha_num } from 'vee-validate/dist/rules';\n\n// No message specified.\nextend('alpha_num', alpha_num);\n\n// Override the default message.\nextend('required', {\n ...required,\n message: 'This field is required'\n});\nexport default {\n components: {\n card,\n\t Vuetable,\n\t\t\tVuetablePagination,\n\t\t\tVuetablePaginationInfo,\n\t\t\tVuetablePaginationDropdown\n\t},\n props: {\n },\n data() {\n return{\n token: '',\n valid:false,\n nodeadmin:false,\n nodeadminupdate:false,\n rowdata:{},\n nodename:'',\n nodeid:'',\n nodeip:'',\n noderole:'',\n nodezones:'',\n nodedesc:'',\n\t playbookInfo: {},\n token: '',\n\t playbook: {\n\t\t\t'title':'',\n\t\t\t'name':'',\n\t\t\t'description':''\n\t\t},\n\t\t\tcontainer:{\n\t\t\t\tname:'',\n\t\t\t\tview:0\n\t\t\t},\n\t\t\tpipeline:{},\n \t\tselected: '',\n options: [\n { text: 'Packages', value: 'packages' },\n { text: 'Images', value: 'images' },\n { text: 'Scripts', value: 'scripts' }\n ],\n\t\tshowModal: false,\n\t\tvisibility: [],\n\t \tactive:false,\n\t\tvuetablekeyc:0,\n\t\tfielddata:{},\n\t\tfields: [ \n {\n name: 'name',\n title: '<span class=\"orange\"></span>Name',\n sortField: 'name',\n titleClass: 'text-center aligned',\n visible:true,\n dataClass: \"center aligned\",\n width: '20%'\n },\n {\n name: 'nodeid',\n title: '<span class=\"text-warning\">nodeid</span>',\n titleClass: 'text-center aligned',\n sortField: 'nodeid',\n visible:true,\n width: '20%'\n },\n {\n name: 'ip',\n title: '<span class=\"orange\"></span>IP',\n titleClass: 'text-center aligned',\n sortField: 'swarmlabname',\n visible:true,\n width: '13%'\n },\n {\n name: 'role',\n title: '<span class=\"orange\"></span>Role',\n titleClass: 'text-center aligned',\n sortField: 'role',\n visible:true,\n width: '15%',\n formatter (value) {\n const result = /^ondemand_playground/.test(value);\n if (result) {\n var v = '<p class=\"text-warning\">Playground</p>'\n return v\n }else{\n var v = '<p class=\"text-info\">Lab</p>'\n return v\n }\n }\n\n },\n {\n name: 'zones',\n title: '<span class=\"text-warning\">Zones</span>',\n sortField: 'zones',\n titleClass: 'text-center aligned',\n visible:true,\n width: '20%'\n },\n {\n name: 'status',\n title: '<span class=\"orange\"></span>Status',\n titleClass: 'text-center aligned',\n sortField: 'status',\n visible:true,\n width: '5%'\n },\n {\n name: '__slot:actions',\n title: 'Actions',\n titleClass: 'text-center aligned',\n dataClass: \"text-center aligned\",\n width: '10%'\n },\n {\n name: '_id',\n title: '<span class=\"orange\"></span>mongo',\n visible:false\n }\n\t\t],\n\t\t//apiurl:ApiConfig.url_80+\"/swarmlabservices\",\n\t\tapiurl:ApiConfig.swarmlab_url_80+\"/getswarmlabhybrid\",\n\t\tcss: CssConfig,\n perpage: 9,\n searchFor: '',\n\t\tsortOrder: [{\n\t\t\t\tfield: 'pipelinename',\n\t\t\t\tdirection: 'asc'\n\t\t}],\n multiSort: true,\n paginationComponent: 'vuetable-pagination',\n\t\titemActions: [\n\t\t\t\t{ name: 'view-item', label: '', icon: 'glyphicon glyphicon-zoom-in', class: 'btn btn-info', extra: {'title': 'View', 'data-toggle':\"tooltip\", 'data-placement': \"left\"} },\n\t\t\t\t{ name: 'edit-item', label: '', icon: 'glyphicon glyphicon-pencil', class: 'btn btn-warning', extra: {title: 'Edit', 'data-toggle':\"tooltip\", 'data-placement': \"top\"} },\n\t\t\t\t{ name: 'delete-item', label: '', icon: 'glyphicon glyphicon-remove', class: 'btn btn-danger', extra: {title: 'Delete', 'data-toggle':\"tooltip\", 'data-placement': \"right\" } }\n\t\t],\n\t\tmoreParams: { \n\t\t\t\t'filter': '',\n\t\t\t\t'type': 'hybrid'\n\t\t\t},\n\t\t}\n },\n\tmounted() {\n\t},\n\tcreated() {\n var url_string = window.location.href\n var url = new URL(url_string);\n this.token = url.searchParams.get(\"token\");\n //console.log(\"token \"+ this.token);\n\n\t},\n beforeDestroy () {\n },\n computed: {\n\t\thttpOptions() {\n\t\t\tvar token = this.token\n\t\t\t var p=\"headers: {Authorization: token}}\"; //table props -> :http-options=\"httpOptions\"\n\t\t\t return {headers: {Authorization: 'Bearer ' + token}} //table props -> :http-options=\"httpOptions\"\n\t },\n\n\t},\n\n methods: {\n onError (type,description) {\n var winfo=description\n var info='<h5>Bootstrap '+type+'</h5>'\n this.$swal({\n type: type,\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n },\n\n\n\t\tsetFilter () {\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': this.searchFor,\n\t\t\t\t\t\t'type': this.selected\n\t\t\t\t}\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n\t\tresetFilter () {\n\t\t\t\tthis.moreParams = {}\n\t\t\t\tthis.searchFor = ''\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n onPaginationData (paginationData) {\n this.$refs.pagination.setPaginationData(paginationData)\n\t\t\tthis.$refs.paginationInfo.setPaginationData(paginationData) \n },\n onChangePage (page) {\n this.$refs.vuetable.changePage(page)\n },\n editRow(rowData) {\n alert(\"You clicked edit on\"+ JSON.stringify(rowData));\n\t\t},\n async onAction (action, data, index) {\n var log1 = await store.dispatch(\"pipelineLLO/swarmlabhybridjoin\",{\n token:this.token,\n action:'join'\n })\n //console.log(JSON.stringify(log1))\n\n\t\t\tif(action == 'edit' ){\n this.nodeadmin = true \n this.nodeadminupdate = true \n this.nodeid = data.nodeid\n this.nodeip = data.ip\n this.nodename = data.name\n this.noderole = data.role\n this.nodezones = data.zones\n this.nodedesc = data.description\n //console.log(JSON.stringify(data))\n //console.log(JSON.stringify(index))\n\t\t\t}else if(action == 'update' ){\n await this.$refs.provider.validate().then(success => {\n if (success.valid) {\n this.valid = true\n //console.log('valid '+JSON.stringify(success))\n }else{\n this.valid = false\n //console.log('no valid'+JSON.stringify(success))\n }\n });\n if (this.valid) {\n var log = await store.dispatch(\"pipelineLLO/swarmlabhybridadd\",{\n token:this.token,\n action:'add',\n nodeid: this.nodeid,\n nodeip: this.nodeip,\n nodename: this.nodename,\n noderole: this.noderole,\n nodezones: this.nodezones,\n nodedesc: this.nodedesc\n })\n //console.log(this.nodename)\n //console.log(this.nodeid)\n //console.log(this.nodeip)\n //console.log(this.noderole)\n //console.log(this.nodezones)\n //console.log(this.nodedesc)\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n }\n\t\t\t}else if(action == 'rm' ){\n this.rowdata = data\n\t\t\t\tthis.$swal({\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\thtml: 'info',\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t cancelButtonText: 'No, cancel!',\n\t\t\t\t\tshowCancelButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\treverseButtons: true,\n\t\t\t\t\tfocusCancel: true,\n\t\t\t\t\tconfirmButtonText: 'Yes, Delete it!'\n\t\t\t\t\t}).then((result)=> {\n this.rmAndClose(result);\n })\n\n\t\t\t}else if(action == 'add' ){\n this.nodeadmin = true \n this.nodeadminupdate = false \n\t\t\t}else if(action == 'addserver' ){\n await this.$refs.provider.validate().then(success => {\n if (success.valid) {\n this.valid = true\n //console.log('valid '+JSON.stringify(success))\n }else{\n this.valid = false\n //console.log('no valid'+JSON.stringify(success))\n }\n });\n\n if (this.valid) {\n this.nodeadmin = false\n this.nodeadminupdate = false \n var log = await store.dispatch(\"pipelineLLO/swarmlabhybridadd\",{\n token:this.token,\n action:'add',\n nodeid: this.nodeid,\n nodeip: this.nodeip,\n nodename: this.nodename,\n noderole: this.noderole,\n nodezones: this.nodezones,\n nodedesc: this.nodedesc\n })\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n //console.log(JSON.stringify(log))\n }\n\t\t\t}else if(action == 'cancel' ){\n this.nodeadmin = false\n this.nodeadminupdate = false \n }\n },\n async rmAndClose(result) {\n var log = await store.dispatch(\"pipelineLLO/getswarmlabhybridinfo\",{\n token:this.token,\n nodezones: this.rowdata.zones\n })\n if(result.value){\n var log = await store.dispatch(\"pipelineLLO/swarmlabhybridrm\",{\n token:this.token,\n action:'rm',\n nodeid: this.rowdata.nodeid,\n nodeip: this.rowdata.ip,\n nodename: this.rowdata.name,\n noderole: this.rowdata.role,\n nodezones: this.rowdata.zones,\n nodedesc: this.rowdata.description\n })\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n //console.log(JSON.stringify(result))\n //console.log('rowdara '+JSON.stringify(this.rowdata))\n\n }\n },\n async addAndClose(result) {\n\n },\n refreshVuetable() {\n\t\t\tthis.$nextTick(()=>{\n\t\t\t\t\tthis.vuetablekeyc += 1\n\t\t\t\t})\n },\n\t\tplaybookinfoShow(value) {\n\t\t\t\treturn this.visibility[value]=true\n\t\t},\n\t\tplaybookinfo(value) {\n\t\t\t\treturn this.playbookInfo=value\n\t\t},\n\t\trowClicked(row, event) {\n\t\t\treturn {\n\t\t\t\thtml: true,\n\t\t\t\ttitle: () => { return 'Hello <b>Popover:</b> ' + (++this.counter) },\n\t\t\t\tcontent: () => { return 'The date is:<br><em>' + new Date() + '</em>' }\n\t\t\t}\n\t\t},\n\t\tloadsuccess(response) {\n\t\t\t\tvar data = response.data.data\n\t\t\t\tthis.fielddata=data\n\t\t\t\tvar n = data.length\n\t\t\t\tn=n-1\n\t\t\t},\n onLoadError(payload) {\n /*\n //error2 \"invalid_token\" join-service.vue:684\n //error2 \"The access token provided has expired\" join-service.vue:685\n //error2 \"Unauthorized\" join-service.vue:686\n //error2 401\n */\n if(payload.response.status == '401'){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n Vue.nextTick( () => window.location.href = 'https://api-login.swarmlab.io:8089')\n }\n }\n\n\n },\n\n\n actions: {\n\n\n\t}\n\n};\n</script>\n<style>\n.flex-fixed-width-item {\n flex: 0 0 100px;\n\t\t}\n.modalinfo {\n z-index: 10000000 !important;\n\tposition:fixed;\n}\n/* a container with flex-direction column */\n\n.vue-notifyjs.notifications{\n .alert{\n z-index: 100;\n }\n .list-move {\n transition: transform 0.3s, opacity 0.4s;\n }\n .list-item {\n display: inline-block;\n margin-right: 10px;\n\n }\n .list-enter-active {\n transition: transform 0.2s ease-in, opacity 0.4s ease-in;\n }\n .list-leave-active {\n transition: transform 1s ease-out, opacity 0.4s ease-out;\n }\n\n .list-enter {\n opacity: 0;\n transform: scale(1.1);\n\n }\n .list-leave-to {\n opacity: 0;\n transform: scale(1.2, 0.7);\n }\n}\n\npre {\n //background-color: rgb(255, 247, 229);\n background-color: #eff0f1;\n\t border: 1px solid blue;\n\t\t //white-space: pre-line;\n\t\t\t}\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!./manage-service.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!./manage-service.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./manage-service.vue?vue&type=template&id=519e2d5c&\"\nimport script from \"./manage-service.vue?vue&type=script&lang=js&\"\nexport * from \"./manage-service.vue?vue&type=script&lang=js&\"\nimport style0 from \"./manage-service.vue?vue&type=style&index=0&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 null,\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('card',{staticClass:\"card-header\",staticStyle:{\"max-height\":\"100%\"},attrs:{\"title\":\"Hybrid API Request\"}},[_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('table',{staticClass:\"table table-bordered\"},[_c('tbody',[_c('tr',[_c('th',{staticClass:\"text-center\",attrs:{\"scope\":\"row\"}},[_vm._v(\" Project \")]),_c('td',[_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.swarmlabhybridapi.project),expression:\"swarmlabhybridapi.project\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Project Name (Alphanumeric characters, dashes and underscores, NOT spaces)\"},domProps:{\"value\":(_vm.swarmlabhybridapi.project)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.swarmlabhybridapi, \"project\", $event.target.value)}}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"ti-info btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.showinfo('Project')}}})])])])]),_c('tr',[_c('th',{staticClass:\"text-center\",attrs:{\"scope\":\"row\"}},[_vm._v(\" Category \")]),_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.swarmlabhybridapi.faculty),expression:\"swarmlabhybridapi.faculty\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Project Category\"},domProps:{\"value\":(_vm.swarmlabhybridapi.faculty)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.swarmlabhybridapi, \"faculty\", $event.target.value)}}})])]),_c('tr',[_c('th',{staticClass:\"text-center\",attrs:{\"scope\":\"row\"}},[_vm._v(\" Description \")]),_c('td',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.swarmlabhybridapi.desc),expression:\"swarmlabhybridapi.desc\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"What is the purpose of the project?\"},domProps:{\"value\":(_vm.swarmlabhybridapi.desc)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.swarmlabhybridapi, \"desc\", $event.target.value)}}})])])])])])],1),_c('b-row',[_c('b-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.getApi}},[_vm._v(\" Request hybrid API \")])])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <card class=\"card-header\" title=\"Hybrid API Request\" style=\"max-height:100%\">\n <b-row>\n <b-col cols=\"12\" > \n\n\n <table class=\"table table-bordered\">\n <tbody>\n <tr>\n <th scope=\"row\"\n class=\"text-center\" \n >\n Project\n </th>\n <td>\n <div class=\"input-group input-group-sm sm-3\">\n <input type=\"text\" \n class=\"form-control\" \n aria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n placeholder=\"Project Name (Alphanumeric characters, dashes and underscores, NOT spaces)\"\n v-model=\"swarmlabhybridapi.project\"\n >\n <div class=\"input-group-append\">\n <button\n class=\"ti-info btn btn-outline-primary\"\n round\n type=\"button\"\n @click=\"showinfo('Project')\">\n </button>\n </div>\n </div>\n\n </td>\n </tr>\n <tr>\n <th scope=\"row\"\n class=\"text-center\" \n>\n Category\n </th>\n <td>\n <input type=\"text\" \n class=\"form-control\" \n aria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n placeholder=\"Project Category\"\n v-model=\"swarmlabhybridapi.faculty\"\n >\n </td>\n </tr>\n <tr>\n <th scope=\"row\"\n class=\"text-center\" \n>\n Description\n </th>\n <td>\n <input type=\"text\" \n class=\"form-control\" \n aria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n placeholder=\"What is the purpose of the project?\"\n v-model=\"swarmlabhybridapi.desc\"\n >\n </td>\n </tr>\n </tbody>\n</table>\n\n </b-col> \n </b-row>\n <b-row>\n <b-col cols=\"12\" > \n <div class=\"input-group-append\">\n <button \n class=\"btn btn-outline-success\" \n round\n type=\"button\"\n @click=\"getApi\"\n > Request hybrid API \n </button>\n </div>\n\n </b-col> \n </b-row>\n\t\t\t\t\t\n </card>\n</template>\n<script>\nimport store from '@/store/index'\nimport {mapState, mapGetters, mapActions,dispatch} from 'vuex'\nimport Vue from 'vue'\nimport {ApiConfig} from \"@/config/index\";\nexport default {\n components: {\n\t},\n props: {\n },\n data() {\n return{\n\t\t\tswarmlabhybridapi:{\n labservices:'services'\n }\n\t\t}\n },\n\tmounted() {\n\t},\n beforeDestroy () {\n },\n\n computed: {\n\n\t},\n\n methods: {\n showinfo(value) {\n if(value == 'Project'){\n //var info='The ProjectName can only contain alphanumeric characters, dashes or underscores <br> We use that \"Name\" to retrieve the corresponding key values <br> Name assigned here will need it to connect you to Swarmlab Server.'\n var info='We use that \"Name\" to retrieve the corresponding key values <br> The name assigned here will be needed to connect you to Swarmlab Server. <br> The ProjectName can only contain alphanumeric characters, dashes or underscores.'\n this.$swal({\n type: 'info',\n html: info,\n showCloseButton: false,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n // cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: false,\n confirmButtonText: 'Ok!'\n })\n }\n },\n async getApi() {\n console.log('getApi')\n\n\t\t\t\t\tvar bootstrap = await store.dispatch(\"pipelineLLO/swarmlabhybridapi\",{\n lab: this.swarmlabhybridapi\n\t\t\t\t\t})\n console.log(JSON.stringify(bootstrap))\n if(bootstrap.data.action == 'ok'){\n var info='<h5>OK</h5>'\n this.$swal({\n type: 'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n showLoaderOnConfirm: false,\n focusCancel: true\n })\n }else{\n var info='<h5>Error</h5>'\n this.$swal({\n type: 'error',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n showLoaderOnConfirm: false,\n focusCancel: true\n })\n }\n\n\n }\n\n },\n\n\n actions: {\n\n\n\t}\n\n};\n</script>\n<style>\n.flex-fixed-width-item {\n flex: 0 0 100px;\n\t\t}\n.modalinfo {\n z-index: 10000000 !important;\n\tposition:fixed;\n}\n/* a container with flex-direction column */\n\n.vue-notifyjs.notifications{\n .alert{\n z-index: 100;\n }\n .list-move {\n transition: transform 0.3s, opacity 0.4s;\n }\n .list-item {\n display: inline-block;\n margin-right: 10px;\n\n }\n .list-enter-active {\n transition: transform 0.2s ease-in, opacity 0.4s ease-in;\n }\n .list-leave-active {\n transition: transform 1s ease-out, opacity 0.4s ease-out;\n }\n\n .list-enter {\n opacity: 0;\n transform: scale(1.1);\n\n }\n .list-leave-to {\n opacity: 0;\n transform: scale(1.2, 0.7);\n }\n}\n\npre {\n //background-color: rgb(255, 247, 229);\n background-color: #eff0f1;\n border: 1px solid blue;\n //white-space: pre-line;\n text-align: left;\n\t\t\t}\n.codeblock {\n text-align: left;\n}\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!./hybridlab.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!./hybridlab.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./hybridlab.vue?vue&type=template&id=6eb78c2a&\"\nimport script from \"./hybridlab.vue?vue&type=script&lang=js&\"\nexport * from \"./hybridlab.vue?vue&type=script&lang=js&\"\nimport style0 from \"./hybridlab.vue?vue&type=style&index=0&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 null,\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('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"author\"},[_c('img',{staticClass:\"avatar border-white\",attrs:{\"src\":require(\"@/assets/img/docker.png\"),\"alt\":\"...\"}})]),_c('b-container',{staticClass:\"bv-example-row\",attrs:{\"fluid\":\"\"}},[_c('div',{staticClass:\"row text-center\"},[_c('div',{staticClass:\"col-12\"},[_c('b',[_vm._v(\"Swarmlab hybrid-agent config\")])])]),_c('div',{staticClass:\"row text-center\"},[_c('div',{staticClass:\"col-12\"},[_c('br')])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_c('b',[_vm._v(\"Node ID\")])]),_c('div',{staticClass:\"col-9\"},[_c('i',[_vm._v(_vm._s(_vm.CONFIG.nodeid))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_c('b',[_vm._v(\"Swarmlab key\")])]),_c('div',{staticClass:\"col-9\"},[_c('i',[_vm._v(_vm._s(_vm.CONFIG.workerkey))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_c('b',[_vm._v(\"Swarmlab PublicKey\")])]),_c('div',{staticClass:\"col-9\"},[_c('i',[_vm._v(_vm._s(_vm.CONFIG.swarmlab_public_wgkey))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_c('b',[_vm._v(\"Swarmlab ip\")])]),_c('div',{staticClass:\"col-3\"},[_c('i',[_vm._v(_vm._s(_vm.CONFIG.server_ip))])]),_c('div',{staticClass:\"col-2\"},[_c('b',[_vm._v(\"Local IP\")])]),_c('div',{staticClass:\"col-4\"},[_c('i',[_vm._v(_vm._s(_vm.CONFIG.wg_ip))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-3\"},[_c('b',[_vm._v(\"Private key\")])]),_c('div',{staticClass:\"col-3\"},[_c('i',[_vm._v(_vm._s(_vm.CONFIG.privatekey))])]),_c('div',{staticClass:\"col-2\"},[_c('b',[_vm._v(\"Public key\")])]),_c('div',{staticClass:\"col-4\"},[_c('i',[_vm._v(_vm._s(_vm.CONFIG.publickey))])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('br')])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-4\"},[_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('button',{staticClass:\"ti-settings btn btn-outline-info\",attrs:{\"round\":\"\",\"type\":\"button\",\"title\":\"Load config\"},on:{\"click\":function($event){return _vm.onAction('load')}}},[_vm._v(\" Load Settings \")])]),_c('div',{staticClass:\"input-group-prepend\"})])]),_c('div',{staticClass:\"col-1\"},[_c('div',{staticClass:\"input-group input-group-sm sm-3\"})]),_vm._v(\" \"),_c('div',{staticClass:\"col-7 text-right\"},[_c('div',{staticClass:\"input-group input-group-sm sm-3 text-right\"},[_c('div',{staticClass:\"input-group-append text-right\"},[_c('button',{staticClass:\"ti-link btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\",\"title\":\"Connect\"},on:{\"click\":function($event){return _vm.onAction('connect')}}},[_vm._v(\" Connect \")]),_c('button',{staticClass:\"ti-unlink btn btn-outline-warning\",attrs:{\"round\":\"\",\"type\":\"button\",\"title\":\"Connect\"},on:{\"click\":function($event){return _vm.onAction('disconnect')}}},[_vm._v(\" Disconnect \")]),(_vm.isconnect)?_c('button',{staticClass:\"ti-link btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\",\"title\":\"Connect\"}},[_vm._v(\" Status online \")]):_c('button',{staticClass:\"ti-unlink btn btn-outline-warning\",attrs:{\"round\":\"\",\"type\":\"button\",\"title\":\"Connect\"}},[_vm._v(\" Status offline \")])])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('div',{staticClass:\"input-group-prepend\"},[(_vm.ishybridlab)?_c('button',{staticClass:\"ti-key btn btn-outline-info\",attrs:{\"round\":\"\",\"type\":\"button\",\"title\":\"Api keys\"},on:{\"click\":function($event){return _vm.onAction('apikeyopen')}}},[_vm._v(\" Enable the Swarmlab hybrid API \")]):_c('button',{staticClass:\"ti-layout-media-overlay-alt btn btn-outline-warning\",attrs:{\"round\":\"\",\"type\":\"button\",\"title\":\"Api keys\"},on:{\"click\":function($event){return _vm.onAction('apikeyclose')}}},[_vm._v(\" Enable the Swarmlab hybrid API \")]),_c('button',{staticClass:\"ti-info btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\",\"title\":\"HowTo\"},on:{\"click\":function($event){return _vm.onAction('register')}}})])])])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n <div class=\"author\">\n <img class=\"avatar border-white\" src=\"@/assets/img/docker.png\" alt=\"...\">\n </div>\n\n <b-container fluid class=\"bv-example-row\">\n <div class=\"row text-center\">\n <div class=\"col-12\">\n <b>Swarmlab hybrid-agent config</b>\n </div>\n </div>\n <div class=\"row text-center\">\n <div class=\"col-12\">\n <br>\n </div>\n </div>\n <div class=\"row\">\n <div class=\"col-3\"><b>Node ID</b></div>\n <div class=\"col-9\"><i>{{ CONFIG.nodeid }}</i></div>\n </div>\n <div class=\"row\">\n <div class=\"col-3\"><b>Swarmlab key</b></div>\n <div class=\"col-9\"><i>{{ CONFIG.workerkey }}</i></div>\n </div>\n <div class=\"row\">\n <div class=\"col-3\"><b>Swarmlab PublicKey</b></div>\n <div class=\"col-9\"><i>{{ CONFIG.swarmlab_public_wgkey }}</i></div>\n </div>\n <div class=\"row\">\n <div class=\"col-3\"><b>Swarmlab ip</b></div>\n <div class=\"col-3\"><i>{{ CONFIG.server_ip }}</i></div>\n <div class=\"col-2\"><b>Local IP</b></div>\n <div class=\"col-4\"><i>{{ CONFIG.wg_ip }}</i></div>\n </div>\n <div class=\"row\">\n <div class=\"col-3\"><b>Private key</b></div>\n <div class=\"col-3\"><i>{{ CONFIG.privatekey }}</i></div>\n <div class=\"col-2\"><b>Public key</b></div>\n <div class=\"col-4\"><i>{{ CONFIG.publickey }}</i></div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <br>\n </div>\n </div>\n\n\n <div class=\"row\">\n <div class=\"col-4\">\n <div class=\"input-group input-group-sm sm-3\">\n <div class=\"input-group-prepend\">\n <button\n class=\"ti-settings btn btn-outline-info\"\n round\n type=\"button\"\n title=\"Load config\"\n @click=\"onAction('load')\"\n > Load Settings\n </button>\n </div>\n \n <div class=\"input-group-prepend\">\n </div>\n \n </div>\n </div>\n <div class=\"col-1\">\n <div class=\"input-group input-group-sm sm-3\">\n </div>\n </div> <!-- coll -->\n\n <div class=\"col-7 text-right\">\n <div class=\"input-group input-group-sm sm-3 text-right\">\n <div class=\"input-group-append text-right\">\n <button\n class=\"ti-link btn btn-outline-success\"\n round\n type=\"button\"\n title=\"Connect\"\n @click=\"onAction('connect')\"\n > Connect\n </button>\n <button\n class=\"ti-unlink btn btn-outline-warning\"\n round\n type=\"button\"\n title=\"Connect\"\n @click=\"onAction('disconnect')\"\n > Disconnect\n </button>\n <button\n v-if=\"isconnect\"\n class=\"ti-link btn btn-outline-success\"\n round\n type=\"button\"\n title=\"Connect\"\n > Status online\n </button>\n <button\n v-else\n class=\"ti-unlink btn btn-outline-warning\"\n round\n type=\"button\"\n title=\"Connect\"\n > Status offline\n </button>\n </div>\n </div>\n </div> <!-- coll -->\n\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"input-group input-group-sm sm-3\">\n <div class=\"input-group-prepend\">\n <button\n v-if=\"ishybridlab\"\n class=\"ti-key btn btn-outline-info\"\n round\n type=\"button\"\n title=\"Api keys\"\n @click=\"onAction('apikeyopen')\"\n > Enable the Swarmlab hybrid API\n </button>\n <button\n v-else\n class=\"ti-layout-media-overlay-alt btn btn-outline-warning\"\n round\n type=\"button\"\n title=\"Api keys\"\n @click=\"onAction('apikeyclose')\"\n > Enable the Swarmlab hybrid API\n </button>\n <button\n class=\"ti-info btn btn-outline-success\"\n round\n type=\"button\"\n title=\"HowTo\"\n @click=\"onAction('register')\"\n > \n </button>\n </div>\n </div>\n </div>\n </div>\n\n </b-container>\n </card>\n</template>\n<script>\nimport store from '@/store/index'\nimport {mapState, mapGetters, mapActions,dispatch} from 'vuex'\nimport Vue from 'vue'\nimport card from '@/components/Card.vue'\nimport {ApiConfig} from \"@/config/index\";\nexport default {\n components: {\n card\n\t},\n props: {\n },\n data() {\n return{\n isconnect:false,\n ishybridlab:true,\n isstatus:false,\n CONFIG:{\n 'status':'',\n 'privatekey':'',\n 'publickey':'',\n 'server_ip':'',\n 'nodeid':'',\n 'workerkey':'',\n 'allowed_ips':'',\n\t\t\t 'swarmlab_public_wgkey':'',\n 'wg_ip':'',\n 'swarm_ip':'',\n 'wg_port':''\n },\n token: ''\n\t\t}\n },\n\tmounted() {\n // from mytable.vue and socket\n\t\tthis.$root.$on('hybrid_connect_server_view', (value) => {\n //console.log('from mytable' + JSON.stringify(value)) \n this.CONFIG.status = value.status\n this.CONFIG.workerkey = value.workerkey\n this.CONFIG.swarmlab_public_wgkey = value.swarmlab_public_wgkey\n this.CONFIG.server_ip = value.server_ip \n this.CONFIG.allowed_ips = value.allowed_ips \n this.CONFIG.wg_port = value.wg_port \n this.CONFIG.wg_ip = value.wg_ip\n this.CONFIG.swarm_ip = value.swarm_ip\n this.CONFIG.privatekey = value.privatekey\n this.CONFIG.publickey = value.publickey\n if(this.CONFIG.status == 'on'){\n this.isstatus = true\n }else if(this.CONFIG.status == 'off'){\n this.isstatus = false\n }\n\t\t}),\n\t\tthis.$root.$on('hybrid_server_status', (value) => {\n this.serverstatus()\n\t\t})\n\t},\n\tcreated() {\n var url_string = window.location.href\n var url = new URL(url_string);\n this.token = url.searchParams.get(\"token\");\n //console.log(\"token \"+ this.token);\n\n\t},\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_connect_server_view')\n\t\tthis.$root.$off('hybrid_server_status')\n },\n computed: {\n\n\t},\n\n methods: {\n\t\t\tasync serverstatus(action){\n var log = store.getters['pipelineLLO/getstatus']\n //console.log('status log ' + JSON.stringify(log))\t\n //{\"data\":{\"swarmlab\":\"active\",\"hybrid\":\"Online\"}}\n if(log.data.swarmlab == 'active' && log.data.hybrid == 'Online'){\n this.isstatus=true\n this.isconnect=true\n this.CONFIG.nodeid = log.data.swarmlabid\n }else{\n this.isstatus=false\n this.isconnect=false\n this.CONFIG.nodeid = 'null'\n }\n\n },\n\t\t\tasync onAction(action){\n if(action == 'load'){\n\t\t\t\t\tvar log = await store.dispatch(\"pipelineLLO/swarmlabhybridconfig\",{\n\t\t\t\t\t\ttoken:this.token\n\t\t\t\t\t})\n //console.log('settings ' + JSON.stringify(log))\t\n\n\n\n this.CONFIG.status = log.data.data.status\n this.CONFIG.workerkey = log.data.data.workerkey\n this.CONFIG.swarmlab_public_wgkey = log.data.data.wg_public\n this.CONFIG.server_ip = log.data.data.endpoint // 83.212.77.133:51820\n this.CONFIG.allowed_ips = log.data.data.allowed_ip // 10.13.13.0/16, 0.0.0.0/0, ::/0\n this.CONFIG.wg_port = log.data.data.wg_port // 10.13.13.0/16, 0.0.0.0/0, ::/0\n this.CONFIG.wg_ip = log.data.data.wg_ip \n this.CONFIG.swarm_ip = log.data.data.swarm_ip \n this.CONFIG.privatekey = log.data.data.privatekey\n this.CONFIG.publickey = log.data.data.publickey\n if(this.CONFIG.status == 'on'){\n this.isstatus = true\n }else if(this.CONFIG.status == 'off'){\n this.isstatus = false\n }\n //console.log('swarm ' + JSON.stringify(log.data.data.workerkey))\t\n\n //console.log('start ' + JSON.stringify('load'))\t\n this.onAction('save')\n }else if(action == 'apikeyopen'){\n this.ishybridlab=false\n\t\t\t\t this.$root.$emit('hybrid_lab_keyview','open')\n }else if(action == 'apikeyclose'){\n this.ishybridlab=true\n\t\t\t\t this.$root.$emit('hybrid_lab_keyview','close')\n }else if(action == 'connect'){\n //console.log('start ' + JSON.stringify('connect'))\t\n\t\t\t\t\tvar log = await store.dispatch(\"pipelineLLO/get_config\",{\n\t\t\t\t\t\ttoken:this.token\n\t\t\t\t\t})\n //console.log('pwd ' + JSON.stringify(log))\t\n this.isconnect = true\n \n var winfopath = log.data.data\n if(log.data.error_msg = 'ok'){\n var winfo='<span class=\"text-success\">sudo /bin/bash '\n winfo += winfopath.trim()\n winfo += '/hybrid/connect/join.sh </span>'\n }else{\n var winfo='no exec file'\n }\n var info='<h4>Swarmlab Connect</h4> <h6 class=\"text-warning\"> You are about to connect with others. Be Careful </h6> <h5><i>Copy-and-run-command </i></h5> <br>'\n this.$swal({\n type: 'info',\n html: info+winfo,\n icon:'info',\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true\n })\n }else if(action == 'save'){\n\t\t\t\t\tvar log = await store.dispatch(\"pipelineLLO/create_config\",{\n\t\t\t\t\t\ttoken:this.token,\n\t\t\t\t\t\tvalue:this.CONFIG\n\t\t\t\t\t})\n //console.log('start ' + JSON.stringify(log))\t\n //console.log('start ' + JSON.stringify('createkey'))\t\n }else if(action == 'disconnect'){\n //console.log('start ' + JSON.stringify('disconnect'))\t\n\t\t\t\t\tvar log = await store.dispatch(\"pipelineLLO/get_config\",{\n\t\t\t\t\t\ttoken:this.token\n\t\t\t\t\t})\n //console.log('pwd ' + JSON.stringify(log))\t\n \n var winfopath = log.data.data\n if(log.data.error_msg = 'ok'){\n var winfo='<span class=\"text-success\">sudo /bin/bash '\n winfo += winfopath.trim()\n winfo += '/hybrid/connect/leave.sh </span>'\n }else{\n var winfo='no exec file'\n }\n var info='<h4>Swarmlab Disconnect</h4> <h5><i>Copy-and-run-command </i></h5> <br>'\n this.$swal({\n type: 'info',\n icon:'info',\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true\n })\n } else if(action == 'register'){\n //console.log('start ' + JSON.stringify('register'))\t\n\t\t\t\t\t//var log = await store.dispatch(\"pipelineLLO/get_config\",{\n\t\t\t\t\t//\ttoken:this.token\n\t\t\t\t\t//})\n //console.log('pwd ' + JSON.stringify(log))\t\n \n // var winfopath = log.data.data\n var winfo=`Before you begin\n <br>\n Before you start using the Swarmlab Hybrid API, you need a hybrid enabled account and the Swarmlab API enabled. \n <br>\n To learn more, see Get Started with Hybrid Platform. \n `\n var info=\"<h5>Get API Key's</h5><br>\"\n this.$swal({\n type: 'info',\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true\n })\n }\n }\n },\n\n\n actions: {\n\n\n\t}\n\n};\n</script>\n<style>\n.flex-fixed-width-item {\n flex: 0 0 100px;\n\t\t}\n.modalinfo {\n z-index: 10000000 !important;\n\tposition:fixed;\n}\n/* a container with flex-direction column */\n\n.vue-notifyjs.notifications{\n .alert{\n z-index: 100;\n }\n .list-move {\n transition: transform 0.3s, opacity 0.4s;\n }\n .list-item {\n display: inline-block;\n margin-right: 10px;\n\n }\n .list-enter-active {\n transition: transform 0.2s ease-in, opacity 0.4s ease-in;\n }\n .list-leave-active {\n transition: transform 1s ease-out, opacity 0.4s ease-out;\n }\n\n .list-enter {\n opacity: 0;\n transform: scale(1.1);\n\n }\n .list-leave-to {\n opacity: 0;\n transform: scale(1.2, 0.7);\n }\n}\n\npre {\n //background-color: rgb(255, 247, 229);\n background-color: #eff0f1;\n\t border: 1px solid blue;\n\t\t //white-space: pre-line;\n\t\t\t}\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!./myconnect-server.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!./myconnect-server.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./myconnect-server.vue?vue&type=template&id=6cf79742&\"\nimport script from \"./myconnect-server.vue?vue&type=script&lang=js&\"\nexport * from \"./myconnect-server.vue?vue&type=script&lang=js&\"\nimport style0 from \"./myconnect-server.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\nexport default component.exports","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n\n <div class=\"row\" >\n <div class=\"col-7 order-first \" >\n <br>\n <myconnect-server>\n\n </myconnect-server>\n <hybrid-lab\n v-if=\"ishybridlab\"\n >\n\n </hybrid-lab>\n </div>\n\n <div class=\"col-5 order-last\" >\n <br>\n <!--\n <adhoc-view>\n\n </adhoc-view>\n -->\n <zones-view>\n\n </zones-view>\n </div>\n </div>\n\n\n </card>\n</template>\n<script>\nimport {mapState, mapGetters, mapActions} from 'vuex'\n//import ViewNetwork from \"./mynetwork/mytable.vue\";\n//import AdhocView from \"./mynetwork/AdhocView.vue\";\nimport ZonesView from \"./manageservices/manage-service.vue\";\nimport card from '@/components/Card.vue'\nimport HybridLab from \"./manageservices/hybridlab.vue\";\nimport MyconnectServer from \"./mynetwork/myconnect-server.vue\";\nexport default {\n components: {\n HybridLab,\n ZonesView,\n card,\n MyconnectServer\n },\n data () {\n return {\n loading: false,\n ishybridlab: false,\n consoleView: 'off',\n productIndex: 1\n }\n },\n mounted() {\n\t\tthis.$root.$on('hybrid_lab_keyview', (v) => {\n if(v == 'open'){\n this.ishybridlab=true\n }else if(v == 'close'){\n this.ishybridlab=false\n }\n\t\t})\n },\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_lab_keyview')\n },\n\n\n created () {\n }\n};\n</script>\n<style>\n</style>\n\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!./myconnect-server.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!./myconnect-server.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./myconnect-server.vue?vue&type=template&id=375cff34&\"\nimport script from \"./myconnect-server.vue?vue&type=script&lang=js&\"\nexport * from \"./myconnect-server.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-7 order-first \"},[_c('br'),_c('view-network'),_c('docker-services'),_c('br'),_c('br'),_c('hr'),_c('div',{staticClass:\"row text-center\"},[_c('div',{staticClass:\"col-12\"},[_c('b',[_vm._v(\"View and Manage your local system \"),_c('span',{staticClass:\"text-info\"},[_vm._v(\"(Docker Images, Containers and Volumes)\")])])])]),_c('hr'),_c('br'),_c('docker-images'),_c('br'),_c('br'),_c('br'),_c('hr'),_c('div',{staticClass:\"row text-center\"},[_c('div',{staticClass:\"col-12\"},[_c('b',[_vm._v(\"View and Manage your local \"),_c('span',{staticClass:\"text-info\"},[_vm._v(\" Docker networks\")])])])]),_c('hr'),_c('docker-networks')],1),_c('div',{staticClass:\"col-5 order-last\"},[_c('br'),_c('adhoc-view')],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('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"author\"},[_c('img',{staticClass:\"avatar border-white\",attrs:{\"src\":require(\"@/assets/img/docker.png\"),\"alt\":\"...\"}})]),_c('v-wait',{attrs:{\"for\":\"myRunInstanceeditor\"}},[_c('template',{slot:\"waiting\"},[_c('div',[_c('img',{attrs:{\"src\":require(\"@/assets/loading.gif\")}}),_vm._v(\" Enter Editor... \")])])],2),_c('b-container',{staticClass:\"bv-example-row\",attrs:{\"fluid\":\"\"}},[_c('div',{staticClass:\"row text-center\"},[_c('div',{staticClass:\"col-12\"},[_c('b',[_vm._v(\"View and Manage your \"),_c('span',{staticClass:\"text-info\"},[_vm._v(\"Running Instances\")])])])]),_c('br'),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-5\"},[_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('div',{staticClass:\"input-group-prepend\"},[(_vm.$socket.disconnected)?_c('button',{staticClass:\"ti-unlink btn btn-outline-danger\",attrs:{\"round\":\"\",\"type\":\"button\",\"title\":\"You are disconnected from Swarmlab-hybrid\",\"disabled\":\"\"}}):_c('button',{staticClass:\"ti-link btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\",\"title\":\"You are connected swarmlab-hybrid\"},on:{\"click\":function($event){return _vm.onAction('shareinfo')}}})]),_c('div',{staticClass:\"input-group-prepend\"},[(_vm.webinterface)?_c('button',{staticClass:\"btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onAction('startweb')}}},[_vm._v(\" Web\")]):_vm._e(),(_vm.webinterfacegeneric && _vm.hybridshowdata.Names)?_c('button',{staticClass:\"btn btn-outline-info\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onAction('startwebgeneric')}}},[_vm._v(\" openGui\")]):_vm._e()]),_c('div',{staticClass:\"input-group-prepend\"},[(_vm.hybridshowdata.Names)?_c('button',{staticClass:\"btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onAction('container-connect')}}},[_vm._v(\" Connect\")]):_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\",\"disabled\":\"\"}},[_vm._v(\" Connect\")]),(_vm.hybridshowdata.Names)?_c('button',{staticClass:\"btn btn-outline-danger\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onAction('container-stop')}}},[_vm._v(\" Stop\")]):_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\",\"disabled\":\"\"}},[_vm._v(\" stop\")])]),_c('div',{staticClass:\"input-group-append\"},[(_vm.hybridshowdata.Names)?_c('button',{staticClass:\"btn btn-outline-warning\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onAction('container-logs')}}},[_vm._v(\" Logs\")]):_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\",\"disabled\":\"\"}},[_vm._v(\" Logs\")])])])]),_vm._v(\" \"),_c('div',{staticClass:\"col-1\"},[_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('div',{staticClass:\"input-group-prepend float-center\"},[(_vm.webinterfacegenericedit && _vm.hybridshowdata.Names)?_c('button',{staticClass:\"btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onAction('basedireditor')}}},[_vm._v(\" Editor\")]):_vm._e()])])]),_vm._v(\" \"),_c('div',{staticClass:\"col-1\"}),_vm._v(\" \"),_c('div',{staticClass:\"col-5\"},[_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('div',{staticClass:\"input-group-prepend float-right\"},[(_vm.hybridshowdata.Names)?_c('button',{staticClass:\"btn btn-outline-info\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onAction('basedir')}}},[_vm._v(\" Persistent Data\")]):_vm._e()]),_c('div',{staticClass:\"input-group-prepend float-right\"},[(_vm.hybridshowdata.Names)?_c('button',{staticClass:\"btn btn-outline-warning\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onAction('basebackup')}}},[_vm._v(\" Backup\")]):_vm._e()]),_c('div',{staticClass:\"input-group-prepend float-right\"},[(_vm.hybridshowdata.Names)?_c('button',{staticClass:\"btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.onAction('basebackupview')}}},[_vm._v(\" BrowseBackups\")]):_vm._e()])])])])]),_c('b-container',{attrs:{\"fluid\":\"\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-2 text-info\"},[_vm._v(\" ID \")]),_c('div',{staticClass:\"col-3 text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.hybridshowdata.ID)+\" \")]),_c('div',{staticClass:\"col-2 text-info\"},[_vm._v(\" Image \")]),_c('div',{staticClass:\"col-4 text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.hybridshowdata.Image)+\" \")])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-2 text-info\"},[_vm._v(\" Names \")]),_c('div',{staticClass:\"col-3 text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.hybridshowdata.Names)+\" \")]),_c('div',{staticClass:\"col-2 text-info\"},[_vm._v(\" RunningFor \")]),_c('div',{staticClass:\"col-4 text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.hybridshowdata.RunningFor)+\" \")])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-2 text-info\"},[_vm._v(\" Status \")]),_c('div',{staticClass:\"col-3 text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.hybridshowdata.Status)+\" \")]),_c('div',{staticClass:\"col-2 text-info\"},[_vm._v(\" CreatedAt \")]),_c('div',{staticClass:\"col-4 text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.hybridshowdata.CreatedAt)+\" \")])]),_vm._v(\" \"),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-2 text-info\"},[(_vm.hybridshowdata.Networks&&_vm.addNetworkMenou==false)?_c('button',{staticClass:\"btn btn-outline-info btn-sm\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.addNetwork(_vm.hybridshowdata,'on')}}},[_vm._v(\" Networks\")]):_vm._e(),(_vm.hybridshowdata.Networks&&_vm.addNetworkMenou==true)?_c('button',{staticClass:\"btn btn-outline-warning btn-sm\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.addNetwork(_vm.hybridshowdata,'off')}}},[_vm._v(\" Networks\")]):_vm._e()]),_c('div',{staticClass:\"col-3 text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.hybridshowdata.Networks)+\" \")]),_c('div',{staticClass:\"col-2 text-info\"},[_vm._v(\" Ports \")]),_c('div',{staticClass:\"col-4 text-secondary\"},[_vm._v(\" \"+_vm._s(_vm.hybridshowdata.Ports)+\" \")])])]),(_vm.addNetworkMenou==true)?_c('div',{staticClass:\"card border-success bg-light mb-3\",staticStyle:{\"max-width\":\"100%\"}},[_c('div',{staticClass:\"card-header\"}),_c('div',{staticClass:\"card-body text-info\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 text-info\"},[_c('h5',{staticClass:\"card-title\"},[_vm._v(\"Select network\")])]),_c('div',{staticClass:\"col-6 text-info\"},[_vm._v(\" Connect a running container to multiple networks \")])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 text-info\"},[_c('b-form-select',{attrs:{\"options\":_vm.localNetworkoptions,\"multiple\":\"\",\"select-size\":4},model:{value:(_vm.selectedNetworks),callback:function ($$v) {_vm.selectedNetworks=$$v},expression:\"selectedNetworks\"}}),_c('div',{staticClass:\"mt-3\"},[_vm._v(\"Selected: \"),_c('strong',[_vm._v(_vm._s(_vm.selectedNetworks))])])],1),_c('div',{staticClass:\"col-6 text-info\"},[_c('img',{staticClass:\"border-white img-thumbnail\",attrs:{\"src\":require(\"@/assets/img/dockernetwork.png\"),\"alt\":\"...\"}})])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-6 text-info\"},[_c('button',{staticClass:\"btn btn-outline-warning btn-sm\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.updateNetwork(_vm.hybridshowdata,'update')}}},[_vm._v(\" Update\")])])])])]):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nexport const ApiConfigGUI = [\n {\n \"name\": \"microservice-firefox\",\n \"automated\": true,\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-xelatexthesis\",\n \"automated\": true,\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-wireshark\",\n \"automated\": true,\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-oletools\",\n \"automated\": true,\n \"version\": 0,\n \"port\": 0\n }\n];\n","\n\nexport const ApiConfigWEB = [\n {\n \"name\": \"just-test-info-no-service\",\n \"large\": 'no or text',\n \"custom\": 'true',\n \"customostext\": 'Base OS: python:3.11-rc-alpine3.15',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": false,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http',\n \"app1\": false,\n \"link1\": 'Click here to open rstudio',\n \"url1\": 'http',\n \"port1\": \"8787/tcp\",\n \"app2\": false,\n \"link2\": 'Click here to open app text',\n \"url2\": 'http',\n \"port2\": \"8788/tcp\",\n \"app3\": false,\n \"link3\": 'Click here to open app text',\n \"url3\": 'http',\n \"port3\": \"8789/tcp\"\n },\n {\n \"name\": \"microservice-etherpad\",\n \"app\": true,\n \"url\": 'http',\n \"port\": '9001/tcp',\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"jitsiweb\",\n \"app\": true,\n \"url\": 'https',\n \"port\": \"443/tcp\",\n \"ttyd\": false,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-novncfull\",\n \"app\": true,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": false,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-novnclite\",\n \"app\": true,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-mongoexpress\",\n \"app\": true,\n \"url\": 'http',\n \"port\": \"8081/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-gns3\",\n \"custom\": 'true',\n \"customostext\": 'Base OS: ubuntu:18.04.6 LTS ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": true,\n \"url\": 'http',\n \"port\": \"8001/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-ubuntu\",\n \"custom\": 'true',\n \"customostext\": 'Base OS: ubuntu:20.04.3 LTS',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"8001/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-ubuntugui\",\n \"app\": true,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": false,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-numpylite\",\n \"custom\": 'true',\n \"customostext\": 'Base OS: debian:buster',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-nodejs\",\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine:3.13',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-nginx\",\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-ipterm\",\n \"custom\": 'true',\n \"customostext\": 'Base OS: debian:jessie ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-firefox\",\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-haproxy\",\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-xelatexthesis\",\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine:3.15 ',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-snmpsim\",\n \"custom\": 'true',\n \"customostext\": 'Base OS: debian:bullseye ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-ansible\",\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine:3.14 ',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-wireshark\",\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-redisserver\",\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-mongoserver\",\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-filemanager\",\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-powershell\",\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine:3.14 ',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-dvwa\",\n \"app\": true,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-hping3\",\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine:3.15 ',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-volatilitylinux\",\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-volatilitywindows\",\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-twint\",\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-twintexplorer\",\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-octave\",\n \"large\": 'The build will take some time, so be patient!',\n \"custom\": 'true',\n \"customostext\": 'Base OS: ubuntu:18.04.6 LTS ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": true,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-r\",\n \"large\": 'Note that this image is somewhat heavy (~2GB). It can take some time to build the Instance. If you think the proccess is frosen you can reload the page in your Browser',\n \"custom\": 'true',\n \"customostext\": 'Base OS: ubuntu:18.04.6 LTS ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": true,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http',\n \"app1\": true,\n \"link1\": 'Click here to open rstudio',\n \"url1\": 'http',\n \"port1\": \"8787/tcp\"\n },\n {\n \"name\": \"microservice-rust\",\n \"large\": 'no',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-julia\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine3.15',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-lua\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine3.12',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-luajit\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine3.12',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-nodesqlite3\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: ubuntu:20.04 LTS ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-electron\",\n \"large\": 'Note that this image is somewhat heavy (~1.5GB). It can take some time to build the Instance. If you think the proccess is frosen you can reload the page in your Browser',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-rubyfull\",\n \"large\": 'Note that this image is somewhat heavy (~1GB). It can take some time to build the Instance. If you think the proccess is frosen you can reload the page in your Browser',\n \"custom\": 'true',\n \"customostext\": 'Base OS: debian:bullseye ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-ruby\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine3.15',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-golangfull\",\n \"large\": 'Note that this image is somewhat heavy (~1GB). It can take some time to build the Instance. If you think the proccess is frosen you can reload the page in your Browser',\n \"custom\": 'true',\n \"customostext\": 'Base OS: debian:bullseye ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-golang\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine3.15',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-mariadb\",\n \"large\": 'no',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"6901/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-adminer\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine3.15',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": true,\n \"url\": 'http',\n \"port\": \"8080/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-gcc\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: debian:bullseye ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"8080/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-opencv\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: debian:buster',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"8080/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-phpcli\",\n \"large\": 'no',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"8080/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-phpapache\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: debian:bullseye ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http',\n \"app2\": true,\n \"link2\": 'Click to run your PHP code over https',\n \"url2\": 'https',\n \"port2\": \"443/tcp\",\n \"app1\": true,\n \"link1\": 'Click to run your PHP code over http',\n \"url1\": 'http',\n \"port1\": \"80/tcp\"\n },\n {\n \"name\": \"microservice-wordpress\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: debian:bullseye ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": true,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-oletools\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: python:3.11-rc-alpine3.15',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-dfirntfs\",\n \"large\": 'no',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-peframe\",\n \"large\": 'The build will take some time, so be patient!',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-libvshadow\",\n \"large\": 'no',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-regripper\",\n \"large\": 'no',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-jsshell\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: python:3.11-rc-alpine3.15',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-alpine313\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine3.13',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-alpine314\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine3.14',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-alpine315\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine3.15',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-debianbookworm\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: debian:bookworm ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-debianbullseye\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: debian:bullseye ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-debianbuster\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: debian:buster ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-awscli\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: alpine3.13',\n \"customos\": 'apk add --no-cache net-tools ',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-perl\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: debian:bullseye ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n {\n \"name\": \"microservice-perlfull\",\n \"large\": 'no',\n \"custom\": 'true',\n \"customostext\": 'Base OS: debian:bullseye ',\n \"customos\": 'apt-get update && apt-get install -y --no-install-recommends net-tools',\n \"customshtext\": 'It is executed after all the normal builds',\n \"customsh\": ' #!/bin/sh',\n \"app\": false,\n \"url\": 'http',\n \"port\": \"80/tcp\",\n \"ttyd\": true,\n \"ttydport\": \"3787/tcp\",\n \"ttydurl\": 'http'\n },\n];\n","\n\nexport const ApiConfigEDIT = [\n {\n \"name\": \"microservice-xelatexthesis\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-ansible\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-nodejs\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-numpylite\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-rust\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-julia\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-lua\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-luajit\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-nodesqlite3\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-electron\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-ruby\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-rubyfull\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-golang\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-golangfull\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-gcc\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-opencv\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-phpcli\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-jsshell\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-phpapache\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-alpine313\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-alpine314\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-alpine315\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-debianbookworm\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-debianbuster\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-debianbullseye\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-awscli\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-perl\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n },\n {\n \"name\": \"microservice-perlfull\",\n \"automated\": true,\n \"url\": 'http',\n \"version\": 0,\n \"port\": 0\n }\n];\n","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n <div class=\"author\">\n <img class=\"avatar border-white\" src=\"@/assets/img/docker.png\" alt=\"...\">\n </div>\n\n <v-wait for=\"myRunInstanceeditor\">\n <template slot=\"waiting\">\n <div>\n <img src=\"@/assets/loading.gif\" />\n Enter Editor...\n </div>\n </template>\n </v-wait>\n\n <b-container fluid class=\"bv-example-row\">\n <div class=\"row text-center\">\n <div class=\"col-12\">\n <b>View and Manage your <span class=\"text-info\">Running Instances</span></b>\n </div>\n </div>\n\n<br>\n <div class=\"row\">\n <div class=\"col-5\">\n <div class=\"input-group input-group-sm sm-3\">\n <div class=\"input-group-prepend\">\n <button\n v-if=\"$socket.disconnected\"\n class=\"ti-unlink btn btn-outline-danger\"\n round\n type=\"button\"\n title=\"You are disconnected from Swarmlab-hybrid\"\n disabled\n >\n </button>\n <button\n v-else\n class=\"ti-link btn btn-outline-success\"\n round\n type=\"button\"\n title=\"You are connected swarmlab-hybrid\"\n @click=\"onAction('shareinfo')\"\n >\n </button>\n </div>\n <div class=\"input-group-prepend\">\n <button\n v-if=\"webinterface\"\n class=\"btn btn-outline-success\"\n round\n type=\"button\"\n @click=\"onAction('startweb')\"\n >\n Web</button>\n <button\n v-if=\"webinterfacegeneric && hybridshowdata.Names\"\n class=\"btn btn-outline-info\"\n round\n type=\"button\"\n @click=\"onAction('startwebgeneric')\"\n >\n openGui</button>\n </div>\n <div class=\"input-group-prepend\">\n <button\n v-if=\"hybridshowdata.Names\"\n class=\"btn btn-outline-success\"\n round\n type=\"button\"\n @click=\"onAction('container-connect')\"\n >\n Connect</button>\n <button\n v-else\n class=\"btn btn-outline-secondary\"\n round\n type=\"button\"\n \t\t\t\t\t\t\t\t\t\t\t\tdisabled\n >\n Connect</button>\n <button\n v-if=\"hybridshowdata.Names\"\n class=\"btn btn-outline-danger\"\n round\n type=\"button\"\n @click=\"onAction('container-stop')\"\n >\n Stop</button>\n <button\n v-else\n class=\"btn btn-outline-secondary\"\n round\n type=\"button\"\n \t\t\t\t\t\t\t\t\t\t\t\tdisabled\n >\n stop</button>\n </div>\n\n <div class=\"input-group-append\">\n <button\n v-if=\"hybridshowdata.Names\"\n class=\"btn btn-outline-warning\"\n round\n type=\"button\"\n @click=\"onAction('container-logs')\"\n >\n Logs</button>\n <button\n v-else\n class=\"btn btn-outline-secondary\"\n round\n type=\"button\"\n \t\t\t\t\t\t\t\t\t\t\t\tdisabled\n >\n Logs</button>\n </div>\n </div>\n\n </div> <!-- col -->\n <div class=\"col-1\">\n <div class=\"input-group input-group-sm sm-3\">\n <div class=\"input-group-prepend float-center\">\n <button\n v-if=\"webinterfacegenericedit && hybridshowdata.Names\"\n class=\"btn btn-outline-success\"\n round\n type=\"button\"\n @click=\"onAction('basedireditor')\"\n >\n Editor</button>\n </div>\n </div>\n </div> <!-- col -->\n <div class=\"col-1\">\n </div> <!-- col -->\n <div class=\"col-5\">\n <div class=\"input-group input-group-sm sm-3\">\n <div class=\"input-group-prepend float-right\">\n <button\n v-if=\"hybridshowdata.Names\"\n class=\"btn btn-outline-info\"\n round\n type=\"button\"\n @click=\"onAction('basedir')\"\n >\n Persistent Data</button>\n </div>\n <div class=\"input-group-prepend float-right\">\n <button\n v-if=\"hybridshowdata.Names\"\n class=\"btn btn-outline-warning\"\n round\n type=\"button\"\n @click=\"onAction('basebackup')\"\n >\n Backup</button>\n </div>\n <div class=\"input-group-prepend float-right\">\n <button\n v-if=\"hybridshowdata.Names\"\n class=\"btn btn-outline-success\"\n round\n type=\"button\"\n @click=\"onAction('basebackupview')\"\n >\n BrowseBackups</button>\n </div>\n </div>\n </div> <!-- col -->\n\n </div> <!-- row -->\n\n\n\n </b-container>\n <b-container fluid>\n <div class=\"row\" >\n <div class=\"col-2 text-info\" >\n ID\n </div>\n <div class=\"col-3 text-secondary\" >\n {{ hybridshowdata.ID }}\n </div>\n <div class=\"col-2 text-info\" >\n Image \n </div>\n <div class=\"col-4 text-secondary\" >\n {{ hybridshowdata.Image }}\n </div>\n </div> <!-- row -->\n <div class=\"row\" >\n <div class=\"col-2 text-info\" >\n Names\n </div>\n <div class=\"col-3 text-secondary\" >\n {{ hybridshowdata.Names }}\n </div>\n <div class=\"col-2 text-info\" >\n RunningFor\n </div>\n <div class=\"col-4 text-secondary\" >\n {{ hybridshowdata.RunningFor }}\n </div>\n </div> <!-- row -->\n <div class=\"row\" >\n\n <div class=\"col-2 text-info\" >\n Status\n </div>\n <div class=\"col-3 text-secondary\" >\n {{ hybridshowdata.Status }}\n </div>\n\n <div class=\"col-2 text-info\" >\n CreatedAt\n </div>\n <div class=\"col-4 text-secondary\" >\n {{ hybridshowdata.CreatedAt }}\n </div>\n </div> <!-- row -->\n <div class=\"row\" >\n\n <div class=\"col-2 text-info\" >\n <button\n v-if=\"hybridshowdata.Networks&&addNetworkMenou==false\"\n class=\"btn btn-outline-info btn-sm\"\n round\n type=\"button\"\n @click=\"addNetwork(hybridshowdata,'on')\"\n >\n Networks</button>\n <button\n v-if=\"hybridshowdata.Networks&&addNetworkMenou==true\"\n class=\"btn btn-outline-warning btn-sm\"\n round\n type=\"button\"\n @click=\"addNetwork(hybridshowdata,'off')\"\n >\n Networks</button>\n </div>\n <div class=\"col-3 text-secondary\" >\n {{ hybridshowdata.Networks }}\n </div>\n\n <div class=\"col-2 text-info\" >\n Ports\n </div>\n <div class=\"col-4 text-secondary\" >\n {{ hybridshowdata.Ports }}\n </div>\n </div> <!-- row -->\n<!--\n'{\"ID\":\"{{ .ID }}\", \"Image\": \"{{ .Image }}\", \"Names\":\"{{ .Names }}\", \"Ports\":\"{{.Ports}}\", \n\"Networks\":\"{{.Networks}}\", \"Status\":\"{{.Status}}\",\"RunningFor\":\"{{.RunningFor}}\",\"CreatedAt\":\"{{.CreatedAt}}\"}'\n-->\n </b-container>\n\n <!-- Networks -->\n\n<div class=\"card border-success bg-light mb-3\" style=\"max-width: 100%;\"\n\tv-if=\"addNetworkMenou==true\"\n>\n <div class=\"card-header\"></div>\n <div class=\"card-body text-info\">\n <div class=\"row\">\n <div class=\"col-6 text-info\">\n \t\t\t\t<h5 class=\"card-title\">Select network</h5>\n </div>\n <div class=\"col-6 text-info\">\n\t\t\t\t\t\tConnect a running container to multiple networks\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-6 text-info\">\n\t\t\t\t\t\t<b-form-select v-model=\"selectedNetworks\" :options=\"localNetworkoptions\" multiple :select-size=\"4\"></b-form-select>\n\t\t\t\t\t\t<div class=\"mt-3\">Selected: <strong>{{ selectedNetworks }}</strong></div>\n </div>\n <div class=\"col-6 text-info\">\n \t\t\t<img class=\"border-white img-thumbnail\" src=\"@/assets/img/dockernetwork.png\" alt=\"...\">\n </div>\n </div>\n\n <div class=\"row\">\n <div class=\"col-6 text-info\">\n <button\n class=\"btn btn-outline-warning btn-sm\"\n round\n type=\"button\"\n @click=\"updateNetwork(hybridshowdata,'update')\"\n >\n Update</button>\n </div>\n </div>\n\n\n </div>\n</div>\n\n\n\n </card>\n</template>\n<script>\nimport store from '@/store/index'\nimport {mapState, mapGetters, mapActions,dispatch} from 'vuex'\nimport Vue from 'vue'\nimport card from '@/components/Card.vue'\nimport {ApiConfig} from \"@/config/index\";\nimport {ApiConfigGUI} from \"@/config/index-gui\";\nimport {ApiConfigWEB} from \"@/config/index-web\";\nimport {ApiConfigEDIT} from \"@/config/index-editor\";\nimport { extend } from 'vee-validate';\nimport { required, alpha_num } from 'vee-validate/dist/rules';\n\n// No message specified.\nextend('alpha_num', alpha_num);\n\n// Override the default message.\nextend('required', {\n ...required,\n message: 'This field is required'\n});\n\nexport default {\n components: {\n card\n\t},\n props: {\n },\n data() {\n return{\n addNetworkMenou:false,\n localNetworks:[],\n selectedNetworks:[],\n localNetworkoptions:[],\n localNetworkdefault:'',\n\t\t webinterface: false,\n\t\t webinterfacegeneric: false,\n\t\t webinterfacegenericedit: false,\n\t\t webinterface_port: '',\n STATUS:{},\n editor_instance:{\n 'start':'',\n 'port':''\n },\n CONFIG:{\n 'status':'',\n 'workerkey':'',\n 'swarmlab_public_wgkey':'',\n 'server_ip':'',\n 'allowed_ips':'',\n 'wg_port':'',\n 'wg_ip':'',\n 'swarm_ip':'',\n 'privatekey':'',\n 'publickey':'',\n 'workerkey':'',\n 'privatekey':'',\n 'publickey':'',\n 'server_ip':''\n },\n CONFIGallowed_ips:'',\n swarmlabnamecustomstart:{},\n swarmlabnamecustomdata:{},\n swarmlabnamecustom:'',\n swarmlabnamecustomservice:'',\n swarmlabnamecustomuser:'',\n swarmlabname:'swarmlab-sec',\n swarmlabname_port:'',\n swarmlabname_size:3,\n swarmlabname_git:'',\n // run on \n hybridshowdata:{},\n hybridshowdatashare:{},\n issocket:'close',\n setFilter: {},\n searchFor: {},\n resetFilter: {}\n\t \n\t\t}\n },\n beforeMount () {\n this.socketopen();\n this.socketauthenticate()\n //console.log('send')\n },\n\tmounted() {\n\t\tthis.$root.$on('hybrid_show_info', (data) => {\n\t\t\tthis.webinterface = false\n\t\t\tthis.webinterfacegeneric = false\n\t\t\tthis.webinterfacegenericedit = false\n\t\t\tthis.$nextTick(function () {\n this.hybridshowdata = data\n\n var filterju = `microservice-jupyter`\n var grepju = new RegExp(filterju);\n\n\t\t\t\t\t\tif(grepju.test(data.Networks) && grepju.test(data.Names)){\n\t\t\t\t\t\t\tthis.webinterface = true\n\t\t\t\t\t\t\tthis.webinterface_port = data.Ports\n //console.log(JSON.stringify(this.webinterface_port))\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tthis.webinterface = false\n\t\t\t\t\t\t\tthis.webinterface_port = ''\n\t\t\t\t\t\t}\n var urlgeniGUIEDITOR = this.hybridshowdata.Names.split('_');\n // EDITOR \n for(var i = 0; i < ApiConfigEDIT.length; i++) {\n var obGUIEDIT = ApiConfigEDIT[i];\n\t\t\t\t\t\tif(obGUIEDIT.name == urlgeniGUIEDITOR[0]){\n\t\t\t\t\t\t\tthis.webinterfacegenericedit = true\n\t\t\t\t\t\t}\n }\n\n//EDITORcustom\n (async () => {\n var strbase = '_masterservice_1'\n var sRegExInput1 = new RegExp(strbase, 'g'); \n var getcustomnames = this.hybridshowdata.Names.replace(sRegExInput1 ,'');\n var logdatacustom = await store.dispatch(\"pipelineLLO/getinstallcustom\",{\n token:this.token,\n instance:getcustomnames\n })\n //console.log(logdatacustom.data);\n if(logdatacustom.data && logdatacustom.data.data){\n //console.log(logdatacustom.data.data);\n var urlgeniGUIEDITOR = this.hybridshowdata.Names.split('_');\n\t\t\t\t\tthis.webinterfacegenericedit = true\n }\n})();\n var urlgeniGUI = this.hybridshowdata.Names.split('_');\n // GUI firefox \n for(var i = 0; i < ApiConfigGUI.length; i++) {\n var obGUI = ApiConfigGUI[i];\n\t\t\t\t\t\tif(obGUI.name == urlgeniGUI[0]){\n\t\t\t\t\t\t\tthis.webinterfacegeneric = true\n //console.log(obGUI.name);\n\t\t\t\t\t\t}\n }\n/*\n var filterjugeneric = `microservice-firefox`\n var grepju1 = new RegExp(filterjugeneric);\n\n\t\t\t\t\t\tif(grepju1.test(data.Networks) && grepju1.test(data.Names)){\n\t\t\t\t\t\t\tthis.webinterfacegeneric = true\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tthis.webinterfacegeneric = false\n\t\t\t\t\t\t}\n*/\n this.addNetworkMenou = false\n this.localNetworks = []\n this.selectedNetworks = []\n this.localNetworkoptions = []\n this.localNetworkdefault = ''\n //console.log(JSON.stringify(this.hybridshowdata))\n\t\t\t})\n\t\t})\n// from available services socket run here\n\t\tthis.$root.$on('hybrid_start_instance', (data) => {\n this.swarmlabname = data.swarmlabname\n if(data.size){\n this.swarmlabname_size = data.size\n }\n if(data.port){\n this.swarmlabname_port = data.port\n }\n //console.log('RUN exec '+JSON.stringify(this.swarmlabname))\n\t\t\t\tthis.onAction('start')\n\t\t})\n// from available servicescustom socket run here\n\t\tthis.$root.$on('hybrid_start_instance_custom', (data) => {\n this.swarmlabnamecustomdata = data.baseservicedata\n //this.hybridoptions.baseservicedata\n //this.swarmlabname = data.swarmlabname\n this.swarmlabnamecustomstart = data\n if(data.size){\n this.swarmlabname_size = data.size\n }\n if(data.port){\n this.swarmlabname_port = data.port\n }\n //console.log('RUN exec '+JSON.stringify(this.swarmlabname))\n\t\t\t\tthis.onAction('startcustom')\n\t\t})\n\t\tthis.$root.$on('hybrid_start_instance_storage', (data) => {\n var obj = {}\n obj.action = 'up'\n obj.token = this.token\n obj.swarmlabname = data.swarmlabname\n obj.password = data.password\n this.$socket.client.open();\n this.$socket.client.emit('start_storage', obj);\n\t\t})\n\t\tthis.$root.$on('hybrid_start_instance_poc', (data) => {\n var obj = {}\n obj.action = 'up'\n obj.token = this.token\n obj.swarmlabname = data.swarmlabname\n obj.password = data.password\n this.$socket.client.open();\n this.$socket.client.emit('start_poc', obj);\n\t\t})\n // build\n\t\tthis.$root.$on('SERVER_build_image', (obj) => {\n this.$socket.client.open();\n this.$socket.client.emit('build_image', obj);\n\t\t})\n\t\tthis.$root.$on('SERVER_build_vmlist', (data) => {\n var obj = {}\n obj.action = 'up'\n obj.token = this.token\n obj.kill = 2\n this.$socket.client.open();\n this.$socket.client.emit('build_vmlist', obj);\n\t\t})\n\t\tthis.$root.$on('SERVER_build_kill', (data) => {\n var obj = {}\n obj.action = 'up'\n obj.token = this.token\n obj.kill = data.pid\n this.$socket.client.open();\n this.$socket.client.emit('build_kill', obj);\n\t\t})\n// from available services socket run here\n\t\tthis.$root.$on('hybrid_install_instance', (data) => {\n this.swarmlabname = data.swarmlabname\n this.swarmlabname_git = data.git\n //this.swarmlabname_port = data.port\n\t\t\tthis.onAction('install')\n\t\t})\n// from available myservices socket run here\n\t\tthis.$root.$on('hybrid_install_instance_custom', (data) => {\n this.swarmlabnamecustomdata = data.baseservicedata\n this.swarmlabnamecustom = data.baseservice\n this.swarmlabnamecustomservice = data.service\n this.swarmlabnamecustomuser = data.user\n this.swarmlabname_git = data.git\n //this.swarmlabname_port = data.port\n\t\t\tthis.onAction('installcustom')\n\t\t})\n// from available storage socket run here\n\t\tthis.$root.$on('hybrid_install_instance_storage', (data) => {\n //this.swarmlabname = data.swarmlabname\n //this.swarmlabname_git = data.git\n var obj = {}\n obj.action = 'up'\n obj.token = this.token\n obj.swarmlabname = data.swarmlabname\n obj.git = data.git\n this.$socket.client.open();\n this.$socket.client.emit('installstorage', obj);\n\t\t})\n// from available services socket run here\n\t\tthis.$root.$on('hybrid_connect_server', (data) => {\n\t\t\t//this.onAction('create-wirequard')\n this.$socket.client.emit('get-serverconfig');\n\t\t})\n// from available services socket run here\n\t\tthis.$root.$on('hybrid_stop_instance', (data) => {\n this.swarmlabname = data\n //console.log('RUN exec '+JSON.stringify(this.swarmlabname))\n\t\t\t\tthis.onAction('stop')\n\t\t})\n// from available storage socket run here\n\t\tthis.$root.$on('hybrid_stop_instance_storage', (data) => {\n //this.swarmlabname = data\n //console.log('RUN exec '+JSON.stringify(this.swarmlabname))\n\t\t\t\t//this.onAction('stop')\n this.$socket.client.emit('stop_storage', data);\n\t\t})\n// from available poc socket run here\n\t\tthis.$root.$on('hybrid_stop_instance_poc', (data) => {\n //this.swarmlabname = data\n //console.log('RUN exec '+JSON.stringify(this.swarmlabname))\n\t\t\t\t//this.onAction('stop')\n this.$socket.client.emit('stop_poc', data);\n\t\t})\n\t},\n\tcreated() {\n var url_string = window.location.href\n var url = new URL(url_string);\n this.token = url.searchParams.get(\"token\");\n //console.log(\"token \"+ this.token);\n var log = store.dispatch(\"pipelineLLO/settoken\",{\n token:this.token\n })\n this.socketopen();\n\n\t},\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_show_info')\n\t\tthis.$root.$off('hybrid_start_instance')\n\t\tthis.$root.$off('hybrid_start_instance_custom')\n\t\tthis.$root.$off('hybrid_stop_instance')\n\t\tthis.$root.$off('hybrid_connect_server')\n\t\tthis.$root.$off('hybrid_install_instance')\n\t\tthis.$root.$off('hybrid_install_instance_custom')\n\t\tthis.$root.$off('hybrid_install_instance_storage')\n\t\tthis.$root.$off('SERVER_build_vmlist')\n\t\tthis.$root.$off('SERVER_build_kill')\n\t\tthis.$root.$off('SERVER_build_image')\n },\n computed: {\n\t\thttpOptions() {\n\t\t\tvar token = this.token\n\t\t\t var p=\"headers: {Authorization: token}}\"; //table props -> :http-options=\"httpOptions\"\n\t\t\t return {headers: {Authorization: 'Bearer ' + token}} //table props -> :http-options=\"httpOptions\"\n\t },\n\n\t},\n\n methods: {\n\t\t\tasync updateNetwork(container,action){\n // console.log(JSON.stringify(container));\n // console.log(JSON.stringify('selected :' + this.selectedNetworks));\n\t\t\t\t\tvar log = await store.dispatch(\"pipelineLLO/updatenetworks\",{\n\t\t\t\t\t\tnetworks:this.selectedNetworks,\n\t\t\t\t\t\tdefaultnetwork:this.localNetworkdefault,\n\t\t\t\t\t\tcontainer:container.ID\n\t\t\t\t\t})\n this.$root.$emit('hybrid_refresh_networktable')\n\t\t\t\t\t this.hybridshowdata = {}\n\t\t\t\t\t this.addNetworkMenou = false\n\t\t\t\t\t this.localNetworks = []\n\t\t\t\t\t this.selectedNetworks = []\n\t\t\t\t\t this.localNetworkoptions = []\n\t\t\t\t\t this.localNetworkdefault = ''\n // console.log(JSON.stringify(log.data.data));\n\t\t\t},\n\t\t\tasync addNetwork(container,action){\n if(action == 'on'){\n \tthis.addNetworkMenou = true\n\t\t\t\t\tvar log = await store.dispatch(\"pipelineLLO/getnetworks\",{\n\t\t\t\t\t\tinstance:container.ID\n\t\t\t\t\t})\n this.localNetworks = log.data.data\n\t\t\t\t\tvar searchnet = ''\n this.localNetworkoptions = []\n\t\t\t\t\t\t\tfor(var i = 0; i < this.localNetworks.length; i++) {\n this.localNetworkdefault = this.localNetworks[i].NetworkMode[0]\n var NET = {}\n\t\t\t\t\t\t\t\t NET.text = this.localNetworks[i].Name\n NET.value = this.localNetworks[i].Name\n\n\t\t\t\t\t searchnet = new RegExp(this.localNetworks[i].NetworkMode[0]); \n //console.log(this.localNetworks[i].NetworkMode[0] +' - ' + this.localNetworks[i].Name );\n\t\t\t\t\t\t\t\t\t if(searchnet.test(this.localNetworks[i].Name)){\n \tNET.disabled = true\n\t\t\t\t\t\t\t\t\t\t}else{\n \tNET.disabled = false\n\t\t\t\t\t\t\t\t\t\t}\n\n this.localNetworkoptions.push(NET)\n\t\t\t\t\t\t\t}\n // console.log(JSON.stringify(this.localNetworks));\n\t\t\t\t}else if(action == 'off'){\n \tthis.addNetworkMenou = false\n\t\t\t\t}\n // console.log(container);\n },\n\t\tasync backupAndClose(result){\n \t\tif (result.isConfirmed) {\n var log = await store.dispatch(\"pipelineLLO/runbackup\",{\n instance: this.hybridshowdata.Names\n })\n }else {\n\t\t\t\t\tconsole.log('no') \n }\n\t },\n\t\t\tasync onAction(action){\n if(action == 'start'){\n var obj = {}\n obj.action = 'up'\n obj.token = this.token\n obj.swarmlabname = this.swarmlabname\n obj.swarmlabname_size = this.swarmlabname_size\n obj.swarmlabname_port = this.swarmlabname_port\n //this.$socket.client.emit('action', obj);\n //this.$socket.client.emit('actionstart', obj);\n this.$socket.client.open();\n //this.$socket.client.emit('start', this.swarmlabname);\n this.$socket.client.emit('start', obj);\n //console.log('start ' + JSON.stringify(log))\t\n //console.log('startobj ' + JSON.stringify(obj))\t\n ////console.log(this.$socket.client.connect())\n }else if(action == 'startcustom'){\n this.$socket.client.open();\n //this.$socket.client.emit('start', this.swarmlabnamecustomstart);\n this.swarmlabnamecustomstart.baseservicedata = this.swarmlabnamecustomdata\n this.$socket.client.emit('startcustom', this.swarmlabnamecustomstart);\n }else if(action == 'basedireditor'){\n this.$wait.start('myRunInstanceeditor');\n //console.log('volumes-from-------- ' + JSON.stringify(this.hybridshowdata.Names))\t\n var log = await store.dispatch(\"pipelineLLO/runeditor\",{\n token:this.token,\n instance:this.hybridshowdata.Names\n })\n //console.log('start editor-------- ' + JSON.stringify(this.hybridshowdata.Names))\t\n //console.log('start token-------- ' + JSON.stringify(log.data.port))\t\n this.$root.$emit('SERVER_hybrid_table_stop')\n\n\n }else if(action == 'basebackupview'){\n var info=`<h5><b>Backups</b><br> \n <br>\n `\n info +='<p class=\"text-secondary\">'\ninfo +=' <b>Click on hyperlink opens Directory in new tab</b></p>'\n info +='<b> <a class=\"text-info\" href=\"http://127.0.0.1:3383/\" target=\"_blank\">View Backups</a></b>'\n info +='<br>'\n this.$swal({\n type: 'Info',\n title: 'Info!',\n icon:'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n }else if(action == 'basebackup'){\n var info = \"Create a full backup of persistent data: <br><br> <p><b>\" + this.hybridshowdata.Names\n info += \"</b></p><br>\"\n this.$swal({\n type: 'info',\n html: info,\n icon:'info',\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: true,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: false,\n confirmButtonText: 'Yes!'\n }).then((result)=> {\n this.backupAndClose(result);\n })\n }else if(action == 'basedir'){\n var log = await store.dispatch(\"pipelineLLO/getmountinfo\",{\n instance:this.hybridshowdata.Names\n })\n var pocmypathtmp1 = log.data.mypath\n var myNetwork1 = this.hybridshowdata.Networks.split('_')\n var pocmypath1 = pocmypathtmp1 + myNetwork1[0]\nvar pocmypathinfo1 = ''\nif(pocmypath1 != ''){\n pocmypathinfo1 += '<b>Project BaseDir:</b> '+pocmypath1\n}\n var info=`<h5><b>Base Directory - Persistent data</b><br> \n <br>\n `\n var myNetworkiservices = this.hybridshowdata.Networks.split('_')\n info +='<p class=\"text-primary\">'\ninfo +=' <b>Click on hyperlink opens Directory in new tab</b></p>'\ninfo +=' <table>'\ninfo +='<tr><td><b>Local</b></td><td><i>Container</i></td></tr>'\n var datajson = log.data.test[0]\n var extendsearch = new RegExp(myNetworkiservices[0]);\n var extendsearch1 = new RegExp('sec_bootstrap');\n for(var i = 0; i < datajson.length; i++) {\n if(datajson[i].Type == 'bind'){\n\t\t\t\t\t\t\t if(extendsearch.test(datajson[i].Source) && !extendsearch1.test(datajson[i].Source) ){\n var basedir1 = datajson[i].Source.indexOf(myNetworkiservices[0]);\n info +='<tr style=\"outline: thin solid\"><td><b> <a class=\"text-info\" href=\"http://127.0.0.1:3382/'+datajson[i].Source.slice(basedir1)+'\" target=\"_blank\">'+datajson[i].Source+'</a></b></td><td><i>' + datajson[i].Destination+' </i></td></tr>'\n }\n }\n }\ninfo +=' </table>'\ninfo += '<br><p>'\ninfo += pocmypathinfo1\ninfo += '</p>'\n this.$swal({\n type: 'Info',\n //title: 'Info!',\n icon:'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n }else if(action == 'shareinfo'){\n var openuerlju = 'no'\n var search = 'microservice-jupyter'\n var extenderror = new RegExp(search);\n\t\t\t\t\t\t\tif(extenderror.test(this.hybridshowdata.Names)){\n\t\t\t\t\t\t\t\t\tvar log = await store.dispatch(\"pipelineLLO/getjupyterinfo\",{\n\t\t\t\t\t\t\t\t\t\tinstance:this.hybridshowdata.Names\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\tif(log.data.test){\n\t\t\t\t\t\t\t\t\t\t\t//get token\n\t\t\t\t\t\t\t\t\t\t\tvar splitted = log.data.test.split('?token='); \n\t\t\t\t\t\t\t\t\t\t\tvar jutoken = splitted[1];\n\t\t\t\t\t\t\t\t\t\t\t//cut from home dir\n\t\t\t\t\t\t\t\t\t\t\tvar splitted1 = jutoken.split(' '); \n\t\t\t\t\t\t\t\t\t\t\tvar jutokenok = splitted1[0];\n\t\t\t\t\t\t\t\t\t\t\tvar juurl = this.webinterface_port.split('->'); \n\t\t\t\t\t\t\t\t\t\t\t// trim it\n\t\t\t\t\t\t\t\t\t\t\tvar juurlok = juurl[0].trim();\n\t\t\t\t\t\t\t\t\t\t\t//build url\n\t\t\t\t\t\t\t\t\t\t\topenuerlju = `http://${juurlok}/?token=${jutokenok}`\n\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t}\n var log = await store.dispatch(\"pipelineLLO/getshareinfo\",{\n instance:this.hybridshowdata.Names\n })\n //console.log('logsserver1---------- ' + JSON.stringify(log.data.network))\t\n this.hybridshowdatashare = log.data.network\n var IP = this.hybridshowdatashare.IPv4Address.split('/');\n var search1 = '->'\n var search3 = ','\n var extenderror1 = new RegExp(search1);\n var extenderror3 = new RegExp(search3);\n var info = ''\n // url port einai polla\n\t\t\t\t\t\tif(extenderror1.test(this.hybridshowdata.Ports) ){ \n try {\n if(extenderror3.test(this.hybridshowdata.Ports)){\n var PORTSport = this.hybridshowdata.Ports.split(',');\n for(var iaa = 0; iaa < PORTSport.length; iaa++){\n var PORTStmp = PORTSport[iaa].split('->');\n var PORTS = PORTSport[iaa].split('/');\n if( openuerlju == 'no'){\n info += `<h5>URL: ${IP[0]}:${PORTS[0]}</h5>`\n }else{\n info += `<h5>URL: ${IP[0]}:${PORTS[0]}/?token=${jutokenok}</h5>`\n }\n }\n }else{\n var PORTStmp = this.hybridshowdata.Ports.split('->');\n var PORTS = PORTStmp[1].split('/');\n var info = ''\n if( openuerlju == 'no'){\n info = `<h5>URL: ${IP[0]}:${PORTS[0]}</h5>`\n }else{\n info = `<h5>URL: ${IP[0]}:${PORTS[0]}/?token=${jutokenok}</h5>`\n }\n }\n } catch (e) {\n }\n\t\t\t\t\t }\n\t\t\t\t\t\t\tthis.$swal({\n\t\t\t\t\t\t\t\ttitle: '<strong>Share info</strong>',\n\t\t\t\t\t\t\t\ttype: 'info',\n\t\t\t\t\t\t\t\thtml: info,\n\t\t\t\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\t\t\t\tallowOutsideClick: false\n\t\t\t\t\t\t\t})\n }else if(action == 'container-logs'){\n\t\t\t\t\t\t\tvar log = await store.dispatch(\"pipelineLLO/getlogs\",{\n\t\t\t\t\t\t\t\tcontainer:this.hybridshowdata.ID\n\t\t\t\t\t\t\t})\n }else if(action == 'startwebgeneric'){\n var urlgen = this.hybridshowdata.Names.split('_');\n //console.log('logs---------- ' + JSON.stringify(this.hybridshowdata))\t\n //console.log('logs---------- ' + JSON.stringify(urlgen[0]))\t\n var log = await store.dispatch(\"pipelineLLO/rungui\",{\n instance:urlgen[0]\n })\n }else if(action == 'startweb'){\n var log = await store.dispatch(\"pipelineLLO/getjupyterinfo\",{\n instance:this.hybridshowdata.Names\n })\n if(log.data.test){\n //get token\n var splitted = log.data.test.split('?token='); \n var jutoken = splitted[1];\n //cut from home dir\n var splitted1 = jutoken.split(' '); \n var jutokenok = splitted1[0];\n var juurl = this.webinterface_port.split('->'); \n // trim it\n var juurlok = juurl[0].trim();\n //build url\n var openuerlju = `http://${juurlok}/?token=${jutokenok}`\n //var info=`<h5>You can connect to the same contained process multiple times simultaneously, from different sessions.<br> \n var info=`<h5> \n <br>\n <b>Click \n <a class=\"text-info\" href=\"${openuerlju}\" target=\"_blank\">here to open</a></span>\n </b>\n <br>\n <br>\n `\n this.$swal({\n type: 'Info',\n title: 'Info!',\n icon:'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n }\n\n }else if(action == 'container-connect'){\n var log = await store.dispatch(\"pipelineLLO/getmountinfo\",{\n instance:this.hybridshowdata.Names\n })\n var pocmypathtmp = log.data.mypath\n var container_bash = '/bin/sh'\n var container_user = false\n var swarmlabinstance = new RegExp(\"^(hybrid-|HYBRID-)\"); \n if(swarmlabinstance.test(this.hybridshowdata.Names)){\n container_user = true\n container_bash = '/bin/bash'\n var container_user_swarmlab = 'docker'\n }\n// -----\n var swarmlabinstance1c = new RegExp(\"(/poc-|/POC-)\"); \n var pocurl = 'no'\n\n var myNetwork = this.hybridshowdata.Networks.split('_')\n var pocmypath = pocmypathtmp + myNetwork[0]\n if(swarmlabinstance1c.test(this.hybridshowdata.Image)){\n var swarmlabinstance1cd = new RegExp(\"(->)\"); \n if(swarmlabinstance1cd.test(this.hybridshowdata.Ports)){\n var splitcd = this.hybridshowdata.Ports.split(':')\n var splitcd1 = splitcd[1].split('-')\n var swarmlabinstance1ce = new RegExp(\"^(web)\"); \n if(swarmlabinstance1ce.test(this.hybridshowdata.Names)){\n pocurl = 'http://localhost:'+splitcd1[0]+'/?token='+this.token\n }\n }\n }\n// -----\n var swarmlabinstance1ca = new RegExp(\"(microservice-codeserver)\"); \n var pocurlcodeserver = 'no'\n if(swarmlabinstance1ca.test(this.hybridshowdata.Names)){\n var swarmlabinstance1cda = new RegExp(\"(->)\"); \n if(swarmlabinstance1cda.test(this.hybridshowdata.Ports)){\n var splitcda = this.hybridshowdata.Ports.split(':')\n var splitcd1a = splitcda[1].split('-')\n pocurlcodeserver = 'http://localhost:'+splitcd1a[0]+'/?token='+this.token\n }\n }\n //console.log('stringify--------- ' + JSON.stringify(pocurlcodeserver));\n \n// -----\n var swarmlabinstance = new RegExp(\"^(hybrid-|HYBRID-)\"); \n if(swarmlabinstance.test(this.hybridshowdata.Names)){\n container_user = true\n container_bash = '/bin/bash'\n var container_user_swarmlab = 'docker'\n }\n\n //var Localpath = JSON.parse(log.data.test)\n var info=`<h5> \n <hr>\n <b>Open a terminal and Run*:</b>\n <br>\n <br>\n`\nif(container_user){\n info +='<p class=\"text-success\">'\n info += 'docker exec -it -u'+container_user_swarmlab+' '+this.hybridshowdata.Names+' ' + container_bash\n info +='</p>'\n}else{\n info +='<p class=\"text-success\">'\n info += 'docker exec -it '+this.hybridshowdata.Names+' ' + container_bash\n info +='</p>'\n}\n\nif(pocurl != 'no'){\n info +='<p class=\"text-info\">'\n info += '<a href=\"'+pocurl+'\" target=\"_blank\">Click here to open the Web_App</a>'\n info +='</p>'\n}\n\n\nif(pocurlcodeserver != 'no'){\n info +='<p class=\"text-info\">'\n info += '<a href=\"'+pocurlcodeserver+'\" target=\"_blank\">Click here to open the Web_App</a>'\n info +='</p>'\n}\n\n // find web url \n // ipv4\n // ApiConfigWEB.port = port\n var urlgenWEB = this.hybridshowdata.Names.split('_');\n var pocurletherpadserver = 'no'\n var pocurletherpadserverttyd = 'no'\n var pocurletherpadservertapp1 = 'no'\n var pocurletherpadservertapp1text = 'no'\n var pocurletherpadservertapp2 = 'no'\n var pocurletherpadservertapp2text = 'no'\n var pocurletherpadservertapp3 = 'no'\n var pocurletherpadservertapp3text = 'no'\n\n var pocurletherpadservertapp3port1 = 'no'\n var pocurletherpadservertapp3textport1 = 'no'\n var pocurletherpadservertapp3port2 = 'no'\n var pocurletherpadservertapp3textport2 = 'no'\n var pocurletherpadservertapp3port3 = 'no'\n var pocurletherpadservertapp3textport3 = 'no'\n var pocurletherpadservertapp3port4 = 'no'\n var pocurletherpadservertapp3textport4 = 'no'\n var pocurletherpadservertapp3port5 = 'no'\n var pocurletherpadservertapp3textport5 = 'no'\n for(var i = 0; i < ApiConfigWEB.length; i++) {\n var obWEB = ApiConfigWEB[i];\n\t\t\t\t\t\tif(obWEB.name == urlgenWEB[0]){\n var swarmlabinstance1cda1 = new RegExp(\"(->)\"); \n if(swarmlabinstance1cda1.test(this.hybridshowdata.Ports)){\n var splitcda1split = this.hybridshowdata.Ports.split(',')\n for(var i1 = 0; i1 < splitcda1split.length; i1++) { \n\n var swarmlabinstance1cda1s = new RegExp(\"(0.0.0.0)\"); \n if(swarmlabinstance1cda1s.test(splitcda1split[i1])){\n \n if(obWEB.app){\n var swarmlabinstance1cda1s1 = new RegExp(obWEB.port); \n if(swarmlabinstance1cda1s1.test(splitcda1split[i1])){\n var splitcda1 = splitcda1split[i1].split(':')\n var splitcd1a1 = splitcda1[1].split('-')\n pocurletherpadserver = obWEB.url+'://localhost:'+splitcd1a1[0]+'/?token='+this.token\n }\n }\n \n if(obWEB.ttyd){\n var swarmlabinstance1cda1s1b = new RegExp(obWEB.ttydport); \n if(swarmlabinstance1cda1s1b.test(splitcda1split[i1])){\n //console.log('stringify--------- ' + JSON.stringify(splitcda1split[i1]));\n var splitcda1bc = splitcda1split[i1].split(':')\n var splitcd1a1bc = splitcda1bc[1].split('-')\n pocurletherpadserverttyd = obWEB.ttydurl+'://localhost:'+splitcd1a1bc[0]+'/?token='+this.token\n }\n }\n // ---------------\n if(obWEB.hasOwnProperty('app1')){\n if(obWEB.app1){\n var swarmlabinstance1cda1s1bapp1 = new RegExp(obWEB.port1); \n if(swarmlabinstance1cda1s1bapp1.test(splitcda1split[i1])){\n //console.log('stringify--------- ' + JSON.stringify(splitcda1split[i1]));\n var splitcda1bcapp1 = splitcda1split[i1].split(':')\n var splitcd1a1bcapp1 = splitcda1bcapp1[1].split('-')\n pocurletherpadservertapp1 = obWEB.url1+'://localhost:'+splitcd1a1bcapp1[0]+'/?token='+this.token\n pocurletherpadservertapp1text = obWEB.link1\n }\n }\n }\n // ---------------\n\n // ---------------\n if(obWEB.hasOwnProperty('app2')){\n if(obWEB.app2){\n var swarmlabinstance1cda1s1bapp2 = new RegExp(obWEB.port2); \n if(swarmlabinstance1cda1s1bapp2.test(splitcda1split[i1])){\n console.log('stringify--------- ' + JSON.stringify(splitcda1split[i1]));\n var splitcda1bcapp2 = splitcda1split[i1].split(':')\n var splitcd1a1bcapp2 = splitcda1bcapp2[1].split('-')\n pocurletherpadservertapp2 = obWEB.url2+'://localhost:'+splitcd1a1bcapp2[0]+'/?token='+this.token\n pocurletherpadservertapp2text = obWEB.link2\n }\n }\n }\n // ---------------\n\n // ---------------\n if(obWEB.hasOwnProperty('app3')){\n if(obWEB.app3){\n var swarmlabinstance1cda1s1bapp3 = new RegExp(obWEB.port3); \n if(swarmlabinstance1cda1s1bapp3.test(splitcda1split[i1])){\n //console.log('stringify--------- ' + JSON.stringify(splitcda1split[i1]));\n var splitcda1bcapp3 = splitcda1split[i1].split(':')\n var splitcd1a1bcapp3 = splitcda1bcapp3[1].split('-')\n pocurletherpadservertapp3 = obWEB.url3+'://localhost:'+splitcd1a1bcapp3[0]+'/?token='+this.token\n pocurletherpadservertapp3text = obWEB.link3\n }\n }\n }\n // ---------------\n\n }\n }\n }\n\t\t\t\t\t\t}\n }\n\n// -------------------------------------------------------\n// ----- customservice\n// -------------------------------------------------------\n// ---------------------------\n// ------------------------- CUSTOM\n// -------------------------------------------------------\n var strbase = '_masterservice_1'\n var sRegExInput1 = new RegExp(strbase, 'g'); \n var getcustomnames = this.hybridshowdata.Names.replace(sRegExInput1 ,'');\n var logdatacustom = await store.dispatch(\"pipelineLLO/getinstallcustom\",{\n token:this.token,\n instance:getcustomnames\n })\n console.log('---------------------')\n console.log(logdatacustom.data)\n if(logdatacustom.data && logdatacustom.data.data){\n // EDITORcustom \n \n\n var logdatacustomres = JSON.parse(logdatacustom.data.data)\n var swarmlabinstance1cda1 = new RegExp(\"(->)\"); \n if(swarmlabinstance1cda1.test(this.hybridshowdata.Ports)){\n var splitcda1split = this.hybridshowdata.Ports.split(',')\n for(var i1 = 0; i1 < splitcda1split.length; i1++) { \n\n// ---------------------------------\n if(logdatacustomres.baseservicedata.ttyd){\n var swarmlabinstance1cda1s1b = new RegExp(logdatacustomres.baseservicedata.ttydport); \n if(swarmlabinstance1cda1s1b.test(splitcda1split[i1])){\n var splitcda1bc = splitcda1split[i1].split(':')\n var splitcd1a1bc = splitcda1bc[1].split('-')\n if(splitcd1a1bc[0]){\n pocurletherpadserverttyd = logdatacustomres.baseservicedata.ttydurl+'://localhost:'+splitcd1a1bc[0]+'/?token='+this.token\n }\n }\n }\n// ---------------------------------\n// ---------------------------------\n if(logdatacustomres.baseservicedata.app){\n var swarmlabinstance1cda1s1 = new RegExp(logdatacustomres.baseservicedata.port); \n if(swarmlabinstance1cda1s1.test(splitcda1split[i1])){\n var splitcda1 = splitcda1split[i1].split(':')\n var splitcd1a1 = splitcda1[1].split('-')\n if(splitcd1a1[0]){\n pocurletherpadserver = logdatacustomres.baseservicedata.url+'://localhost:'+splitcd1a1[0]+'/?token='+this.token\n }\n }\n }\n// ---------------------------------\n // ---------------\n if(logdatacustomres.baseservicedata.hasOwnProperty('app1')){\n if(logdatacustomres.baseservicedata.app1){\n var swarmlabinstance1cda1s1bapp1 = new RegExp(logdatacustomres.baseservicedata.port1); \n if(swarmlabinstance1cda1s1bapp1.test(splitcda1split[i1])){\n var splitcda1bcapp1 = splitcda1split[i1].split(':')\n var splitcd1a1bcapp1 = splitcda1bcapp1[1].split('-')\n if(splitcd1a1bcapp1[0]){\n pocurletherpadservertapp1 = logdatacustomres.baseservicedata.url1+'://localhost:'+splitcd1a1bcapp1[0]+'/?token='+this.token\n pocurletherpadservertapp1text = logdatacustomres.baseservicedata.link1\n }\n }\n }\n }\n // ---------------\n\n // ---------------\n if(logdatacustomres.baseservicedata.hasOwnProperty('app2')){\n if(logdatacustomres.baseservicedata.app2){\n var swarmlabinstance1cda1s1bapp2 = new RegExp(logdatacustomres.baseservicedata.port2); \n if(swarmlabinstance1cda1s1bapp2.test(splitcda1split[i1])){\n var splitcda1bcapp2 = splitcda1split[i1].split(':')\n var splitcd1a1bcapp2 = splitcda1bcapp2[1].split('-')\n if(splitcd1a1bcapp2[0]){\n pocurletherpadservertapp2 = logdatacustomres.baseservicedata.url2+'://localhost:'+splitcd1a1bcapp2[0]+'/?token='+this.token\n pocurletherpadservertapp2text = logdatacustomres.baseservicedata.link2\n }\n }\n }\n }\n // ---------------\n\n // ---------------\n if(logdatacustomres.baseservicedata.hasOwnProperty('app3')){\n if(logdatacustomres.baseservicedata.app3){\n var swarmlabinstance1cda1s1bapp3 = new RegExp(logdatacustomres.baseservicedata.port3); \n if(swarmlabinstance1cda1s1bapp3.test(splitcda1split[i1])){\n //console.log('stringify--------- ' + JSON.stringify(splitcda1split[i1]));\n var splitcda1bcapp3 = splitcda1split[i1].split(':')\n var splitcd1a1bcapp3 = splitcda1bcapp3[1].split('-')\n if(+splitcd1a1bcapp3[0]){\n pocurletherpadservertapp3 = logdatacustomres.baseservicedata.url3+'://localhost:'+splitcd1a1bcapp3[0]+'/?token='+this.token\n pocurletherpadservertapp3text = logdatacustomres.baseservicedata.link3\n }\n }\n }\n }\n // ---------------\n var text4linkcustom = \"Click to open \"\n // --------------- usercustom port1\n if(logdatacustomres.servicedata.hasOwnProperty('port1')){\n if(logdatacustomres.servicedata.port1){\n var swarmlabinstance1cda1s1bapp3port1 = new RegExp(logdatacustomres.servicedata.port1); \n if(swarmlabinstance1cda1s1bapp3port1.test(splitcda1split[i1])){\n //console.log('stringify--------- ' + JSON.stringify(splitcda1split[i1]));\n var splitcda1bcapp3port1 = splitcda1split[i1].split(':')\n var splitcd1a1bcapp3port1 = splitcda1bcapp3port1[1].split('-')\n if(+splitcd1a1bcapp3port1[0]){\n pocurletherpadservertapp3port1 = logdatacustomres.servicedata.url1+'://localhost:'+splitcd1a1bcapp3port1[0]+'/?token='+this.token\n pocurletherpadservertapp3textport1 = text4linkcustom\n pocurletherpadservertapp3textport1 += logdatacustomres.servicedata.name1\n }\n }\n }\n }\n // ---------------\n // --------------- usercustom port2\n if(logdatacustomres.servicedata.hasOwnProperty('port2')){\n if(logdatacustomres.servicedata.port2){\n var swarmlabinstance1cda1s1bapp3port2 = new RegExp(logdatacustomres.servicedata.port2); \n if(swarmlabinstance1cda1s1bapp3port2.test(splitcda1split[i1])){\n //console.log('stringify--------- ' + JSON.stringify(splitcda1split[i1]));\n var splitcda1bcapp3port2 = splitcda1split[i1].split(':')\n var splitcd1a1bcapp3port2 = splitcda1bcapp3port2[1].split('-')\n if(+splitcd1a1bcapp3port2[0]){\n pocurletherpadservertapp3port2 = logdatacustomres.servicedata.url1+'://localhost:'+splitcd1a1bcapp3port2[0]+'/?token='+this.token\n pocurletherpadservertapp3textport2 = text4linkcustom\n pocurletherpadservertapp3textport2 += logdatacustomres.servicedata.name2\n }\n }\n }\n }\n // ---------------\n // --------------- usercustom port3\n if(logdatacustomres.servicedata.hasOwnProperty('port3')){\n if(logdatacustomres.servicedata.port3){\n var swarmlabinstance1cda1s1bapp3port3 = new RegExp(logdatacustomres.servicedata.port3); \n if(swarmlabinstance1cda1s1bapp3port3.test(splitcda1split[i1])){\n //console.log('stringify--------- ' + JSON.stringify(splitcda1split[i1]));\n var splitcda1bcapp3port3 = splitcda1split[i1].split(':')\n var splitcd1a1bcapp3port3 = splitcda1bcapp3port3[1].split('-')\n if(+splitcd1a1bcapp3port3[0]){\n pocurletherpadservertapp3port3 = logdatacustomres.servicedata.url3+'://localhost:'+splitcd1a1bcapp3port3[0]+'/?token='+this.token\n pocurletherpadservertapp3textport3 = text4linkcustom\n pocurletherpadservertapp3textport3 += logdatacustomres.servicedata.name3\n }\n }\n }\n }\n // ---------------\n // --------------- usercustom por4\n if(logdatacustomres.servicedata.hasOwnProperty('port4')){\n if(logdatacustomres.servicedata.port4){\n var swarmlabinstance1cda1s1bapp3port4 = new RegExp(logdatacustomres.servicedata.port4); \n if(swarmlabinstance1cda1s1bapp3port4.test(splitcda1split[i1])){\n //console.log('stringify--------- ' + JSON.stringify(splitcda1split[i1]));\n var splitcda1bcapp3port4 = splitcda1split[i1].split(':')\n var splitcd1a1bcapp3port4 = splitcda1bcapp3port4[1].split('-')\n if(+splitcd1a1bcapp3port4[0]){\n pocurletherpadservertapp3port4 = logdatacustomres.servicedata.url4+'://localhost:'+splitcd1a1bcapp3port4[0]+'/?token='+this.token\n pocurletherpadservertapp3textport4 = text4linkcustom\n pocurletherpadservertapp3textport4 += logdatacustomres.servicedata.name4\n }\n }\n }\n }\n // ---------------\n // --------------- usercustom por5\n if(logdatacustomres.servicedata.hasOwnProperty('port5')){\n if(logdatacustomres.servicedata.port5){\n var swarmlabinstance1cda1s1bapp3port5 = new RegExp(logdatacustomres.servicedata.port5); \n if(swarmlabinstance1cda1s1bapp3port5.test(splitcda1split[i1])){\n //console.log('stringify--------- ' + JSON.stringify(splitcda1split[i1]));\n var splitcda1bcapp3port5 = splitcda1split[i1].split(':')\n var splitcd1a1bcapp3port5 = splitcda1bcapp3port5[1].split('-')\n if(+splitcd1a1bcapp3port5[0]){\n pocurletherpadservertapp3port5 = logdatacustomres.servicedata.url5+'://localhost:'+splitcd1a1bcapp3port5[0]+'/?token='+this.token\n pocurletherpadservertapp3textport5 = text4linkcustom\n pocurletherpadservertapp3textport5 += logdatacustomres.servicedata.name5\n }\n }\n }\n }\n // ---------------\n\n }\n }\n// -------------------------------------------------------\n// --------------------------- CUSTOM \n// -------------------------------------------------------\n } // end CUSTOM\n/*\n var swarmlabinstance1ca1 = new RegExp(\"(microservice-etherpad)\"); \n var pocurletherpadserver = 'no'\n if(swarmlabinstance1ca1.test(this.hybridshowdata.Names)){\n var swarmlabinstance1cda1 = new RegExp(\"(->)\"); \n if(swarmlabinstance1cda1.test(this.hybridshowdata.Ports)){\n var splitcda1 = this.hybridshowdata.Ports.split(':')\n var splitcd1a1 = splitcda1[1].split('-')\n pocurletherpadserver = 'http://localhost:'+splitcd1a1[0]+'/?token='+this.token\n }\n }\n*/\n\n\nif(pocurletherpadserverttyd != 'no'){\n info += '<hr>'\n info +='<p class=\"text-info\">'\n info += '<a class=\"text-info\" href=\"'+pocurletherpadserverttyd+'\" target=\"_blank\"> - OR -<br>Click to open Terminal emulator</a>'\n info +='</p>'\n info += '<hr>'\n}\n\nif(pocurletherpadserver != 'no'){\n info += '<hr>'\n info +='<p class=\"text-info\">'\n info += '<a class=\"text-secondary\" href=\"'+pocurletherpadserver+'\" target=\"_blank\">Click here to open Web App</a>'\n info +='</p>'\n info += '<hr>'\n}\n\nif(pocurletherpadservertapp1 != 'no'){\n info += '<hr>'\n info +='<p class=\"text-info\">'\n info += '<a class=\"text-info\" href=\"'+pocurletherpadservertapp1+'\" target=\"_blank\"> ' + pocurletherpadservertapp1text + '</a>'\n info +='</p>'\n info += '<hr>'\n}\n\nif(pocurletherpadservertapp2 != 'no'){\n info += '<hr>'\n info +='<p class=\"text-info\">'\n info += '<a class=\"text-info\" href=\"'+pocurletherpadservertapp2+'\" target=\"_blank\"> ' + pocurletherpadservertapp2text + '</a>'\n info +='</p>'\n info += '<hr>'\n}\n\nif(pocurletherpadservertapp3 != 'no'){\n info += '<hr>'\n info +='<p class=\"text-info\">'\n info += '<a class=\"text-info\" href=\"'+pocurletherpadservertapp3+'\" target=\"_blank\"> ' + pocurletherpadservertapp3text + '</a>'\n info +='</p>'\n info += '<hr>'\n}\n\nif(pocurletherpadservertapp3port1 != 'no'){\n info += '<hr>'\n info +='<p class=\"text-info\">'\n info += '<a class=\"text-info\" href=\"'+pocurletherpadservertapp3port1+'\" target=\"_blank\"> ' + pocurletherpadservertapp3textport1 + '</a>'\n info +='</p>'\n info += '<hr>'\n}\n\nif(pocurletherpadservertapp3port2 != 'no'){\n info += '<hr>'\n info +='<p class=\"text-info\">'\n info += '<a class=\"text-info\" href=\"'+pocurletherpadservertapp3port2+'\" target=\"_blank\"> ' + pocurletherpadservertapp3textport2 + '</a>'\n info +='</p>'\n info += '<hr>'\n}\n\nif(pocurletherpadservertapp3port3 != 'no'){\n info += '<hr>'\n info +='<p class=\"text-info\">'\n info += '<a class=\"text-info\" href=\"'+pocurletherpadservertapp3port3+'\" target=\"_blank\"> ' + pocurletherpadservertapp3textport3 + '</a>'\n info +='</p>'\n info += '<hr>'\n}\n\nif(pocurletherpadservertapp3port4 != 'no'){\n info += '<hr>'\n info +='<p class=\"text-info\">'\n info += '<a class=\"text-info\" href=\"'+pocurletherpadservertapp3port4+'\" target=\"_blank\"> ' + pocurletherpadservertapp3textport4 + '</a>'\n info +='</p>'\n info += '<hr>'\n}\n\nif(pocurletherpadservertapp3port5 != 'no'){\n info += '<hr>'\n info +='<p class=\"text-info\">'\n info += '<a class=\"text-info\" href=\"'+pocurletherpadservertapp3port5+'\" target=\"_blank\"> ' + pocurletherpadservertapp3textport5 + '</a>'\n info +='</p>'\n info += '<hr>'\n}\n// -----\n\nvar pocmypathinfo = ''\nif(pocmypath != ''){\n \n pocmypathinfo += '<b>Project BaseDir:</b> '+pocmypath\n}\n\n/*\n info +='<p class=\"text-secondary\">'\ninfo +=' <b>Directory Maps</b>'\ninfo +='<br>'\ninfo +=' <table>'\ninfo +='<tr><td><b>Local</b></td><td><i>Container</i></td></tr>'\n var datajson = log.data.test[0]\n for(var i = 0; i < datajson.length; i++) {\n\n//console.log('test1 '+JSON.stringify(datajson[i]))\n if(datajson[i].Type == 'bind'){\n info +='<tr style=\"outline: thin solid\"><td><b>'+datajson[i].Source+' </b></td><td><i>' + datajson[i].Destination+' </i></td></tr>'\n }\n }\ninfo +=' </table>'\n info +='</p>'\ninfo += pocmypathinfo\ninfo +='</h5><br>'\ninfo +='<br>'\ninfo +='<b>*</b> App with GUI: xhost +local:docker <br>'\ninfo +='<br>'\ninfo +='This permits the docker user on the local machine to connect to X windows display.<br>'\n//console.log('test1 '+JSON.stringify(this.hybridshowdata))\n*/\n\n this.$swal({\n type: 'Info',\n //title: 'Info!',\n icon:'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n }else if(action == 'install'){\n var obj = {}\n obj.action = 'up'\n obj.token = this.token\n obj.swarmlabname = this.swarmlabname\n obj.git = this.swarmlabname_git\n this.$socket.client.open();\n this.$socket.client.emit('install', obj);\n }else if(action == 'installcustom'){\n var obj = {}\n obj.action = 'up'\n obj.token = this.token\n obj.swarmlabname = this.swarmlabnamecustom\n obj.user = this.swarmlabnamecustomuser\n obj.service = this.swarmlabnamecustomservice\n obj.baseservicedata = this.swarmlabnamecustomdata\n obj.git = this.swarmlabname_git\n this.$socket.client.open();\n this.$socket.client.emit('installcustom', obj);\n }else if(action == 'container-stop'){\n\t\t\t\t // refresh adhocview.vue on console await \n this.$root.$emit('SERVER_hybrid_table_start')\n this.$socket.client.emit('container-stop', this.swarmlabname, this.hybridshowdata.ID);\n //console.log('socket instance container-stop '+ this.swarmlabname +' '+ this.hybridshowdata.ID )\n }else if(action == 'create-wirequard'){\n //this.CONFIGprivatekey = value.privatekey\n //this.CONFIGpublickey = value.publickey\n //this.CONFIGserver_ip = value.server_ip // 83.212.77.133:51820\n //this.CONFIGallowed_ips = value.allowed_ips // 10.13.13.0/16, 0.0.0.0/0, ::/0\n this.$socket.client.emit('create-wirequard', this.token);\n }else if(action == 'stop'){\n this.$socket.client.emit('stop', this.swarmlabname);\n //console.log('socket instance container-stop passed from services '+ this.swarmlabname )\n }\n\t\t\t},\n async socketopen () {\n this.$socket.client.open();\n this.$socket.client.connect();\n },\n async socketauthenticate () {\n this.$socket.client.emit('authenticate', this.token);\n },\n async socketreconnect () {\n var log = await this.socketopen() \n this.socketauthenticate()\n },\n async socketclose () {\n this.$socket.client.close();\n }\n\n },\n /**\n *\n * == Socket events\n * \n * [source,javascript]\n * ---- \n * this.$socket.client.emit('authenticate', 'logintoken');\n * ---- \n *\n */\n sockets: {\n connect() {\n //this.$socket.client.emit('authenticate', this.token);\n //console.log('socket connected '+ 'socketdatasend' )\n this.issocket = 'open';\n\t\t\t\t\tvar log = store.dispatch(\"pipelineLLO/setsocketStatus\",{\n\t\t\t\t\t\tstatus:'open'\n\t\t\t\t\t})\n },\n /**\n *\n * === onError\n *\n */\n error(error) {\n //console.log(\"socket error \"+JSON.stringify(error))\n this.issocket = 'close'\n\t\t\t\t\tvar log = store.dispatch(\"pipelineLLO/setsocketStatus\",{\n\t\t\t\t\t\tstatus:'close'\n\t\t\t\t\t})\n },\n /**\n *\n * === connect_error\n * \n */\n connect_error(error) {\n //console.log(\"socket connect_error \"+JSON.stringify(error))\n this.issocket = 'close'\n\t\t\t\t\tvar log = store.dispatch(\"pipelineLLO/setsocketStatus\",{\n\t\t\t\t\t\tstatus:'close'\n\t\t\t\t\t})\n this.socketopen() \n this.socketreconnect() \n },\n /**\n *\n * === connect_error\n *\n */\n disconnect(reason) {\n //console.log(\"socket disconnect \"+JSON.stringify(reason))\n this.issocket = 'close'\n\t\t\t\t\tvar log = store.dispatch(\"pipelineLLO/setsocketStatus\",{\n\t\t\t\t\t\tstatus:'close'\n\t\t\t\t\t})\n this.socketreconnect() \n },\n /**\n * \n * === Socket connect_timeout\n * \n */\n connect_timeout(reason) {\n //console.log(\"socket timeout \"+JSON.stringify(reason))\n this.issocket = 'close'\n\t\t\t\t\tvar log = store.dispatch(\"pipelineLLO/setsocketStatus\",{\n\t\t\t\t\t\tstatus:'close'\n\t\t\t\t\t})\n this.socketreconnect() \n },\n /**\n * \n * === Socket reconnect\n * \n */\n reconnect(attemptNumber) {\n //console.log(\"socket reconnect attemptNumber \"+JSON.stringify(attemptNumber))\n this.socketreconnect() \n },\n /**\n * \n * === connect_attempt\n * \n */\n reconnect_attempt(attemptNumber) {\n //console.log(\"socket reconnect_attempt \"+JSON.stringify(attemptNumber))\n this.socketreconnect() \n },\n /**\n *\n * === Socket reconnecting\n *\n */\n reconnecting(attemptNumber) {\n //console.log(\"socket reconnecting \"+JSON.stringify(attemptNumber))\n this.socketreconnect() \n },\n /**\n *\n * === reconnect_error\n *\n */\n reconnect_error(error) {\n //console.log(\"socket reconnect_error \"+JSON.stringify(error))\n this.issocket = 'close'\n\t\t\t\t\tvar log = store.dispatch(\"pipelineLLO/setsocketStatus\",{\n\t\t\t\t\t\tstatus:'close'\n\t\t\t\t\t})\n this.socketreconnect() \n },\n /**\n *\n * === unauthorized\n *\n */\n unauthorized(val) {\n //console.log(\"socket unauthorized \"+JSON.stringify(val))\n this.issocket = 'close'\n\t\t\t\t\tvar log = store.dispatch(\"pipelineLLO/setsocketStatus\",{\n\t\t\t\t\t\tstatus:'close'\n\t\t\t\t\t})\n },\n /**\n *\n * === connected \n *\n */\n socket_id_emit(val) {\n //console.log(\"socket id from server \"+JSON.stringify(val))\n this.issocket = 'open'\n\t\t\t\t\tvar log = store.dispatch(\"pipelineLLO/setsocketStatus\",{\n\t\t\t\t\t\tstatus:'open'\n\t\t\t\t\t})\n },\n /**\n *\n * === Socket onMessage\n *\n */\n /*\n async adhocEmit(val) {\n //console.log(\"socket from server \"+JSON.stringify(val))\n this.issocket = 'open'\n //this.$wait.start('myRunInstance1');\n // render begin\n this.tryLLO = 'on'\n if(this.firstbootstrap === 0 ){\n await this.bootsrapllo();\n this.firstbootstrap = 1\n }\n var output = log.data.out\n var mydinfunction = `\n <div class=\"row\">\n <b-col class=\"\" cols=\"12\" sm=\"12\" md=\"12\" >\n ${output}\n </b-col>\n </div>`\n\n try {\n let divascii = document.createElement('div');\n divascii.setAttribute(\"class\", \"container-fluid w-100 p-3 llotry\")\n divascii.innerHTML = mydinfunction\n this.addtask(divascii);\n }catch (ex) {\n //console.log(\" logi error1 \"+JSON.stringify(ex))\n return\n }\n //this.$wait.end('myRunInstance1');\n },\n */\n async logdata(val) {\n //console.log(\" socket from logdata \"+JSON.stringify(val))\n // -------------------------------------\n // Save store\n // -------------------------------------\n var log = store.dispatch(\"pipelineLLO/addlog\",{\n log:val\n })\n\n var ltmp = store.getters['pipelineLLO/getlog'];\n this.log_path = [...new Set(ltmp.map(item => item.tailed_path))];\n var loglenght = ''\n for (let item of this.log_path) {\n //console.log('l1find '+ JSON.stringify(item))\n loglenght = ltmp.filter(item1 => item1.tailed_path === item).length;\n Vue.set(this.log_path_lenght, item, loglenght);\n if(loglenght > this.loglenghttotal){\n // -------------------------------------\n // Save store\n // -------------------------------------\n var ltotal1 = store.dispatch(\"pipelineLLO/taillog\",{\n path:item\n })\n }\n }\n \n },\n async message(val) {\n //console.log(\" socket message \"+JSON.stringify(val))\n },\n async message_config(value) {\n value.data = JSON.parse(value.data); \n if(value.file == 'ok'){\n //console.log('server-value-file-ok ' + JSON.stringify(value.data.status))\n this.CONFIG.status = value.data.status\n this.CONFIG.workerkey = value.data.workerkey\n this.CONFIG.swarmlab_public_wgkey = value.data.swarmlab_public_wgkey\n this.CONFIG.server_ip = value.data.server_ip \n this.CONFIG.allowed_ips = value.data.allowed_ips \n this.CONFIG.wg_port = value.data.wg_port \n this.CONFIG.wg_ip = value.data.wg_ip\n this.CONFIG.swarm_ip = value.data.swarm_ip\n this.CONFIG.privatekey = value.data.privatekey\n this.CONFIG.publickey = value.data.publickey\n\n }else if(value.file == 'nodata'){\n this.CONFIG.status = ''\n this.CONFIG.workerkey = ''\n this.CONFIG.swarmlab_public_wgkey = ''\n this.CONFIG.server_ip = ''\n this.CONFIG.allowed_ips = ''\n this.CONFIG.wg_port = ''\n this.CONFIG.wg_ip = ''\n this.CONFIG.swarm_ip = ''\n this.CONFIG.privatekey = ''\n this.CONFIG.publickey = ''\n }\n // send to myconnect-server.vue\n //console.log('server-config ' + JSON.stringify(this.CONFIG))\n\t\t\t\t store.dispatch(\"pipelineLLO/addconfig\",this.CONFIG)\n\t\t this.$root.$emit('hybrid_connect_server_view', this.CONFIG)\n },\n async message_log(val) {\n //console.log(\" socket out \"+JSON.stringify(val))\n this.$root.$emit('hybrid_log_in',val)\n\t\t\t\t// refresh adhocview.vue on console await \n //this.$root.$emit('SERVER_hybrid_table_start')\n // clear container info here sockert end\n //this.hybridshowdata = {}\n },\n async message_out(val) {\n //console.log(\" socket out \"+JSON.stringify(val))\n //search for error in mongoserver must run sudo chown\n this.$root.$emit('hybrid_log_in',val)\n\t\t\t\t// refresh adhocview.vue on console await \n this.$root.$emit('SERVER_hybrid_table_start')\n // clear container info here sockert end\n this.hybridshowdata = {}\n },\n async message_err(val) {\n //console.log(\" socket err \"+JSON.stringify(val))\n\t\t\t\tvar extenderror = new RegExp('error checking context'); \n\t\t\t\tif(extenderror.test(val.data)){\n var cwdpath = val.cwdpath\n var cwdservice = val.service\n //console.log(\" path \"+JSON.stringify(cwdpath))\n //console.log(\" path-------- \"+JSON.stringify(val))\n var errorrun = \"<b>error checking context:</b> 'no permission to read from ...\"\n var info=`<h5><b>You might see an error message:</b></h5><br>\n <samp> ${errorrun} </samp>\n <br>\n <br>\n <b>In this case open Open a terminal and Run:</b>\n <br>\n <br> `\n info +='<p class=\"text-success\">'\n info += 'sudo chown -R $USER.$USER '+cwdpath + '/instance/'+cwdservice+'/'+cwdservice\n info +='</p>'\n info +='<br> <br> <b>and try again</b> <br>'\n\n\t\t\t\tthis.$swal({\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\thtml: info,\n icon:'info',\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t cancelButtonText: 'No, cancel!',\n\t\t\t\t\tshowCancelButton: false,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\treverseButtons: true,\n\t\t\t\t\tfocusCancel: true,\n })\n }\n this.$root.$emit('hybrid_log_in',val)\n },\n async message_close(val) {\n //console.log(\" socket close \"+JSON.stringify(val))\n // Error in event handler for \"hybrid_log_in\": \"TypeError: child is undefined\"\n // data: 0 gia na doume ean ine afto\n // to lathos exafanistike\n if(val.data != 0){ \n this.$root.$emit('hybrid_log_in',val)\n }\n // refresh table availableservices\n this.$root.$emit('hybrid_refresh_table')\n\t\t\t\t// refresh adhocview.vue on console await console\n this.$root.$emit('SERVER_hybrid_table_stop')\n },\n async message_err_storage(val) {\n //console.log(\" socket err \"+JSON.stringify(val))\n this.$root.$emit('hybrid_log_in',val)\n },\n async message_out_storage(val) {\n // console.log(\" socket out storage \"+JSON.stringify(val))\n this.$root.$emit('hybrid_log_in',val)\n //this.hybridshowdata = {}\n },\n async message_close_storage(val) {\n // refresh table hybrid storage\n this.$root.$emit('hybrid_log_in',val)\n this.$root.$emit('hybrid_refresh_table_storage')\n },\n // poc \n async message_err_poc(val) {\n //console.log(\" socket err \"+JSON.stringify(val))\n this.$root.$emit('hybrid_log_in',val)\n },\n async message_out_poc(val) {\n // console.log(\" socket out storage \"+JSON.stringify(val))\n this.$root.$emit('hybrid_log_in',val)\n //this.hybridshowdata = {}\n },\n async message_close_poc(val) {\n // refresh table hybrid storage\n this.$root.$emit('hybrid_log_in',val)\n this.$root.$emit('hybrid_refresh_table_poc')\n },\n async message_close_build(val) {\n // refresh table hybrid storage\n this.$root.$emit('SERVER_build_closebuild',val)\n //this.$root.$emit('hybrid_refresh_table_storage')\n },\n async message_exec_editor(val) {\n // refresh table hybrid storage\n //console.log(\" socket out editor \"+JSON.stringify(val))\n if(val.start){\n this.$root.$emit('SERVER_hybrid_table_stop')\n this.editor_instance.start=val.start\n this.editor_instance.start=val.port\n var info=`<h5><b>Editor</b><br> \n <br>\n `\n info +='<p class=\"text-secondary\">'\ninfo +=' <b>Click on hyperlink opens Editor in new tab</b></p>'\n info +='<b> <a class=\"text-info\" href=\"http://127.0.0.1:'+val.port+'\" target=\"_blank\">Open Editor</a></b>'\n info +='<br>'\n this.$swal({\n type: 'Info',\n title: 'Info!',\n icon:'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n\t\t\t // this.webinterfacegenericedit = false\n this.$wait.end('myRunInstanceeditor');\n }\n\n //this.$root.$emit('hybrid_refresh_table_storage')\n },\n async build_set_sshpid(val) {\n // console.log(\" socket pid \"+JSON.stringify(val))\n this.$root.$emit('SERVER_build_set_sshpid',val)\n },\n async build_set_buildpid(val) {\n // console.log(\" socket pid \"+JSON.stringify(val))\n this.$root.$emit('SERVER_build_set_buildpid',val)\n },\n async message_hybrid_status(val) {\n var obj = {}\n obj.status = val\n var res1 = store.dispatch('pipelineLLO/setstatus', obj)\n this.$root.$emit('hybrid_server_status',val)\n //message_hybrid_status {\"data\":{\"swarmlab\":\"active\",\"hybrid\":\"Online\",\"swarmlabid\":\"z3abo50tks76alp7ubjos4ngz\"}}\n this.STATUS.swarmlabid = val.data.swarmlabid\n this.STATUS.hybrid = val.data.hybrid\n this.STATUS.swarmlab = val.data.swarmlab\n\t\t\t\t store.dispatch(\"pipelineLLO/addstatusswarmlab\",this.STATUS)\n }\n },\n\n\n actions: {\n\n\t}\n\n};\n</script>\n\n<style lang=\"scss\">\n\n\n\n.flex-fixed-width-item {\n flex: 0 0 100px;\n\t\t}\n.modalinfo {\n z-index: 10000000 !important;\n\tposition:fixed;\n}\n/* a container with flex-direction column */\n\n.vue-notifyjs.notifications{\n .alert{\n z-index: 100;\n }\n .list-move {\n transition: transform 0.3s, opacity 0.4s;\n }\n .list-item {\n display: inline-block;\n margin-right: 10px;\n\n }\n .list-enter-active {\n transition: transform 0.2s ease-in, opacity 0.4s ease-in;\n }\n .list-leave-active {\n transition: transform 1s ease-out, opacity 0.4s ease-out;\n }\n\n .list-enter {\n opacity: 0;\n transform: scale(1.1);\n\n }\n .list-leave-to {\n opacity: 0;\n transform: scale(1.2, 0.7);\n }\n}\n\npre {\n //background-color: rgb(255, 247, 229);\n background-color: #eff0f1;\n\t border: 1px solid blue;\n\t\t //white-space: pre-line;\n\t\t\t}\n\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!./mytable.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!./mytable.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./mytable.vue?vue&type=template&id=261af23c&\"\nimport script from \"./mytable.vue?vue&type=script&lang=js&\"\nexport * from \"./mytable.vue?vue&type=script&lang=js&\"\nimport style0 from \"./mytable.vue?vue&type=style&index=0&lang=scss&\"\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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"author\"},[_c('img',{staticClass:\"avatar border-white\",attrs:{\"src\":require(\"@/assets/img/code-128.png\"),\"alt\":\"...\"}})]),_c('b-container',{staticClass:\"bv-example-row\",attrs:{\"fluid\":\"\"}},[_c('div',{staticClass:\" col text-center\"},[_c('v-wait',{attrs:{\"for\":\"myRunInstance1\"}},[_c('template',{slot:\"waiting\"},[_c('div',[_c('img',{attrs:{\"src\":require(\"@/assets/loading.gif\"),\"width\":\"50\",\"height\":\"50\"}}),_vm._v(\" Lab_Instance... \")])])],2),(_vm.extenderror)?_c('button',{staticClass:\"btn btn-outline-danger btn-sm\",attrs:{\"type\":\"button\",\"round\":\"\"},on:{\"click\":function($event){return _vm.runextenderror()}}},[_vm._v(\" Error: max depth exceeded\")]):_vm._e(),(_vm.tryConsole)?_c('button',{staticClass:\"btn btn-outline-warning btn-sm\",attrs:{\"type\":\"button\",\"round\":\"\"},on:{\"click\":function($event){return _vm.clear()}}},[_vm._v(\" Clear\")]):_vm._e(),_c('button',{staticClass:\"btn btn-outline-info btn-sm\",attrs:{\"type\":\"button\",\"round\":\"\",\"disabled\":\"\"}},[_vm._v(\" Console\")]),(_vm.cmOptions.keyMap == 'sublime')?_c('button',{staticClass:\"btn btn-outline-info btn-sm\",attrs:{\"type\":\"button\",\"round\":\"\"},on:{\"click\":_vm.infoFilter}},[_vm._v(\" i\")]):_vm._e()],1),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"codemirror\"},[_c('codemirror',{ref:\"myCm\",attrs:{\"value\":_vm.code,\"options\":_vm.cmOptions},on:{\"cursorActivity\":_vm.onCmCursorActivity,\"ready\":_vm.onCmReady,\"focus\":_vm.onCmFocus,\"input\":_vm.onCmCodeChange}})],1)])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n <div class=\"author\">\n <img class=\"avatar border-white\" src=\"@/assets/img/code-128.png\" alt=\"...\">\n </div>\n <b-container fluid class=\"bv-example-row\">\n \t<div class=\" col text-center\">\n\t\t\t\t\t\t<v-wait for=\"myRunInstance1\">\n\t\t\t\t\t\t\t<template slot=\"waiting\">\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<img src=\"@/assets/loading.gif\" width=\"50\" height=\"50\" />\n\t\t\t\t\t\t\t\t\tLab_Instance...\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</v-wait>\n\n\n\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\t\tround\n\t\t\t\t\t\t\tclass=\"btn btn-outline-danger btn-sm\"\n\t\t\t\t\t\t\tv-if=\"extenderror\"\n\t\t\t\t\t\t\t@click=\"runextenderror()\">\n\t\t\t\t\t\t\tError: max depth exceeded</button>\n\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\t\tround\n\t\t\t\t\t\t\tclass=\"btn btn-outline-warning btn-sm\"\n\t\t\t\t\t\t\tv-if=\"tryConsole\"\n\t\t\t\t\t\t\t@click=\"clear()\">\n\t\t\t\t\t\t\tClear</button>\n\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\t\tround\n\t\t\t\t\t\t\tclass=\"btn btn-outline-info btn-sm\"\n\t\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\tConsole</button>\n\t\t\t\t\t\t<button type=\"button\"\n\t\t\t\t\t\t\tround\n\t\t\t\t\t\t\tclass=\"btn btn-outline-info btn-sm\"\n\t\t\t\t\t\t\tv-if=\"cmOptions.keyMap == 'sublime'\"\n\t\t\t\t\t\t\t@click=\"infoFilter\">\n\t\t\t\t\t\t\ti</button>\n \n </div>\n\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"codemirror\" >\n <codemirror\n ref=\"myCm\"\n :value=\"code\"\n :options=\"cmOptions\"\n @cursorActivity=\"onCmCursorActivity\"\n @ready=\"onCmReady\"\n @focus=\"onCmFocus\"\n @input=\"onCmCodeChange\"\n ></codemirror>\n </div>\n </div>\n </div>\n\n</b-container>\n\t</card>\n</template>\n<script>\nimport {mapState, mapGetters, mapActions,dispatch} from 'vuex'\nimport Vue from 'vue'\nimport store from '@/store/index' \n\n\nimport { codemirror } from 'vue-codemirror'\nimport JSZip from 'jszip';\nimport FileSaver from 'file-saver';\nimport 'codemirror/lib/codemirror.css'\nimport 'codemirror/theme/mdn-like.css'\nimport card from '@/components/Card.vue'\n import 'codemirror/theme/idea.css'\nimport'codemirror/addon/selection/active-line.js'\n\nimport'codemirror/addon/hint/show-hint.js'\nimport'codemirror/addon/hint/show-hint.css'\nimport'codemirror/addon/hint/javascript-hint.js'\nimport'codemirror/addon/selection/active-line.js'\nimport'codemirror/addon/scroll/annotatescrollbar.js'\nimport'codemirror/addon/search/matchesonscrollbar.js'\nimport'codemirror/addon/search/searchcursor.js'\nimport'codemirror/addon/search/match-highlighter.js'\n\nimport'codemirror/mode/shell/shell.js'\nimport'codemirror/addon/edit/matchbrackets.js'\nimport'codemirror/addon/comment/comment.js'\nimport'codemirror/addon/dialog/dialog.js'\nimport'codemirror/addon/dialog/dialog.css'\nimport'codemirror/addon/search/searchcursor.js'\nimport'codemirror/addon/search/search.js'\nimport'codemirror/keymap/sublime.js'\nimport'codemirror/keymap/vim.js'\n\nimport'codemirror/addon/fold/foldgutter.css'\nimport'codemirror/addon/fold/brace-fold.js'\nimport'codemirror/addon/fold/comment-fold.js'\nimport'codemirror/addon/fold/foldcode.js'\nimport'codemirror/addon/fold/foldgutter.js'\nimport'codemirror/addon/fold/indent-fold.js'\nimport'codemirror/addon/fold/markdown-fold.js'\nimport'codemirror/addon/fold/xml-fold.js'\nimport 'codemirror/lib/codemirror';\nimport 'codemirror/addon/display/placeholder';\n\nexport default {\n components: {\n card,\n\t\t\tcodemirror\n },\n data () {\n return {\n socketonline:false,\n extenderror:false,\n tryConsole:false,\n ssl:{},\n getinfo:'',\n token:'',\n swarmlabname:'',\n\n code: '',\n editchoice: '',\n optionsedit: [\n { text: 'code', value: 'code' },\n { text: 'text', value: 'text' }\n ],\n llodesc:[{\n llo_url : '',\n llo_name : '',\n llo_author : '',\n llo_intro : ''\n }],\n llo:[{\n id : 0,\n rm : false,\n data_info : 'Asciidoc \\n',\n data_code : '#Your source code',\n data_service : '',\n code_datafile : 'url',\n code_name : '',\n code_exec : '',\n code_options : '',\n code_mime : '',\n code_info : '',\n code_code : '',\n code_codeout : '',\n code_codeoutput : 'console',\n points : '',\n challenge_question : '',\n code_challenge_question : '',\n challenge_answer : '',\n challenge_answer_hint : '',\n code_challenge_answer_hint : '',\n challenge_answer_source : '',\n challenge_answer_code_out : '',\n challenge_answer_code : '',\n code_challenge_answer_code : ''\n }],\n\t\t searchLLO: [],\n searchLLOactive : false,\n ADOC_html_code:'',\n challenge:[],\n action:'',\n tryLLO:[],\n service:'os2',\n active:0,\n activecount:0,\n remove:'',\n activeField:'',\n bootstrap:false,\n firstbootstrap:0,\n htmlasciitmp:'',\n datafile: 'https://git.swarmlab.io:3000/labs/examples-mpi2/raw/branch/master/0_netstat/data',\n datadir: '0_netstat/data',\n LearningObject:'',\n showllo:true,\n showlloedit:true,\n \t\tselected: 'sublime',\n options: [\n { text: 'vim', value: 'vim' },\n { text: 'sublime', value: 'sublime' }\n ],\n optionsmime: [\n { text: 'sh', value: 'bash' },\n { text: 'javascript', value: 'javascript' },\n { text: 'python', value: 'python' },\n { text: 'php', value: 'php' },\n { text: 'sql', value: 'sq;' },\n { text: 'xml', value: 'xml' },\n { text: 'c', value: 'c' }\n ],\n pValidate: false,\n cmOptions: {\n tabSize: 2,\n styleActiveLine: true,\n lineNumbers: true,\n lineSeparator:'\\n',\n line: true,\n foldGutter: true,\n gutters: [\"CodeMirror-linenumbers\", \"CodeMirror-foldgutter\"],\n highlightSelectionMatches: { showToken: /\\w/, annotateScrollbar: true },\n styleSelectedText: true,\n mode: 'shell',\n hintOptions:{\n completeSingle: false\n },\n keyMap: \"sublime\",\n //keyMap: \"vim\",\n matchBrackets: true,\n showCursorWhenSelecting: true,\n indentUnit:this.ADOC_html_code,\n lineWrapping: true,\n theme: 'idea',\n //theme: 'mdn-like',\n refresh:true,\n readOnly: true,\n autofocus: false,\n extraKeys: { \"Ctrl\": \"autocomplete\" }\n },\n ADOC_html:[]\n }\n },\n methods: {\n\n socketconnect () {\n // send to runLLO\n this.$root.$emit('SERVER_socket_connect')\n },\n clear () {\n this.tryConsole = false\n this.code = ''\n },\n async getdata () {\n\n var field = this.getinfo\n var log = await store.dispatch(\"pipelineLLO/get_data\",{\n code:field \n })\n\n },\n\n async showactive(index) {\n this.topwindow(index)\n\t\t},\n onCmReady(cm) {\n cm.on('change', (cm, chg) => {\n }),\n cm.on('keypress', () => {\n cm.showHint({completeSingle:false})\n })\n },\n onCmCursorActivity(a, b, c) {\n },\n onCmFocus(cm) {\n },\n onCmCodeChange(newCode) {\n this.code = newCode\n //this.$root.$emit('socket_add',this.code)\n },\n handleChange() {\n },\n setKeymap () {\n this.cmOptions.keyMap = this.selected\n },\n\t\tinfoFilter() {\n\t\t\t\tvar title1='<h3>Playbook Images</h3>'\n\t\t\t\t\tvar winfop='<table class=\"table table-striped table-sm \">'+\n '<tr><td class=\"text-left\">Shift-Tab</td> <td class=\"text-left\">indentLess</td></tr>'+\n '<tr><td class=\"text-left\">Alt-Q</td> <td class=\"text-left\">wrapLines</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-Up</td> <td class=\"text-left\">scrollLineUp</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-Down</td> <td class=\"text-left\">scrollLineDown</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-L</td> <td class=\"text-left\">selectLine</td></tr>'+\n '<tr><td class=\"text-left\">Esc</td> <td class=\"text-left\">singleSelectionTop</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-Enter</td> <td class=\"text-left\">insertLineAfter</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-D</td> <td class=\"text-left\">selectNextOccurrence</td></tr>'+\n '<tr><td class=\"text-left\">Shift-Ctrl-Space</td> <td class=\"text-left\">selectScope</td></tr>'+\n '<tr><td class=\"text-left\">Shift-Ctrl-M</td> <td class=\"text-left\">selectBetweenBrackets</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-M</td> <td class=\"text-left\">goToBracket</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-K Ctrl-Y</td> <td class=\"text-left\">sublimeYank</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-K Ctrl-C</td> <td class=\"text-left\">showInCenter</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-K Ctrl-G</td> <td class=\"text-left\">clearBookmarks</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-K Ctrl-Backspace</td> <td class=\"text-left\">delLineLeft</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-K Ctrl-0</td> <td class=\"text-left\">unfoldAll</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-K Ctrl-J</td> <td class=\"text-left\">unfoldAll</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-Alt-Up</td> <td class=\"text-left\">addCursorToPrevLine</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-Alt-Down</td> <td class=\"text-left\">addCursorToNextLine</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-F3</td> <td class=\"text-left\">findUnder</td></tr>'+\n '<tr><td class=\"text-left\">Shift-Ctrl-F3</td> <td class=\"text-left\">findUnderPrevious</td></tr>'+\n '<tr><td class=\"text-left\">Shift-Ctrl-[</td> <td class=\"text-left\">fold</td></tr>'+\n '<tr><td class=\"text-left\">Shift-Ctrl-]</td> <td class=\"text-left\">unfold</td></tr>'+\n '<tr><td class=\"text-left\">Ctrl-F</td> <td class=\"text-left\">find</td></tr>'+\n'</table>'\n\t\t\t\t\t\n\t\t\t\t\tvar title1=''\n\t\t\t\t\tvar winfo=''\n\t\t\t\tthis.$swal({\n\t\t\t\t\ttitle: '<strong>Key bindings</strong>',\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\thtml: winfop+title1+winfo,\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\tallowOutsideClick: false\n\t\t\t\t})\n\t\t},\n async hotreload() {\n var field = this.getinfo\n var log = await store.dispatch(\"pipelineLLO/hotreload\",{\n token:this.token,\n swarmlabname:this.swarmlabname \n })\n },\n\trunextenderror\t() {\n var html1 = ` <div style=\"overflow-x: auto;\">\n <p>\n It's the total amount of layers; \n </p>\n <p class=\"text-left\">\n <b>The current limit of 125 layers is due to the kernel's ARG_MAX</b>, which limits the number of arguments / length of arguments that can be passed when mounting the layers \n \n<br> <i> (this limit can be raised in kernels, but is not something that could be relied on as it would make those images non-interoperable on systems that don't have the custom configuration)</i>\n </p>\n <p class=\"text-left\">\n Note that not every step in a Dockerfile creates a new layer, <b>only (RUN) steps that modify the filesystem will introduce a new layer</b>.\n </p>\n\n <p class=\"text-center\">\n <h5> <b>Solution</b> </h5>\n </p>\n <p class=\"text-left\">\n Delete all local docker images related to your dockerfile using the following:\n <br>\n <br>\n <i><b>docker rmi -f $(docker images -a -q)</b></i>\n </p>\n\n <p class=\"text-left\">\n <h5> <b>Description</b> </h5>\n <br>\n Remove unused image <br>\n - all images not referenced by any container -\n </p>\n <p class=\"text-left\">\n <h5> <b>Filtering</b> </h5>\n <br>\n <i><b>docker rmi -f $(docker images -a | grep \"IMAGE_NAME\" | awk '{ print $3 }')</b></i>\n </p>\n\n</div>`\n\n\t\t\t\tthis.$swal({\n\t\t\t\t\ttitle: '<strong>Info</strong>',\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\thtml: html1,\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\tallowOutsideClick: false\n\t\t\t\t})\n\t\t}\n\n },\n computed: {\n codemirror() {\n return this.$refs.myCm.codemirror\n }\n\n\t},\n\tmounted() {\n // from runLLO\n\t\tthis.$root.$on('SERVER_socket_status', (v) => {\n\t\t\tthis.$nextTick(function () {\n if(v == 'off'){\n this.socketonline = false\n }else if(v == 'on'){\n this.socketonline = true\n }\n\t\t\t})\n\t\t})\n // from runLLO\n\t\tthis.$root.$on('hybrid_log_in', (log) => {\n //this.code += log.data\n //this.code += \"\\n\"\n //console.log(\" form socket log \"+JSON.stringify(this.code))\n var doc = this.$refs.myCm.codemirror.getDoc();\n var cursor = doc.getCursor(); // gets the line number in the cursor position\n var line = doc.getLine(cursor.line); // get the line contents\n var pos = { // create a new object to avoid mutation of the original selection\n line: cursor.line,\n ch: line.length - 1 // set the character position to the end of the line\n }\n doc.replaceRange(log.data, pos); // adds a new line\n doc.replaceRange(\"\\n\", pos); // adds a new line\n this.$refs.myCm.codemirror.setCursor(this.$refs.myCm.codemirror.lineCount(), 0);\n var extenderror = new RegExp('max depth exceeded'); \n if(extenderror.test(log.data)){\n this.extenderror = true\n }else{\n console.log('not find');\n }\n this.tryConsole=true\n\t\t})\n\n // from mytable.vue and socket\n\t\tthis.$root.$on('SERVER_hybrid_table_start', (v) => {\n\t\t\tthis.$nextTick(function () {\n this.$wait.start('myRunInstance1');\n\t\t\t})\n\t\t})\n // from mytable.vue and socket\n\t\tthis.$root.$on('SERVER_hybrid_table_stop', (v) => {\n\t\t\tthis.$nextTick(function () {\n this.$wait.end('myRunInstance1');\n\t\t\t})\n\t\t})\n\n\t},\n beforeDestroy () {\n\t\tthis.$root.$off('SERVER_socket_status')\n\t\tthis.$root.$off('hybrid_log_in')\n\t\tthis.$root.$off('SERVER_hybrid_table_start')\n\t\tthis.$root.$off('SERVER_hybrid_table_stop')\n },\n\n\t\tcreated () {\n this.token = new URL(location.href).searchParams.get('token');\n this.swarmlabname = new URL(location.href).searchParams.get('pipelinename');\n\t\t}\n};\n</script>\n\n<style>\n.CodeMirror {\n font-family: monospace;\n height: 550px;\n}\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!./AdhocView.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!./AdhocView.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./AdhocView.vue?vue&type=template&id=24d170ca&\"\nimport script from \"./AdhocView.vue?vue&type=script&lang=js&\"\nexport * from \"./AdhocView.vue?vue&type=script&lang=js&\"\nimport style0 from \"./AdhocView.vue?vue&type=style&index=0&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 null,\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('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('v-wait',{attrs:{\"for\":\"myRunInstancetutor\"}},[_c('template',{slot:\"waiting\"},[_c('div',[_c('img',{attrs:{\"src\":require(\"@/assets/loading.gif\")}}),_vm._v(\" Enter Lab_room... \")])])],2),_c('b-container',{staticClass:\"bv-example-row\",attrs:{\"fluid\":\"\"}},[_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setRefresh}},[_vm._v(\" Refresh running instances\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchFor),expression:\"searchFor\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Search by Name\"},domProps:{\"value\":(_vm.searchFor)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.setFilter($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchFor=$event.target.value}}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setFilter}},[_vm._v(\" Go\")])]),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.resetFilter}},[_vm._v(\" Reset\")])])]),_c('vuetable',{key:_vm.vuetablekeyb,ref:\"vuetable\",attrs:{\"api-url\":_vm.apiurl,\"api-mode\":true,\"http-options\":_vm.httpOptions,\"fields\":_vm.fields,\"item-actions\":_vm.itemActions,\"sort-order\":_vm.sortOrder,\"show-sort-icons\":true,\"multi-sort\":_vm.multiSort,\"per-page\":_vm.perpage,\"pagination-path\":\"links.pagination\",\"pagination-component\":_vm.paginationComponent,\"append-params\":_vm.moreParams,\"wrapper-class\":\"vuetable-wrapper\",\"loading-class\":\"loading\",\"detail-row-id\":\"id\",\"css\":_vm.css.table},on:{\"vuetable:pagination-data\":_vm.onPaginationData,\"vuetable:load-success\":_vm.loadsuccess,\"vuetable:load-error\":_vm.onLoadError},scopedSlots:_vm._u([{key:\"actions\",fn:function(props){return _c('div',{},[(_vm.actionrowindex == props.rowIndex)?_c('button',{staticClass:\"ti-more-alt btn btn-secondary btn-sm\",attrs:{\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('run-more', props.rowData, props.rowIndex)}}}):_c('button',{staticClass:\"ti-more btn btn-outline-secondary btn-sm\",attrs:{\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('run-more', props.rowData, props.rowIndex)}}}),_c('button',{staticClass:\"ti-info btn btn-outline-info btn-sm\",attrs:{\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('view-item', props.rowData, props.rowIndex)}}})])}}])}),_c('div',{staticClass:\"vuetable-pagination ui basic segment grid\"},[_c('vuetable-pagination-info',{ref:\"paginationInfo\",attrs:{\"css\":_vm.css.paginationInfo}}),_c('vuetable-pagination',{ref:\"pagination\",attrs:{\"css\":_vm.css.pagination},on:{\"vuetable-pagination:change-page\":_vm.onChangePage}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n\n\n <v-wait for=\"myRunInstancetutor\">\n <template slot=\"waiting\">\n <div>\n <img src=\"@/assets/loading.gif\" />\n Enter Lab_room...\n </div>\n </template>\n </v-wait>\n\n <b-container fluid class=\"bv-example-row\">\n\n\t\t<div class=\"input-group input-group-sm sm-3\">\n <div class=\"input-group-append\">\n <button \n class=\"btn btn-outline-success\" \n round\n type=\"button\"\n @click=\"setRefresh\">\n Refresh running instances</button>\n </div>\n\t\t\t\t\t\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"Search by Name\"\n\t\t\t\tv-model=\"searchFor\"\n\t\t\t\t@keyup.enter=\"setFilter\"\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button \n\t\t\t\t\tclass=\"btn btn-outline-primary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"setFilter\">\n\t\t\t\t\tGo</button>\n\t\t\t</div>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"resetFilter\">\n\t\t\t\t\tReset</button>\n\t\t\t</div>\n </div>\n\t\t<div class=\"white h-100 flex-fixed-width-item\"\n\t\t\t<vuetable \n\t\t\t\tref=\"vuetable\"\n\t\t\t\t:key=\"vuetablekeyb\"\n\t\t\t\t:api-url='apiurl'\n\t\t\t\t:api-mode=\"true\"\n\t\t\t\t:http-options=\"httpOptions\"\n\t\t\t\t:fields=\"fields\"\n\t\t\t\t:item-actions=\"itemActions\"\n\t\t\t\t:sort-order=\"sortOrder\"\n\t\t\t\t:show-sort-icons=\"true\"\n\t\t\t\t:multi-sort=\"multiSort\"\n\t\t\t\t:per-page=\"perpage\"\n\t\t\t\tpagination-path=\"links.pagination\"\n\t\t\t\t:pagination-component=\"paginationComponent\"\n\t\t\t\t:append-params=\"moreParams\"\n\t\t\t\twrapper-class=\"vuetable-wrapper\"\n\t\t\t\tloading-class=\"loading\"\n\t\t\t\tdetail-row-id=\"id\"\n\t\t\t\t@vuetable:pagination-data=\"onPaginationData\"\n\t\t\t\t@vuetable:load-success=\"loadsuccess\"\n @vuetable:load-error=\"onLoadError\"\n\t\t\t\t:css=\"css.table\"\n\t\t\t\t >\n\n <div slot=\"actions\" slot-scope=\"props\">\n <button\n v-if=\"actionrowindex == props.rowIndex\"\n class=\"ti-more-alt btn btn-secondary btn-sm\"\n round\n @click=\"onAction('run-more', props.rowData, props.rowIndex)\">\n </button>\n <button\n v-else\n class=\"ti-more btn btn-outline-secondary btn-sm\"\n round\n @click=\"onAction('run-more', props.rowData, props.rowIndex)\">\n </button>\n <button\n class=\"ti-info btn btn-outline-info btn-sm\"\n round\n @click=\"onAction('view-item', props.rowData, props.rowIndex)\">\n </button>\n\t\t\t\t</div>\n\t\t\t</vuetable>\n\t\t\t<div class=\"vuetable-pagination ui basic segment grid\">\n\t\t\t\t<vuetable-pagination-info \n\t\t\t\t\tref=\"paginationInfo\" \n\t\t\t\t\t:css=\"css.paginationInfo\"\n \t\t>\n\t\t\t\t</vuetable-pagination-info>\n\t\t\t\t<vuetable-pagination \n\t\t\t\t\t:css=\"css.pagination\"\n\t\t\t\t\tref=\"pagination\"\n \t@vuetable-pagination:change-page=\"onChangePage\"\n \t\t>\n\t\t\t\t</vuetable-pagination>\n\t\t\t</div>\n </div>\n </b-container>\n </card>\n</template>\n<script>\nimport store from '@/store/index'\nimport {mapState, mapGetters, mapActions,dispatch} from 'vuex'\nimport Vue from 'vue'\nimport {Vuetable, VuetablePaginationDropdown} from 'vuetable-2'\nimport VuetablePaginationInfo from 'vuetable-2/src/components/VuetablePaginationInfo'\nimport VuetablePagination from 'vuetable-2/src/components/VuetablePagination'\nimport CssConfig from 'vuetable-2/src/components/VuetableCssConfig.js'\nimport card from '@/components/Card.vue'\nimport {ApiConfig} from \"@/config/index\";\nexport default {\n components: {\n card,\n\t Vuetable,\n\t\t\tVuetablePagination,\n\t\t\tVuetablePaginationInfo,\n\t\t\tVuetablePaginationDropdown\n\t},\n props: {\n },\n data() {\n return{\n actionrowindex:'',\n\t playbookInfo: {},\n token: '',\n\t playbook: {\n\t\t\t'title':'',\n\t\t\t'name':'',\n\t\t\t'description':''\n\t\t},\n\t\t\tcontainer:{\n\t\t\t\tname:'',\n\t\t\t\tview:0\n\t\t\t},\n\t\t\tpipeline:{},\n \t\tselected: 'hybrid',\n options: [\n { text: 'Packages', value: 'packages' },\n { text: 'Images', value: 'images' },\n { text: 'Scripts', value: 'scripts' }\n ],\n\t\tshowModal: false,\n\t\tvisibility: [],\n\t \tactive:false,\n\t\tvuetablekeyb:0,\n\t\tfielddata:{},\n\t\tfields: [ \n {\n name: 'Names',\n title: '<span class=\"orange\"></span>Name',\n sortField: 'Names',\n visible:true,\n dataClass: 'text-left text-wrap text-break break-word',\n width: '50%'\n },\n {\n name: 'Image',\n title: '<span class=\"orange\"></span>Image',\n //sortField: 'Image',\n visible:true,\n dataClass: 'left aligned w-25',\n width: '15%',\n formatter (value) {\n const result = /^ondemand_playground/.test(value);\n if (result) {\n var v = '<p class=\"text-warning\">Playground</p>'\n return v\n }else{\n var v = '<p class=\"text-info\">Lab</p>'\n return v\n }\n }\n\n },\n {\n name: '_id',\n title: '<span class=\"orange\"></span>mongo',\n visible:false\n },\n {\n name: 'Status',\n title: '<span class=\"orange\"></span>Status',\n sortField: 'Status',\n titleClass: 'center aligned',\n visible:true,\n width: '10%'\n },\n {\n name: 'ID',\n sortField: 'ID',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-25',\n visible:false,\n width: '15%'\n },\n {\n name: '__slot:actions', // <----\n title: 'Actions',\n titleClass: 'center aligned',\n dataClass: 'center aligned',\n width: '10%'\n }\n\t\t],\n\t\tapiurl:ApiConfig.url_80+\"/dockerservices\",\n\t\t//apiurl:ApiConfig.swarmlab_url_80+\"/swarmlabhybridservices\",\n\t\tcss: CssConfig,\n perpage: 5,\n searchFor: '',\n\t\tsortOrder: [{\n\t\t\t\tfield: 'Names',\n\t\t\t\tdirection: 'asc'\n\t\t}],\n multiSort: true,\n paginationComponent: 'vuetable-pagination',\n\t\titemActions: [\n\t\t\t\t{ name: 'view-item', label: '', icon: 'glyphicon glyphicon-zoom-in', class: 'btn btn-info', extra: {'title': 'View', 'data-toggle':\"tooltip\", 'data-placement': \"left\"} },\n\t\t\t\t{ name: 'edit-item', label: '', icon: 'glyphicon glyphicon-pencil', class: 'btn btn-warning', extra: {title: 'Edit', 'data-toggle':\"tooltip\", 'data-placement': \"top\"} },\n\t\t\t\t{ name: 'delete-item', label: '', icon: 'glyphicon glyphicon-remove', class: 'btn btn-danger', extra: {title: 'Delete', 'data-toggle':\"tooltip\", 'data-placement': \"right\" } }\n\t\t],\n\t\tmoreParams: { \n\t\t\t\t'filter': '',\n\t\t\t\t'type': 'scripts',\n\t\t\t\t'tutor': 'yes'\n\t\t\t},\n\t \n\t\t}\n },\n\tmounted() {\n\t\tthis.$root.$on('hybrid_refresh_networktable', () => {\n //this.setFilter()\n //this.$refs.vuetable.refresh()\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\t\t})\n\t\tthis.$root.$on('hybrid_refresh_dockerservices', () => {\n //this.setFilter()\n //this.$refs.vuetable.refresh()\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\t\t})\n //refresh from socket mytable \n\t\tthis.$root.$on('hybrid_refresh_table', (v) => {\n\t\t\t this.$nextTick(function () {\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.viewhybridoptions = false\n\t\t\t })\n\t\t})\n\t},\n\tcreated() {\n var url_string = window.location.href\n var url = new URL(url_string);\n this.token = url.searchParams.get(\"token\");\n //console.log(\"token \"+ this.token);\n\n\t},\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_refresh_networktable')\n\t\tthis.$root.$off('hybrid_refresh_dockerservices')\n\t\tthis.$root.$off('hybrid_refresh_table')\n },\n computed: {\n\t\thttpOptions() {\n\t\t\tvar token = this.token\n\t\t\t var p=\"headers: {Authorization: token}}\"; //table props -> :http-options=\"httpOptions\"\n\t\t\t return {headers: {Authorization: 'Bearer ' + token}} //table props -> :http-options=\"httpOptions\"\n\t },\n\n\t},\n\n methods: {\n onError (type,description) {\n var winfo=description\n var info='<h5>Bootstrap '+type+'</h5>'\n this.$swal({\n type: type,\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n },\n\n\n\t\tsetRefresh () {\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': '',\n\t\t\t\t\t\t'type': this.selected\n\t\t\t\t}\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n\t\tsetFilter () {\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': this.searchFor,\n\t\t\t\t\t\t'type': this.selected\n\t\t\t\t}\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n\t\tresetFilter () {\n\t\t\t\tthis.moreParams = {}\n\t\t\t\tthis.searchFor = ''\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n onPaginationData (paginationData) {\n this.$refs.pagination.setPaginationData(paginationData)\n\t\t\tthis.$refs.paginationInfo.setPaginationData(paginationData) \n },\n onChangePage (page) {\n this.$refs.vuetable.changePage(page)\n },\n editRow(rowData) {\n alert(\"You clicked edit on\"+ JSON.stringify(rowData));\n\t\t},\n async onAction (action, data, index) {\n this.actionrowindex = index\n this.$root.$emit('hybrid_show_info',data)\n console.log('index '+JSON.stringify(data))\n //console.log('index '+this.actionrowindex)\n\t\t\tif(action == 'view-item' ){\n var log = await store.dispatch(\"pipelineLLO/hybrid_inspectcontainer\",{\n token:this.token,\n instance:data.ID\n })\n //console.log('index '+JSON.stringify(log.data.test[0]))\n var info='<h5>Instance Info <b> '+ data.Names +'</b> <br> id: ' + data.ID+ '<br></h5>'\n info += '<div class=\"overflow-auto\" style=\"width:100%;height:450px;\"><samp>'+ JSON.stringify(log.data.test[0]) +'</samp></div>'\n this.$swal({\n type: 'Info',\n title: 'Info!',\n icon:'warning',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n\n\t\t\t}else if(action == 'delete-item' ){\n\t\t\t\tthis.$swal({\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\thtml: info+winfo,\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t cancelButtonText: 'No, cancel!',\n\t\t\t\t\tshowCancelButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\treverseButtons: true,\n\t\t\t\t\tfocusCancel: true,\n\t\t\t\t\tconfirmButtonText: 'Yes, Delete it!'\n\t\t\t\t\t})\n\t\t\t}else if(action == 'run-item' ){\n\t\t\t}\n },\n refreshVuetable() {\n\t\t\tthis.$nextTick(()=>{\n\t\t\t\t\tthis.vuetablekeyb += 1\n\t\t\t\t})\n },\n\t\tplaybookinfoShow(value) {\n\t\t\t\treturn this.visibility[value]=true\n\t\t},\n\t\tplaybookinfo(value) {\n\t\t\t\treturn this.playbookInfo=value\n\t\t},\n\t\trowClicked(row, event) {\n\t\t\treturn {\n\t\t\t\thtml: true,\n\t\t\t\ttitle: () => { return 'Hello <b>Popover:</b> ' + (++this.counter) },\n\t\t\t\tcontent: () => { return 'The date is:<br><em>' + new Date() + '</em>' }\n\t\t\t}\n\t\t},\n\t\tloadsuccess(response) {\n\t\t\t\tvar data = response.data.data\n\t\t\t\tthis.fielddata=data\n\t\t\t\tvar n = data.length\n\t\t\t\tn=n-1\n\t\t\t},\n onLoadError(payload) {\n /*\n //error2 \"invalid_token\" join-service.vue:684\n //error2 \"The access token provided has expired\" join-service.vue:685\n //error2 \"Unauthorized\" join-service.vue:686\n //error2 401\n console.log('error2 '+JSON.stringify(payload.response.data.error))\n console.log('error2 '+JSON.stringify(payload.response.data.error_description))\n console.log('error2 '+JSON.stringify(payload.response.statusText))\n console.log('error2 '+JSON.stringify(payload.response.status))\n */\n if(payload.response.status == '401'){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n Vue.nextTick( () => window.location.href = 'https://api-login.swarmlab.io:8089')\n }\n }\n\n\n },\n\n\n actions: {\n\n\n\t}\n\n};\n</script>\n<style>\n.flex-fixed-width-item {\n flex: 0 0 100px;\n\t\t}\n.modalinfo {\n z-index: 10000000 !important;\n\tposition:fixed;\n}\n/* a container with flex-direction column */\n\n.vue-notifyjs.notifications{\n .alert{\n z-index: 100;\n }\n .list-move {\n transition: transform 0.3s, opacity 0.4s;\n }\n .list-item {\n display: inline-block;\n margin-right: 10px;\n\n }\n .list-enter-active {\n transition: transform 0.2s ease-in, opacity 0.4s ease-in;\n }\n .list-leave-active {\n transition: transform 1s ease-out, opacity 0.4s ease-out;\n }\n\n .list-enter {\n opacity: 0;\n transform: scale(1.1);\n\n }\n .list-leave-to {\n opacity: 0;\n transform: scale(1.2, 0.7);\n }\n}\n\npre {\n //background-color: rgb(255, 247, 229);\n background-color: #eff0f1;\n\t border: 1px solid blue;\n\t\t //white-space: pre-line;\n\t\t\t}\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!./dockerservices.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!./dockerservices.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./dockerservices.vue?vue&type=template&id=6bdf0951&\"\nimport script from \"./dockerservices.vue?vue&type=script&lang=js&\"\nexport * from \"./dockerservices.vue?vue&type=script&lang=js&\"\nimport style0 from \"./dockerservices.vue?vue&type=style&index=0&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 null,\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('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('v-wait',{attrs:{\"for\":\"myRunInstancedockerimages\"}},[_c('template',{slot:\"waiting\"},[_c('div',[_c('img',{attrs:{\"src\":require(\"@/assets/loading.gif\")}}),_vm._v(\" Clear ... \")])])],2),_c('b-container',{staticClass:\"bv-example-row\",attrs:{\"fluid\":\"\"}},[_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setRefresh}},[_vm._v(\" Refresh images\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchFor),expression:\"searchFor\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Search by Name\"},domProps:{\"value\":(_vm.searchFor)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.setFilter($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchFor=$event.target.value}}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setFilter}},[_vm._v(\" Go\")])]),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.resetFilter}},[_vm._v(\" Reset\")])]),_c('div',{staticClass:\"input-group-append\"},[_c('div',{staticClass:\"mx-auto\",staticStyle:{\"width\":\"85px\"}}),_c('button',{staticClass:\"btn btn-secondary\",attrs:{\"round\":\"\",\"type\":\"button\",\"disabled\":\"\"}},[_vm._v(\" Clear All: \")]),_c('button',{staticClass:\"btn btn-outline-danger\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.rmall_i('images')}}},[_vm._v(\" Images\")]),_c('button',{staticClass:\"btn btn-outline-danger\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.rmall_i('containers')}}},[_vm._v(\" Containers\")]),_c('button',{staticClass:\"btn btn-outline-danger\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":function($event){return _vm.rmall_i('volumes')}}},[_vm._v(\" Volumes\")])])]),_c('vuetable',{key:_vm.vuetablekeybimages,ref:\"vuetable\",attrs:{\"api-url\":_vm.apiurl,\"api-mode\":true,\"http-options\":_vm.httpOptions,\"fields\":_vm.fields,\"item-actions\":_vm.itemActions,\"sort-order\":_vm.sortOrder,\"show-sort-icons\":true,\"multi-sort\":_vm.multiSort,\"per-page\":_vm.perpage,\"pagination-path\":\"links.pagination\",\"pagination-component\":_vm.paginationComponent,\"append-params\":_vm.moreParams,\"wrapper-class\":\"vuetable-wrapper\",\"loading-class\":\"loading\",\"detail-row-id\":\"id\",\"css\":_vm.css.table},on:{\"vuetable:pagination-data\":_vm.onPaginationData,\"vuetable:load-success\":_vm.loadsuccess,\"vuetable:load-error\":_vm.onLoadError},scopedSlots:_vm._u([{key:\"actions\",fn:function(props){return _c('div',{},[_c('button',{staticClass:\"ti-trash btn btn-outline-secondary btn-sm\",attrs:{\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('rm-item', props.rowData, props.rowIndex)}}}),_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm\",attrs:{\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('info-item', props.rowData, props.rowIndex)}}})])}}])}),_c('div',{staticClass:\"vuetable-pagination ui basic segment grid\"},[_c('vuetable-pagination-info',{ref:\"paginationInfo\",attrs:{\"css\":_vm.css.paginationInfo}}),_c('vuetable-pagination',{ref:\"pagination\",attrs:{\"css\":_vm.css.pagination},on:{\"vuetable-pagination:change-page\":_vm.onChangePage}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n\n\n <v-wait for=\"myRunInstancedockerimages\">\n <template slot=\"waiting\">\n <div>\n <img src=\"@/assets/loading.gif\" />\n Clear ...\n </div>\n </template>\n </v-wait>\n\n <b-container fluid class=\"bv-example-row\">\n\n\t\t<div class=\"input-group input-group-sm sm-3\">\n <div class=\"input-group-append\">\n <button \n class=\"btn btn-outline-success\" \n round\n type=\"button\"\n @click=\"setRefresh\">\n Refresh images</button>\n </div>\n\t\t\t\t\t\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"Search by Name\"\n\t\t\t\tv-model=\"searchFor\"\n\t\t\t\t@keyup.enter=\"setFilter\"\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button \n\t\t\t\t\tclass=\"btn btn-outline-primary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"setFilter\">\n\t\t\t\t\tGo</button>\n\t\t\t</div>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"resetFilter\">\n\t\t\t\t\tReset</button>\n\t\t\t</div>\n\n <div class=\"input-group-append\">\n\t\t\t<div class=\"mx-auto\" style=\"width: 85px;\">\n\t\t\t</div>\n <button \n class=\"btn btn-secondary\" \n round\n type=\"button\"\n disabled\n >\n Clear All: </button>\n <button \n class=\"btn btn-outline-danger\" \n round\n type=\"button\"\n @click=\"rmall_i('images')\">\n Images</button>\n <button \n class=\"btn btn-outline-danger\" \n round\n type=\"button\"\n @click=\"rmall_i('containers')\">\n Containers</button>\n <button \n class=\"btn btn-outline-danger\" \n round\n type=\"button\"\n @click=\"rmall_i('volumes')\">\n Volumes</button>\n </div>\n\t\t\t\t\t\n </div>\n\n\t\t<div class=\"white h-100 flex-fixed-width-item\"\n\t\t\t<vuetable \n\t\t\t\tref=\"vuetable\"\n\t\t\t\t:key=\"vuetablekeybimages\"\n\t\t\t\t:api-url='apiurl'\n\t\t\t\t:api-mode=\"true\"\n\t\t\t\t:http-options=\"httpOptions\"\n\t\t\t\t:fields=\"fields\"\n\t\t\t\t:item-actions=\"itemActions\"\n\t\t\t\t:sort-order=\"sortOrder\"\n\t\t\t\t:show-sort-icons=\"true\"\n\t\t\t\t:multi-sort=\"multiSort\"\n\t\t\t\t:per-page=\"perpage\"\n\t\t\t\tpagination-path=\"links.pagination\"\n\t\t\t\t:pagination-component=\"paginationComponent\"\n\t\t\t\t:append-params=\"moreParams\"\n\t\t\t\twrapper-class=\"vuetable-wrapper\"\n\t\t\t\tloading-class=\"loading\"\n\t\t\t\tdetail-row-id=\"id\"\n\t\t\t\t@vuetable:pagination-data=\"onPaginationData\"\n\t\t\t\t@vuetable:load-success=\"loadsuccess\"\n @vuetable:load-error=\"onLoadError\"\n\t\t\t\t:css=\"css.table\"\n\t\t\t\t >\n\n <div slot=\"actions\" slot-scope=\"props\">\n <button\n class=\"ti-trash btn btn-outline-secondary btn-sm\"\n round\n @click=\"onAction('rm-item', props.rowData, props.rowIndex)\">\n </button>\n <button\n class=\"ti-info btn btn-outline-secondary btn-sm\"\n round\n @click=\"onAction('info-item', props.rowData, props.rowIndex)\">\n </button>\n\t\t\t\t</div>\n\t\t\t</vuetable>\n\t\t\t<div class=\"vuetable-pagination ui basic segment grid\">\n\t\t\t\t<vuetable-pagination-info \n\t\t\t\t\tref=\"paginationInfo\" \n\t\t\t\t\t:css=\"css.paginationInfo\"\n \t\t>\n\t\t\t\t</vuetable-pagination-info>\n\t\t\t\t<vuetable-pagination \n\t\t\t\t\t:css=\"css.pagination\"\n\t\t\t\t\tref=\"pagination\"\n \t@vuetable-pagination:change-page=\"onChangePage\"\n \t\t>\n\t\t\t\t</vuetable-pagination>\n\t\t\t</div>\n </div>\n </b-container>\n </card>\n</template>\n<script>\nimport store from '@/store/index'\nimport {mapState, mapGetters, mapActions,dispatch} from 'vuex'\nimport Vue from 'vue'\nimport {Vuetable, VuetablePaginationDropdown} from 'vuetable-2'\nimport VuetablePaginationInfo from 'vuetable-2/src/components/VuetablePaginationInfo'\nimport VuetablePagination from 'vuetable-2/src/components/VuetablePagination'\nimport CssConfig from 'vuetable-2/src/components/VuetableCssConfig.js'\nimport card from '@/components/Card.vue'\nimport {ApiConfig} from \"@/config/index\";\nexport default {\n components: {\n card,\n\t Vuetable,\n\t\t\tVuetablePagination,\n\t\t\tVuetablePaginationInfo,\n\t\t\tVuetablePaginationDropdown\n\t},\n props: {\n },\n data() {\n return{\n actionrowindex:'',\n\t playbookInfo: {},\n rmactionclear: '',\n\t image2rm: {},\n token: '',\n\t playbook: {\n\t\t\t'title':'',\n\t\t\t'name':'',\n\t\t\t'description':''\n\t\t},\n\t\t\tcontainer:{\n\t\t\t\tname:'',\n\t\t\t\tview:0\n\t\t\t},\n\t\t\tpipeline:{},\n \t\tselected: 'hybrid',\n options: [\n { text: 'Packages', value: 'packages' },\n { text: 'Images', value: 'images' },\n { text: 'Scripts', value: 'scripts' }\n ],\n\t\tshowModal: false,\n\t\tvisibility: [],\n\t \tactive:false,\n\t\tvuetablekeybimages:0,\n\t\tfielddata:{},\n\t\tfields: [ \n {\n name: 'ID',\n title: '<span class=\"orange\"></span>Image id',\n //sortField: 'ID',\n visible:true,\n dataClass: 'text-left text-wrap text-break break-word',\n width: '15%'\n },\n {\n name: 'Repository',\n title: '<span class=\"orange\"></span>Repository',\n sortField: 'Repository',\n visible:true,\n dataClass: 'left aligned w-25',\n width: '30%'\n\n },\n {\n name: 'Tag',\n //sortField: 'Tag',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-25',\n visible:true,\n width: '5%'\n },\n {\n name: 'CreatedSince',\n sortField: 'CreatedSince',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-20',\n visible:true,\n width: '10%'\n },\n {\n name: '_id',\n title: '<span class=\"orange\"></span>mongo',\n visible:false\n },\n {\n name: 'Size',\n title: '<span class=\"orange\"></span>Size',\n sortField: 'Size',\n titleClass: 'center aligned',\n visible:true,\n width: '5%'\n },\n {\n name: '__slot:actions', // <----\n title: 'Actions',\n titleClass: 'center aligned',\n dataClass: 'center aligned',\n width: '10%'\n }\n\t\t],\n\t\tapiurl:ApiConfig.url_80+\"/dockerimages\",\n\t\t//apiurl:ApiConfig.swarmlab_url_80+\"/swarmlabhybridservices\",\n\t\tcss: CssConfig,\n perpage: 5,\n searchFor: '',\n\t\tsortOrder: [{\n\t\t\t\tfield: 'Names',\n\t\t\t\tdirection: 'asc'\n\t\t}],\n multiSort: true,\n paginationComponent: 'vuetable-pagination',\n\t\titemActions: [\n\t\t\t\t{ name: 'view-item', label: '', icon: 'glyphicon glyphicon-zoom-in', class: 'btn btn-info', extra: {'title': 'View', 'data-toggle':\"tooltip\", 'data-placement': \"left\"} },\n\t\t\t\t{ name: 'edit-item', label: '', icon: 'glyphicon glyphicon-pencil', class: 'btn btn-warning', extra: {title: 'Edit', 'data-toggle':\"tooltip\", 'data-placement': \"top\"} },\n\t\t\t\t{ name: 'delete-item', label: '', icon: 'glyphicon glyphicon-remove', class: 'btn btn-danger', extra: {title: 'Delete', 'data-toggle':\"tooltip\", 'data-placement': \"right\" } }\n\t\t],\n\t\tmoreParams: { \n\t\t\t\t'filter': '',\n\t\t\t\t'type': 'scripts',\n\t\t\t\t'tutor': 'yes'\n\t\t\t},\n\t \n\t\t}\n },\n\tmounted() {\n\t\tthis.$root.$on('hybrid_refresh_networktable', () => {\n //this.setFilter()\n //this.$refs.vuetable.refresh()\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\t\t})\n\t\tthis.$root.$on('hybrid_refresh_dockerservices', () => {\n //this.setFilter()\n //this.$refs.vuetable.refresh()\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\t\t})\n //refresh from socket mytable \n\t\tthis.$root.$on('hybrid_refresh_table', (v) => {\n\t\t\t this.$nextTick(function () {\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.viewhybridoptions = false\n\t\t\t })\n\t\t})\n\t},\n\tcreated() {\n var url_string = window.location.href\n var url = new URL(url_string);\n this.token = url.searchParams.get(\"token\");\n //console.log(\"token \"+ this.token);\n\n\t},\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_refresh_networktable')\n\t\tthis.$root.$off('hybrid_refresh_dockerservices')\n\t\tthis.$root.$off('hybrid_refresh_table')\n },\n computed: {\n\t\thttpOptions() {\n\t\t\tvar token = this.token\n\t\t\t var p=\"headers: {Authorization: token}}\"; //table props -> :http-options=\"httpOptions\"\n\t\t\t return {headers: {Authorization: 'Bearer ' + token}} //table props -> :http-options=\"httpOptions\"\n\t },\n\n\t},\n\n methods: {\n onError (type,description) {\n var winfo=description\n var info='<h5>Bootstrap '+type+'</h5>'\n this.$swal({\n type: type,\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n },\n\n\n\t\tsetRefresh () {\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': '',\n\t\t\t\t\t\t'type': this.selected\n\t\t\t\t}\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n\t\tsetFilter () {\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': this.searchFor,\n\t\t\t\t\t\t'type': this.selected\n\t\t\t\t}\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n\t\tresetFilter () {\n\t\t\t\tthis.moreParams = {}\n\t\t\t\tthis.searchFor = ''\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n onPaginationData (paginationData) {\n this.$refs.pagination.setPaginationData(paginationData)\n\t\t\tthis.$refs.paginationInfo.setPaginationData(paginationData) \n },\n onChangePage (page) {\n this.$refs.vuetable.changePage(page)\n },\n editRow(rowData) {\n alert(\"You clicked edit on\"+ JSON.stringify(rowData));\n\t\t},\n // **************************************************************\n // ************ rm all ***********************************\n // **************************************************************\n async rmall_i (action) {\n this.rmactionclear = action\n var info='<h5>This will remove all unused ' + action +' from system. </h5>'\n this.$swal({\n type: 'Info',\n title: 'Info!',\n icon:'warning',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: true,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n }).then((result)=> {\n //console.log(JSON.stringify(result))\n this.onActionHybrid_containerrmall(result);\n })\n\t\t},\n async onActionHybrid_containerrmall(action) {\n // myRunInstancedockerimages\n var rmimages = this.rmactionclear\n if(action.isConfirmed){\n this.$wait.start('myRunInstancedockerimages');\n\t\t\t\t\t\t\t var log = await store.dispatch(\"pipelineLLO/hybrid_rmall\",{\n\t\t\t\t\t\t\t\t\t\ttoken:this.token,\n\t\t\t\t\t\t\t\t\t\taction:rmimages\n\t\t\t\t\t\t\t\t\t})\n this.$wait.end('myRunInstancedockerimages');\n //console.log(JSON.stringify(log))\n\t\t\t\t\t\t\tif(log.data.error == 'no'){\n if(rmimages != 'images'){\n\t\t\t\t\t\t var info='<h5> <div class=\"overflow-auto\">' + log.data.out + '</div></h5>'\n\t\t\t\t\t\t\t\t\tthis.$swal({\n\t\t\t\t\t\t\t\t\t\ttype: 'Info',\n\t\t\t\t\t\t\t\t\t\ttitle: 'Info!',\n\t\t\t\t\t\t\t\t\t\ticon:'info',\n\t\t\t\t\t\t\t\t\t\thtml: info,\n\t\t\t\t\t\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\t\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\t\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t\t\t\t\t\t//cancelButtonText: 'No, cancel!',\n\t\t\t\t\t\t\t\t\t\tshowCancelButton: false,\n\t\t\t\t\t\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\t\t\t\t\t\treverseButtons: true,\n\t\t\t\t\t\t\t\t\t\tfocusCancel: false,\n\t\t\t\t\t\t\t\t\t\tconfirmButtonText: 'Ok!'\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}else{\n \t\t\t\t\t Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t var info='<h5> ' + log.data.error_msg + '</h5>'\n\t\t\t\t\t\t\t\t\tthis.$swal({\n\t\t\t\t\t\t\t\t\t\ttype: 'Info',\n\t\t\t\t\t\t\t\t\t\ttitle: 'Error!',\n\t\t\t\t\t\t\t\t\t\ticon:'error',\n\t\t\t\t\t\t\t\t\t\thtml: info,\n\t\t\t\t\t\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\t\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\t\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t\t\t\t\t\t//cancelButtonText: 'No, cancel!',\n\t\t\t\t\t\t\t\t\t\tshowCancelButton: false,\n\t\t\t\t\t\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\t\t\t\t\t\treverseButtons: true,\n\t\t\t\t\t\t\t\t\t\tfocusCancel: false,\n\t\t\t\t\t\t\t\t\t\tconfirmButtonText: 'Ok!'\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t},\n async onAction (action, data, index) {\n this.actionrowindex = index\n this.image2rm = data\n //this.$root.$emit('hybrid_show_info',data)\n //console.log('rm '+JSON.stringify(data))\n //console.log('index '+this.actionrowindex)\n\t\t\tif(action == 'info-item' ){\n\t\t\t\t\t\t\t var log = await store.dispatch(\"pipelineLLO/hybrid_inspectimages\",{\n\t\t\t\t\t\t\t\t\t\ttoken:this.token,\n\t\t\t\t\t\t\t\t\t\tinstance:this.image2rm.ID\n\t\t\t\t\t\t\t\t\t})\n //console.log('index '+JSON.stringify(log.data.test[0]))\n var info='<h5>Image Info <b> '+ data.Repository +'</b> <br> id: ' + data.ID+ '<br></h5>'\n info += '<samp class=\"overflow-auto\">'+ JSON.stringify(log.data.test[0]) +'</samp>'\n this.$swal({\n type: 'Info',\n title: 'Info!',\n icon:'warning',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n\t\t\t}else if(action == 'rm-item' ){\n var info = 'test'\n/*\n\t\t\t\tthis.$swal({\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\thtml: info,\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t cancelButtonText: 'No, cancel!',\n\t\t\t\t\tshowCancelButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\treverseButtons: true,\n\t\t\t\t\tfocusCancel: true,\n\t\t\t\t\tconfirmButtonText: 'Yes, Delete it!'\n\t\t\t\t\t})\n*/\n var info='<h5>This will remove the image <b> '+ data.Repository +'</b> <br></h5>'\n this.$swal({\n type: 'Info',\n title: 'Info!',\n icon:'warning',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: true,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n }).then((result)=> {\n //console.log(JSON.stringify(result))\n this.onActionHybrid_imagerm(result);\n })\n\n\t\t\t}else if(action == 'run-item' ){\n\t\t\t}\n },\n async onActionHybrid_imagerm(action) {\n if(action.isConfirmed){\n\t\t\t\t\t\t\t var log = await store.dispatch(\"pipelineLLO/hybrid_rmimage\",{\n\t\t\t\t\t\t\t\t\t\ttoken:this.token,\n\t\t\t\t\t\t\t\t\t\tinstance:this.image2rm.ID\n\t\t\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\tif(log.data.test != 'ok'){\n \t//console.log('-------' + JSON.stringify(log.data.test))\n var info='<h5> ' + log.data.test + '</h5>'\n\t\t\t\t\t\t\t\t\tthis.$swal({\n\t\t\t\t\t\t\t\t\t\ttype: 'Info',\n\t\t\t\t\t\t\t\t\t\ttitle: 'Error!',\n\t\t\t\t\t\t\t\t\t\ticon:'error',\n\t\t\t\t\t\t\t\t\t\thtml: info,\n\t\t\t\t\t\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\t\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\t\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t\t\t\t\t\t//cancelButtonText: 'No, cancel!',\n\t\t\t\t\t\t\t\t\t\tshowCancelButton: false,\n\t\t\t\t\t\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\t\t\t\t\t\treverseButtons: true,\n\t\t\t\t\t\t\t\t\t\tfocusCancel: false,\n\t\t\t\t\t\t\t\t\t\tconfirmButtonText: 'Ok!'\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t }\n\n //console.log(JSON.stringify(this.image2rm))\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n }\n },\n\n refreshVuetable() {\n\t\t\tthis.$nextTick(()=>{\n\t\t\t\t\tthis.vuetablekeybimages += 1\n\t\t\t\t})\n },\n\t\tplaybookinfoShow(value) {\n\t\t\t\treturn this.visibility[value]=true\n\t\t},\n\t\tplaybookinfo(value) {\n\t\t\t\treturn this.playbookInfo=value\n\t\t},\n\t\trowClicked(row, event) {\n\t\t\treturn {\n\t\t\t\thtml: true,\n\t\t\t\ttitle: () => { return 'Hello <b>Popover:</b> ' + (++this.counter) },\n\t\t\t\tcontent: () => { return 'The date is:<br><em>' + new Date() + '</em>' }\n\t\t\t}\n\t\t},\n\t\tloadsuccess(response) {\n\t\t\t\tvar data = response.data.data\n\t\t\t\tthis.fielddata=data\n\t\t\t\tvar n = data.length\n\t\t\t\tn=n-1\n\t\t\t},\n onLoadError(payload) {\n /*\n //error2 \"invalid_token\" join-service.vue:684\n //error2 \"The access token provided has expired\" join-service.vue:685\n //error2 \"Unauthorized\" join-service.vue:686\n //error2 401\n console.log('error2 '+JSON.stringify(payload.response.data.error))\n console.log('error2 '+JSON.stringify(payload.response.data.error_description))\n console.log('error2 '+JSON.stringify(payload.response.statusText))\n console.log('error2 '+JSON.stringify(payload.response.status))\n */\n if(payload.response.status == '401'){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n Vue.nextTick( () => window.location.href = 'https://api-login.swarmlab.io:8089')\n }\n }\n\n\n },\n\n\n actions: {\n\n\n\t}\n\n};\n</script>\n<style>\n.flex-fixed-width-item {\n flex: 0 0 100px;\n\t\t}\n.modalinfo {\n z-index: 10000000 !important;\n\tposition:fixed;\n}\n/* a container with flex-direction column */\n\n.vue-notifyjs.notifications{\n .alert{\n z-index: 100;\n }\n .list-move {\n transition: transform 0.3s, opacity 0.4s;\n }\n .list-item {\n display: inline-block;\n margin-right: 10px;\n\n }\n .list-enter-active {\n transition: transform 0.2s ease-in, opacity 0.4s ease-in;\n }\n .list-leave-active {\n transition: transform 1s ease-out, opacity 0.4s ease-out;\n }\n\n .list-enter {\n opacity: 0;\n transform: scale(1.1);\n\n }\n .list-leave-to {\n opacity: 0;\n transform: scale(1.2, 0.7);\n }\n}\n\npre {\n //background-color: rgb(255, 247, 229);\n background-color: #eff0f1;\n\t border: 1px solid blue;\n\t\t //white-space: pre-line;\n\t\t\t}\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!./images.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!./images.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./images.vue?vue&type=template&id=70c74154&\"\nimport script from \"./images.vue?vue&type=script&lang=js&\"\nexport * from \"./images.vue?vue&type=script&lang=js&\"\nimport style0 from \"./images.vue?vue&type=style&index=0&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 null,\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('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('v-wait',{attrs:{\"for\":\"myRunInstancedockerimages1a\"}},[_c('template',{slot:\"waiting\"},[_c('div',[_c('img',{attrs:{\"src\":require(\"@/assets/loading.gif\")}}),_vm._v(\" Clear ... \")])])],2),_c('b-container',{staticClass:\"bv-example-row\",attrs:{\"fluid\":\"\"}},[_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setRefresh}},[_vm._v(\" Refresh networks\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchFor),expression:\"searchFor\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Search by Name\"},domProps:{\"value\":(_vm.searchFor)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.setFilter($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchFor=$event.target.value}}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setFilter}},[_vm._v(\" Go\")])]),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.resetFilter}},[_vm._v(\" Reset\")])])]),_c('vuetable',{key:_vm.vuetablekeybnetworks1,ref:\"vuetable\",attrs:{\"api-url\":_vm.apiurl,\"api-mode\":true,\"http-options\":_vm.httpOptions,\"fields\":_vm.fields,\"item-actions\":_vm.itemActions,\"sort-order\":_vm.sortOrder,\"show-sort-icons\":true,\"multi-sort\":_vm.multiSort,\"per-page\":_vm.perpage,\"pagination-path\":\"links.pagination\",\"pagination-component\":_vm.paginationComponent,\"append-params\":_vm.moreParams,\"wrapper-class\":\"vuetable-wrapper\",\"loading-class\":\"loading\",\"detail-row-id\":\"id\",\"css\":_vm.css.table},on:{\"vuetable:pagination-data\":_vm.onPaginationData,\"vuetable:load-success\":_vm.loadsuccess,\"vuetable:load-error\":_vm.onLoadError},scopedSlots:_vm._u([{key:\"actions\",fn:function(props){return _c('div',{},[_c('button',{staticClass:\"ti-trash btn btn-outline-secondary btn-sm\",attrs:{\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('rm-item', props.rowData, props.rowIndex)}}}),_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm\",attrs:{\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('info-item', props.rowData, props.rowIndex)}}})])}}])}),_c('div',{staticClass:\"vuetable-pagination ui basic segment grid\"},[_c('vuetable-pagination-info',{ref:\"paginationInfo\",attrs:{\"css\":_vm.css.paginationInfo}}),_c('vuetable-pagination',{ref:\"pagination\",attrs:{\"css\":_vm.css.pagination},on:{\"vuetable-pagination:change-page\":_vm.onChangePage}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n\n\n <v-wait for=\"myRunInstancedockerimages1a\">\n <template slot=\"waiting\">\n <div>\n <img src=\"@/assets/loading.gif\" />\n Clear ...\n </div>\n </template>\n </v-wait>\n\n <b-container fluid class=\"bv-example-row\">\n\n\t\t<div class=\"input-group input-group-sm sm-3\">\n <div class=\"input-group-append\">\n <button \n class=\"btn btn-outline-success\" \n round\n type=\"button\"\n @click=\"setRefresh\">\n Refresh networks</button>\n </div>\n\t\t\t\t\t\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"Search by Name\"\n\t\t\t\tv-model=\"searchFor\"\n\t\t\t\t@keyup.enter=\"setFilter\"\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button \n\t\t\t\t\tclass=\"btn btn-outline-primary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"setFilter\">\n\t\t\t\t\tGo</button>\n\t\t\t</div>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"resetFilter\">\n\t\t\t\t\tReset</button>\n\t\t\t</div>\n\n\t\t\t\t\t\n </div>\n\n\t\t<div class=\"white h-100 flex-fixed-width-item\"\n\t\t\t<vuetable \n\t\t\t\tref=\"vuetable\"\n\t\t\t\t:key=\"vuetablekeybnetworks1\"\n\t\t\t\t:api-url='apiurl'\n\t\t\t\t:api-mode=\"true\"\n\t\t\t\t:http-options=\"httpOptions\"\n\t\t\t\t:fields=\"fields\"\n\t\t\t\t:item-actions=\"itemActions\"\n\t\t\t\t:sort-order=\"sortOrder\"\n\t\t\t\t:show-sort-icons=\"true\"\n\t\t\t\t:multi-sort=\"multiSort\"\n\t\t\t\t:per-page=\"perpage\"\n\t\t\t\tpagination-path=\"links.pagination\"\n\t\t\t\t:pagination-component=\"paginationComponent\"\n\t\t\t\t:append-params=\"moreParams\"\n\t\t\t\twrapper-class=\"vuetable-wrapper\"\n\t\t\t\tloading-class=\"loading\"\n\t\t\t\tdetail-row-id=\"id\"\n\t\t\t\t@vuetable:pagination-data=\"onPaginationData\"\n\t\t\t\t@vuetable:load-success=\"loadsuccess\"\n @vuetable:load-error=\"onLoadError\"\n\t\t\t\t:css=\"css.table\"\n\t\t\t\t >\n\n <div slot=\"actions\" slot-scope=\"props\">\n <button\n class=\"ti-trash btn btn-outline-secondary btn-sm\"\n round\n @click=\"onAction('rm-item', props.rowData, props.rowIndex)\">\n </button>\n <button\n class=\"ti-info btn btn-outline-secondary btn-sm\"\n round\n @click=\"onAction('info-item', props.rowData, props.rowIndex)\">\n </button>\n\t\t\t\t</div>\n\t\t\t</vuetable>\n\t\t\t<div class=\"vuetable-pagination ui basic segment grid\">\n\t\t\t\t<vuetable-pagination-info \n\t\t\t\t\tref=\"paginationInfo\" \n\t\t\t\t\t:css=\"css.paginationInfo\"\n \t\t>\n\t\t\t\t</vuetable-pagination-info>\n\t\t\t\t<vuetable-pagination \n\t\t\t\t\t:css=\"css.pagination\"\n\t\t\t\t\tref=\"pagination\"\n \t@vuetable-pagination:change-page=\"onChangePage\"\n \t\t>\n\t\t\t\t</vuetable-pagination>\n\t\t\t</div>\n </div>\n </b-container>\n </card>\n</template>\n<script>\nimport store from '@/store/index'\nimport {mapState, mapGetters, mapActions,dispatch} from 'vuex'\nimport Vue from 'vue'\nimport {Vuetable, VuetablePaginationDropdown} from 'vuetable-2'\nimport VuetablePaginationInfo from 'vuetable-2/src/components/VuetablePaginationInfo'\nimport VuetablePagination from 'vuetable-2/src/components/VuetablePagination'\nimport CssConfig from 'vuetable-2/src/components/VuetableCssConfig.js'\nimport card from '@/components/Card.vue'\nimport {ApiConfig} from \"@/config/index\";\nexport default {\n components: {\n card,\n\t Vuetable,\n\t\t\tVuetablePagination,\n\t\t\tVuetablePaginationInfo,\n\t\t\tVuetablePaginationDropdown\n\t},\n props: {\n },\n data() {\n return{\n actionrowindex:'',\n\t playbookInfo: {},\n rmactionclear: '',\n\t image2rm: {},\n token: '',\n\t playbook: {\n\t\t\t'title':'',\n\t\t\t'name':'',\n\t\t\t'description':''\n\t\t},\n\t\t\tcontainer:{\n\t\t\t\tname:'',\n\t\t\t\tview:0\n\t\t\t},\n\t\t\tpipeline:{},\n \t\tselected: 'hybrid',\n options: [\n { text: 'Packages', value: 'packages' },\n { text: 'Images', value: 'images' },\n { text: 'Scripts', value: 'scripts' }\n ],\n\t\tshowModal: false,\n\t\tvisibility: [],\n\t \tactive:false,\n\t\tvuetablekeybnetworks1:0,\n\t\tfielddata:{},\n\t\tfields: [ \n {\n name: 'ID',\n title: '<span class=\"orange\"></span>Network id',\n //sortField: 'ID',\n visible:true,\n dataClass: 'text-left text-wrap text-break break-word',\n width: '15%'\n },\n {\n name: 'Name',\n title: '<span class=\"orange\"></span>Name',\n sortField: 'Name',\n visible:true,\n dataClass: 'left aligned w-25',\n width: '30%'\n\n },\n {\n name: 'Driver',\n //sortField: 'Tag',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-20',\n visible:true,\n width: '5%'\n },\n {\n name: 'CreatedAt',\n sortField: 'CreatedAt',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-25',\n visible:true,\n width: '10%'\n },\n {\n name: '_id',\n title: '<span class=\"orange\"></span>mongo',\n visible:false\n },\n {\n name: 'Scope',\n title: '<span class=\"orange\"></span>Scope',\n sortField: 'Scope',\n titleClass: 'center aligned',\n visible:true,\n width: '5%'\n },\n {\n name: '__slot:actions', // <----\n title: 'Actions',\n titleClass: 'center aligned',\n dataClass: 'center aligned',\n width: '10%'\n }\n\t\t],\n\t\tapiurl:ApiConfig.url_80+\"/dockernetworks\",\n\t\t//apiurl:ApiConfig.swarmlab_url_80+\"/swarmlabhybridservices\",\n\t\tcss: CssConfig,\n perpage: 5,\n searchFor: '',\n\t\tsortOrder: [{\n\t\t\t\tfield: 'Names',\n\t\t\t\tdirection: 'asc'\n\t\t}],\n multiSort: true,\n paginationComponent: 'vuetable-pagination',\n\t\titemActions: [\n\t\t\t\t{ name: 'view-item', label: '', icon: 'glyphicon glyphicon-zoom-in', class: 'btn btn-info', extra: {'title': 'View', 'data-toggle':\"tooltip\", 'data-placement': \"left\"} },\n\t\t\t\t{ name: 'edit-item', label: '', icon: 'glyphicon glyphicon-pencil', class: 'btn btn-warning', extra: {title: 'Edit', 'data-toggle':\"tooltip\", 'data-placement': \"top\"} },\n\t\t\t\t{ name: 'delete-item', label: '', icon: 'glyphicon glyphicon-remove', class: 'btn btn-danger', extra: {title: 'Delete', 'data-toggle':\"tooltip\", 'data-placement': \"right\" } }\n\t\t],\n\t\tmoreParams: { \n\t\t\t\t'filter': '',\n\t\t\t\t'type': 'scripts',\n\t\t\t\t'tutor': 'yes'\n\t\t\t},\n\t \n\t\t}\n },\n\tmounted() {\n\t\tthis.$root.$on('hybrid_refresh_networktable', () => {\n //this.setFilter()\n //this.$refs.vuetable.refresh()\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\t\t})\n\t\tthis.$root.$on('hybrid_refresh_dockerservices', () => {\n //this.setFilter()\n //this.$refs.vuetable.refresh()\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\t\t})\n //refresh from socket mytable \n\t\tthis.$root.$on('hybrid_refresh_table', (v) => {\n\t\t\t this.$nextTick(function () {\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.viewhybridoptions = false\n\t\t\t })\n\t\t})\n\t},\n\tcreated() {\n var url_string = window.location.href\n var url = new URL(url_string);\n this.token = url.searchParams.get(\"token\");\n //console.log(\"token \"+ this.token);\n\n\t},\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_refresh_networktable')\n\t\tthis.$root.$off('hybrid_refresh_dockerservices')\n\t\tthis.$root.$off('hybrid_refresh_table')\n },\n computed: {\n\t\thttpOptions() {\n\t\t\tvar token = this.token\n\t\t\t var p=\"headers: {Authorization: token}}\"; //table props -> :http-options=\"httpOptions\"\n\t\t\t return {headers: {Authorization: 'Bearer ' + token}} //table props -> :http-options=\"httpOptions\"\n\t },\n\n\t},\n\n methods: {\n onError (type,description) {\n var winfo=description\n var info='<h5>Bootstrap '+type+'</h5>'\n this.$swal({\n type: type,\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n },\n\n\n\t\tsetRefresh () {\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': '',\n\t\t\t\t\t\t'type': this.selected\n\t\t\t\t}\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n\t\tsetFilter () {\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': this.searchFor,\n\t\t\t\t\t\t'type': this.selected\n\t\t\t\t}\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n\t\tresetFilter () {\n\t\t\t\tthis.moreParams = {}\n\t\t\t\tthis.searchFor = ''\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n onPaginationData (paginationData) {\n this.$refs.pagination.setPaginationData(paginationData)\n\t\t\tthis.$refs.paginationInfo.setPaginationData(paginationData) \n },\n onChangePage (page) {\n this.$refs.vuetable.changePage(page)\n },\n editRow(rowData) {\n alert(\"You clicked edit on\"+ JSON.stringify(rowData));\n\t\t},\n // **************************************************************\n // ************ rm all ***********************************\n // **************************************************************\n async rmall_i (action) {\n this.rmactionclear = action\n var info='<h5>This will remove all unused ' + action +' from system. </h5>'\n this.$swal({\n type: 'Info',\n title: 'Info!',\n icon:'warning',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: true,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n }).then((result)=> {\n //console.log(JSON.stringify(result))\n this.onActionHybrid_containerrmall(result);\n })\n\t\t},\n async onActionHybrid_containerrmall(action) {\n // myRunInstancedockerimages1a\n var rmimages = this.rmactionclear\n if(action.isConfirmed){\n this.$wait.start('myRunInstancedockerimages1a');\n\t\t\t\t\t\t\t var log = await store.dispatch(\"pipelineLLO/hybrid_rmall\",{\n\t\t\t\t\t\t\t\t\t\ttoken:this.token,\n\t\t\t\t\t\t\t\t\t\taction:rmimages\n\t\t\t\t\t\t\t\t\t})\n this.$wait.end('myRunInstancedockerimages1a');\n //console.log(JSON.stringify(log))\n\t\t\t\t\t\t\tif(log.data.error == 'no'){\n if(rmimages != 'images'){\n\t\t\t\t\t\t var info='<h5> <div class=\"overflow-auto\">' + log.data.out + '</div></h5>'\n\t\t\t\t\t\t\t\t\tthis.$swal({\n\t\t\t\t\t\t\t\t\t\ttype: 'Info',\n\t\t\t\t\t\t\t\t\t\ttitle: 'Info!',\n\t\t\t\t\t\t\t\t\t\ticon:'info',\n\t\t\t\t\t\t\t\t\t\thtml: info,\n\t\t\t\t\t\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\t\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\t\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t\t\t\t\t\t//cancelButtonText: 'No, cancel!',\n\t\t\t\t\t\t\t\t\t\tshowCancelButton: false,\n\t\t\t\t\t\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\t\t\t\t\t\treverseButtons: true,\n\t\t\t\t\t\t\t\t\t\tfocusCancel: false,\n\t\t\t\t\t\t\t\t\t\tconfirmButtonText: 'Ok!'\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t}else{\n \t\t\t\t\t Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}else{\n\t\t\t\t\t\t var info='<h5> ' + log.data.error_msg + '</h5>'\n\t\t\t\t\t\t\t\t\tthis.$swal({\n\t\t\t\t\t\t\t\t\t\ttype: 'Info',\n\t\t\t\t\t\t\t\t\t\ttitle: 'Error!',\n\t\t\t\t\t\t\t\t\t\ticon:'error',\n\t\t\t\t\t\t\t\t\t\thtml: info,\n\t\t\t\t\t\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\t\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\t\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t\t\t\t\t\t//cancelButtonText: 'No, cancel!',\n\t\t\t\t\t\t\t\t\t\tshowCancelButton: false,\n\t\t\t\t\t\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\t\t\t\t\t\treverseButtons: true,\n\t\t\t\t\t\t\t\t\t\tfocusCancel: false,\n\t\t\t\t\t\t\t\t\t\tconfirmButtonText: 'Ok!'\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t},\n async onAction (action, data, index) {\n this.actionrowindex = index\n this.image2rm = data\n //this.$root.$emit('hybrid_show_info',data)\n //console.log('rm '+JSON.stringify(data))\n\t\t\tif(action == 'info-item' ){\n\t\t\t\t\t\t\t var log = await store.dispatch(\"pipelineLLO/hybrid_inspectnetworks\",{\n\t\t\t\t\t\t\t\t\t\ttoken:this.token,\n\t\t\t\t\t\t\t\t\t\tinstance:this.image2rm.ID\n\t\t\t\t\t\t\t\t\t})\n //console.log('index '+JSON.stringify(log.data.test[0]))\n var info='<h5>Network Info <b> '+ data.Name +'</b> <br> id: ' + data.ID+ '<br></h5>'\n info += '<samp class=\"overflow-auto\">'+ JSON.stringify(log.data.test[0]) +'</samp>'\n this.$swal({\n type: 'Info',\n title: 'Info!',\n icon:'warning',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n\t\t\t}else if(action == 'rm-item' ){\n var info = 'test'\n/*\n\t\t\t\tthis.$swal({\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\thtml: info,\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t cancelButtonText: 'No, cancel!',\n\t\t\t\t\tshowCancelButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\treverseButtons: true,\n\t\t\t\t\tfocusCancel: true,\n\t\t\t\t\tconfirmButtonText: 'Yes, Delete it!'\n\t\t\t\t\t})\n*/\n var info='<h5>This will remove network <b> '+ data.Name +'</b> <br> id: ' + data.ID+ '<br></h5>'\n this.$swal({\n type: 'Info',\n title: 'Info!',\n icon:'warning',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: true,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n }).then((result)=> {\n //console.log(JSON.stringify(result))\n this.onActionHybrid_imagerm(result);\n })\n\n\t\t\t}else if(action == 'run-item' ){\n\t\t\t}\n },\n async onActionHybrid_imagerm(action) {\n if(action.isConfirmed){\n\t\t\t\t\t\t\t var log = await store.dispatch(\"pipelineLLO/hybrid_rmnetworks\",{\n\t\t\t\t\t\t\t\t\t\ttoken:this.token,\n\t\t\t\t\t\t\t\t\t\tinstance:this.image2rm.ID\n\t\t\t\t\t\t\t\t\t})\n\n\t\t\t\t\t\tif(log.data.test != 'ok'){\n \t//console.log('-------' + JSON.stringify(log.data.test))\n var info='<h5> ' + log.data.test + '</h5>'\n\t\t\t\t\t\t\t\t\tthis.$swal({\n\t\t\t\t\t\t\t\t\t\ttype: 'Info',\n\t\t\t\t\t\t\t\t\t\ttitle: 'Error!',\n\t\t\t\t\t\t\t\t\t\ticon:'error',\n\t\t\t\t\t\t\t\t\t\thtml: info,\n\t\t\t\t\t\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\t\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\t\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t\t\t\t\t\t//cancelButtonText: 'No, cancel!',\n\t\t\t\t\t\t\t\t\t\tshowCancelButton: false,\n\t\t\t\t\t\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\t\t\t\t\t\treverseButtons: true,\n\t\t\t\t\t\t\t\t\t\tfocusCancel: false,\n\t\t\t\t\t\t\t\t\t\tconfirmButtonText: 'Ok!'\n\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t }\n\n //console.log(JSON.stringify(this.image2rm))\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n }\n },\n\n refreshVuetable() {\n\t\t\tthis.$nextTick(()=>{\n\t\t\t\t\tthis.vuetablekeybnetworks1 += 1\n\t\t\t\t})\n },\n\t\tplaybookinfoShow(value) {\n\t\t\t\treturn this.visibility[value]=true\n\t\t},\n\t\tplaybookinfo(value) {\n\t\t\t\treturn this.playbookInfo=value\n\t\t},\n\t\trowClicked(row, event) {\n\t\t\treturn {\n\t\t\t\thtml: true,\n\t\t\t\ttitle: () => { return 'Hello <b>Popover:</b> ' + (++this.counter) },\n\t\t\t\tcontent: () => { return 'The date is:<br><em>' + new Date() + '</em>' }\n\t\t\t}\n\t\t},\n\t\tloadsuccess(response) {\n\t\t\t\tvar data = response.data.data\n\t\t\t\tthis.fielddata=data\n\t\t\t\tvar n = data.length\n\t\t\t\tn=n-1\n\t\t\t},\n onLoadError(payload) {\n /*\n //error2 \"invalid_token\" join-service.vue:684\n //error2 \"The access token provided has expired\" join-service.vue:685\n //error2 \"Unauthorized\" join-service.vue:686\n //error2 401\n console.log('error2 '+JSON.stringify(payload.response.data.error))\n console.log('error2 '+JSON.stringify(payload.response.data.error_description))\n console.log('error2 '+JSON.stringify(payload.response.statusText))\n console.log('error2 '+JSON.stringify(payload.response.status))\n */\n if(payload.response.status == '401'){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n Vue.nextTick( () => window.location.href = 'https://api-login.swarmlab.io:8089')\n }\n }\n\n\n },\n\n\n actions: {\n\n\n\t}\n\n};\n</script>\n<style>\n.flex-fixed-width-item {\n flex: 0 0 100px;\n\t\t}\n.modalinfo {\n z-index: 10000000 !important;\n\tposition:fixed;\n}\n/* a container with flex-direction column */\n\n.vue-notifyjs.notifications{\n .alert{\n z-index: 100;\n }\n .list-move {\n transition: transform 0.3s, opacity 0.4s;\n }\n .list-item {\n display: inline-block;\n margin-right: 10px;\n\n }\n .list-enter-active {\n transition: transform 0.2s ease-in, opacity 0.4s ease-in;\n }\n .list-leave-active {\n transition: transform 1s ease-out, opacity 0.4s ease-out;\n }\n\n .list-enter {\n opacity: 0;\n transform: scale(1.1);\n\n }\n .list-leave-to {\n opacity: 0;\n transform: scale(1.2, 0.7);\n }\n}\n\npre {\n //background-color: rgb(255, 247, 229);\n background-color: #eff0f1;\n\t border: 1px solid blue;\n\t\t //white-space: pre-line;\n\t\t\t}\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!./networks.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!./networks.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./networks.vue?vue&type=template&id=4b191f4e&\"\nimport script from \"./networks.vue?vue&type=script&lang=js&\"\nexport * from \"./networks.vue?vue&type=script&lang=js&\"\nimport style0 from \"./networks.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\nexport default component.exports","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n\n <div class=\"row\" >\n <div class=\"col-7 order-first \" >\n <br> \n <view-network>\n\n </view-network>\n <docker-services>\n\n </docker-services>\n <br> \n <br> \n <hr>\n <div class=\"row text-center\">\n <div class=\"col-12\">\n <b>View and Manage your local system <span class=\"text-info\">(Docker Images, Containers and Volumes)</span></b>\n </div>\n </div>\n <hr>\n <br> \n <docker-images>\n\n </docker-images>\n <br> \n <br> \n <br> \n <hr>\n <div class=\"row text-center\">\n <div class=\"col-12\">\n <b>View and Manage your local <span class=\"text-info\"> Docker networks</span></b>\n </div>\n </div>\n <hr>\n <docker-networks>\n\n </docker-networks>\n </div>\n\n <div class=\"col-5 order-last\" >\n <br>\n <adhoc-view>\n\n </adhoc-view>\n </div>\n </div>\n\n\n </card>\n</template>\n<script>\nimport {mapState, mapGetters, mapActions} from 'vuex'\nimport ViewNetwork from \"./mynetwork/mytable.vue\";\nimport AdhocView from \"./mynetwork/AdhocView.vue\";\nimport DockerServices from \"./mynetwork/dockerservices.vue\";\nimport DockerImages from \"./mynetwork/images.vue\";\nimport DockerNetworks from \"./mynetwork/networks.vue\";\nimport card from '@/components/Card.vue'\n//import AvailableServices from \"./mynetwork/availableservices.vue\";\nexport default {\n components: {\n ViewNetwork,\n AdhocView,\n card,\n DockerServices,\n DockerImages,\n DockerNetworks\n // AvailableServices\n },\n data () {\n return {\n loading: false,\n consoleView: 'off',\n productIndex: 1\n }\n },\n mounted() {\n },\n beforeDestroy () {\n },\n\n\n created () {\n }\n};\n</script>\n<style>\n</style>\n\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!./mynetwork.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!./mynetwork.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./mynetwork.vue?vue&type=template&id=6e4f4af6&\"\nimport script from \"./mynetwork.vue?vue&type=script&lang=js&\"\nexport * from \"./mynetwork.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-7 order-first \"},[_c('br'),_c('available-services',{key:_vm.componentKeyreloadservice})],1),_c('div',{staticClass:\"col-5 order-last\"},[_c('br'),_c('adhoc-view')],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('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"author\"},[_c('img',{staticClass:\"avatar border-white\",attrs:{\"src\":require(\"@/assets/img/docker.png\"),\"alt\":\"...\"}})]),_c('b-container',{staticClass:\"bv-example-row\",attrs:{\"fluid\":\"\"}},[_c('v-wait',{attrs:{\"for\":\"myRunInstancetutor\"}},[_c('template',{slot:\"waiting\"},[_c('div',[_c('img',{attrs:{\"src\":require(\"@/assets/loading.gif\")}}),_vm._v(\" Enter Lab_room... \")])])],2),_c('div',{staticClass:\"row text-center\"},[_c('div',{staticClass:\"col-12\"},[_c('b',[_vm._v(\"Swarmlab \"),_c('span',{staticClass:\"text-info\"},[_vm._v(\"LabRoom\")]),_vm._v(\" Deploy - Local \")])])]),_c('br'),_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchFor),expression:\"searchFor\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Search\"},domProps:{\"value\":(_vm.searchFor)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.setFilter($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchFor=$event.target.value}}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setFilter}},[_vm._v(\" Go\")])]),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.resetFilter}},[_vm._v(\" Reset\")])])]),(_vm.viewhybridoptions)?_c('div',{staticClass:\"row\"},[_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"12\"}},[_c('span',[_c('b',[_vm._v(\"Lab Service Options\")])])])],1):_vm._e(),(_vm.viewhybridoptions)?_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"}},[_vm._v(\" Instances \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hybridoptions.size),expression:\"hybridoptions.size\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Number of Instances\"},domProps:{\"value\":(_vm.hybridoptions.size)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.hybridoptions, \"size\", $event.target.value)}}}),_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"}},[_vm._v(\" Port\")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hybridoptions.port),expression:\"hybridoptions.port\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Expose Port\"},domProps:{\"value\":(_vm.hybridoptions.port)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.hybridoptions, \"port\", $event.target.value)}}}),_c('button',{staticClass:\"btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setHybridoptions}},[_vm._v(\" Up\")])]):_vm._e(),_c('vuetable',{key:_vm.vuetablekeya,ref:\"vuetable\",attrs:{\"api-url\":_vm.apiurl,\"api-mode\":true,\"http-options\":_vm.httpOptions,\"fields\":_vm.fields,\"item-actions\":_vm.itemActions,\"sort-order\":_vm.sortOrder,\"show-sort-icons\":true,\"multi-sort\":_vm.multiSort,\"per-page\":_vm.perpage,\"pagination-path\":\"links.pagination\",\"pagination-component\":_vm.paginationComponent,\"append-params\":_vm.moreParams,\"wrapper-class\":\"vuetable-wrapper\",\"loading-class\":\"loading\",\"detail-row-id\":\"id\",\"css\":_vm.css.table},on:{\"vuetable:pagination-data\":_vm.onPaginationData,\"vuetable:load-success\":_vm.loadsuccess,\"vuetable:load-error\":_vm.onLoadError},scopedSlots:_vm._u([{key:\"actionsenabled\",fn:function(props){return _c('div',{},[_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.testactionrowindex[props.rowData.swarmlabname] == props.rowIndex)?_c('button',{staticClass:\"ti-thumb-up btn btn-info btn-sm\",attrs:{\"title\":\"Stop Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('down-item', props.rowData, props.rowIndex)}}}):_vm._e(),(_vm.testactionrowindex[props.rowData.swarmlabname] != props.rowIndex && _vm.testactionrowindex[props.rowIndex] == props.rowIndex)?_c('button',{staticClass:\"ti-thumb-down btn btn-secondary btn-sm\",attrs:{\"title\":\"Start Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('run-item', props.rowData, props.rowIndex)}}}):_vm._e()])])}},{key:\"actionslocal\",fn:function(props){return _c('div',{},[_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.testactionrowindex[props.rowIndex] == props.rowIndex && _vm.testactionrowindex[props.rowData.swarmlabname] != props.rowIndex)?_c('button',{staticClass:\"ti-trash btn btn-info btn-sm\",attrs:{\"title\":\"Remove Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('rm-install', props.rowData, props.rowIndex)}}}):_vm._e()])])}},{key:\"actions\",fn:function(props){return _c('div',{},[_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.checkactionrowindex(props.rowData,props.rowIndex))?_c('button',{staticClass:\"ti-cloud-down btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Download Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('run-install', props.rowData, props.rowIndex)}}}):_vm._e(),_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Lab_Instance Info\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('view-item', props.rowData, props.rowIndex)}}})])])}}])}),_c('div',{staticClass:\"vuetable-pagination ui basic segment grid\"},[_c('vuetable-pagination-info',{ref:\"paginationInfo\",attrs:{\"css\":_vm.css.paginationInfo}}),_c('vuetable-pagination',{ref:\"pagination\",attrs:{\"css\":_vm.css.pagination},on:{\"vuetable-pagination:change-page\":_vm.onChangePage}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n <div class=\"author\">\n <img class=\"avatar border-white\" src=\"@/assets/img/docker.png\" alt=\"...\">\n </div>\n\n <b-container fluid class=\"bv-example-row\">\n\n\n <v-wait for=\"myRunInstancetutor\">\n <template slot=\"waiting\">\n <div>\n <img src=\"@/assets/loading.gif\" />\n Enter Lab_room...\n </div>\n </template>\n </v-wait>\n <div class=\"row text-center\">\n <div class=\"col-12\">\n <b>Swarmlab <span class=\"text-info\">LabRoom</span> Deploy - Local </b>\n </div>\n </div>\n\n<br>\n\n\n\t\t<div class=\"input-group input-group-sm sm-3\">\n\t\t\t\t\t\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"Search\"\n\t\t\t\tv-model=\"searchFor\"\n\t\t\t\t@keyup.enter=\"setFilter\"\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button \n\t\t\t\t\tclass=\"btn btn-outline-primary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"setFilter\">\n\t\t\t\t\tGo</button>\n\t\t\t</div>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"resetFilter\">\n\t\t\t\t\tReset</button>\n\t\t\t</div>\n </div>\n\n <div class=\"row\"\n v-if=\"viewhybridoptions\"\n >\n <b-col class=\"text-center\" cols=\"12\" sm=\"12\" md=\"12\">\n <span>\n <b>Lab Service Options</b>\n </span>\n </b-col>\n </div>\n\n\t\t<div class=\"input-group-append\"\n v-if=\"viewhybridoptions\"\n >\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n >\n\t\t\t\tInstances </button>\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"Number of Instances\"\n\t\t\t\tv-model=\"hybridoptions.size\"\n\t\t\t\t>\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n >\n\t\t\t\tPort</button>\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"Expose Port\"\n\t\t\t\tv-model=\"hybridoptions.port\"\n\t\t\t\t>\n\t\t\t\t<button class=\"btn btn-outline-success\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"setHybridoptions\"\n >\n\t\t\t\tUp</button>\n </div>\n\n\t\t<div class=\"white h-100 flex-fixed-width-item\"\n\t\t\t<vuetable \n\t\t\t\tref=\"vuetable\"\n\t\t\t\t:key=\"vuetablekeya\"\n\t\t\t\t:api-url='apiurl'\n\t\t\t\t:api-mode=\"true\"\n\t\t\t\t:http-options=\"httpOptions\"\n\t\t\t\t:fields=\"fields\"\n\t\t\t\t:item-actions=\"itemActions\"\n\t\t\t\t:sort-order=\"sortOrder\"\n\t\t\t\t:show-sort-icons=\"true\"\n\t\t\t\t:multi-sort=\"multiSort\"\n\t\t\t\t:per-page=\"perpage\"\n\t\t\t\tpagination-path=\"links.pagination\"\n\t\t\t\t:pagination-component=\"paginationComponent\"\n\t\t\t\t:append-params=\"moreParams\"\n\t\t\t\twrapper-class=\"vuetable-wrapper\"\n\t\t\t\tloading-class=\"loading\"\n\t\t\t\tdetail-row-id=\"id\"\n\t\t\t\t@vuetable:pagination-data=\"onPaginationData\"\n\t\t\t\t@vuetable:load-success=\"loadsuccess\"\n @vuetable:load-error=\"onLoadError\"\n\t\t\t\t:css=\"css.table\"\n\t\t\t\t >\n\n <div slot=\"actionsenabled\" slot-scope=\"props\">\n <div class=\"d-flex justify-content-center\">\n <button\n v-if=\"testactionrowindex[props.rowData.swarmlabname] == props.rowIndex\"\n class=\"ti-thumb-up btn btn-info btn-sm\"\n title=\"Stop Lab_Instance\"\n round\n @click=\"onAction('down-item', props.rowData, props.rowIndex)\"\n >\n </button>\n <button\n v-if=\"testactionrowindex[props.rowData.swarmlabname] != props.rowIndex && testactionrowindex[props.rowIndex] == props.rowIndex\"\n class=\"ti-thumb-down btn btn-secondary btn-sm\"\n title=\"Start Lab_Instance\"\n round\n @click=\"onAction('run-item', props.rowData, props.rowIndex)\"\n >\n </button>\n </div>\n </div>\n <div slot=\"actionslocal\" slot-scope=\"props\">\n <div class=\"d-flex justify-content-center\">\n <button\n v-if=\"testactionrowindex[props.rowIndex] == props.rowIndex && testactionrowindex[props.rowData.swarmlabname] != props.rowIndex\"\n class=\"ti-trash btn btn-info btn-sm\"\n title=\"Remove Lab_Instance\"\n @click=\"onAction('rm-install', props.rowData, props.rowIndex)\"\n round\n >\n </button>\n </div>\n </div>\n <div slot=\"actions\" slot-scope=\"props\">\n <div class=\"d-flex justify-content-center\">\n <button\n v-if=\"checkactionrowindex(props.rowData,props.rowIndex)\"\n class=\"ti-cloud-down btn btn-outline-secondary btn-sm\"\n title=\"Download Lab_Instance\"\n round\n @click=\"onAction('run-install', props.rowData, props.rowIndex)\">\n </button>\n <button\n class=\"ti-info btn btn-outline-secondary btn-sm\"\n title=\"Lab_Instance Info\"\n round\n @click=\"onAction('view-item', props.rowData, props.rowIndex)\">\n </button>\n\t\t\t\t </div>\n\t\t\t\t</div>\n\t\t\t</vuetable>\n\t\t\t<div class=\"vuetable-pagination ui basic segment grid\">\n\t\t\t\t<vuetable-pagination-info \n\t\t\t\t\tref=\"paginationInfo\" \n\t\t\t\t\t:css=\"css.paginationInfo\"\n \t\t>\n\t\t\t\t</vuetable-pagination-info>\n\t\t\t\t<vuetable-pagination \n\t\t\t\t\t:css=\"css.pagination\"\n\t\t\t\t\tref=\"pagination\"\n \t@vuetable-pagination:change-page=\"onChangePage\"\n \t\t>\n\t\t\t\t</vuetable-pagination>\n\t\t\t</div>\n </div>\n </b-container>\n </card>\n</template>\n<script>\nimport store from '@/store/index'\nimport {mapState, mapGetters, mapActions,dispatch} from 'vuex'\nimport Vue from 'vue'\nimport {Vuetable, VuetablePaginationDropdown} from 'vuetable-2'\nimport VuetablePaginationInfo from 'vuetable-2/src/components/VuetablePaginationInfo'\nimport VuetablePagination from 'vuetable-2/src/components/VuetablePagination'\nimport CssConfig from 'vuetable-2/src/components/VuetableCssConfig.js'\nimport card from '@/components/Card.vue'\nimport {ApiConfig} from \"@/config/index\";\n\nexport default {\n components: {\n card,\n\t Vuetable,\n\t\t\tVuetablePagination,\n\t\t\tVuetablePaginationInfo,\n\t\t\tVuetablePaginationDropdown\n\t},\n props: {\n },\n data() {\n return{\n testactionrowindex:[], // downloaded used in installed\n teststatusindex:[], // status stop run used in status\n\t hybridoptions: {\n 'index':'', \n 'swarmlabname':'', \n 'size':'', \n 'port':'' \n },\n viewhybridoptions: false,\n swarmlab:{},\n\t playbookInfo: {},\n token: '',\n\t playbook: {\n\t\t\t'title':'',\n\t\t\t'name':'',\n\t\t\t'description':''\n\t\t},\n\t\t\tcontainer:{\n\t\t\t\tname:'',\n\t\t\t\tview:0\n\t\t\t},\n\t\t\tpipeline:{},\n \t\tselected: 'hybrid',\n options: [\n { text: 'Packages', value: 'packages' },\n { text: 'Images', value: 'images' },\n { text: 'Scripts', value: 'scripts' }\n ],\n\t\tshowModal: false,\n\t\tvisibility: [],\n\t \tactive:false,\n\t\tvuetablekeya:0,\n\t\tfielddata:{},\n fields: [\n {\n name: 'swarmlabname',\n title: '<span class=\"orange\"></span>Name',\n sortField: 'swarmlabname',\n visible:true,\n dataClass: 'left aligned col-3',\n width: '68%'\n },\n {\n name: '_id',\n title: '<span class=\"orange\"></span>mongo',\n visible:false\n },\n {\n name: 'description',\n sortField: 'gitrepoCloneUrl',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-25',\n visible:false,\n width: '15%'\n },\n {\n name: 'gitrepoFullName',\n sortField: 'gitrepoFullName',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-25',\n visible:false,\n width: '15%'\n },\n {\n name: '__slot:actionsenabled', // <----\n title: 'Status',\n titleClass: 'center',\n dataClass: 'center aligned',\n width: '5%'\n },\n {\n name: '__slot:actionslocal', // <----\n title: 'Installed',\n titleClass: 'center',\n dataClass: 'center aligned',\n width: '5%'\n },\n {\n name: '__slot:actions', // <----\n title: 'Download',\n titleClass: 'col text-center',\n dataClass: 'center aligned',\n width: '10%'\n },\n ],\n\t\tapiurl:ApiConfig.swarmlab_url_80+\"/swarmlabhybridservices\",\n\t\tcss: CssConfig,\n perpage: 5,\n searchFor: '',\n\t\tsortOrder: [{\n\t\t\t\tfield: 'pipelinename',\n\t\t\t\tdirection: 'asc'\n\t\t}],\n multiSort: true,\n paginationComponent: 'vuetable-pagination',\n\t\titemActions: [\n\t\t\t\t{ name: 'view-item', label: '', icon: 'glyphicon glyphicon-zoom-in', class: 'btn btn-info', extra: {'title': 'View', 'data-toggle':\"tooltip\", 'data-placement': \"left\"} },\n\t\t\t\t{ name: 'edit-item', label: '', icon: 'glyphicon glyphicon-pencil', class: 'btn btn-warning', extra: {title: 'Edit', 'data-toggle':\"tooltip\", 'data-placement': \"top\"} },\n\t\t\t\t{ name: 'delete-item', label: '', icon: 'glyphicon glyphicon-remove', class: 'btn btn-danger', extra: {title: 'Delete', 'data-toggle':\"tooltip\", 'data-placement': \"right\" } }\n\t\t],\n\t\tmoreParams: { \n\t\t\t\t'filter': '',\n\t\t\t\t'type': 'scripts'\n\t\t\t},\n\t \n\t\t}\n },\n\tmounted() {\n\t\tthis.$root.$on('hybrid_refresh_availableservices', () => {\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t})\n //refresh from socket mytable \n\t\tthis.$root.$on('hybrid_refresh_table', (v) => {\n\t\t\t this.$nextTick(function () {\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.viewhybridoptions = false\n\t\t\t })\n\t\t})\n\t},\n\tcreated() {\n var url_string = window.location.href\n var url = new URL(url_string);\n this.token = url.searchParams.get(\"token\");\n //console.log(\"token \"+ this.token);\n\n\t},\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_refresh_availableservices')\n\t\tthis.$root.$off('hybrid_refresh_table')\n },\n computed: {\n\t\thttpOptions() {\n\t\t\tvar token = this.token\n\t\t\t var p=\"headers: {Authorization: token}}\"; //table props -> :http-options=\"httpOptions\"\n\t\t\t return {headers: {Authorization: 'Bearer ' + token}} //table props -> :http-options=\"httpOptions\"\n\t },\n\n\t},\n\n methods: {\n onError (type,description) {\n var winfo=description\n var info='<h5>Bootstrap '+type+'</h5>'\n this.$swal({\n type: type,\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n },\n\t\tasync checkactionrowindex(data,index){\n if(this.testactionrowindex[index] == index){\n \n var obj = {}\n obj.token = this.token\n obj.instance = data.swarmlabname\n var res1 = await store.dispatch('pipelineLLO/getservicesstatus', obj)\n //console.log('res8 all '+JSON.stringify(res1))\n if(res1.data.data == 'yes'){\n Vue.set(this.testactionrowindex, data.swarmlabname, index)\n //console.log('res8 YES '+JSON.stringify(res1.data))\n }else{\n //console.log('res8 NO '+JSON.stringify(res1.data))\n Vue.delete(this.testactionrowindex, data.swarmlabname)\n }\n \n //console.log('is set '+index)\n }else{\n //console.log('not set '+index)\n\n var obj = {}\n obj.token = this.token\n obj.instance = data.swarmlabname\n var res = await store.dispatch('pipelineLLO/getservicesinfo', obj)\n if(res.data.data == 'yes'){\n //console.log('resi YES '+JSON.stringify(res))\n Vue.set(this.testactionrowindex, index, index)\n var res1 = await store.dispatch('pipelineLLO/getservicesstatus', obj)\n //console.log('res8 all '+JSON.stringify(res1))\n if(res1.data.data == 'yes'){\n Vue.set(this.testactionrowindex, data.swarmlabname, index)\n //console.log('res8 YES '+JSON.stringify(res1.data))\n }else{\n //console.log('res8 NO '+JSON.stringify(res1.data))\n Vue.delete(this.testactionrowindex, data.swarmlabname)\n }\n //console.log('resiiiiiiii yes '+JSON.stringify(this.testactionrowindex[index]))\n }else{\n //Vue.delete(this.testactionrowindex, index)\n console.log('resi NO data '+JSON.stringify(res))\n }\n }\n\t\t},\n\t\tsetFilter () {\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': this.searchFor,\n\t\t\t\t\t\t'type': this.selected\n\t\t\t\t}\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n\t\tresetFilter () {\n\t\t\t\tthis.moreParams = {}\n\t\t\t\tthis.searchFor = ''\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': '',\n\t\t\t\t\t\t'type': 'scripts'\n\t\t\t\t}\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n onPaginationData (paginationData) {\n this.$refs.pagination.setPaginationData(paginationData)\n\t\t\tthis.$refs.paginationInfo.setPaginationData(paginationData) \n },\n onChangePage (page) {\n this.$refs.vuetable.changePage(page)\n },\n editRow(rowData) {\n alert(\"You clicked edit on\"+ JSON.stringify(rowData));\n\t\t},\n async onAction (action, data, index) {\n\t\t\tif(action == 'view-item' ){\n this.swarmlab=data\n var container=this.swarmlab\n var res = await store.dispatch('pipelineLLO/getswarmlabinfo', container.swarmlabname)\n\n var swarmlab1=JSON.stringify(res.data.swarmlab, null ,2)\n var swarmlab1info=JSON.stringify(res.data.swarmlabinfo, null ,2)\n var swarmlab1info=res.data.swarmlabinfo\n var description='<div style=\"height: 250px; overflow-y: scroll;\"><p><pre><code class=\"codeblock\">'+swarmlab1+'</code></pre></p></div>'\n if(res.data.error25==\"ok\"){\n var winfo=''\n var info='<h5>Swarmlab Service <a href=\"'+swarmlab1info+'\" target=\"_blank\" >Info</a></h5>(Open page in new window)'\n this.$swal({\n type: 'info',\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true\n })\n }\n\n\n\t\t\t}else if(action == 'delete-item' ){\n\t\t\t\tthis.$swal({\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\thtml: info+winfo,\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t cancelButtonText: 'No, cancel!',\n\t\t\t\t\tshowCancelButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\treverseButtons: true,\n\t\t\t\t\tfocusCancel: true,\n\t\t\t\t\tconfirmButtonText: 'Yes, Delete it!'\n\t\t\t\t\t})\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\t\t\t}else if(action == 'rm-install' ){\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.$wait.start('myRunInstancetutor');\n var res = await store.dispatch('pipelineLLO/rmswarmlablocal', this.hybridoptions.swarmlabname)\n this.$wait.end('myRunInstancetutor');\n\n\n var obj = {}\n obj.token = this.token\n obj.instance = data.swarmlabname\n //check if exists\n var res2 = await store.dispatch('pipelineLLO/getservicesinfo', obj)\n if(res2.data.data == 'yes'){\n if(res2.data.data == 'yes'){\n var winfo='<h6 class=\"text-warning\"> swarmlab encountered a problem while deleting your labroom files. <br> This propably means that you have created some files while operating the labroom. <br> To remove those files please run the following command as root. </h6> <h5><i>Copy-and-run-command </i></h5><br> ' \n winfo += '<span class=\"text-success\">sudo rm -rf '+res.data.path+'/instance/'+data.swarmlabname+' </span><br><br>'\n winfo += '<span class=\"text-secondary\"> You can back up content using: </span><br>'\n winfo += '<span class=\"text-warning\">sudo tar -zcvf /home/\\$USER/swarmlabbackup_'+data.swarmlabname+'.tar.gz '+res.data.path+'/instance/'+data.swarmlabname+' </span>'\n var info='<h5>Labroom remove</h5>'\n this.$swal({\n type: 'info',\n html: info+winfo,\n icon: 'info',\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n console.log('inf res11111111111 '+ JSON.stringify(res.data.path))\n }\n }\n\n\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n Vue.delete(this.testactionrowindex, data.swarmlabname)\n this.refreshVuetable()\n this.$root.$emit('hybrid_refresh_info_deploy_local')\n\t\t\t}else if(action == 'run-install' ){\n this.$wait.start('myRunInstancetutor');\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n let value = {}\n value.swarmlabname = this.hybridoptions.swarmlabname\n value.index = this.hybridoptions.index\n value.size = this.hybridoptions.size\n value.port = this.hybridoptions.port\n var res = await store.dispatch('pipelineLLO/getswarmlabinfo', value.swarmlabname)\n var swarmlab1info=res.data.swarmlabinfo\n value.git = swarmlab1info\n //console.log('inf git 1 '+ JSON.stringify(swarmlab1info))\n //console.log('inf '+ JSON.stringify(value))\n \tthis.$root.$emit('hybrid_install_instance', value)\n this.$wait.end('myRunInstancetutor');\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\n\t\t\t}else if(action == 'run-item' ){\n this.viewhybridoptions = true\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n /*\n console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))\n // run on mytable.vue\n \tthis.$root.$emit('hybrid_start_instance', data.swarmlabname)\n Vue.set(this.testactionrowindex, data.swarmlabname, index)\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n */\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\t\t\t}else if(action == 'down-item' ){\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n var info = \"Stop and remove containers, networks, images, and volumes\"\n this.$swal({\n type: 'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: true,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: false,\n confirmButtonText: 'Yes!'\n }).then((result)=> {\n this.rmAndClose(result);\n })\n\n //console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t\t}\n },\n\t\tasync rmAndClose(result){\n //console.log('value 1 '+ JSON.stringify(result))\n //console.log('value 1 '+ JSON.stringify(this.hybridoptions))\n \t\tif (result.isConfirmed) {\n\t\t\t\t\t//console.log('yes') \n // run on mytable.vue\n var value = this.hybridoptions.swarmlabname\n \t this.$root.$emit('hybrid_stop_instance', value)\n Vue.delete(this.testactionrowindex, this.hybridoptions.index)\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n }else {\n\t\t\t\t\tconsole.log('no') \n }\n this.refreshVuetable()\n\t },\n\t\tasync setHybridoptions(){\n //console.log(JSON.stringify(this.hybridoptions))\n \n //console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))\n // run on mytable.vue\n let value = {}\n value.swarmlabname = this.hybridoptions.swarmlabname\n value.index = this.hybridoptions.index\n value.size = this.hybridoptions.size\n value.port = this.hybridoptions.port\n \tthis.$root.$emit('hybrid_start_instance', value)\n Vue.set(this.testactionrowindex, value.swarmlabname, value.index)\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\n\t\t},\n refreshVuetable() {\n\t\t\tthis.$nextTick(()=>{\n\t\t\t\t\tthis.vuetablekeya += 1\n\t\t\t\t})\n },\n\t\tplaybookinfoShow(value) {\n\t\t\t\treturn this.visibility[value]=true\n\t\t},\n\t\tplaybookinfo(value) {\n\t\t\t\treturn this.playbookInfo=value\n\t\t},\n\t\trowClicked(row, event) {\n\t\t\treturn {\n\t\t\t\thtml: true,\n\t\t\t\ttitle: () => { return 'Hello <b>Popover:</b> ' + (++this.counter) },\n\t\t\t\tcontent: () => { return 'The date is:<br><em>' + new Date() + '</em>' }\n\t\t\t}\n\t\t},\n\t\tloadsuccess(response) {\n\t\t\t\tvar data = response.data.data\n\t\t\t\tthis.fielddata=data\n\t\t\t\tvar n = data.length\n\t\t\t\tn=n-1\n\t\t\t},\n onLoadError(payload) {\n /*\n //error2 \"invalid_token\" join-service.vue:684\n //error2 \"The access token provided has expired\" join-service.vue:685\n //error2 \"Unauthorized\" join-service.vue:686\n //error2 401\n console.log('error2 '+JSON.stringify(payload.response.data.error))\n console.log('error2 '+JSON.stringify(payload.response.data.error_description))\n console.log('error2 '+JSON.stringify(payload.response.statusText))\n console.log('error2 '+JSON.stringify(payload.response.status))\n */\n if(payload.response.status == '401'){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n Vue.nextTick( () => window.location.href = 'https://api-login.swarmlab.io:8089')\n }\n }\n\n\n },\n\n\n actions: {\n\n\n\t}\n\n};\n</script>\n<style>\n.flex-fixed-width-item {\n flex: 0 0 100px;\n\t\t}\n.modalinfo {\n z-index: 10000000 !important;\n\tposition:fixed;\n}\n/* a container with flex-direction column */\n\n.vue-notifyjs.notifications{\n .alert{\n z-index: 100;\n }\n .list-move {\n transition: transform 0.3s, opacity 0.4s;\n }\n .list-item {\n display: inline-block;\n margin-right: 10px;\n\n }\n .list-enter-active {\n transition: transform 0.2s ease-in, opacity 0.4s ease-in;\n }\n .list-leave-active {\n transition: transform 1s ease-out, opacity 0.4s ease-out;\n }\n\n .list-enter {\n opacity: 0;\n transform: scale(1.1);\n\n }\n .list-leave-to {\n opacity: 0;\n transform: scale(1.2, 0.7);\n }\n}\n\npre {\n //background-color: rgb(255, 247, 229);\n background-color: #eff0f1;\n\t border: 1px solid blue;\n\t\t //white-space: pre-line;\n\t\t\t}\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!./availableservices.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!./availableservices.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./availableservices.vue?vue&type=template&id=093bccce&\"\nimport script from \"./availableservices.vue?vue&type=script&lang=js&\"\nexport * from \"./availableservices.vue?vue&type=script&lang=js&\"\nimport style0 from \"./availableservices.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\nexport default component.exports","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n\n <div class=\"row\" >\n <div class=\"col-7 order-first \" >\n <br>\n <!--\n <view-network>\n\n </view-network>\n -->\n <available-services\n :key=\"componentKeyreloadservice\" \n >\n\n </available-services>\n </div>\n\n <div class=\"col-5 order-last\" >\n <br>\n <adhoc-view>\n\n </adhoc-view>\n </div>\n </div>\n\n\n </card>\n</template>\n<script>\nimport {mapState, mapGetters, mapActions} from 'vuex'\n//import ViewNetwork from \"./mynetwork/mytable.vue\";\nimport AdhocView from \"./mynetwork/AdhocView.vue\";\nimport card from '@/components/Card.vue'\n//import DockerServices from \"./mynetwork/dockerservices.vue\";\nimport AvailableServices from \"./mynetwork/availableservices.vue\";\nexport default {\n components: {\n // ViewNetwork,\n AdhocView,\n card,\n // DockerServices,\n AvailableServices\n },\n data () {\n return {\n componentKeyreloadservice:1,\n loading: false,\n consoleView: 'off',\n productIndex: 1\n }\n },\n mounted() {\n\t\tthis.$root.$on('hybrid_refresh_info_deploy_local', () => {\n this.componentKeyreloadservice += 1\n\t\t})\n },\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_refresh_info_deploy_local')\n },\n\n\n created () {\n }\n};\n</script>\n<style>\n</style>\n\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!./myservices.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!./myservices.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./myservices.vue?vue&type=template&id=0cf9b391&\"\nimport script from \"./myservices.vue?vue&type=script&lang=js&\"\nexport * from \"./myservices.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12 order-first \"},[_c('br'),_c('myconnect-manage-server')],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('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"author\"},[_c('img',{staticClass:\"avatar border-white\",attrs:{\"src\":require(\"@/assets/img/hybrid-1.png\"),\"alt\":\"...\"}})]),_c('div',{staticClass:\"card text-center\"},[_c('div',{staticClass:\"card-header\"}),_c('div',{staticClass:\"card-body\"},[_c('h2',{staticClass:\"card-title\"},[_vm._v(\" share with your friends \")]),_c('br'),_c('p',{staticClass:\"card-text\"}),_c('h4',[_vm._v(\"Swarmlab uses VENUS to create virtual networks and ensure your data safety. \"),_c('br'),_vm._v(\"If you choose to proceed VENUS will have to be installed on your PC.\")]),_c('p'),_c('a',{staticClass:\"btn btn-primary\",attrs:{\"href\":\"https://git.swarmlab.io:3000/swarmlab/venus-client\",\"target\":\"newwindow\"}},[_vm._v(\"Get VENUS here\")])]),_c('div',{staticClass:\"card-footer text-muted\"},[_c('b',[_vm._v(\"VENUS is an open source service developed and maintained by the swarmlab team. \")]),_c('br'),_c('br'),_c('h5',[_vm._v(\" Safety is ensured using wireguard. \")])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-1 text-secondary\"}),_c('div',{staticClass:\"col-10 text-secondary\"},[_c('br')]),_c('div',{staticClass:\"col-1 text-secondary\"})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n <div class=\"author\">\n <img class=\"avatar border-white\" src=\"@/assets/img/hybrid-1.png\" alt=\"...\">\n </div>\n\n\n\n\n\n\n\n\n\n\n\n\n<div class=\"card text-center\">\n <div class=\"card-header\">\n </div>\n <div class=\"card-body\">\n <h2 class=\"card-title\">\n share with your friends\n </h2>\n<br>\n <p class=\"card-text\">\n <h4>Swarmlab uses VENUS to create virtual networks and ensure your data safety. <br>If you choose to proceed VENUS will have to be installed on your PC.</h4>\n </p>\n <a href=\"https://git.swarmlab.io:3000/swarmlab/venus-client\" target=\"newwindow\" class=\"btn btn-primary\">Get VENUS here</a>\n </div>\n <div class=\"card-footer text-muted\">\n <b>VENUS is an open source service developed and maintained by the swarmlab team.\n </b>\n <br>\n <br>\n <h5>\n Safety is ensured using wireguard.\n </h5>\n\n </div>\n\n\n</div>\n\n <div class=\"row\" >\n <div class=\"col-1 text-secondary\" >\n </div>\n <div class=\"col-10 text-secondary\" >\n <br>\n\n\n\n\n\n </div>\n <div class=\"col-1 text-secondary\" >\n </div>\n </div> <!-- row -->\n\n\n </card>\n</template>\n<script>\nimport store from '@/store/index'\nimport {mapState, mapGetters, mapActions,dispatch} from 'vuex'\nimport Vue from 'vue'\nimport card from '@/components/Card.vue'\nimport {ApiConfig} from \"@/config/index\";\nexport default {\n components: {\n card\n\t},\n props: {\n },\n data() {\n return{\n testactionrowindex:[], // joined \n actionrowindex:'',\n\t playbookInfo: {},\n hybridshowdata:{},\n token: '',\n\t CONFIG: {},\n isstatus:'',\n\t playbook: {\n\t\t\t'title':'',\n\t\t\t'name':'',\n\t\t\t'description':''\n\t\t},\n\t\t\tcontainer:{\n\t\t\t\tname:'',\n\t\t\t\tview:0\n\t\t\t},\n\t\t\tpipeline:{},\n \t\tselected: 'hybrid',\n\t\tshowModal: false,\n\t\tvisibility: [],\n\t \tactive:false,\n\t\tvuetablekey1:0,\n\t\tfielddata:{},\n perpage: 10,\n searchFor: '',\n\t\tsortOrder: [{\n\t\t\t\tfield: 'pipelinename',\n\t\t\t\tdirection: 'asc'\n\t\t}],\n multiSort: true,\n\t\t}\n },\n\tmounted() {\n\t},\n\tcreated() {\n var url_string = window.location.href\n var url = new URL(url_string);\n this.token = url.searchParams.get(\"token\");\n //console.log(\"token \"+ this.token);\n\n\t},\n beforeDestroy () {\n },\n computed: {\n\n\t},\n\n methods: {\n\n\n },\n\n\n actions: {\n\n\n\t}\n\n};\n</script>\n<style>\n.flex-fixed-width-item {\n flex: 0 0 100px;\n\t\t}\n.modalinfo {\n z-index: 10000000 !important;\n\tposition:fixed;\n}\n/* a container with flex-direction column */\n\n.vue-notifyjs.notifications{\n .alert{\n z-index: 100;\n }\n .list-move {\n transition: transform 0.3s, opacity 0.4s;\n }\n .list-item {\n display: inline-block;\n margin-right: 10px;\n\n }\n .list-enter-active {\n transition: transform 0.2s ease-in, opacity 0.4s ease-in;\n }\n .list-leave-active {\n transition: transform 1s ease-out, opacity 0.4s ease-out;\n }\n\n .list-enter {\n opacity: 0;\n transform: scale(1.1);\n\n }\n .list-leave-to {\n opacity: 0;\n transform: scale(1.2, 0.7);\n }\n}\n\npre {\n //background-color: rgb(255, 247, 229);\n background-color: #eff0f1;\n\t border: 1px solid blue;\n\t\t //white-space: pre-line;\n\t\t\t}\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!./join-service.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!./join-service.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./join-service.vue?vue&type=template&id=65e789ac&\"\nimport script from \"./join-service.vue?vue&type=script&lang=js&\"\nexport * from \"./join-service.vue?vue&type=script&lang=js&\"\nimport style0 from \"./join-service.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\nexport default component.exports","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n\n <div class=\"row\" >\n <div class=\"col-12 order-first \" >\n <br>\n <myconnect-manage-server>\n\n </myconnect-manage-server>\n </div>\n\n <!--\n <div class=\"col-1 order-last\" >\n <br>\n <adhoc-view>\n\n </adhoc-view>\n </div>\n -->\n </div>\n\n\n </card>\n</template>\n<script>\nimport {mapState, mapGetters, mapActions} from 'vuex'\n//import ViewNetwork from \"./mynetwork/mytable.vue\";\n//import AdhocView from \"./mynetwork/AdhocView.vue\";\nimport card from '@/components/Card.vue'\n//import DockerServices from \"./mynetwork/dockerservices.vue\";\nimport MyconnectManageServer from \"./manageservices/join-service.vue\";\nexport default {\n components: {\n //AdhocView,\n card,\n MyconnectManageServer\n },\n data () {\n return {\n loading: false,\n consoleView: 'off',\n productIndex: 1\n }\n },\n mounted() {\n },\n beforeDestroy () {\n },\n\n\n created () {\n }\n};\n</script>\n<style>\n</style>\n\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!./manageservices.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!./manageservices.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./manageservices.vue?vue&type=template&id=448d9a38&\"\nimport script from \"./manageservices.vue?vue&type=script&lang=js&\"\nexport * from \"./manageservices.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-7 order-first \"},[_c('br'),_c('available-storage',{key:_vm.componentKeyreloadstorage})],1),_c('div',{staticClass:\"col-5 order-last\"},[_c('br'),_c('adhoc-view')],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('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"author\"},[_c('img',{staticClass:\"avatar border-white\",attrs:{\"src\":require(\"@/assets/img/docker.png\"),\"alt\":\"...\"}})]),_c('b-container',{staticClass:\"bv-example-row\",attrs:{\"fluid\":\"\"}},[_c('v-wait',{attrs:{\"for\":\"myRunInstancetutorstorage\"}},[_c('template',{slot:\"waiting\"},[_c('div',[_c('img',{attrs:{\"src\":require(\"@/assets/loading.gif\")}}),_vm._v(\" Enter Lab_room storage... \")])])],2),_c('div',{staticClass:\"row text-center\"},[_c('div',{staticClass:\"col-12\"},[_c('b',[_vm._v(\"Swarmlab \"),_c('span',{staticClass:\"text-info\"},[_vm._v(\"Storage\")]),_vm._v(\" Deploy - Local \")])])]),_c('br'),_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchFor),expression:\"searchFor\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Search\"},domProps:{\"value\":(_vm.searchFor)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.setFilter($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchFor=$event.target.value}}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setFilter}},[_vm._v(\" Go\")])]),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.resetFilter}},[_vm._v(\" Reset\")])])]),(_vm.viewhybridoptions)?_c('div',{staticClass:\"row\"},[_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"12\"}},[_c('span',[_c('b',[_vm._v(\"Storage Service Options\")])])])],1):_vm._e(),(_vm.viewhybridoptions)?_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"}},[_vm._v(\" Admin \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hybridoptions.password),expression:\"hybridoptions.password\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"New Password\"},domProps:{\"value\":(_vm.hybridoptions.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.hybridoptions, \"password\", $event.target.value)}}}),_c('button',{staticClass:\"btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.checkHybridoptions}},[_vm._v(\" Up\")])]):_vm._e(),_c('vuetable',{key:_vm.vuetablekeystorage,ref:\"vuetable\",attrs:{\"api-url\":_vm.apiurl,\"api-mode\":true,\"http-options\":_vm.httpOptions,\"fields\":_vm.fields,\"item-actions\":_vm.itemActions,\"sort-order\":_vm.sortOrder,\"show-sort-icons\":true,\"multi-sort\":_vm.multiSort,\"per-page\":_vm.perpage,\"pagination-path\":\"links.pagination\",\"pagination-component\":_vm.paginationComponent,\"append-params\":_vm.moreParams,\"wrapper-class\":\"vuetable-wrapper\",\"loading-class\":\"loading\",\"detail-row-id\":\"id\",\"css\":_vm.css.table},on:{\"vuetable:pagination-data\":_vm.onPaginationData,\"vuetable:load-success\":_vm.loadsuccess,\"vuetable:load-error\":_vm.onLoadError},scopedSlots:_vm._u([{key:\"actionsenabled\",fn:function(props){return _c('div',{},[_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.testactionrowindex[props.rowData.swarmlabname] == props.rowIndex)?_c('button',{staticClass:\"ti-thumb-up btn btn-info btn-sm\",attrs:{\"title\":\"Stop Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('down-item', props.rowData, props.rowIndex)}}}):_vm._e(),(_vm.testactionrowindex[props.rowData.swarmlabname] != props.rowIndex && _vm.testactionrowindex[props.rowIndex] == props.rowIndex)?_c('button',{staticClass:\"ti-thumb-down btn btn-secondary btn-sm\",attrs:{\"title\":\"Start Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('run-item', props.rowData, props.rowIndex)}}}):_vm._e()])])}},{key:\"actionslocal\",fn:function(props){return _c('div',{},[_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.testactionrowindex[props.rowIndex] == props.rowIndex && _vm.testactionrowindex[props.rowData.swarmlabname] != props.rowIndex)?_c('button',{staticClass:\"ti-trash btn btn-info btn-sm\",attrs:{\"title\":\"Remove Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('delete-item', props.rowData, props.rowIndex)}}}):_vm._e()])])}},{key:\"actions\",fn:function(props){return _c('div',{},[_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.checkactionrowindex(props.rowData,props.rowIndex))?_c('button',{staticClass:\"ti-cloud-down btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Download Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('run-install', props.rowData, props.rowIndex)}}}):_vm._e(),_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Lab_Instance Info\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('view-item', props.rowData, props.rowIndex)}}})])])}}])}),_c('div',{staticClass:\"vuetable-pagination ui basic segment grid\"},[_c('vuetable-pagination-info',{ref:\"paginationInfo\",attrs:{\"css\":_vm.css.paginationInfo}}),_c('vuetable-pagination',{ref:\"pagination\",attrs:{\"css\":_vm.css.pagination},on:{\"vuetable-pagination:change-page\":_vm.onChangePage}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n <div class=\"author\">\n <img class=\"avatar border-white\" src=\"@/assets/img/docker.png\" alt=\"...\">\n </div>\n\n <b-container fluid class=\"bv-example-row\">\n\n\n <v-wait for=\"myRunInstancetutorstorage\">\n <template slot=\"waiting\">\n <div>\n <img src=\"@/assets/loading.gif\" />\n Enter Lab_room storage...\n </div>\n </template>\n </v-wait>\n <div class=\"row text-center\">\n <div class=\"col-12\">\n <b>Swarmlab <span class=\"text-info\">Storage</span> Deploy - Local </b>\n </div>\n </div>\n\n<br>\n\n\n\t\t<div class=\"input-group input-group-sm sm-3\">\n\t\t\t\t\t\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"Search\"\n\t\t\t\tv-model=\"searchFor\"\n\t\t\t\t@keyup.enter=\"setFilter\"\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button \n\t\t\t\t\tclass=\"btn btn-outline-primary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"setFilter\">\n\t\t\t\t\tGo</button>\n\t\t\t</div>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"resetFilter\">\n\t\t\t\t\tReset</button>\n\t\t\t</div>\n </div>\n\n <div class=\"row\"\n v-if=\"viewhybridoptions\"\n >\n <b-col class=\"text-center\" cols=\"12\" sm=\"12\" md=\"12\">\n <span>\n <b>Storage Service Options</b>\n </span>\n </b-col>\n </div>\n\n\t\t<div class=\"input-group-append\"\n v-if=\"viewhybridoptions\"\n >\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n >\n\t\t\t\tAdmin </button>\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"New Password\"\n\t\t\t\tv-model=\"hybridoptions.password\"\n\t\t\t\t>\n\t\t\t\t<button class=\"btn btn-outline-success\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"checkHybridoptions\"\n >\n\t\t\t\tUp</button>\n </div>\n\n\t\t<div class=\"white h-100 flex-fixed-width-item\"\n\t\t\t<vuetable \n\t\t\t\tref=\"vuetable\"\n\t\t\t\t:key=\"vuetablekeystorage\"\n\t\t\t\t:api-url='apiurl'\n\t\t\t\t:api-mode=\"true\"\n\t\t\t\t:http-options=\"httpOptions\"\n\t\t\t\t:fields=\"fields\"\n\t\t\t\t:item-actions=\"itemActions\"\n\t\t\t\t:sort-order=\"sortOrder\"\n\t\t\t\t:show-sort-icons=\"true\"\n\t\t\t\t:multi-sort=\"multiSort\"\n\t\t\t\t:per-page=\"perpage\"\n\t\t\t\tpagination-path=\"links.pagination\"\n\t\t\t\t:pagination-component=\"paginationComponent\"\n\t\t\t\t:append-params=\"moreParams\"\n\t\t\t\twrapper-class=\"vuetable-wrapper\"\n\t\t\t\tloading-class=\"loading\"\n\t\t\t\tdetail-row-id=\"id\"\n\t\t\t\t@vuetable:pagination-data=\"onPaginationData\"\n\t\t\t\t@vuetable:load-success=\"loadsuccess\"\n @vuetable:load-error=\"onLoadError\"\n\t\t\t\t:css=\"css.table\"\n\t\t\t\t >\n\n <div slot=\"actionsenabled\" slot-scope=\"props\">\n <div class=\"d-flex justify-content-center\">\n <button\n v-if=\"testactionrowindex[props.rowData.swarmlabname] == props.rowIndex\"\n class=\"ti-thumb-up btn btn-info btn-sm\"\n title=\"Stop Lab_Instance\"\n round\n @click=\"onAction('down-item', props.rowData, props.rowIndex)\"\n >\n </button>\n <button\n v-if=\"testactionrowindex[props.rowData.swarmlabname] != props.rowIndex && testactionrowindex[props.rowIndex] == props.rowIndex\"\n class=\"ti-thumb-down btn btn-secondary btn-sm\"\n title=\"Start Lab_Instance\"\n round\n @click=\"onAction('run-item', props.rowData, props.rowIndex)\"\n >\n </button>\n </div>\n </div>\n <div slot=\"actionslocal\" slot-scope=\"props\">\n <div class=\"d-flex justify-content-center\">\n <button\n v-if=\"testactionrowindex[props.rowIndex] == props.rowIndex && testactionrowindex[props.rowData.swarmlabname] != props.rowIndex\"\n class=\"ti-trash btn btn-info btn-sm\"\n title=\"Remove Lab_Instance\"\n @click=\"onAction('delete-item', props.rowData, props.rowIndex)\"\n round\n >\n </button>\n </div>\n </div>\n <div slot=\"actions\" slot-scope=\"props\">\n <div class=\"d-flex justify-content-center\">\n <button\n v-if=\"checkactionrowindex(props.rowData,props.rowIndex)\"\n class=\"ti-cloud-down btn btn-outline-secondary btn-sm\"\n title=\"Download Lab_Instance\"\n round\n @click=\"onAction('run-install', props.rowData, props.rowIndex)\">\n </button>\n <button\n class=\"ti-info btn btn-outline-secondary btn-sm\"\n title=\"Lab_Instance Info\"\n round\n @click=\"onAction('view-item', props.rowData, props.rowIndex)\">\n </button>\n\t\t\t\t </div>\n\t\t\t\t</div>\n\t\t\t</vuetable>\n\t\t\t<div class=\"vuetable-pagination ui basic segment grid\">\n\t\t\t\t<vuetable-pagination-info \n\t\t\t\t\tref=\"paginationInfo\" \n\t\t\t\t\t:css=\"css.paginationInfo\"\n \t\t>\n\t\t\t\t</vuetable-pagination-info>\n\t\t\t\t<vuetable-pagination \n\t\t\t\t\t:css=\"css.pagination\"\n\t\t\t\t\tref=\"pagination\"\n \t@vuetable-pagination:change-page=\"onChangePage\"\n \t\t>\n\t\t\t\t</vuetable-pagination>\n\t\t\t</div>\n </div>\n </b-container>\n </card>\n</template>\n<script>\nimport store from '@/store/index'\nimport {mapState, mapGetters, mapActions,dispatch} from 'vuex'\nimport Vue from 'vue'\nimport {Vuetable, VuetablePaginationDropdown} from 'vuetable-2'\nimport VuetablePaginationInfo from 'vuetable-2/src/components/VuetablePaginationInfo'\nimport VuetablePagination from 'vuetable-2/src/components/VuetablePagination'\nimport CssConfig from 'vuetable-2/src/components/VuetableCssConfig.js'\nimport card from '@/components/Card.vue'\nimport {ApiConfig} from \"@/config/index\";\n\nexport default {\n components: {\n card,\n\t Vuetable,\n\t\t\tVuetablePagination,\n\t\t\tVuetablePaginationInfo,\n\t\t\tVuetablePaginationDropdown\n\t},\n props: {\n },\n data() {\n return{\n testactionrowindex:[], // downloaded used in installed\n teststatusindex:[], // status stop run used in status\n\t hybridoptions: {\n 'index':'', \n 'swarmlabname':'', \n 'password':'', \n 'port':'' \n },\n viewhybridoptions: false,\n swarmlab:{},\n\t playbookInfo: {},\n token: '',\n\t playbook: {\n\t\t\t'title':'',\n\t\t\t'name':'',\n\t\t\t'description':''\n\t\t},\n\t\t\tcontainer:{\n\t\t\t\tname:'',\n\t\t\t\tview:0\n\t\t\t},\n\t\t\tpipeline:{},\n \t\tselected: 'hybrid',\n options: [\n { text: 'Packages', value: 'packages' },\n { text: 'Images', value: 'images' },\n { text: 'Scripts', value: 'scripts' }\n ],\n\t\tshowModal: false,\n\t\tvisibility: [],\n\t \tactive:false,\n\t\tvuetablekeystorage:0,\n\t\tfielddata:{},\n fields: [\n {\n name: 'swarmlabname',\n title: '<span class=\"orange\"></span>Name',\n sortField: 'swarmlabname',\n visible:true,\n dataClass: 'left aligned col-3',\n width: '68%'\n },\n {\n name: '_id',\n title: '<span class=\"orange\"></span>mongo',\n visible:false\n },\n {\n name: 'description',\n sortField: 'gitrepoCloneUrl',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-25',\n visible:false,\n width: '15%'\n },\n {\n name: 'gitrepoFullName',\n sortField: 'gitrepoFullName',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-25',\n visible:false,\n width: '15%'\n },\n {\n name: '__slot:actionsenabled', // <----\n title: 'Status',\n titleClass: 'center',\n dataClass: 'center aligned',\n width: '5%'\n },\n {\n name: '__slot:actionslocal', // <----\n title: 'Installed',\n titleClass: 'center',\n dataClass: 'center aligned',\n width: '5%'\n },\n {\n name: '__slot:actions', // <----\n title: 'Download',\n titleClass: 'col text-center',\n dataClass: 'center aligned',\n width: '10%'\n },\n ],\n\t\tapiurl:ApiConfig.swarmlab_url_80+\"/swarmlabhybridstorage\",\n\t\tcss: CssConfig,\n perpage: 5,\n searchFor: '',\n\t\tsortOrder: [{\n\t\t\t\tfield: 'pipelinename',\n\t\t\t\tdirection: 'asc'\n\t\t}],\n multiSort: true,\n paginationComponent: 'vuetable-pagination',\n\t\titemActions: [\n\t\t\t\t{ name: 'view-item', label: '', icon: 'glyphicon glyphicon-zoom-in', class: 'btn btn-info', extra: {'title': 'View', 'data-toggle':\"tooltip\", 'data-placement': \"left\"} },\n\t\t\t\t{ name: 'edit-item', label: '', icon: 'glyphicon glyphicon-pencil', class: 'btn btn-warning', extra: {title: 'Edit', 'data-toggle':\"tooltip\", 'data-placement': \"top\"} },\n\t\t\t\t{ name: 'delete-item', label: '', icon: 'glyphicon glyphicon-remove', class: 'btn btn-danger', extra: {title: 'Delete', 'data-toggle':\"tooltip\", 'data-placement': \"right\" } }\n\t\t],\n\t\tmoreParams: { \n\t\t\t\t'filter': '',\n\t\t\t\t'type': 'scripts'\n\t\t\t},\n\t \n\t\t}\n },\n\tmounted() {\n\t\tthis.$root.$on('hybrid_refresh_availableservices_storage', () => {\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t})\n //refresh from socket mytable \n\t\tthis.$root.$on('hybrid_refresh_table_storage', (v) => {\n\t\t\t this.$nextTick(function () {\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.viewhybridoptions = false\n this.$wait.end('myRunInstancetutorstorage');\n\t\t\t })\n\t\t})\n\t},\n\tcreated() {\n var url_string = window.location.href\n var url = new URL(url_string);\n this.token = url.searchParams.get(\"token\");\n //console.log(\"token \"+ this.token);\n\n\t},\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_refresh_availableservices_storage')\n\t\tthis.$root.$off('hybrid_refresh_table_storage')\n },\n computed: {\n\t\thttpOptions() {\n\t\t\tvar token = this.token\n\t\t\t var p=\"headers: {Authorization: token}}\"; //table props -> :http-options=\"httpOptions\"\n\t\t\t return {headers: {Authorization: 'Bearer ' + token}} //table props -> :http-options=\"httpOptions\"\n\t },\n\n\t},\n\n methods: {\n onError (type,description) {\n var winfo=description\n var info='<h5>Bootstrap '+type+'</h5>'\n this.$swal({\n type: type,\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n },\n\t\tasync checkactionrowindex(data,index){\n if(this.testactionrowindex[index] == index){\n \n var obj = {}\n obj.token = this.token\n obj.instance = data.swarmlabname\n var res1 = await store.dispatch('pipelineLLO/getstoragestatus', obj)\n if(res1.data.data == 'yes'){\n Vue.set(this.testactionrowindex, data.swarmlabname, index)\n }else{\n Vue.delete(this.testactionrowindex, data.swarmlabname)\n }\n }else{\n var obj = {}\n obj.token = this.token\n obj.instance = data.swarmlabname\n var res = await store.dispatch('pipelineLLO/getservicesinfo', obj)\n if(res.data.data == 'yes'){\n Vue.set(this.testactionrowindex, index, index)\n var res1 = await store.dispatch('pipelineLLO/getstoragestatus', obj)\n if(res1.data.data == 'yes'){\n Vue.set(this.testactionrowindex, data.swarmlabname, index)\n }else{\n Vue.delete(this.testactionrowindex, data.swarmlabname)\n }\n }else{\n console.log('resi NO1 '+JSON.stringify(res))\n }\n }\n\t\t},\n\t\tsetFilter () {\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': this.searchFor,\n\t\t\t\t\t\t'type': this.selected\n\t\t\t\t}\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n\t\tresetFilter () {\n\t\t\t\tthis.moreParams = {}\n\t\t\t\tthis.searchFor = ''\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t},\n onPaginationData (paginationData) {\n this.$refs.pagination.setPaginationData(paginationData)\n\t\t\tthis.$refs.paginationInfo.setPaginationData(paginationData) \n },\n onChangePage (page) {\n this.$refs.vuetable.changePage(page)\n },\n editRow(rowData) {\n alert(\"You clicked edit on\"+ JSON.stringify(rowData));\n\t\t},\n async onAction (action, data, index) {\n\t\t\tif(action == 'view-item' ){\n this.swarmlab=data\n var container=this.swarmlab\n var res = await store.dispatch('pipelineLLO/getswarmlabstorageinfo', container.swarmlabname)\n\n var swarmlab1=JSON.stringify(res.data.swarmlab, null ,2)\n var swarmlab1info=JSON.stringify(res.data.swarmlabinfo, null ,2)\n var swarmlab1info=res.data.swarmlabinfo\n var description='<div style=\"height: 250px; overflow-y: scroll;\"><p><pre><code class=\"codeblock\">'+swarmlab1+'</code></pre></p></div>'\n if(res.data.error25==\"ok\"){\n var winfo=''\n var info='<h5>Swarmlab Service <a href=\"'+swarmlab1info+'\" target=\"_blank\" >Info</a></h5>(Open page in new window)'\n this.$swal({\n type: 'info',\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true\n })\n }\n\n\n\t\t\t}else if(action == 'delete-item' ){\n this.hybridoptions.swarmlabname = data.swarmlabname\n var info='<h5>This will remove the storage with the name<b> '+ data.swarmlabname +'</b> </h5><br>'\n\n var storage = this.hybridoptions.swarmlabname\n var winfo=''\n var res1 = await store.dispatch('pipelineLLO/getstoragesudopreparestop', storage)\n if(res1.data.data == 'yes' && res1.data.error == 'no'){\n var winfopath = res1.data.path\n winfo='<span class=\"text-danger\">Before continuing RUN the following command </span><br><br>'\n winfo +='<span class=\"text-success\">sudo /bin/bash '\n winfo += winfopath.trim()\n winfo += '/sudorun-storage-stop </span>'\n }\n\n\t\t\t\tthis.$swal({\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\thtml: info+winfo,\n icon:'info',\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t cancelButtonText: 'No, cancel!',\n\t\t\t\t\tshowCancelButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\treverseButtons: true,\n\t\t\t\t\tfocusCancel: true,\n\t\t\t\t\tconfirmButtonText: 'Yes, Delete it!'\n }).then((result)=> {\n this.rmStorageAndClose(result);\n })\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\t\t\t}else if(action == 'run-install' ){\n this.$wait.start('myRunInstancetutorstorage');\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n let value = {}\n value.swarmlabname = this.hybridoptions.swarmlabname\n value.index = this.hybridoptions.index\n value.size = this.hybridoptions.size\n value.port = this.hybridoptions.port\n var res = await store.dispatch('pipelineLLO/getswarmlabstorageinfo', value.swarmlabname)\n var swarmlab1info=res.data.swarmlabinfo\n value.git = swarmlab1info\n \tthis.$root.$emit('hybrid_install_instance_storage', value)\n this.$wait.end('myRunInstancetutorstorage');\n this.refreshVuetable()\n\n\t\t\t}else if(action == 'run-item' ){\n this.viewhybridoptions = true\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n /*\n console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))\n // run on mytable.vue\n \tthis.$root.$emit('hybrid_start_instance', data.swarmlabname)\n Vue.set(this.testactionrowindex, data.swarmlabname, index)\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n */\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t\t}else if(action == 'down-item' ){\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n var info = \"Stop and remove storage: containers, networks, images, and volumes\"\n this.$swal({\n type: 'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: true,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: false,\n confirmButtonText: 'Yes!'\n }).then((result)=> {\n this.rmAndClose(result);\n })\n\n //console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t\t}\n },\n\t\tasync rmStorageAndClose(action){\n if(action.isConfirmed){\n //this.hybridoptions.swarmlabname = data.swarmlabname\n this.$wait.start('myRunInstancetutorstorage');\n var res = await store.dispatch('pipelineLLO/rmswarmlablocalstorage', this.hybridoptions.swarmlabname)\n this.$wait.end('myRunInstancetutorstorage');\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n Vue.delete(this.testactionrowindex, this.hybridoptions.swarmlabname)\n this.refreshVuetable()\n this.$root.$emit('hybrid_refresh_info_deploy_local')\n //console.log('inf res '+ JSON.stringify(res))\n }\n\n },\n\n\t\tasync rmAndClose(result){\n \t\tif (result.isConfirmed) {\n this.$wait.start('myRunInstancetutorstorage');\n var value = this.hybridoptions.swarmlabname\n \t this.$root.$emit('hybrid_stop_instance_storage', value)\n Vue.delete(this.testactionrowindex, this.hybridoptions.index)\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n }else {\n\t\t\t\t\tconsole.log('no') \n }\n this.refreshVuetable()\n\t },\n\t\tasync checkHybridoptions(){\n var storage = this.hybridoptions.swarmlabname\n var res1 = await store.dispatch('pipelineLLO/getstoragesudoprepare', storage)\n if(res1.data.data == 'yes' && res1.data.error == 'no'){\n var info='<h4>Storage prepare2start</h4> <h5><i>Copy-and-run-command </i></h5> <br>'\n var winfopath = res1.data.path\n var winfo='<span class=\"text-success\">sudo /bin/bash '\n winfo += winfopath.trim()\n winfo += '/sudorun-storage-run </span>'\n this.$swal({\n type: 'info',\n html: info+winfo,\n icon:'info',\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: true,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Yes, Run it!'\n }).then((result)=> {\n this.setHybridoptions(result);\n })\n }else if(res1.data.data == 'yes' && res1.data.error == 'yes'){\n var info='<h4>Storage prepare2start</h4> <h5><i>Copy-and-run-command </i></h5> <br>'\n var winfopath = res1.data.path\n var winfo=\"<span class='text-success'>Can't write to file \"\n winfo += winfopath.trim()\n winfo += '/sudorun-storage-run </span>'\n this.$swal({\n type: 'info',\n html: info+winfo,\n icon:'info',\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n }else if(res1.data.data == 'nosudo'){ // nosudo file exec without\n var myaction = {}\n myaction.isConfirmed = 'true'\n\t\t this.setHybridoptions(myaction)\n }else if(res1.data.data == 'error' && res1.data.error == 'yes'){ // nosudufile exec \n var myaction = {}\n myaction.isConfirmed = 'true'\n\t\t this.setHybridoptions(myaction)\n }else{ // no files exec without\n var myaction = {}\n myaction.isConfirmed = 'true'\n\t\t this.setHybridoptions(myaction)\n }\n\t },\n\t\tasync setHybridoptions(action){\n console.log(JSON.stringify(action))\n if(action.isConfirmed){\n this.$wait.start('myRunInstancetutorstorage');\n \n //console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))\n // run on mytable.vue\n let value = {}\n value.swarmlabname = this.hybridoptions.swarmlabname\n value.index = this.hybridoptions.index\n value.password = this.hybridoptions.password\n value.port = this.hybridoptions.port\n \tthis.$root.$emit('hybrid_start_instance_storage', value)\n Vue.set(this.testactionrowindex, value.swarmlabname, value.index)\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n }\n\n\t\t},\n refreshVuetable() {\n\t\t\tthis.$nextTick(()=>{\n\t\t\t\t\tthis.vuetablekeystorage += 1\n\t\t\t\t})\n },\n\t\tplaybookinfoShow(value) {\n\t\t\t\treturn this.visibility[value]=true\n\t\t},\n\t\tplaybookinfo(value) {\n\t\t\t\treturn this.playbookInfo=value\n\t\t},\n\t\trowClicked(row, event) {\n\t\t\treturn {\n\t\t\t\thtml: true,\n\t\t\t\ttitle: () => { return 'Hello <b>Popover:</b> ' + (++this.counter) },\n\t\t\t\tcontent: () => { return 'The date is:<br><em>' + new Date() + '</em>' }\n\t\t\t}\n\t\t},\n\t\tloadsuccess(response) {\n\t\t\t\tvar data = response.data.data\n\t\t\t\tthis.fielddata=data\n\t\t\t\tvar n = data.length\n\t\t\t\tn=n-1\n\t\t\t},\n onLoadError(payload) {\n /*\n //error2 \"invalid_token\" join-service.vue:684\n //error2 \"The access token provided has expired\" join-service.vue:685\n //error2 \"Unauthorized\" join-service.vue:686\n //error2 401\n console.log('error2 '+JSON.stringify(payload.response.data.error))\n console.log('error2 '+JSON.stringify(payload.response.data.error_description))\n console.log('error2 '+JSON.stringify(payload.response.statusText))\n console.log('error2 '+JSON.stringify(payload.response.status))\n */\n if(payload.response.status == '401'){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n Vue.nextTick( () => window.location.href = 'https://api-login.swarmlab.io:8089')\n }\n }\n\n\n },\n\n\n actions: {\n\n\n\t}\n\n};\n</script>\n<style>\n.flex-fixed-width-item {\n flex: 0 0 100px;\n\t\t}\n.modalinfo {\n z-index: 10000000 !important;\n\tposition:fixed;\n}\n/* a container with flex-direction column */\n\n.vue-notifyjs.notifications{\n .alert{\n z-index: 100;\n }\n .list-move {\n transition: transform 0.3s, opacity 0.4s;\n }\n .list-item {\n display: inline-block;\n margin-right: 10px;\n\n }\n .list-enter-active {\n transition: transform 0.2s ease-in, opacity 0.4s ease-in;\n }\n .list-leave-active {\n transition: transform 1s ease-out, opacity 0.4s ease-out;\n }\n\n .list-enter {\n opacity: 0;\n transform: scale(1.1);\n\n }\n .list-leave-to {\n opacity: 0;\n transform: scale(1.2, 0.7);\n }\n}\n\npre {\n //background-color: rgb(255, 247, 229);\n background-color: #eff0f1;\n\t border: 1px solid blue;\n\t\t //white-space: pre-line;\n\t\t\t}\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!./availablestorage.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!./availablestorage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./availablestorage.vue?vue&type=template&id=e56c476a&\"\nimport script from \"./availablestorage.vue?vue&type=script&lang=js&\"\nexport * from \"./availablestorage.vue?vue&type=script&lang=js&\"\nimport style0 from \"./availablestorage.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\nexport default component.exports","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n\n <div class=\"row\" >\n <div class=\"col-7 order-first \" >\n <br>\n <!--\n <view-network>\n\n </view-network>\n -->\n <available-storage\n :key=\"componentKeyreloadstorage\" \n >\n\n </available-storage>\n </div>\n\n <div class=\"col-5 order-last\" >\n <br>\n <adhoc-view>\n\n </adhoc-view>\n </div>\n </div>\n\n\n </card>\n</template>\n<script>\nimport {mapState, mapGetters, mapActions} from 'vuex'\n//import ViewNetwork from \"./mynetwork/mytable.vue\";\nimport AdhocView from \"./mynetwork/AdhocView.vue\";\nimport card from '@/components/Card.vue'\n//import DockerServices from \"./mynetwork/dockerservices.vue\";\n//import AvailableServices from \"./mynetwork/availableservices.vue\";\nimport AvailableStorage from \"./mynetwork/availablestorage.vue\";\nexport default {\n components: {\n // ViewNetwork,\n AdhocView,\n card,\n // DockerServices,\n AvailableStorage\n },\n data () {\n return {\n componentKeyreloadstorage:1,\n loading: false,\n consoleView: 'off',\n productIndex: 1\n }\n },\n mounted() {\n\t\tthis.$root.$on('hybrid_refresh_info_deploy_local', () => {\n this.componentKeyreloadstorage += 1\n\t\t})\n },\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_refresh_info_deploy_local')\n },\n\n\n created () {\n }\n};\n</script>\n<style>\n</style>\n\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!./mystorage.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!./mystorage.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./mystorage.vue?vue&type=template&id=9e34caa6&\"\nimport script from \"./mystorage.vue?vue&type=script&lang=js&\"\nexport * from \"./mystorage.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-7 order-first \"},[_c('br'),_c('available-microservices',{key:_vm.componentKeyreloadservice5})],1),_c('div',{staticClass:\"col-5 order-last\"},[_c('br'),_c('adhoc-view')],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('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"author\"},[_c('img',{staticClass:\"avatar border-white\",attrs:{\"src\":require(\"@/assets/img/docker.png\"),\"alt\":\"...\"}})]),_c('b-container',{staticClass:\"bv-example-row\",attrs:{\"fluid\":\"\"}},[_c('v-wait',{attrs:{\"for\":\"myRunInstancetutor\"}},[_c('template',{slot:\"waiting\"},[_c('div',[_c('img',{attrs:{\"src\":require(\"@/assets/loading.gif\")}}),_vm._v(\" Enter Lab_room... \")])])],2),_c('div',{staticClass:\"row text-center\"},[_c('div',{staticClass:\"col-12\"},[_c('b',[_vm._v(\"Swarmlab \"),_c('span',{staticClass:\"text-info\"},[_vm._v(\"MicroServices\")]),_vm._v(\" Deploy - Local \")])])]),_c('br'),_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchFor),expression:\"searchFor\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Search\"},domProps:{\"value\":(_vm.searchFor)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.setFilter($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchFor=$event.target.value}}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setFilter}},[_vm._v(\" Go\")])]),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.resetFilter}},[_vm._v(\" Reset\")])])]),(_vm.viewhybridoptions)?_c('div',{staticClass:\"row\"},[_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"12\"}},[_c('span',[_c('b',[_vm._v(\"Lab Service Options\")])])])],1):_vm._e(),(_vm.viewhybridoptions)?_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"}},[_vm._v(\" Instances \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.up_name),expression:\"up_name\"}],staticClass:\"form-control text-info\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Number of Instances\",\"disabled\":\"\"},domProps:{\"value\":(_vm.up_name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.up_name=$event.target.value}}}),(_vm.viewhybridoptions)?_c('button',{staticClass:\"btn btn-outline-info\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.backup}},[_vm._v(\" Backup\")]):_vm._e(),(_vm.viewhybridoptions)?_c('button',{staticClass:\"btn btn-outline-dark\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.backupview}},[_vm._v(\" BackupView\")]):_vm._e(),(_vm.viewhybridoptions && _vm.customedit && _vm.custommenouopen != true)?_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setcustom}},[_vm._v(\" Custom\")]):_vm._e(),(_vm.viewhybridoptions && _vm.customedit && _vm.custommenouopen === true)?_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"disabled\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setcustom}},[_vm._v(\" Custom:\")]):_vm._e(),(_vm.viewhybridoptions && _vm.customedit && _vm.custommenouopen)?_c('button',{staticClass:\"btn btn-outline-warning\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setcustomcancel}},[_vm._v(\" Cancel\")]):_vm._e(),(_vm.viewhybridoptions && _vm.customedit && _vm.custommenouopen)?_c('button',{staticClass:\"btn btn-outline-info\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setcustomsave}},[_vm._v(\" Save\")]):_vm._e(),_c('button',{staticClass:\"btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setHybridoptions}},[_vm._v(\" Up\")])]):_vm._e(),(_vm.viewhybridoptions && _vm.custommenou)?_c('div',{staticClass:\"input-group-append\"},[_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"5\",\"sm\":\"5\",\"md\":\"5\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"text-dark\",attrs:{\"for\":\"custompackages\"}},[_vm._v(\"Add Extrapackages \"),_c('br'),_c('span',{staticClass:\"text-success\"},[_vm._v(\" \"+_vm._s(_vm.customostext)+\" \")])]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.custom.os),expression:\"custom.os\"}],staticClass:\"form-control\",attrs:{\"id\":\"custompackages\",\"rows\":\"8\"},domProps:{\"value\":(_vm.custom.os)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.custom, \"os\", $event.target.value)}}},[_vm._v(\" \"+_vm._s(_vm.custom.os)+\" \")])])]),_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"7\",\"sm\":\"7\",\"md\":\"7\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"text-dark\",attrs:{\"for\":\"customshell\"}},[_vm._v(\"Custom sh script \"),_c('br'),_c('span',{staticClass:\"text-success\"},[_vm._v(\" \"+_vm._s(_vm.customshtext)+\" \")])]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.custom.sh),expression:\"custom.sh\"}],staticClass:\"form-control\",attrs:{\"id\":\"customshell\",\"rows\":\"8\"},domProps:{\"value\":(_vm.custom.sh)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.custom, \"sh\", $event.target.value)}}},[_vm._v(\" \"+_vm._s(_vm.custom.sh)+\" \")])])])],1):_vm._e(),(_vm.viewhybridoptions && _vm.heavy)?_c('div',{staticClass:\"input-group-append\"},[_c('p',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.heavytext))])]):_vm._e(),_c('vuetable',{key:_vm.vuetablekeyg,ref:\"vuetable\",attrs:{\"api-url\":_vm.apiurl,\"api-mode\":true,\"http-options\":_vm.httpOptions,\"fields\":_vm.fields,\"item-actions\":_vm.itemActions,\"sort-order\":_vm.sortOrder,\"show-sort-icons\":true,\"multi-sort\":_vm.multiSort,\"per-page\":_vm.perpage,\"pagination-path\":\"links.pagination\",\"pagination-component\":_vm.paginationComponent,\"append-params\":_vm.moreParams,\"wrapper-class\":\"vuetable-wrapper\",\"loading-class\":\"loading\",\"detail-row-id\":\"id\",\"css\":_vm.css.table},on:{\"vuetable:pagination-data\":_vm.onPaginationData,\"vuetable:load-success\":_vm.loadsuccess,\"vuetable:load-error\":_vm.onLoadError},scopedSlots:_vm._u([{key:\"actionsenabled\",fn:function(props){return _c('div',{},[_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.testtest[props.rowData.swarmlabname] != props.rowData.swarmlabname && _vm.testtestdir[props.rowData.swarmlabname] == props.rowData.swarmlabname)?_c('button',{staticClass:\"ti-thumb-down btn btn-secondary btn-sm\",attrs:{\"title\":\"Start Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('run-item', props.rowData, props.rowData._id)}}}):_vm._e(),(_vm.testtest[props.rowData.swarmlabname] == props.rowData.swarmlabname && _vm.testtestdir[props.rowData.swarmlabname] == props.rowData.swarmlabname)?_c('button',{staticClass:\"ti-thumb-up btn btn-info btn-sm\",attrs:{\"title\":\"Stop Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('down-item', props.rowData, props.rowData._id)}}}):_vm._e()])])}},{key:\"actionslocal\",fn:function(props){return _c('div',{key:_vm.vuetablekeygslot,attrs:{\"actionslocal\":\"\"}},[_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.testtest[props.rowData.swarmlabname] != props.rowData.swarmlabname && _vm.testtestdir[props.rowData.swarmlabname] == props.rowData.swarmlabname)?_c('button',{staticClass:\"ti-trash btn btn-info btn-sm\",attrs:{\"title\":\"Remove Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('rm-install', props.rowData, props.rowData._id)}}}):_vm._e()])])}},{key:\"actions\",fn:function(props){return _c('div',{},[_c('div',{staticClass:\"d-flex justify-content-center\"},[_c('button',{staticClass:\"ti-cloud-down btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Download Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('run-install', props.rowData, props.rowData._id)}}}),_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Lab_Instance Info\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('view-item', props.rowData, props.rowData._id)}}})])])}}])}),_c('div',{staticClass:\"vuetable-pagination ui basic segment grid\"},[_c('vuetable-pagination-info',{ref:\"paginationInfo\",attrs:{\"css\":_vm.css.paginationInfo}}),_c('vuetable-pagination',{ref:\"pagination\",attrs:{\"css\":_vm.css.pagination},on:{\"vuetable-pagination:change-page\":_vm.onChangePage}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n <div class=\"author\">\n <img class=\"avatar border-white\" src=\"@/assets/img/docker.png\" alt=\"...\">\n </div>\n\n <b-container fluid class=\"bv-example-row\">\n\n\n <v-wait for=\"myRunInstancetutor\">\n <template slot=\"waiting\">\n <div>\n <img src=\"@/assets/loading.gif\" />\n Enter Lab_room...\n </div>\n </template>\n </v-wait>\n <div class=\"row text-center\">\n <div class=\"col-12\">\n <b>Swarmlab <span class=\"text-info\">MicroServices</span> Deploy - Local </b>\n </div>\n </div>\n\n<br>\n\n\n\t\t<div class=\"input-group input-group-sm sm-3\">\n\t\t\t\t\t\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"Search\"\n\t\t\t\tv-model=\"searchFor\"\n\t\t\t\t@keyup.enter=\"setFilter\"\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button \n\t\t\t\t\tclass=\"btn btn-outline-primary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"setFilter\">\n\t\t\t\t\tGo</button>\n\t\t\t</div>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"resetFilter\">\n\t\t\t\t\tReset</button>\n\t\t\t</div>\n </div>\n\n <div class=\"row\"\n v-if=\"viewhybridoptions\"\n >\n <b-col class=\"text-center\" cols=\"12\" sm=\"12\" md=\"12\">\n <span>\n <b>Lab Service Options</b>\n </span>\n </b-col>\n </div>\n\n\t\t<div class=\"input-group-append\"\n v-if=\"viewhybridoptions\"\n >\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n >\n\t\t\t\tInstances </button>\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control text-info\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"Number of Instances\"\n disabled\n\t\t\t\tv-model=\"up_name\"\n\t\t\t\t>\n <!--\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n >\n\t\t\t\tPort</button>\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"Expose Port\"\n disabled\n\t\t\t\tv-model=\"hybridoptions.port\"\n\t\t\t\t>\n <div class=\"text-info\">{{ up_name }}</div>\n -->\n\n\t\t\t\t<button class=\"btn btn-outline-info\" \n v-if=\"viewhybridoptions\"\n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"backup\"\n >\n\t\t\t\tBackup</button>\n\t\t\t\t<button class=\"btn btn-outline-dark\" \n v-if=\"viewhybridoptions\"\n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"backupview\"\n >\n\t\t\t\tBackupView</button>\n\n\t\t\t\t<button class=\"btn btn-outline-primary\" \n v-if=\"viewhybridoptions && customedit && custommenouopen != true\"\n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"setcustom\"\n >\n\t\t\t\tCustom</button>\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n v-if=\"viewhybridoptions && customedit && custommenouopen === true\"\n\t\t\t\t\tround\n disabled\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"setcustom\"\n >\n\t\t\t\tCustom:</button>\n\n\t\t\t\t<button class=\"btn btn-outline-warning\" \n v-if=\"viewhybridoptions && customedit && custommenouopen\"\n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"setcustomcancel\"\n >\n\t\t\t\tCancel</button>\n\t\t\t\t<button class=\"btn btn-outline-info\" \n v-if=\"viewhybridoptions && customedit && custommenouopen\"\n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"setcustomsave\"\n >\n\t\t\t\tSave</button>\n\n\t\t\t\t<button class=\"btn btn-outline-success\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"setHybridoptions\"\n >\n\t\t\t\tUp</button>\n </div>\n\n\t\t<div class=\"input-group-append\"\n v-if=\"viewhybridoptions && custommenou\"\n >\n\n <div class=\"row\"\n <b-col class=\"text-center\" cols=\"5\" sm=\"5\" md=\"5\">\n <div class=\"form-group\">\n <label for=\"custompackages\" class=\"text-dark\">Add Extrapackages <br>\n <span class=\"text-success\">\n {{ customostext }}\n </span >\n </label>\n <textarea class=\"form-control\" id=\"custompackages\" rows=\"8\"\n\t\t\t\t v-model=\"custom.os\"\n >\n {{ custom.os }}\n </textarea>\n </div>\n </b-col>\n <b-col class=\"text-center\" cols=\"7\" sm=\"7\" md=\"7\">\n <div class=\"form-group\">\n <label for=\"customshell\" class=\"text-dark\">Custom sh script <br>\n <span class=\"text-success\">\n {{ customshtext }}\n </span >\n </label>\n <textarea class=\"form-control\" id=\"customshell\" rows=\"8\"\n\t\t\t\t v-model=\"custom.sh\"\n >\n {{ custom.sh }}\n </textarea>\n </div>\n </b-col>\n </div>\n\n </div>\n\n\t\t<div class=\"input-group-append\"\n v-if=\"viewhybridoptions && heavy\"\n >\n <p class=\"text-danger\">{{ heavytext }}</p>\n </div>\n\n\t\t<div class=\"white h-100 flex-fixed-width-item\"\n\t\t\t<vuetable \n\t\t\t\tref=\"vuetable\"\n\t\t\t\t:key=\"vuetablekeyg\"\n\t\t\t\t:api-url='apiurl'\n\t\t\t\t:api-mode=\"true\"\n\t\t\t\t:http-options=\"httpOptions\"\n\t\t\t\t:fields=\"fields\"\n\t\t\t\t:item-actions=\"itemActions\"\n\t\t\t\t:sort-order=\"sortOrder\"\n\t\t\t\t:show-sort-icons=\"true\"\n\t\t\t\t:multi-sort=\"multiSort\"\n\t\t\t\t:per-page=\"perpage\"\n\t\t\t\tpagination-path=\"links.pagination\"\n\t\t\t\t:pagination-component=\"paginationComponent\"\n\t\t\t\t:append-params=\"moreParams\"\n\t\t\t\twrapper-class=\"vuetable-wrapper\"\n\t\t\t\tloading-class=\"loading\"\n\t\t\t\tdetail-row-id=\"id\"\n\t\t\t\t@vuetable:pagination-data=\"onPaginationData\"\n\t\t\t\t@vuetable:load-success=\"loadsuccess\"\n @vuetable:load-error=\"onLoadError\"\n\t\t\t\t:css=\"css.table\"\n\t\t\t\t >\n\n<!--\nEDO\nprops.rowData._id gia to pagination problem\npass props.rowData._id as index\nallagi tou vuetablerefresh\n <button\n class=\"ti-cloud-down btn btn-outline-secondary btn-sm\"\n title=\"Download Lab_Instance\"\n round\n @click=\"checkactionrowindex(props.rowData,props.rowData._id)\">\n update</button>\n-->\n <div slot=\"actionsenabled\" slot-scope=\"props\">\n <div class=\"d-flex justify-content-center\">\n <button\n v-if=\"testtest[props.rowData.swarmlabname] != props.rowData.swarmlabname && testtestdir[props.rowData.swarmlabname] == props.rowData.swarmlabname\"\n class=\"ti-thumb-down btn btn-secondary btn-sm\"\n title=\"Start Lab_Instance\"\n round\n @click=\"onAction('run-item', props.rowData, props.rowData._id)\"\n >\n </button>\n <button\n v-if=\"testtest[props.rowData.swarmlabname] == props.rowData.swarmlabname && testtestdir[props.rowData.swarmlabname] == props.rowData.swarmlabname\"\n class=\"ti-thumb-up btn btn-info btn-sm\"\n title=\"Stop Lab_Instance\"\n round\n @click=\"onAction('down-item', props.rowData, props.rowData._id)\"\n >\n </button>\n </div>\n </div>\n <div slot=\"actionslocal\" slot-scope=\"props\" actionslocal\n\t\t\t\t:key=\"vuetablekeygslot\">\n <div class=\"d-flex justify-content-center\">\n <button\n v-if=\"testtest[props.rowData.swarmlabname] != props.rowData.swarmlabname && testtestdir[props.rowData.swarmlabname] == props.rowData.swarmlabname\"\n class=\"ti-trash btn btn-info btn-sm\"\n title=\"Remove Lab_Instance\"\n @click=\"onAction('rm-install', props.rowData, props.rowData._id)\"\n round\n >\n </button>\n </div>\n </div>\n <div slot=\"actions\" slot-scope=\"props\">\n <div class=\"d-flex justify-content-center\">\n <button\n class=\"ti-cloud-down btn btn-outline-secondary btn-sm\"\n title=\"Download Lab_Instance\"\n round\n @click=\"onAction('run-install', props.rowData, props.rowData._id)\">\n </button>\n <button\n class=\"ti-info btn btn-outline-secondary btn-sm\"\n title=\"Lab_Instance Info\"\n round\n @click=\"onAction('view-item', props.rowData, props.rowData._id)\">\n </button>\n\t\t\t\t </div>\n\t\t\t\t</div>\n\t\t\t</vuetable>\n\t\t\t<div class=\"vuetable-pagination ui basic segment grid\">\n\t\t\t\t<vuetable-pagination-info \n\t\t\t\t\tref=\"paginationInfo\" \n\t\t\t\t\t:css=\"css.paginationInfo\"\n \t\t>\n\t\t\t\t</vuetable-pagination-info>\n\t\t\t\t<vuetable-pagination \n\t\t\t\t\t:css=\"css.pagination\"\n\t\t\t\t\tref=\"pagination\"\n \t@vuetable-pagination:change-page=\"onChangePage\"\n \t\t>\n\t\t\t\t</vuetable-pagination>\n\t\t\t</div>\n </div>\n </b-container>\n </card>\n</template>\n<script>\nimport store from '@/store/index'\nimport {mapState, mapGetters, mapActions,dispatch} from 'vuex'\nimport Vue from 'vue'\nimport {Vuetable, VuetablePaginationDropdown} from 'vuetable-2'\nimport VuetablePaginationInfo from 'vuetable-2/src/components/VuetablePaginationInfo'\nimport VuetablePagination from 'vuetable-2/src/components/VuetablePagination'\nimport CssConfig from 'vuetable-2/src/components/VuetableCssConfig.js'\nimport card from '@/components/Card.vue'\nimport {ApiConfig} from \"@/config/index\";\nimport {ApiConfigWEB} from \"@/config/index-web\";\n\nexport default {\n components: {\n card,\n\t Vuetable,\n\t\t\tVuetablePagination,\n\t\t\tVuetablePaginationInfo,\n\t\t\tVuetablePaginationDropdown\n\t},\n props: {\n },\n data() {\n return{\n testactionrowindex:[], // downloaded used in installed\n teststatusindex:[], // status stop run used in status\n testtest:[], // up or down services\n testtestdir:[], // install download or not service\n\t hybridoptions: {\n 'index':'', \n 'swarmlabname':'', \n 'size':'', \n 'port':'' \n },\n viewhybridoptions: false,\n heavy: false,\n heavytext: '',\n customedit: false,\n custommenouopen: false,\n custommenou: false,\n custom: {\n\t\t\t'os':'',\n\t\t\t'sh':''\n },\n customostext: '',\n customshtext: '',\n up_name:'',\n swarmlab:{},\n\t playbookInfo: {},\n token: '',\n\t playbook: {\n\t\t\t'title':'',\n\t\t\t'name':'',\n\t\t\t'description':''\n\t\t},\n\t\t\tcontainer:{\n\t\t\t\tname:'',\n\t\t\t\tview:0\n\t\t\t},\n\t\t\tpipeline:{},\n \t\tselected: 'hybrid',\n options: [\n { text: 'Packages', value: 'packages' },\n { text: 'Images', value: 'images' },\n { text: 'Scripts', value: 'scripts' }\n ],\n\t\tshowModal: false,\n\t\tvisibility: [],\n\t \tactive:false,\n\t\tvuetablekeyg:0,\n\t\tvuetablekeygslot:0,\n\t\tfielddata:{},\n fields: [\n {\n name: 'swarmlabname',\n title: '<span class=\"orange\"></span>Name',\n sortField: 'swarmlabname',\n visible:true,\n dataClass: 'left aligned col-3',\n width: '68%'\n },\n {\n name: '_id',\n title: '<span class=\"orange\"></span>mongo',\n visible:false\n },\n {\n name: 'description',\n sortField: 'gitrepoCloneUrl',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-25',\n visible:false,\n width: '15%'\n },\n {\n name: 'gitrepoFullName',\n sortField: 'gitrepoFullName',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-25',\n visible:false,\n width: '15%'\n },\n {\n name: '__slot:actionsenabled', // <----\n title: 'Status',\n titleClass: 'center',\n dataClass: 'center aligned',\n width: '5%'\n },\n {\n name: '__slot:actionslocal', // <----\n title: 'Installed',\n titleClass: 'center',\n dataClass: 'center aligned',\n width: '5%'\n },\n {\n name: '__slot:actions', // <----\n title: 'Download',\n titleClass: 'col text-center',\n dataClass: 'center aligned',\n width: '10%'\n },\n ],\n\t\tapiurl:ApiConfig.swarmlab_url_80+\"/swarmlabhybridmicroservices\",\n\t\tcss: CssConfig,\n perpage: 8,\n searchFor: '',\n\t\tsortOrder: [{\n\t\t\t\tfield: 'pipelinename',\n\t\t\t\tdirection: 'asc'\n\t\t}],\n multiSort: true,\n paginationComponent: 'vuetable-pagination',\n currentpage:'1',\n currentpagepaginationData: {},\n dataselect:'',\n indexselect:'',\n\t\titemActions: [\n\t\t\t\t{ name: 'view-item', label: '', icon: 'glyphicon glyphicon-zoom-in', class: 'btn btn-info', extra: {'title': 'View', 'data-toggle':\"tooltip\", 'data-placement': \"left\"} },\n\t\t\t\t{ name: 'edit-item', label: '', icon: 'glyphicon glyphicon-pencil', class: 'btn btn-warning', extra: {title: 'Edit', 'data-toggle':\"tooltip\", 'data-placement': \"top\"} },\n\t\t\t\t{ name: 'delete-item', label: '', icon: 'glyphicon glyphicon-remove', class: 'btn btn-danger', extra: {title: 'Delete', 'data-toggle':\"tooltip\", 'data-placement': \"right\" } }\n\t\t],\n\t\tmoreParams: { \n\t\t\t\t'filter': '',\n\t\t\t\t'type': 'scripts'\n\t\t\t},\n\t \n\t\t}\n },\n\tmounted() {\n\t\tthis.$root.$on('hybrid_refresh_availableservices', () => {\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n Vue.nextTick( () => this.refreshVuetable())\n\t\t})\n //refresh from socket mytable \n\t\tthis.$root.$on('hybrid_refresh_table', (v) => {\n\t\t\t this.$nextTick(function () {\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n this.viewhybridoptions = false\n\t\t\t })\n\t\t})\n\t},\n\tasync created() {\n var url_string = window.location.href\n var url = new URL(url_string);\n this.token = url.searchParams.get(\"token\");\n\t\tawait this.checkactionrowindexall()\n //console.log(\"token \"+ this.token);\n\t},\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_refresh_availableservices')\n\t\tthis.$root.$off('hybrid_refresh_table')\n },\n computed: {\n\t\thttpOptions() {\n\t\t\tvar token = this.token\n\t\t\t var p=\"headers: {Authorization: token}}\"; //table props -> :http-options=\"httpOptions\"\n\t\t\t return {headers: {Authorization: 'Bearer ' + token}} //table props -> :http-options=\"httpOptions\"\n\t },\n\n\t},\n\n methods: {\n onError (type,description) {\n var winfo=description\n var info='<h5>Bootstrap '+type+'</h5>'\n this.$swal({\n type: type,\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n },\n\t\tasync checkactionrowindexall(){\n var obj = {}\n obj.token = this.token\n obj.instance = 'info'\n var res1 = await store.dispatch('pipelineLLO/getservicesstatusall', obj)\n if(res1.data.data){\n //console.log('resall '+JSON.stringify(res1))\n //console.log('resall--- '+JSON.stringify(res1.data.data))\n var al = res1.data.data.length;\n for (var arrayIndex in this.testtest) {\n Vue.delete(this.testtest, this.testtest[arrayIndex])\n }\n //console.log(this.testtest)\n for (let index = 0; index < al; ++index) {\n var el = res1.data.data[index];\n //console.log(el.Names)\n var el1 = el.Names.split('_');\n Vue.set(this.testtest, el1[0], el1[0])\n }\n }\n var res2 = await store.dispatch('pipelineLLO/getservicesinfoall', obj)\n if(res2.data.data){\n //console.log(res2.data.data)\n for (var arrayIndex in this.testtestdir) {\n Vue.delete(this.testtestdir, this.testtestdir[arrayIndex])\n }\n //console.log(this.testtestdir)\n var all = res2.data.data.length;\n for (let index = 0; index < all; ++index) {\n var el1a = res2.data.data[index];\n //console.log(el1a)\n Vue.set(this.testtestdir, el1a, el1a)\n }\n }\n //console.log(this.testtestdir)\n },\n\t\tasync checkactionrowindex(data,index){\n this.resetcustom()\n if(data._id == index) {\n this.dataselect=data\n this.indexselect=index\n //console.log('res8--- all---- '+JSON.stringify(data._id))\n //console.log('res8--- all---- '+JSON.stringify(index))\n }\n if(this.testactionrowindex[index] == index){\n var obj = {}\n obj.token = this.token\n obj.instance = data.swarmlabname\n var res1 = await store.dispatch('pipelineLLO/getservicesstatus', obj)\n //console.log('res8 all '+JSON.stringify(res1))\n if(res1.data.data == 'yes'){\n //EDO\n //Vue.set(this.testactionrowindex, data.swarmlabname, index)\n Vue.set(this.testactionrowindex, index, data.swarmlabname)\n //console.log('running---- '+data.swarmlabname)\n //console.log(this.testactionrowindex)\n }else{\n //console.log('res8 NO '+JSON.stringify(res1.data))\n //Vue.delete(this.testactionrowindex, data.swarmlabname)\n Vue.delete(this.testactionrowindex, index)\n //console.log('NOTrunning---- '+data.swarmlabname)\n //console.log(this.testactionrowindex)\n }\n }else{\n var obj = {}\n obj.token = this.token\n obj.instance = data.swarmlabname\n var res = await store.dispatch('pipelineLLO/getservicesinfo', obj)\n //console.log('resi YES '+JSON.stringify(res))\n if(res.data.data == 'yes'){\n //EDO\n Vue.set(this.testactionrowindex, index, data.swarmlabname)\n var res1 = await store.dispatch('pipelineLLO/getservicesstatus', obj)\n //console.log('res8 all '+JSON.stringify(res1))\n if(res1.data.data == 'yes'){\n //EDO\n Vue.set(this.testactionrowindex, index, data.swarmlabname)\n //console.log('running1111111111---- '+data.swarmlabname)\n //console.log(this.testactionrowindex)\n //console.log('res8 YES '+JSON.stringify(res1.data))\n }else{\n //console.log('res8 NO '+JSON.stringify(res1.data))\n Vue.delete(this.testactionrowindex, index)\n //console.log('notrunning1111111111---- '+data.swarmlabname)\n //console.log(this.testactionrowindex)\n }\n //console.log('resiiiiiiii yes '+JSON.stringify(this.testactionrowindex[index]))\n }else{\n Vue.delete(this.testactionrowindex, index)\n //console.log('resi NO2 '+JSON.stringify(res))\n }\n }\n //console.log(this.testactionrowindex)\n\t\t},\n\t\tsetFilter () {\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': this.searchFor,\n\t\t\t\t\t\t'type': this.selected\n\t\t\t\t}\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n //Vue.nextTick( () => this.refreshVuetable())\n //this.refreshVuetable()\n\t\t},\n\t\tresetFilter () {\n\t\t\t\tthis.moreParams = {}\n\t\t\t\tthis.searchFor = ''\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': '',\n\t\t\t\t\t\t'type': 'scripts'\n\t\t\t\t}\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n Vue.nextTick( () => this.refreshVuetableall())\n //this.refreshVuetable()\n\t\t},\n onPaginationData (paginationData) {\n this.$refs.pagination.setPaginationData(paginationData)\n\t\t\tthis.$refs.paginationInfo.setPaginationData(paginationData) \n this.currentpagepaginationData = paginationData\n },\n onChangePage (page) {\n this.resetcustom()\n this.currentpage = page\n this.$refs.vuetable.changePage(page)\n },\n editRow(rowData) {\n alert(\"You clicked edit on\"+ JSON.stringify(rowData));\n\t\t},\n async onAction (action, data, index) {\n\t\t\tif(action == 'view-item' ){\n this.swarmlab=data\n var container=this.swarmlab\n var res = await store.dispatch('pipelineLLO/getswarmlabmicroserviceinfo', container.swarmlabname)\n\n var swarmlab1=JSON.stringify(res.data.swarmlab, null ,2)\n var swarmlab1info=JSON.stringify(res.data.swarmlabinfo, null ,2)\n var swarmlab1info=res.data.swarmlabinfo\n var description='<div style=\"height: 250px; overflow-y: scroll;\"><p><pre><code class=\"codeblock\">'+swarmlab1+'</code></pre></p></div>'\n if(res.data.error25==\"ok\"){\n var winfo=''\n var info='<h5>Swarmlab Service <a href=\"'+swarmlab1info+'\" target=\"_blank\" >Info</a></h5>(Open page in new window)'\n this.$swal({\n type: 'info',\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true\n })\n }\n\n\n\t\t\t}else if(action == 'delete-item' ){\n\t\t\t\tthis.$swal({\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\thtml: info+winfo,\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t cancelButtonText: 'No, cancel!',\n\t\t\t\t\tshowCancelButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\treverseButtons: true,\n\t\t\t\t\tfocusCancel: true,\n\t\t\t\t\tconfirmButtonText: 'Yes, Delete it!'\n\t\t\t\t\t})\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n Vue.nextTick( () => this.refreshVuetable())\n //this.refreshVuetable()\n\t\t\t}else if(action == 'rm-install' ){\n this.resetcustom()\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.$wait.start('myRunInstancetutor');\n //console.log(this.hybridoptions.swarmlabname)\n var res = await store.dispatch('pipelineLLO/rmswarmlablocal', this.hybridoptions.swarmlabname)\n this.$wait.end('myRunInstancetutor');\n var obj = {}\n obj.token = this.token\n obj.instance = data.swarmlabname\n //check if exists\n var res2 = await store.dispatch('pipelineLLO/getservicesinfo', obj)\n if(res2.data.data == 'yes'){\n if(res2.data.data == 'yes'){\n var winfo='<h6 class=\"text-warning\"> swarmlab encountered a problem while deleting your labroom files. <br> This propably means that you have created some files while operating the labroom. <br> To remove those files please run the following command as root. </h6> <h5><i>Copy-and-run-command </i></h5><br> ' \n winfo += '<span class=\"text-success\">sudo rm -rf '+res.data.path+'/instance/'+data.swarmlabname+' </span><br><br>'\n winfo += '<span class=\"text-secondary\"> You can back up content using: </span><br>'\n winfo += '<span class=\"text-warning\">sudo tar -zcvf /home/\\$USER/swarmlabbackup_'+data.swarmlabname+'.tar.gz '+res.data.path+'/instance/'+data.swarmlabname+' </span>'\n var info='<h5>Labroom remove</h5>'\n this.$swal({\n type: 'info',\n html: info+winfo,\n icon: 'info',\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n }\n }\n this.refreshVuetable()\n this.$root.$emit('hybrid_refresh_info_deploy_local')\n\t\t\t}else if(action == 'run-install' ){\n this.$wait.start('myRunInstancetutor');\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n let value = {}\n value.swarmlabname = this.hybridoptions.swarmlabname\n value.index = this.hybridoptions.index\n value.size = this.hybridoptions.size\n value.port = this.hybridoptions.port\n var res = await store.dispatch('pipelineLLO/getswarmlabmicroserviceinfo', value.swarmlabname)\n var swarmlab1info=res.data.swarmlabinfo\n value.git = swarmlab1info\n console.log('inf git 0 '+ JSON.stringify(value.swarmlabname))\n console.log('inf git 1 '+ JSON.stringify(res))\n //console.log('inf '+ JSON.stringify(value))\n var log = await store.dispatch(\"pipelineLLO/checkowner\",{\n token:this.token,\n instance:this.hybridoptions.swarmlabname\n })\n \tthis.$root.$emit('hybrid_install_instance', value)\n this.$wait.end('myRunInstancetutor');\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\n\t\t\t}else if(action == 'run-item' ){\n this.resetcustom()\n //this.customedit = false\n //this.custommenouopen = false\n //this.custommenou = false\n //this.custom.os = ''\n //this.custom.sh = ''\n\n this.heavy = false\n this.heavytext = ''\n\n this.up_name = data.swarmlabname\n\n //console.log('RUN------------ '+ JSON.stringify(data))\n\n \t\t\tvar filtermicrosfot = `microservice-volatilitywindows`\n var grepmicrosoft = new RegExp(filtermicrosfot);\n\n \t\t\tvar filterju = `microservice-jupyter`\n var grepju = new RegExp(filterju);\n\t\t\t\t\t\tif(grepju.test(data.swarmlabname)){\n this.viewhybridoptions = false\n let value = {}\n value.swarmlabname = data.swarmlabname\n value.index = index\n value.size = this.hybridoptions.size\n value.port = this.hybridoptions.port\n this.$root.$emit('hybrid_start_instance', value)\n //Vue.set(this.testactionrowindex, value.swarmlabname, value.index)\n //Vue.set(this.testactionrowindex, value.index, value.swarmlabname)\n\t\t\t\t\t\t}else if(grepmicrosoft.test(data.swarmlabname)){\n this.viewhybridoptions = true\n this.heavy = true\n this.heavytext = 'Note that this image is somewhat heavy (~2GB) since they embed some of the kernel debug symbols for Microsoft Windows. It can take some time to build the Instance'\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n\t\t\t\t\t\t}else{\n this.viewhybridoptions = true\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n for(var i = 0; i < ApiConfigWEB.length; i++) {\n var obWEB = ApiConfigWEB[i];\n\n //--------------\n\t\t\t\t\t\t if(obWEB.name == this.hybridoptions.swarmlabname){\n if(obWEB.hasOwnProperty('large')){\n if(obWEB.large != 'no'){\n // console.log(obWEB.large)\n this.heavy = true\n this.heavytext = obWEB.large\n }\n }\n }\n // -------------------------\n\t\t\t\t\t\t if(obWEB.name == this.hybridoptions.swarmlabname){\n if(obWEB.hasOwnProperty('custom')){\n if(obWEB.custom != 'no'){\n console.log(obWEB.custom)\n this.customedit = true\n this.custom.os = obWEB.customos\n this.custom.sh = obWEB.customsh\n this.customostext = obWEB.customostext\n this.customshtext = obWEB.customshtext\n }\n }\n }\n // -------------------------\n\n }\n /*\n console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))\n // run on mytable.vue\n \tthis.$root.$emit('hybrid_start_instance', data.swarmlabname)\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n */\n\t\t\t\t}\n //Vue.nextTick( () => this.$refs.vuetable.reload())\n //EDO\n this.refreshVuetable()\n\t\t\t}else if(action == 'down-item' ){\n this.up_name = ''\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n var info = \"Stop and remove containers, networks, images, and volumes\"\n this.$swal({\n type: 'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: true,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: false,\n confirmButtonText: 'Yes!'\n }).then((result)=> {\n this.rmAndClose(result);\n })\n\n //console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n //this.refreshVuetable()\n\t\t\t}\n },\n\t\tasync rmAndClose(result){\n //console.log('value 1 '+ JSON.stringify(result))\n //console.log('value 1 '+ JSON.stringify(this.hybridoptions))\n \t\tif (result.isConfirmed) {\n\t\t\t\t\t//console.log('yes') \n // run on mytable.vue\n var value = this.hybridoptions.swarmlabname\n \t //await this.$root.$emit('hybrid_stop_instance', value)\n var log = await store.dispatch(\"pipelineLLO/stopservice\",{\n token:this.token,\n instance:this.hybridoptions.swarmlabname\n })\n //Vue.delete(this.testactionrowindex, this.hybridoptions.index)\n //console.log('down service '+ JSON.stringify(this.hybridoptions.index))\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n //console.log(log)\n this.refreshVuetable()\n }else {\n\t\t\t\t\tconsole.log('no') \n }\n\t },\n\t\tasync setcustomcancel(){\n this.custommenouopen = false\n this.custommenou = false\n\t },\n\t\tasync setcustomsave(){\n let value = {}\n value.swarmlabname = this.hybridoptions.swarmlabname\n var log = await store.dispatch(\"pipelineLLO/savecustom\",{\n token:this.token,\n instance:this.hybridoptions.swarmlabname,\n package:this.custom.os,\n sh:this.custom.sh\n })\n this.custommenouopen = false\n this.custommenou = false\n console.log('chown ok '+ JSON.stringify(log.data))\n\t },\n\t\tasync setcustom(){\n let value = {}\n value.swarmlabname = this.hybridoptions.swarmlabname\n this.custommenouopen = true\n this.custommenou = true\n var log = await store.dispatch(\"pipelineLLO/getcustom\",{\n token:this.token,\n instance:this.hybridoptions.swarmlabname\n })\n if(log.data.error === false){\n if(log.data.error_msg == 'nodir'){\n //console.log('chown reload')\n var info=`<h5><b> Please redownload Microservice and try launching the module again </b><br> \n </h5>\n `\n this.$swal({\n type: 'Info',\n icon:'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n }\n\n if(log.data.error_msg == 'ok'){\n if(log.data.extrapackagestext != ''){\n //this.custom.os = log.data.extrapackagestext\n Vue.set(this.custom, 'os', log.data.extrapackagestext)\n }\n if(log.data.extrashtext != ''){\n //this.custom.sh = log.data.extrashtext\n Vue.set(this.custom, 'sh', log.data.extrashtext)\n }\n console.log('chown extrapackages1 '+ JSON.stringify(this.custom.os))\n console.log('chown sh1 '+ JSON.stringify(this.custom.sh))\n }\n\n }else{\n var info=`<h5><b> Please remove and download Microservice and try launching the module again </b><br> \n </h5>\n `\n this.$swal({\n type: 'Info',\n icon:'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n }\n //console.log('chownlog '+ JSON.stringify(log))\n //console.log('chown extrapackages '+ JSON.stringify(this.custom.os))\n //console.log('chown sh '+ JSON.stringify(this.custom.sh))\n\t },\n\t\tasync backup(){\n var log = await store.dispatch(\"pipelineLLO/runbackupinstance\",{\n token:this.token,\n instance: this.hybridoptions.swarmlabname\n })\n\t },\n\t\tasync backupview(){\n var info=`<h5><b>Backups</b><br> \n <br>\n `\n info +='<p class=\"text-secondary\">'\ninfo +=' <b>Click on hyperlink opens Directory in new tab</b></p>'\n info +='<b> <a class=\"text-info\" href=\"http://127.0.0.1:3383/\" target=\"_blank\">View Backups</a></b>'\n info +='<br>'\n this.$swal({\n type: 'Info',\n title: 'Info!',\n icon:'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n\t },\n\t\tasync setHybridoptions(){\n this.resetcustom()\n //console.log(JSON.stringify(this.hybridoptions))\n \n // run on mytable.vue\n let value = {}\n value.swarmlabname = this.hybridoptions.swarmlabname\n value.index = this.hybridoptions.index\n value.size = this.hybridoptions.size\n value.port = this.hybridoptions.port\n var log = await store.dispatch(\"pipelineLLO/chown\",{\n token:this.token,\n instance:this.hybridoptions.swarmlabname\n })\n //console.log('chown '+ JSON.stringify(this.hybridoptions.swarmlabname))\n //console.log('chownlog '+ JSON.stringify(log))\n \tthis.$root.$emit('hybrid_start_instance', value)\n //Vue.set(this.testactionrowindex, value.swarmlabname, value.index)\n //Vue.set(this.testactionrowindex, value.index, value.swarmlabname)\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\n //console.log('RUN 1 '+ JSON.stringify(this.hybridoptions))\n\n\t\t},\n async refreshVuetableall() {\n\t\t\tthis.$nextTick(()=>{\n\t\t\t\t\tthis.vuetablekeyg += 1\n\t\t\t\t})\n\t\t},\n async resetcustom() {\n this.customedit = false\n this.custommenouopen = false\n this.custommenou = false\n this.custom.os = ''\n this.custom.sh = ''\n\t\t},\n async refreshVuetable() {\n\t\t\t\t//this.vuetablekeyg += 1\n // EDO\n // echo ta data pou exei epilexei o user\n // kai etsi alazo se afta tin katastassi\n // afero ta $nextTick\n // kai allazo apo refresh edo se afto to action\n // refresh only status\n // ********* refresh slot einai i lissi ***\n //this.dataselect=data\n //this.indexselect=index\n //console.log('error2a '+JSON.stringify(this.dataselect))\n //console.log('error2b '+JSON.stringify(this.indexselect))\n // this version with this.checkactionrowindex dont work\n // render hangs\n\t\t //await this.checkactionrowindex(this.dataselect, this.indexselect)\n\t\t await this.checkactionrowindexall()\n\t\t\t\t\tthis.vuetablekeygslot += 1\n\t\t\t\t//})\n },\n\t\tplaybookinfoShow(value) {\n\t\t\t\treturn this.visibility[value]=true\n\t\t},\n\t\tplaybookinfo(value) {\n\t\t\t\treturn this.playbookInfo=value\n\t\t},\n\t\trowClicked(row, event) {\n\t\t\treturn {\n\t\t\t\thtml: true,\n\t\t\t\ttitle: () => { return 'Hello <b>Popover:</b> ' + (++this.counter) },\n\t\t\t\tcontent: () => { return 'The date is:<br><em>' + new Date() + '</em>' }\n\t\t\t}\n\t\t},\n\t\tloadsuccess(response) {\n\t\t\t\tvar data = response.data.data\n\t\t\t\tthis.fielddata=data\n\t\t\t\tvar n = data.length\n\t\t\t\tn=n-1\n\t\t\t},\n onLoadError(payload) {\n /*\n //error2 \"invalid_token\" join-service.vue:684\n //error2 \"The access token provided has expired\" join-service.vue:685\n //error2 \"Unauthorized\" join-service.vue:686\n //error2 401\n console.log('error2 '+JSON.stringify(payload.response.data.error))\n console.log('error2 '+JSON.stringify(payload.response.data.error_description))\n console.log('error2 '+JSON.stringify(payload.response.statusText))\n console.log('error2 '+JSON.stringify(payload.response.status))\n */\n if(payload.response.status == '401'){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n Vue.nextTick( () => window.location.href = 'https://api-login.swarmlab.io:8089')\n }\n }\n\n\n },\n\n\n actions: {\n\n\n\t}\n\n};\n</script>\n<style>\n.flex-fixed-width-item {\n flex: 0 0 100px;\n\t\t}\n.modalinfo {\n z-index: 10000000 !important;\n\tposition:fixed;\n}\n/* a container with flex-direction column */\n\n.vue-notifyjs.notifications{\n .alert{\n z-index: 100;\n }\n .list-move {\n transition: transform 0.3s, opacity 0.4s;\n }\n .list-item {\n display: inline-block;\n margin-right: 10px;\n\n }\n .list-enter-active {\n transition: transform 0.2s ease-in, opacity 0.4s ease-in;\n }\n .list-leave-active {\n transition: transform 1s ease-out, opacity 0.4s ease-out;\n }\n\n .list-enter {\n opacity: 0;\n transform: scale(1.1);\n\n }\n .list-leave-to {\n opacity: 0;\n transform: scale(1.2, 0.7);\n }\n}\n\npre {\n //background-color: rgb(255, 247, 229);\n background-color: #eff0f1;\n\t border: 1px solid blue;\n\t\t //white-space: pre-line;\n\t\t\t}\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!./availablemicroservices.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!./availablemicroservices.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./availablemicroservices.vue?vue&type=template&id=5c673ade&\"\nimport script from \"./availablemicroservices.vue?vue&type=script&lang=js&\"\nexport * from \"./availablemicroservices.vue?vue&type=script&lang=js&\"\nimport style0 from \"./availablemicroservices.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\nexport default component.exports","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n\n <div class=\"row\" >\n <div class=\"col-7 order-first \" >\n <br>\n <!--\n <view-network>\n\n </view-network>\n -->\n <available-microservices\n :key=\"componentKeyreloadservice5\" \n >\n\n </available-microservices>\n </div>\n\n <div class=\"col-5 order-last\" >\n <br>\n <adhoc-view>\n\n </adhoc-view>\n </div>\n </div>\n\n\n </card>\n</template>\n<script>\nimport {mapState, mapGetters, mapActions} from 'vuex'\n//import ViewNetwork from \"./mynetwork/mytable.vue\";\nimport AdhocView from \"./mynetwork/AdhocView.vue\";\nimport card from '@/components/Card.vue'\n//import DockerServices from \"./mynetwork/dockerservices.vue\";\nimport AvailableMicroservices from \"./mynetwork/availablemicroservices.vue\";\nexport default {\n components: {\n // ViewNetwork,\n AdhocView,\n card,\n // DockerServices,\n AvailableMicroservices\n },\n data () {\n return {\n componentKeyreloadservice5:1,\n loading: false,\n consoleView: 'off',\n productIndex: 1\n }\n },\n mounted() {\n\t\tthis.$root.$on('hybrid_refresh_info_deploy_local', () => {\n this.componentKeyreloadservice5 += 1\n\t\t})\n },\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_refresh_info_deploy_local')\n },\n\n\n created () {\n }\n};\n</script>\n<style>\n</style>\n\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!./mymicroservices.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!./mymicroservices.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./mymicroservices.vue?vue&type=template&id=42d2face&\"\nimport script from \"./mymicroservices.vue?vue&type=script&lang=js&\"\nexport * from \"./mymicroservices.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-7 order-first \"},[_c('br'),_c('available-mymicroservices',{key:_vm.componentKeyreloadservice5})],1),_c('div',{staticClass:\"col-5 order-last\"},[_c('br'),_c('adhoc-view')],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('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"author\"},[_c('img',{staticClass:\"avatar border-white\",attrs:{\"src\":require(\"@/assets/img/docker.png\"),\"alt\":\"...\"}})]),_c('b-container',{staticClass:\"bv-example-row\",attrs:{\"fluid\":\"\"}},[_c('v-wait',{attrs:{\"for\":\"myRunInstancetutor\"}},[_c('template',{slot:\"waiting\"},[_c('div',[_c('img',{attrs:{\"src\":require(\"@/assets/loading.gif\")}}),_vm._v(\" Enter Lab_room... \")])])],2),_c('div',{staticClass:\"row text-center\"},[_c('div',{staticClass:\"col-12\"},[_c('b',[_vm._v(\"Swarmlab \"),_c('span',{staticClass:\"text-info\"},[_vm._v(\"Users MicroServices\")]),_vm._v(\" Deploy - Local \")])])]),_c('br'),_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('button',{staticClass:\"btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setFilter}},[_vm._v(\" Refresh Table\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchFor),expression:\"searchFor\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Search\"},domProps:{\"value\":(_vm.searchFor)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.setFilter($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchFor=$event.target.value}}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setFilter}},[_vm._v(\" Go\")])]),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.resetFilter}},[_vm._v(\" Reset\")])])]),(_vm.viewhybridoptions)?_c('div',{staticClass:\"row\"},[_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"12\"}},[_c('span',[_c('b',[_vm._v(\"Lab Service Options\")])])])],1):_vm._e(),(_vm.viewhybridoptions)?_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"}},[_vm._v(\" Instances \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.up_name),expression:\"up_name\"}],staticClass:\"form-control text-info\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Number of Instances\",\"disabled\":\"\"},domProps:{\"value\":(_vm.up_name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.up_name=$event.target.value}}}),(_vm.viewhybridoptions)?_c('button',{staticClass:\"btn btn-outline-info\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.backup}},[_vm._v(\" Backup\")]):_vm._e(),(_vm.viewhybridoptions)?_c('button',{staticClass:\"btn btn-outline-dark\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.backupview}},[_vm._v(\" BackupView\")]):_vm._e(),(_vm.viewhybridoptions && _vm.customedit && _vm.custommenouopen != true)?_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setcustom}},[_vm._v(\" Custom\")]):_vm._e(),(_vm.viewhybridoptions && _vm.customedit && _vm.custommenouopen === true)?_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"disabled\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setcustom}},[_vm._v(\" Custom:\")]):_vm._e(),(_vm.viewhybridoptions && _vm.customedit && _vm.custommenouopen)?_c('button',{staticClass:\"btn btn-outline-warning\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setcustomcancel}},[_vm._v(\" Cancel\")]):_vm._e(),(_vm.viewhybridoptions && _vm.customedit && _vm.custommenouopen)?_c('button',{staticClass:\"btn btn-outline-info\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setcustomsave}},[_vm._v(\" Save\")]):_vm._e(),_c('button',{staticClass:\"btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setHybridoptions}},[_vm._v(\" Up\")])]):_vm._e(),(_vm.viewhybridoptions && _vm.custommenou)?_c('div',{staticClass:\"input-group-append\"},[_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"5\",\"sm\":\"5\",\"md\":\"5\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"text-dark\",attrs:{\"for\":\"custompackages\"}},[_vm._v(\"Add Extrapackages \"),_c('br'),_c('span',{staticClass:\"text-success\"},[_vm._v(\" \"+_vm._s(_vm.customostext)+\" \")])]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.custom.os),expression:\"custom.os\"}],staticClass:\"form-control\",attrs:{\"id\":\"custompackages\",\"rows\":\"8\"},domProps:{\"value\":(_vm.custom.os)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.custom, \"os\", $event.target.value)}}},[_vm._v(\" \"+_vm._s(_vm.custom.os)+\" \")])])]),_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"7\",\"sm\":\"7\",\"md\":\"7\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"text-dark\",attrs:{\"for\":\"customshell\"}},[_vm._v(\"Custom sh script \"),_c('br'),_c('span',{staticClass:\"text-success\"},[_vm._v(\" \"+_vm._s(_vm.customshtext)+\" \")])]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.custom.sh),expression:\"custom.sh\"}],staticClass:\"form-control\",attrs:{\"id\":\"customshell\",\"rows\":\"8\"},domProps:{\"value\":(_vm.custom.sh)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.custom, \"sh\", $event.target.value)}}},[_vm._v(\" \"+_vm._s(_vm.custom.sh)+\" \")])])])],1):_vm._e(),(_vm.viewhybridoptions && _vm.heavy)?_c('div',{staticClass:\"input-group-append\"},[_c('p',{staticClass:\"text-danger\"},[_vm._v(_vm._s(_vm.heavytext))])]):_vm._e(),_c('vuetable',{key:_vm.vuetablekeygusersservices,ref:\"vuetable\",attrs:{\"api-url\":_vm.apiurl,\"api-mode\":true,\"http-options\":_vm.httpOptions,\"fields\":_vm.fields,\"item-actions\":_vm.itemActions,\"sort-order\":_vm.sortOrder,\"show-sort-icons\":true,\"multi-sort\":_vm.multiSort,\"per-page\":_vm.perpage,\"pagination-path\":\"links.pagination\",\"pagination-component\":_vm.paginationComponent,\"append-params\":_vm.moreParams,\"wrapper-class\":\"vuetable-wrapper\",\"loading-class\":\"loading\",\"detail-row-id\":\"id\",\"css\":_vm.css.table},on:{\"vuetable:pagination-data\":_vm.onPaginationData,\"vuetable:load-success\":_vm.loadsuccess,\"vuetable:load-error\":_vm.onLoadError},scopedSlots:_vm._u([{key:\"actionsenabled\",fn:function(props){return _c('div',{},[_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.testtest[props.rowData.service] != props.rowData.service && _vm.testtestdir[props.rowData.service] == props.rowData.service && _vm.testtestdiruser[props.rowData.service] == props.rowData.user)?_c('button',{staticClass:\"ti-thumb-down btn btn-secondary btn-sm\",attrs:{\"title\":\"Start Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('run-item', props.rowData, props.rowData._id)}}}):_vm._e(),(_vm.testtest[props.rowData.service] == props.rowData.service && _vm.testtestdir[props.rowData.service] == props.rowData.service && _vm.testtestdiruser[props.rowData.service] == props.rowData.user)?_c('button',{staticClass:\"ti-thumb-up btn btn-info btn-sm\",attrs:{\"title\":\"Stop Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('down-item', props.rowData, props.rowData._id)}}}):_vm._e()])])}},{key:\"actionslocal\",fn:function(props){return _c('div',{key:_vm.vuetablekeygslotcustom,attrs:{\"actionslocal\":\"\"}},[_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.testtest[props.rowData.service] != props.rowData.service && _vm.testtestdir[props.rowData.service] == props.rowData.service)?_c('button',{staticClass:\"ti-trash btn btn-info btn-sm\",attrs:{\"title\":\"Remove Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('rm-install', props.rowData, props.rowData._id)}}}):_vm._e()])])}},{key:\"actions\",fn:function(props){return _c('div',{},[_c('div',{staticClass:\"d-flex justify-content-center\"},[_c('button',{staticClass:\"ti-cloud-down btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Download Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('run-install', props.rowData, props.rowData._id)}}}),_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Lab_Instance Info\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('view-item', props.rowData, props.rowData._id)}}})])])}}])}),_c('div',{staticClass:\"vuetable-pagination ui basic segment grid\"},[_c('vuetable-pagination-info',{ref:\"paginationInfo\",attrs:{\"css\":_vm.css.paginationInfo}}),_c('vuetable-pagination',{ref:\"pagination\",attrs:{\"css\":_vm.css.pagination},on:{\"vuetable-pagination:change-page\":_vm.onChangePage}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n <div class=\"author\">\n <img class=\"avatar border-white\" src=\"@/assets/img/docker.png\" alt=\"...\">\n </div>\n\n <b-container fluid class=\"bv-example-row\">\n\n\n <v-wait for=\"myRunInstancetutor\">\n <template slot=\"waiting\">\n <div>\n <img src=\"@/assets/loading.gif\" />\n Enter Lab_room...\n </div>\n </template>\n </v-wait>\n <div class=\"row text-center\">\n <div class=\"col-12\">\n <b>Swarmlab <span class=\"text-info\">Users MicroServices</span> Deploy - Local </b>\n </div>\n </div>\n\n<br>\n\n\n\t\t<div class=\"input-group input-group-sm sm-3\">\n\t\t\t<div class=\"input-group-prepend\">\n\t\t\t\t<button \n\t\t\t\t\tclass=\"btn btn-outline-success\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"setFilter\">\n\t\t\t\t\tRefresh Table</button>\n\t\t\t</div>\n\t\t\t\t\t\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"Search\"\n\t\t\t\tv-model=\"searchFor\"\n\t\t\t\t@keyup.enter=\"setFilter\"\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button \n\t\t\t\t\tclass=\"btn btn-outline-primary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"setFilter\">\n\t\t\t\t\tGo</button>\n\t\t\t</div>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"resetFilter\">\n\t\t\t\t\tReset</button>\n\t\t\t</div>\n </div>\n\n <div class=\"row\"\n v-if=\"viewhybridoptions\"\n >\n <b-col class=\"text-center\" cols=\"12\" sm=\"12\" md=\"12\">\n <span>\n <b>Lab Service Options</b>\n </span>\n </b-col>\n </div>\n\n\t\t<div class=\"input-group-append\"\n v-if=\"viewhybridoptions\"\n >\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n >\n\t\t\t\tInstances </button>\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control text-info\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"Number of Instances\"\n disabled\n\t\t\t\tv-model=\"up_name\"\n\t\t\t\t>\n <!--\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n >\n\t\t\t\tPort</button>\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"Expose Port\"\n disabled\n\t\t\t\tv-model=\"hybridoptions.port\"\n\t\t\t\t>\n <div class=\"text-info\">{{ up_name }}</div>\n -->\n\n\t\t\t\t<button class=\"btn btn-outline-info\" \n v-if=\"viewhybridoptions\"\n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"backup\"\n >\n\t\t\t\tBackup</button>\n\t\t\t\t<button class=\"btn btn-outline-dark\" \n v-if=\"viewhybridoptions\"\n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"backupview\"\n >\n\t\t\t\tBackupView</button>\n\n\t\t\t\t<button class=\"btn btn-outline-primary\" \n v-if=\"viewhybridoptions && customedit && custommenouopen != true\"\n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"setcustom\"\n >\n\t\t\t\tCustom</button>\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n v-if=\"viewhybridoptions && customedit && custommenouopen === true\"\n\t\t\t\t\tround\n disabled\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"setcustom\"\n >\n\t\t\t\tCustom:</button>\n\n\t\t\t\t<button class=\"btn btn-outline-warning\" \n v-if=\"viewhybridoptions && customedit && custommenouopen\"\n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"setcustomcancel\"\n >\n\t\t\t\tCancel</button>\n\t\t\t\t<button class=\"btn btn-outline-info\" \n v-if=\"viewhybridoptions && customedit && custommenouopen\"\n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"setcustomsave\"\n >\n\t\t\t\tSave</button>\n\n\t\t\t\t<button class=\"btn btn-outline-success\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"setHybridoptions\"\n >\n\t\t\t\tUp</button>\n </div>\n\n\t\t<div class=\"input-group-append\"\n v-if=\"viewhybridoptions && custommenou\"\n >\n\n <div class=\"row\"\n <b-col class=\"text-center\" cols=\"5\" sm=\"5\" md=\"5\">\n <div class=\"form-group\">\n <label for=\"custompackages\" class=\"text-dark\">Add Extrapackages <br>\n <span class=\"text-success\">\n {{ customostext }}\n </span >\n </label>\n <textarea class=\"form-control\" id=\"custompackages\" rows=\"8\"\n\t\t\t\t v-model=\"custom.os\"\n >\n {{ custom.os }}\n </textarea>\n </div>\n </b-col>\n <b-col class=\"text-center\" cols=\"7\" sm=\"7\" md=\"7\">\n <div class=\"form-group\">\n <label for=\"customshell\" class=\"text-dark\">Custom sh script <br>\n <span class=\"text-success\">\n {{ customshtext }}\n </span >\n </label>\n <textarea class=\"form-control\" id=\"customshell\" rows=\"8\"\n\t\t\t\t v-model=\"custom.sh\"\n >\n {{ custom.sh }}\n </textarea>\n </div>\n </b-col>\n </div>\n\n </div>\n\n\t\t<div class=\"input-group-append\"\n v-if=\"viewhybridoptions && heavy\"\n >\n <p class=\"text-danger\">{{ heavytext }}</p>\n </div>\n\n\t\t<div class=\"white h-100 flex-fixed-width-item\"\n\t\t\t<vuetable \n\t\t\t\tref=\"vuetable\"\n\t\t\t\t:key=\"vuetablekeygusersservices\"\n\t\t\t\t:api-url='apiurl'\n\t\t\t\t:api-mode=\"true\"\n\t\t\t\t:http-options=\"httpOptions\"\n\t\t\t\t:fields=\"fields\"\n\t\t\t\t:item-actions=\"itemActions\"\n\t\t\t\t:sort-order=\"sortOrder\"\n\t\t\t\t:show-sort-icons=\"true\"\n\t\t\t\t:multi-sort=\"multiSort\"\n\t\t\t\t:per-page=\"perpage\"\n\t\t\t\tpagination-path=\"links.pagination\"\n\t\t\t\t:pagination-component=\"paginationComponent\"\n\t\t\t\t:append-params=\"moreParams\"\n\t\t\t\twrapper-class=\"vuetable-wrapper\"\n\t\t\t\tloading-class=\"loading\"\n\t\t\t\tdetail-row-id=\"id\"\n\t\t\t\t@vuetable:pagination-data=\"onPaginationData\"\n\t\t\t\t@vuetable:load-success=\"loadsuccess\"\n @vuetable:load-error=\"onLoadError\"\n\t\t\t\t:css=\"css.table\"\n\t\t\t\t >\n\n <div slot=\"actionsenabled\" slot-scope=\"props\">\n <div class=\"d-flex justify-content-center\">\n <button \n v-if=\"testtest[props.rowData.service] != props.rowData.service && testtestdir[props.rowData.service] == props.rowData.service && testtestdiruser[props.rowData.service] == props.rowData.user\"\n class=\"ti-thumb-down btn btn-secondary btn-sm\"\n title=\"Start Lab_Instance\"\n round\n @click=\"onAction('run-item', props.rowData, props.rowData._id)\"\n >\n </button>\n <button\n v-if=\"testtest[props.rowData.service] == props.rowData.service && testtestdir[props.rowData.service] == props.rowData.service && testtestdiruser[props.rowData.service] == props.rowData.user\"\n class=\"ti-thumb-up btn btn-info btn-sm\"\n title=\"Stop Lab_Instance\"\n round\n @click=\"onAction('down-item', props.rowData, props.rowData._id)\"\n >\n </button>\n </div>\n </div>\n <div slot=\"actionslocal\" slot-scope=\"props\" actionslocal\n\t\t\t\t:key=\"vuetablekeygslotcustom\">\n <div class=\"d-flex justify-content-center\">\n <button\n v-if=\"testtest[props.rowData.service] != props.rowData.service && testtestdir[props.rowData.service] == props.rowData.service\"\n class=\"ti-trash btn btn-info btn-sm\"\n title=\"Remove Lab_Instance\"\n @click=\"onAction('rm-install', props.rowData, props.rowData._id)\"\n round\n >\n </button>\n </div>\n </div>\n <div slot=\"actions\" slot-scope=\"props\">\n <div class=\"d-flex justify-content-center\">\n <button\n class=\"ti-cloud-down btn btn-outline-secondary btn-sm\"\n title=\"Download Lab_Instance\"\n round\n @click=\"onAction('run-install', props.rowData, props.rowData._id)\">\n </button>\n <button\n class=\"ti-info btn btn-outline-secondary btn-sm\"\n title=\"Lab_Instance Info\"\n round\n @click=\"onAction('view-item', props.rowData, props.rowData._id)\">\n </button>\n\t\t\t\t </div>\n\t\t\t\t</div>\n\t\t\t</vuetable>\n\t\t\t<div class=\"vuetable-pagination ui basic segment grid\">\n\t\t\t\t<vuetable-pagination-info \n\t\t\t\t\tref=\"paginationInfo\" \n\t\t\t\t\t:css=\"css.paginationInfo\"\n \t\t>\n\t\t\t\t</vuetable-pagination-info>\n\t\t\t\t<vuetable-pagination \n\t\t\t\t\t:css=\"css.pagination\"\n\t\t\t\t\tref=\"pagination\"\n \t@vuetable-pagination:change-page=\"onChangePage\"\n \t\t>\n\t\t\t\t</vuetable-pagination>\n\t\t\t</div>\n </div>\n </b-container>\n </card>\n</template>\n<script>\nimport store from '@/store/index'\nimport {mapState, mapGetters, mapActions,dispatch} from 'vuex'\nimport Vue from 'vue'\nimport {Vuetable, VuetablePaginationDropdown} from 'vuetable-2'\nimport VuetablePaginationInfo from 'vuetable-2/src/components/VuetablePaginationInfo'\nimport VuetablePagination from 'vuetable-2/src/components/VuetablePagination'\nimport CssConfig from 'vuetable-2/src/components/VuetableCssConfig.js'\nimport card from '@/components/Card.vue'\nimport {ApiConfig} from \"@/config/index\";\nimport {ApiConfigWEB} from \"@/config/index-web\";\n\nexport default {\n components: {\n card,\n\t Vuetable,\n\t\t\tVuetablePagination,\n\t\t\tVuetablePaginationInfo,\n\t\t\tVuetablePaginationDropdown\n\t},\n props: {\n },\n data() {\n return{\n testactionrowindex:[], // downloaded used in installed\n teststatusindex:[], // status stop run used in status\n testtest:[], // up or down services\n testtestdir:[], // install download or not service\n testtestdiruser:[], // install download or not service\n\t hybridoptions: {\n 'index':'', \n 'swarmlabname':'', \n 'size':'', \n 'port':'' \n },\n viewhybridoptions: false,\n heavy: false,\n heavytext: '',\n customedit: false,\n custommenouopen: false,\n custommenou: false,\n custom: {\n\t\t\t'os':'',\n\t\t\t'sh':''\n },\n customostext: '',\n customshtext: '',\n up_name:'',\n swarmlab:{},\n\t playbookInfo: {},\n token: '',\n\t playbook: {\n\t\t\t'title':'',\n\t\t\t'name':'',\n\t\t\t'description':''\n\t\t},\n\t\t\tcontainer:{\n\t\t\t\tname:'',\n\t\t\t\tview:0\n\t\t\t},\n\t\t\tpipeline:{},\n \t\tselected: 'hybrid',\n options: [\n { text: 'Packages', value: 'packages' },\n { text: 'Images', value: 'images' },\n { text: 'Scripts', value: 'scripts' }\n ],\n\t\tshowModal: false,\n\t\tvisibility: [],\n\t \tactive:false,\n\t\tvuetablekeygusersservices:0,\n\t\tvuetablekeygslotcustom:0,\n\t\tfielddata:{},\n fields: [\n {\n name: 'service',\n title: '<span class=\"orange\"></span>Name',\n sortField: 'service',\n visible:true,\n dataClass: 'left aligned col-3',\n width: '30%'\n },\n {\n name: '_id',\n title: '<span class=\"orange\"></span>mongo',\n visible:false\n },\n {\n name: 'readme',\n title: '<span class=\"orange\"></span>Info',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-25',\n visible:true,\n width: '35%'\n },\n {\n name: 'user',\n title: '<span class=\"orange\"></span>User',\n sortField: 'user',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-25',\n visible:true,\n width: '10%',\n callback: function(value) {\n if (value) {\n var v = value.split('@')\n if (v[0]) {\n var vv = '<p class=\"text-info\">' + v[0] +'</p>'\n return vv\n } else {\n var vv = '<p class=\"text-info\"></p>'\n return vv\n }\n }else{\n return value\n }\n }\n },\n {\n name: 'gitrepo',\n title: '<span class=\"orange\"></span>User repo',\n sortField: 'gitrepo',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-25',\n visible:true,\n width: '30%'\n },\n {\n name: '__slot:actionsenabled', // <----\n title: 'Status',\n titleClass: 'center',\n dataClass: 'center aligned',\n width: '5%'\n },\n {\n name: '__slot:actionslocal', // <----\n title: 'Installed',\n titleClass: 'center',\n dataClass: 'center aligned',\n width: '5%'\n },\n {\n name: '__slot:actions', // <----\n title: 'Download',\n titleClass: 'col text-center',\n dataClass: 'center aligned',\n width: '10%'\n },\n ],\n\t\tapiurl:ApiConfig.swarmlab_url_80+\"/swarmlabhybridmymicroservicesall\",\n\t\tcss: CssConfig,\n perpage: 8,\n searchFor: '',\n\t\tsortOrder: [{\n\t\t\t\tfield: 'pipelinename',\n\t\t\t\tdirection: 'asc'\n\t\t}],\n multiSort: true,\n paginationComponent: 'vuetable-pagination',\n currentpage:'1',\n currentpagepaginationData: {},\n dataselect:'',\n indexselect:'',\n\t\titemActions: [\n\t\t\t\t{ name: 'view-item', label: '', icon: 'glyphicon glyphicon-zoom-in', class: 'btn btn-info', extra: {'title': 'View', 'data-toggle':\"tooltip\", 'data-placement': \"left\"} },\n\t\t\t\t{ name: 'edit-item', label: '', icon: 'glyphicon glyphicon-pencil', class: 'btn btn-warning', extra: {title: 'Edit', 'data-toggle':\"tooltip\", 'data-placement': \"top\"} },\n\t\t\t\t{ name: 'delete-item', label: '', icon: 'glyphicon glyphicon-remove', class: 'btn btn-danger', extra: {title: 'Delete', 'data-toggle':\"tooltip\", 'data-placement': \"right\" } }\n\t\t],\n\t\tmoreParams: { \n\t\t\t\t'filter': '',\n\t\t\t\t'type': 'scripts'\n\t\t\t},\n\t \n\t\t}\n },\n\tmounted() {\n\t\tthis.$root.$on('hybrid_build_micro_service_menou_refreshtable', () => {\n this.refreshVuetable()\n //this.refreshVuetableall()\n })\n\t\tthis.$root.$on('hybrid_refresh_availableservices', () => {\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n Vue.nextTick( () => this.refreshVuetable())\n\t\t})\n //refresh from socket mytable \n\t\tthis.$root.$on('hybrid_refresh_table', (v) => {\n\t\t\t this.$nextTick(function () {\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n this.viewhybridoptions = false\n\t\t\t })\n\t\t})\n\t},\n\tasync created() {\n var url_string = window.location.href\n var url = new URL(url_string);\n this.token = url.searchParams.get(\"token\");\n\t\t//await this.checkactionrowindexall()\n await this.refreshVuetable()\n //console.log(\"token \"+ this.token);\n\t},\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_refresh_availableservices')\n\t\tthis.$root.$off('hybrid_build_micro_service_menou_refreshtable')\n\t\tthis.$root.$off('hybrid_refresh_table')\n },\n computed: {\n\t\thttpOptions() {\n\t\t\tvar token = this.token\n\t\t\t var p=\"headers: {Authorization: token}}\"; //table props -> :http-options=\"httpOptions\"\n\t\t\t return {headers: {Authorization: 'Bearer ' + token}} //table props -> :http-options=\"httpOptions\"\n\t },\n\n\t},\n\n methods: {\n onError (type,description) {\n var winfo=description\n var info='<h5>Bootstrap '+type+'</h5>'\n this.$swal({\n type: type,\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n },\n\t\tasync checkactionrowindexall(){\n var obj = {}\n obj.token = this.token\n obj.instance = 'info'\n var res1 = await store.dispatch('pipelineLLO/getservicesstatusall', obj)\n if(res1.data.data){\n var al = res1.data.data.length;\n for (var arrayIndex in this.testtest) {\n Vue.delete(this.testtest, this.testtest[arrayIndex])\n }\n for (let index = 0; index < al; ++index) {\n var el = res1.data.data[index];\n //console.log('resall-run--> '+JSON.stringify(el))\n/*\n var atmp1a = el.split('@');\n if(atmp1a[1]){\n console.log('resall---> atmp1a a '+JSON.stringify(atmp1a))\n var atmp2a = atmp1a[1].split('_');\n console.log('resall---> atmp1a '+JSON.stringify(atmp1a))\n console.log('resall---> atmp2a '+JSON.stringify(atmp2a[1]))\n Vue.set(this.testtest, atmp2a[1], atmp2a[1])\n }\n*/\n var el1 = el.Names.split('_');\n let indexiuser = el1[0].lastIndexOf('-');\n indexiuser++\n var restuser = el1[0].substring(indexiuser) \n //console.log(restuser)\n //Vue.set(this.testtest, el1[0], el1[0])\n Vue.set(this.testtest, restuser, restuser)\n //console.log(this.testtest)\n\n }\n }\n var res2 = await store.dispatch('pipelineLLO/getservicesinfoallcustom', obj)\n if(res2.data.data){\n for (var arrayIndex in this.testtestdir) {\n Vue.delete(this.testtestdir, this.testtestdir[arrayIndex])\n }\n //console.log('elnames user all ' + JSON.stringify(this.hybridoptions))\n var all = res2.data.data.length;\n for (let index = 0; index < all; ++index) {\n var el1a = res2.data.data[index];\n //console.log('elnames1' + el1a)\n // for multiuser must xx = false\n var xx = false\n if(xx){\n var struser = `${this.hybridoptions.user}_`\n var strbase = `_${this.hybridoptions.baseservice}`\n //console.log('elnames user ' + struser)\n\n var sRegExInput = new RegExp(struser, 'g'); \n var a = el1a.replace(sRegExInput ,'');\n var sRegExInput1 = new RegExp(strbase, 'g'); \n var a1 = a.replace(sRegExInput1 ,'');\n\n //var a = el1a.replace('struser',\"\");\n //console.log('elnames -a1 ' + a1)\n //console.log('elnames -a ' + a)\n Vue.set(this.testtestdir, a1, a1)\n }else{\n var atmp1 = el1a.split('@');\n if(atmp1[1]){\n //console.log('resall---> atmp1 a '+JSON.stringify(atmp1))\n var atmp2 = atmp1[1].split('_');\n //console.log('resall---> atmp1 '+JSON.stringify(atmp1))\n //console.log('resall---> atmp2 '+JSON.stringify(atmp2[1]))\n //console.log('resall---> 2222 '+JSON.stringify(atmp2))\n Vue.set(this.testtestdir, atmp2[1], atmp2[1])\n var servicecustomuser = `${atmp1[0]}@${atmp2[0]}`\n Vue.set(this.testtestdiruser, atmp2[1], servicecustomuser)\n //console.log(this.testtestdir)\n //console.log(this.testtestdiruser)\n //Vue.set(this.testtestuser, el1[0], el1[0])\n }\n\n }\n }\n }\n //console.log('resall1---> '+JSON.stringify(res2.data.data))\n //console.log('resall--->> '+JSON.stringify(this.testtestdir))\n //console.log(this.testtestdir)\n },\n\t\tsetFilter () {\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': this.searchFor,\n\t\t\t\t\t\t'type': this.selected\n\t\t\t\t}\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n //Vue.nextTick( () => this.refreshVuetable())\n //this.refreshVuetable()\n\t\t},\n\t\tresetFilter () {\n\t\t\t\tthis.moreParams = {}\n\t\t\t\tthis.searchFor = ''\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': '',\n\t\t\t\t\t\t'type': 'scripts'\n\t\t\t\t}\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n Vue.nextTick( () => this.refreshVuetableall())\n //this.refreshVuetable()\n\t\t},\n onPaginationData (paginationData) {\n this.$refs.pagination.setPaginationData(paginationData)\n\t\t\tthis.$refs.paginationInfo.setPaginationData(paginationData) \n this.currentpagepaginationData = paginationData\n //console.log('inf git 0 '+ JSON.stringify(paginationData))\n //console.log('inf git 1 '+ JSON.stringify(this.fielddata[1]))\n },\n onChangePage (page) {\n this.resetcustom()\n this.currentpage = page\n this.$refs.vuetable.changePage(page)\n },\n editRow(rowData) {\n alert(\"You clicked edit on\"+ JSON.stringify(rowData));\n\t\t},\n async onAction (action, data, index) {\n\t\t\tif(action == 'view-item' ){\n this.swarmlab=data\n var container=this.swarmlab.readme\n //console.log('inf '+ JSON.stringify(data))\n //console.log('infi '+ JSON.stringify(index))\n\n var description='<div style=\"height: 250px; overflow-y: scroll;\"><p>'+container+'</p></div>'\n var info='<h5>Service Info</h5>'\n info += description\n this.$swal({\n type: 'info',\n html: info,\n icon: 'info',\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true\n })\n\n\n\t\t\t}else if(action == 'delete-item' ){\n\t\t\t\tthis.$swal({\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\thtml: info+winfo,\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t cancelButtonText: 'No, cancel!',\n\t\t\t\t\tshowCancelButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\treverseButtons: true,\n\t\t\t\t\tfocusCancel: true,\n\t\t\t\t\tconfirmButtonText: 'Yes, Delete it!'\n\t\t\t\t\t})\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n Vue.nextTick( () => this.refreshVuetable())\n //this.refreshVuetable()\n\t\t\t}else if(action == 'rm-install' ){\n this.resetcustom()\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.$wait.start('myRunInstancetutor');\n //console.log(this.hybridoptions.swarmlabname)\n var res = await store.dispatch('pipelineLLO/rmswarmlablocaluser', data)\n this.$wait.end('myRunInstancetutor');\n var obj = {}\n obj.token = this.token\n obj.instance = data.swarmlabname\n //check if exists\n var res2 = await store.dispatch('pipelineLLO/getservicesinfo', obj)\n if(res2.data.data == 'yes'){\n if(res2.data.data == 'yes'){\n var winfo='<h6 class=\"text-warning\"> swarmlab encountered a problem while deleting your labroom files. <br> This propably means that you have created some files while operating the labroom. <br> To remove those files please run the following command as root. </h6> <h5><i>Copy-and-run-command </i></h5><br> ' \n winfo += '<span class=\"text-success\">sudo rm -rf '+res.data.path+'/instance/'+data.swarmlabname+' </span><br><br>'\n winfo += '<span class=\"text-secondary\"> You can back up content using: </span><br>'\n winfo += '<span class=\"text-warning\">sudo tar -zcvf /home/\\$USER/swarmlabbackup_'+data.swarmlabname+'.tar.gz '+res.data.path+'/instance/'+data.swarmlabname+' </span>'\n var info='<h5>Labroom remove</h5>'\n this.$swal({\n type: 'info',\n html: info+winfo,\n icon: 'info',\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n }\n }\n this.refreshVuetable()\n this.$root.$emit('hybrid_refresh_info_deploy_local')\n\t\t\t}else if(action == 'run-install' ){\n this.$wait.start('myRunInstancetutor');\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.baseservice = data.baseservice\n this.hybridoptions.service = data.service\n this.hybridoptions.user = data.user\n this.hybridoptions.index = index\n let value = {}\n value.swarmlabname = this.hybridoptions.swarmlabname\n value.baseservice = this.hybridoptions.baseservice\n value.service = this.hybridoptions.service\n value.user = this.hybridoptions.user\n value.index = this.hybridoptions.index\n value.size = this.hybridoptions.size\n value.port = this.hybridoptions.port\n var res = await store.dispatch('pipelineLLO/getswarmlabmicroserviceinfo', value.baseservice)\n var swarmlab1info=res.data.swarmlabinfo\n value.git = swarmlab1info\n //console.log('inf git 0 '+ JSON.stringify(value.swarmlabname))\n //console.log('inf git 1 '+ JSON.stringify(res))\n //console.log('inf '+ JSON.stringify(value))\n var log = await store.dispatch(\"pipelineLLO/checkownercustom\",{\n token:this.token,\n instance:this.hybridoptions.swarmlabname\n })\n\n for(var i = 0; i < ApiConfigWEB.length; i++) {\n var obWEB = ApiConfigWEB[i];\n\n //--------------\n\t\t\t\t\t\t if(obWEB.name == this.hybridoptions.baseservice){\n value.baseservicedata = obWEB\n/*\n if(obWEB.hasOwnProperty('large')){\n if(obWEB.large != 'no'){\n // console.log(obWEB.large)\n this.heavy = true\n this.heavytext = obWEB.large\n }\n }\n*/\n }\n }\n\n\n\n\n \tthis.$root.$emit('hybrid_install_instance_custom', value)\n this.$wait.end('myRunInstancetutor');\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\n\t\t\t}else if(action == 'run-item' ){\n this.resetcustom()\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.baseservice = data.baseservice\n this.hybridoptions.packages = data.packages\n this.hybridoptions.sh = data.sh\n this.hybridoptions.rclocal = data.rclocal\n this.hybridoptions.service = data.service\n this.hybridoptions.user = data.user\n this.hybridoptions.index = index\n\n this.hybridoptions.port1 = data.port1\n this.hybridoptions.url1 = data.url1\n this.hybridoptions.name1 = data.name1\n\n this.hybridoptions.port2 = data.port2\n this.hybridoptions.url2 = data.url2\n this.hybridoptions.name2 = data.name2\n\n this.hybridoptions.port3 = data.port3\n this.hybridoptions.url3 = data.url3\n this.hybridoptions.name3 = data.name3\n\n //this.custom.sh = ''\n\n this.heavy = false\n this.heavytext = ''\n\n this.up_name = data.swarmlabname\n\n //console.log('RUN------------ '+ JSON.stringify(data))\n\n \t\t\tvar filtermicrosfot = `microservice-volatilitywindows`\n var grepmicrosoft = new RegExp(filtermicrosfot);\n\n \t\t\tvar filterju = `microservice-jupyter`\n var grepju = new RegExp(filterju);\n\t\t\t\t\t\tif(grepju.test(data.swarmlabname)){\n this.viewhybridoptions = false\n let value = {}\n value.swarmlabname = data.swarmlabname\n value.index = index\n value.size = this.hybridoptions.size\n value.port = this.hybridoptions.port\n this.$root.$emit('hybrid_start_instance', value)\n //Vue.set(this.testactionrowindex, value.swarmlabname, value.index)\n //Vue.set(this.testactionrowindex, value.index, value.swarmlabname)\n\t\t\t\t\t\t}else if(grepmicrosoft.test(data.swarmlabname)){\n this.viewhybridoptions = true\n this.heavy = true\n this.heavytext = 'Note that this image is somewhat heavy (~2GB) since they embed some of the kernel debug symbols for Microsoft Windows. It can take some time to build the Instance'\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n\t\t\t\t\t\t}else{\n this.viewhybridoptions = true\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n //console.log('RUN base1 '+ JSON.stringify(data))\n for(var i = 0; i < ApiConfigWEB.length; i++) {\n var obWEB = ApiConfigWEB[i];\n\n //--------------\n\t\t\t\t\t\t if(obWEB.name == data.baseservice){\n if(obWEB.hasOwnProperty('large')){\n if(obWEB.large != 'no'){\n // console.log(obWEB.large)\n this.heavy = true\n this.heavytext = obWEB.large\n }\n }\n }\n // -------------------------\n\t\t\t\t\t\t if(obWEB.name == data.baseservice){\n this.hybridoptions.baseservicedata = obWEB\n //console.log('RUN base '+ JSON.stringify(this.hybridoptions))\n if(obWEB.hasOwnProperty('custom')){\n if(obWEB.custom != 'no'){\n //console.log(obWEB.custom)\n this.customedit = true\n this.custom.os = obWEB.customos\n this.custom.sh = obWEB.customsh\n this.customostext = obWEB.customostext\n this.customshtext = obWEB.customshtext\n }\n }\n }\n // -------------------------\n\n }\n /*\n console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))\n // run on mytable.vue\n \tthis.$root.$emit('hybrid_start_instance', data.swarmlabname)\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n */\n\t\t\t\t}\n //Vue.nextTick( () => this.$refs.vuetable.reload())\n //EDO\n //this.refreshVuetable()\n\t\t\t}else if(action == 'down-item' ){\n this.up_name = ''\n this.hybridoptions = data\n this.hybridoptions.index = index\n var info = \"Stop and remove containers, networks, images, and volumes\"\n this.$swal({\n type: 'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: true,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: false,\n confirmButtonText: 'Yes!'\n }).then((result)=> {\n this.rmAndClose(result);\n })\n\n //console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n //this.refreshVuetable()\n\t\t\t}\n },\n\t\tasync rmAndClose(result){\n //console.log('value 1 '+ JSON.stringify(result))\n //console.log('value 1 '+ JSON.stringify(this.hybridoptions))\n \t\tif (result.isConfirmed) {\n\t\t\t\t\t//console.log('yes') \n // run on mytable.vue\n var value = this.hybridoptions.swarmlabname\n \t //await this.$root.$emit('hybrid_stop_instance', value)\n var log = await store.dispatch(\"pipelineLLO/stopservicecustom\",{\n token:this.token,\n instance:this.hybridoptions\n })\n //Vue.delete(this.testactionrowindex, this.hybridoptions.index)\n //console.log('down service '+ JSON.stringify(this.hybridoptions.index))\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n //console.log(log)\n this.refreshVuetable()\n }else {\n\t\t\t\t\tconsole.log('no') \n }\n\t },\n\t\tasync setcustomcancel(){\n this.custommenouopen = false\n this.custommenou = false\n\t },\n\t\tasync setcustomsave(){\n let value = {}\n value.swarmlabname = this.hybridoptions.swarmlabname\n var log = await store.dispatch(\"pipelineLLO/savecustomuser\",{\n token:this.token,\n instance:this.hybridoptions,\n package:this.custom.os,\n sh:this.custom.sh\n })\n this.custommenouopen = false\n this.custommenou = false\n //console.log('chown ok '+ JSON.stringify(log.data))\n\t },\n\t\tasync setcustom(){\n let value = {}\n value.swarmlabname = this.hybridoptions.swarmlabname\n this.custommenouopen = true\n this.custommenou = true\n var log = await store.dispatch(\"pipelineLLO/getcustomuser\",{\n token:this.token,\n instance:this.hybridoptions\n })\n //console.log(log)\n if(log.data.error === false){\n if(log.data.error_msg == 'nodir'){\n //console.log('chown reload')\n var info=`<h5><b> Please redownload Microservice and try launching the module again </b><br> \n </h5>\n `\n this.$swal({\n type: 'Info',\n icon:'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n }\n\n if(log.data.error_msg == 'ok'){\n if(log.data.extrapackagestext != ''){\n //this.custom.os = log.data.extrapackagestext\n Vue.set(this.custom, 'os', log.data.extrapackagestext)\n }\n if(log.data.extrashtext != ''){\n //this.custom.sh = log.data.extrashtext\n Vue.set(this.custom, 'sh', log.data.extrashtext)\n }\n //console.log('chown extrapackages1 '+ JSON.stringify(this.custom.os))\n //console.log('chown sh1 '+ JSON.stringify(this.custom.sh))\n }\n\n }else{\n var info=`<h5><b> Please remove and download Microservice and try launching the module again </b><br> \n </h5>\n `\n this.$swal({\n type: 'Info',\n icon:'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n }\n //console.log('chownlog '+ JSON.stringify(log))\n //console.log('chown extrapackages '+ JSON.stringify(this.custom.os))\n //console.log('chown sh '+ JSON.stringify(this.custom.sh))\n\t },\n\t\tasync backup(){\n var log = await store.dispatch(\"pipelineLLO/runbackupinstanceuser\",{\n token:this.token,\n instance: this.hybridoptions\n })\n\t },\n\t\tasync backupview(){\n var info=`<h5><b>Backups</b><br> \n <br>\n `\n info +='<p class=\"text-secondary\">'\ninfo +=' <b>Click on hyperlink opens Directory in new tab</b></p>'\n info +='<b> <a class=\"text-info\" href=\"http://127.0.0.1:3383/\" target=\"_blank\">View Backups</a></b>'\n info +='<br>'\n this.$swal({\n type: 'Info',\n title: 'Info!',\n icon:'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n\t },\n\t\tasync setHybridoptions(){\n this.resetcustom()\n //console.log(JSON.stringify(data))\n //this.hybridoptions.os = data.os\n \n // run on mytable.vue\n let value = {}\n value.swarmlabname = this.hybridoptions.swarmlabname\n value.index = this.hybridoptions.index\n value.size = this.hybridoptions.size\n value.port = this.hybridoptions.port\n var log = await store.dispatch(\"pipelineLLO/chowncustom\",{\n token:this.token,\n user:this.hybridoptions.user,\n service:this.hybridoptions.service,\n baseservice:this.hybridoptions.baseservice\n })\n //console.log('data '+ JSON.stringify(this.hybridoptions))\n \t//this.$root.$emit('hybrid_start_instance_custom', value)\n \tthis.$root.$emit('hybrid_start_instance_custom', this.hybridoptions)\n //Vue.set(this.testactionrowindex, value.swarmlabname, value.index)\n //Vue.set(this.testactionrowindex, value.index, value.swarmlabname)\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\n //console.log('RUN 1 '+ JSON.stringify(this.hybridoptions))\n\n\t\t},\n async refreshVuetableall() {\n\t\t\tthis.$nextTick(()=>{\n\t\t\t\t\tthis.vuetablekeygusersservices += 1\n\t\t\t\t})\n\t\t},\n async resetcustom() {\n this.customedit = false\n this.custommenouopen = false\n this.custommenou = false\n this.custom.os = ''\n this.custom.sh = ''\n\t\t},\n async refreshVuetable() {\n\t\t\t\t//this.vuetablekeygusersservices += 1\n // EDO\n // echo ta data pou exei epilexei o user\n // kai etsi alazo se afta tin katastassi\n // afero ta $nextTick\n // kai allazo apo refresh edo se afto to action\n // refresh only status\n // ********* refresh slot einai i lissi ***\n //this.dataselect=data\n //this.indexselect=index\n //console.log('error2a '+JSON.stringify(this.dataselect))\n //console.log('error2b '+JSON.stringify(this.indexselect))\n // render hangs\n\t\t await this.checkactionrowindexall()\n\t\t\t\t\tthis.vuetablekeygslotcustom += 1\n //des \n\t\t\t\t\t//this.vuetablekeygusersservices += 1\n\t\t\t\t//})\n },\n\t\tplaybookinfoShow(value) {\n\t\t\t\treturn this.visibility[value]=true\n\t\t},\n\t\tplaybookinfo(value) {\n\t\t\t\treturn this.playbookInfo=value\n\t\t},\n\t\trowClicked(row, event) {\n\t\t\treturn {\n\t\t\t\thtml: true,\n\t\t\t\ttitle: () => { return 'Hello <b>Popover:</b> ' + (++this.counter) },\n\t\t\t\tcontent: () => { return 'The date is:<br><em>' + new Date() + '</em>' }\n\t\t\t}\n\t\t},\n\t\tloadsuccess(response) {\n\t\t\t\tvar data = response.data.data\n\t\t\t\tthis.fielddata=data\n\t\t\t\tvar n = data.length\n\t\t\t\tn=n-1\n\t\t\t},\n onLoadError(payload) {\n /*\n //error2 \"invalid_token\" join-service.vue:684\n //error2 \"The access token provided has expired\" join-service.vue:685\n //error2 \"Unauthorized\" join-service.vue:686\n //error2 401\n console.log('error2 '+JSON.stringify(payload.response.data.error))\n console.log('error2 '+JSON.stringify(payload.response.data.error_description))\n console.log('error2 '+JSON.stringify(payload.response.statusText))\n console.log('error2 '+JSON.stringify(payload.response.status))\n */\n if(payload.response.status == '401'){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n Vue.nextTick( () => window.location.href = 'https://api-login.swarmlab.io:8089')\n }\n }\n\n\n },\n\n\n actions: {\n\n\n\t}\n\n};\n</script>\n<style>\n.flex-fixed-width-item {\n flex: 0 0 100px;\n\t\t}\n.modalinfo {\n z-index: 10000000 !important;\n\tposition:fixed;\n}\n/* a container with flex-direction column */\n\n.vue-notifyjs.notifications{\n .alert{\n z-index: 100;\n }\n .list-move {\n transition: transform 0.3s, opacity 0.4s;\n }\n .list-item {\n display: inline-block;\n margin-right: 10px;\n\n }\n .list-enter-active {\n transition: transform 0.2s ease-in, opacity 0.4s ease-in;\n }\n .list-leave-active {\n transition: transform 1s ease-out, opacity 0.4s ease-out;\n }\n\n .list-enter {\n opacity: 0;\n transform: scale(1.1);\n\n }\n .list-leave-to {\n opacity: 0;\n transform: scale(1.2, 0.7);\n }\n}\n\npre {\n //background-color: rgb(255, 247, 229);\n background-color: #eff0f1;\n\t border: 1px solid blue;\n\t\t //white-space: pre-line;\n\t\t\t}\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!./availablemicroservicescustom.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!./availablemicroservicescustom.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./availablemicroservicescustom.vue?vue&type=template&id=4e7f53bf&\"\nimport script from \"./availablemicroservicescustom.vue?vue&type=script&lang=js&\"\nexport * from \"./availablemicroservicescustom.vue?vue&type=script&lang=js&\"\nimport style0 from \"./availablemicroservicescustom.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\nexport default component.exports","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n\n <div class=\"row\" >\n <div class=\"col-7 order-first \" >\n <br>\n <!--\n <view-network>\n\n </view-network>\n -->\n <available-mymicroservices\n :key=\"componentKeyreloadservice5\" \n >\n\n </available-mymicroservices>\n </div>\n\n <div class=\"col-5 order-last\" >\n <br>\n <adhoc-view>\n\n </adhoc-view>\n </div>\n </div>\n\n\n </card>\n</template>\n<script>\nimport {mapState, mapGetters, mapActions} from 'vuex'\n//import ViewNetwork from \"./mynetwork/mytable.vue\";\nimport AdhocView from \"./mynetwork/AdhocView.vue\";\nimport card from '@/components/Card.vue'\n//import DockerServices from \"./mynetwork/dockerservices.vue\";\nimport AvailableMymicroservices from \"./mynetwork/availablemicroservicescustom.vue\";\nexport default {\n components: {\n // ViewNetwork,\n AdhocView,\n card,\n // DockerServices,\n AvailableMymicroservices\n },\n data () {\n return {\n componentKeyreloadservice5:1,\n loading: false,\n consoleView: 'off',\n productIndex: 1\n }\n },\n mounted() {\n\t\tthis.$root.$on('hybrid_refresh_info_deploy_local', () => {\n this.componentKeyreloadservice5 += 1\n\t\t})\n },\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_refresh_info_deploy_local')\n },\n\n\n created () {\n }\n};\n</script>\n<style>\n</style>\n\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!./mymicroservicescustom.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!./mymicroservicescustom.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./mymicroservicescustom.vue?vue&type=template&id=17fc6846&\"\nimport script from \"./mymicroservicescustom.vue?vue&type=script&lang=js&\"\nexport * from \"./mymicroservicescustom.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-7 order-first \"},[_c('br'),_c('available-poc',{key:_vm.componentKeyreloadpoc})],1),_c('div',{staticClass:\"col-5 order-last\"},[_c('br'),_c('adhoc-view')],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('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"author\"},[_c('img',{staticClass:\"avatar border-white\",attrs:{\"src\":require(\"@/assets/img/docker.png\"),\"alt\":\"...\"}})]),_c('b-container',{staticClass:\"bv-example-row\",attrs:{\"fluid\":\"\"}},[_c('v-wait',{attrs:{\"for\":\"myRunInstancetutorpoc\"}},[_c('template',{slot:\"waiting\"},[_c('div',[_c('img',{attrs:{\"src\":require(\"@/assets/loading.gif\")}}),_vm._v(\" Enter Lab_room poc... \")])])],2),_c('div',{staticClass:\"row text-center\"},[_c('div',{staticClass:\"col-12\"},[_c('b',[_vm._v(\"Swarmlab \"),_c('span',{staticClass:\"text-info\"},[_vm._v(\"Proof_of_concept\")]),_vm._v(\" Deploy - Local \")])])]),_c('br'),_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchFor),expression:\"searchFor\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"Search\"},domProps:{\"value\":(_vm.searchFor)},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.setFilter($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchFor=$event.target.value}}}),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-primary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.setFilter}},[_vm._v(\" Go\")])]),_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.resetFilter}},[_vm._v(\" Reset\")])])]),(_vm.viewhybridoptions)?_c('div',{staticClass:\"row\"},[_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"12\"}},[_c('span',[_c('b',[_vm._v(\"POC Service Options\")])])])],1):_vm._e(),(_vm.viewhybridoptions)?_c('div',{staticClass:\"input-group-append\"},[_c('button',{staticClass:\"btn btn-outline-secondary\",attrs:{\"round\":\"\",\"type\":\"button\"}},[_vm._v(\" Admin \")]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.hybridoptions.password),expression:\"hybridoptions.password\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"placeholder\":\"New Password\"},domProps:{\"value\":(_vm.hybridoptions.password)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.hybridoptions, \"password\", $event.target.value)}}}),_c('button',{staticClass:\"btn btn-outline-success\",attrs:{\"round\":\"\",\"type\":\"button\"},on:{\"click\":_vm.checkHybridoptions}},[_vm._v(\" Up\")])]):_vm._e(),_c('vuetable',{key:_vm.vuetablekeypoc,ref:\"vuetable\",attrs:{\"api-url\":_vm.apiurl,\"api-mode\":true,\"http-options\":_vm.httpOptions,\"fields\":_vm.fields,\"item-actions\":_vm.itemActions,\"sort-order\":_vm.sortOrder,\"show-sort-icons\":true,\"multi-sort\":_vm.multiSort,\"per-page\":_vm.perpage,\"pagination-path\":\"links.pagination\",\"pagination-component\":_vm.paginationComponent,\"append-params\":_vm.moreParams,\"wrapper-class\":\"vuetable-wrapper\",\"loading-class\":\"loading\",\"detail-row-id\":\"id\",\"css\":_vm.css.table},on:{\"vuetable:pagination-data\":_vm.onPaginationData,\"vuetable:load-success\":_vm.loadsuccess,\"vuetable:load-error\":_vm.onLoadError},scopedSlots:_vm._u([{key:\"actionsenabled\",fn:function(props){return _c('div',{},[_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.testactionrowindex[props.rowData.swarmlabname] == props.rowIndex)?_c('button',{staticClass:\"ti-thumb-up btn btn-info btn-sm\",attrs:{\"title\":\"Stop Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('down-item', props.rowData, props.rowIndex)}}}):_vm._e(),(_vm.testactionrowindex[props.rowData.swarmlabname] != props.rowIndex && _vm.testactionrowindex[props.rowIndex] == props.rowIndex)?_c('button',{staticClass:\"ti-thumb-down btn btn-secondary btn-sm\",attrs:{\"title\":\"Start Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('run-item', props.rowData, props.rowIndex)}}}):_vm._e()])])}},{key:\"actionslocal\",fn:function(props){return _c('div',{},[_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.testactionrowindex[props.rowIndex] == props.rowIndex && _vm.testactionrowindex[props.rowData.swarmlabname] != props.rowIndex)?_c('button',{staticClass:\"ti-trash btn btn-info btn-sm\",attrs:{\"title\":\"Remove Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('delete-item', props.rowData, props.rowIndex)}}}):_vm._e()])])}},{key:\"actions\",fn:function(props){return _c('div',{},[_c('div',{staticClass:\"d-flex justify-content-center\"},[(_vm.checkactionrowindex(props.rowData,props.rowIndex))?_c('button',{staticClass:\"ti-cloud-down btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Download Lab_Instance\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('run-install', props.rowData, props.rowIndex)}}}):_vm._e(),_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Lab_Instance Info\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('view-item', props.rowData, props.rowIndex)}}})])])}}])}),_c('div',{staticClass:\"vuetable-pagination ui basic segment grid\"},[_c('vuetable-pagination-info',{ref:\"paginationInfo\",attrs:{\"css\":_vm.css.paginationInfo}}),_c('vuetable-pagination',{ref:\"pagination\",attrs:{\"css\":_vm.css.pagination},on:{\"vuetable-pagination:change-page\":_vm.onChangePage}})],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n <div class=\"author\">\n <img class=\"avatar border-white\" src=\"@/assets/img/docker.png\" alt=\"...\">\n </div>\n\n <b-container fluid class=\"bv-example-row\">\n\n\n <v-wait for=\"myRunInstancetutorpoc\">\n <template slot=\"waiting\">\n <div>\n <img src=\"@/assets/loading.gif\" />\n Enter Lab_room poc...\n </div>\n </template>\n </v-wait>\n <div class=\"row text-center\">\n <div class=\"col-12\">\n <b>Swarmlab <span class=\"text-info\">Proof_of_concept</span> Deploy - Local </b>\n </div>\n </div>\n\n<br>\n\n\n\t\t<div class=\"input-group input-group-sm sm-3\">\n\t\t\t\t\t\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"Search\"\n\t\t\t\tv-model=\"searchFor\"\n\t\t\t\t@keyup.enter=\"setFilter\"\n\t\t\t\t>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button \n\t\t\t\t\tclass=\"btn btn-outline-primary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"setFilter\">\n\t\t\t\t\tGo</button>\n\t\t\t</div>\n\t\t\t\t\t\n\t\t\t<div class=\"input-group-append\">\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t@click=\"resetFilter\">\n\t\t\t\t\tReset</button>\n\t\t\t</div>\n </div>\n\n <div class=\"row\"\n v-if=\"viewhybridoptions\"\n >\n <b-col class=\"text-center\" cols=\"12\" sm=\"12\" md=\"12\">\n <span>\n <b>POC Service Options</b>\n </span>\n </b-col>\n </div>\n\n\t\t<div class=\"input-group-append\"\n v-if=\"viewhybridoptions\"\n >\n\t\t\t\t<button class=\"btn btn-outline-secondary\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n >\n\t\t\t\tAdmin </button>\n\t\t\t<input type=\"text\" \n\t\t\t\tclass=\"form-control\" \n\t\t\t\taria-label=\"Small\" aria-describedby=\"inputGroup-sizing-sm\"\n\t\t\t\tplaceholder=\"New Password\"\n\t\t\t\tv-model=\"hybridoptions.password\"\n\t\t\t\t>\n\t\t\t\t<button class=\"btn btn-outline-success\" \n\t\t\t\t\tround\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t @click=\"checkHybridoptions\"\n >\n\t\t\t\tUp</button>\n </div>\n\n\t\t<div class=\"white h-100 flex-fixed-width-item\"\n\t\t\t<vuetable \n\t\t\t\tref=\"vuetable\"\n\t\t\t\t:key=\"vuetablekeypoc\"\n\t\t\t\t:api-url='apiurl'\n\t\t\t\t:api-mode=\"true\"\n\t\t\t\t:http-options=\"httpOptions\"\n\t\t\t\t:fields=\"fields\"\n\t\t\t\t:item-actions=\"itemActions\"\n\t\t\t\t:sort-order=\"sortOrder\"\n\t\t\t\t:show-sort-icons=\"true\"\n\t\t\t\t:multi-sort=\"multiSort\"\n\t\t\t\t:per-page=\"perpage\"\n\t\t\t\tpagination-path=\"links.pagination\"\n\t\t\t\t:pagination-component=\"paginationComponent\"\n\t\t\t\t:append-params=\"moreParams\"\n\t\t\t\twrapper-class=\"vuetable-wrapper\"\n\t\t\t\tloading-class=\"loading\"\n\t\t\t\tdetail-row-id=\"id\"\n\t\t\t\t@vuetable:pagination-data=\"onPaginationData\"\n\t\t\t\t@vuetable:load-success=\"loadsuccess\"\n @vuetable:load-error=\"onLoadError\"\n\t\t\t\t:css=\"css.table\"\n\t\t\t\t >\n\n <div slot=\"actionsenabled\" slot-scope=\"props\">\n <div class=\"d-flex justify-content-center\">\n <button\n v-if=\"testactionrowindex[props.rowData.swarmlabname] == props.rowIndex\"\n class=\"ti-thumb-up btn btn-info btn-sm\"\n title=\"Stop Lab_Instance\"\n round\n @click=\"onAction('down-item', props.rowData, props.rowIndex)\"\n >\n </button>\n <button\n v-if=\"testactionrowindex[props.rowData.swarmlabname] != props.rowIndex && testactionrowindex[props.rowIndex] == props.rowIndex\"\n class=\"ti-thumb-down btn btn-secondary btn-sm\"\n title=\"Start Lab_Instance\"\n round\n @click=\"onAction('run-item', props.rowData, props.rowIndex)\"\n >\n </button>\n </div>\n </div>\n <div slot=\"actionslocal\" slot-scope=\"props\">\n <div class=\"d-flex justify-content-center\">\n <button\n v-if=\"testactionrowindex[props.rowIndex] == props.rowIndex && testactionrowindex[props.rowData.swarmlabname] != props.rowIndex\"\n class=\"ti-trash btn btn-info btn-sm\"\n title=\"Remove Lab_Instance\"\n @click=\"onAction('delete-item', props.rowData, props.rowIndex)\"\n round\n >\n </button>\n </div>\n </div>\n <div slot=\"actions\" slot-scope=\"props\">\n <div class=\"d-flex justify-content-center\">\n <button\n v-if=\"checkactionrowindex(props.rowData,props.rowIndex)\"\n class=\"ti-cloud-down btn btn-outline-secondary btn-sm\"\n title=\"Download Lab_Instance\"\n round\n @click=\"onAction('run-install', props.rowData, props.rowIndex)\">\n </button>\n <button\n class=\"ti-info btn btn-outline-secondary btn-sm\"\n title=\"Lab_Instance Info\"\n round\n @click=\"onAction('view-item', props.rowData, props.rowIndex)\">\n </button>\n\t\t\t\t </div>\n\t\t\t\t</div>\n\t\t\t</vuetable>\n\t\t\t<div class=\"vuetable-pagination ui basic segment grid\">\n\t\t\t\t<vuetable-pagination-info \n\t\t\t\t\tref=\"paginationInfo\" \n\t\t\t\t\t:css=\"css.paginationInfo\"\n \t\t>\n\t\t\t\t</vuetable-pagination-info>\n\t\t\t\t<vuetable-pagination \n\t\t\t\t\t:css=\"css.pagination\"\n\t\t\t\t\tref=\"pagination\"\n \t@vuetable-pagination:change-page=\"onChangePage\"\n \t\t>\n\t\t\t\t</vuetable-pagination>\n\t\t\t</div>\n </div>\n </b-container>\n </card>\n</template>\n<script>\nimport store from '@/store/index'\nimport {mapState, mapGetters, mapActions,dispatch} from 'vuex'\nimport Vue from 'vue'\nimport {Vuetable, VuetablePaginationDropdown} from 'vuetable-2'\nimport VuetablePaginationInfo from 'vuetable-2/src/components/VuetablePaginationInfo'\nimport VuetablePagination from 'vuetable-2/src/components/VuetablePagination'\nimport CssConfig from 'vuetable-2/src/components/VuetableCssConfig.js'\nimport card from '@/components/Card.vue'\nimport {ApiConfig} from \"@/config/index\";\n\nexport default {\n components: {\n card,\n\t Vuetable,\n\t\t\tVuetablePagination,\n\t\t\tVuetablePaginationInfo,\n\t\t\tVuetablePaginationDropdown\n\t},\n props: {\n },\n data() {\n return{\n testactionrowindex:[], // downloaded used in installed\n teststatusindex:[], // status stop run used in status\n\t hybridoptions: {\n 'index':'', \n 'swarmlabname':'', \n 'password':'', \n 'port':'' \n },\n viewhybridoptions: false,\n swarmlab:{},\n\t playbookInfo: {},\n token: '',\n\t playbook: {\n\t\t\t'title':'',\n\t\t\t'name':'',\n\t\t\t'description':''\n\t\t},\n\t\t\tcontainer:{\n\t\t\t\tname:'',\n\t\t\t\tview:0\n\t\t\t},\n\t\t\tpipeline:{},\n \t\tselected: 'hybrid',\n options: [\n { text: 'Packages', value: 'packages' },\n { text: 'Images', value: 'images' },\n { text: 'Scripts', value: 'scripts' }\n ],\n\t\tshowModal: false,\n\t\tvisibility: [],\n\t \tactive:false,\n\t\tvuetablekeypoc:0,\n\t\tfielddata:{},\n fields: [\n {\n name: 'swarmlabname',\n title: '<span class=\"orange\"></span>Name',\n sortField: 'swarmlabname',\n visible:true,\n dataClass: 'left aligned col-3',\n width: '68%'\n },\n {\n name: '_id',\n title: '<span class=\"orange\"></span>mongo',\n visible:false\n },\n {\n name: 'description',\n sortField: 'gitrepoCloneUrl',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-25',\n visible:false,\n width: '15%'\n },\n {\n name: 'gitrepoFullName',\n sortField: 'gitrepoFullName',\n titleClass: 'center aligned',\n dataClass: 'left aligned w-25',\n visible:false,\n width: '15%'\n },\n {\n name: '__slot:actionsenabled', // <----\n title: 'Status',\n titleClass: 'center',\n dataClass: 'center aligned',\n width: '5%'\n },\n {\n name: '__slot:actionslocal', // <----\n title: 'Installed',\n titleClass: 'center',\n dataClass: 'center aligned',\n width: '5%'\n },\n {\n name: '__slot:actions', // <----\n title: 'Download',\n titleClass: 'col text-center',\n dataClass: 'center aligned',\n width: '10%'\n },\n ],\n\t\tapiurl:ApiConfig.swarmlab_url_80+\"/swarmlabhybridpoc\",\n\t\tcss: CssConfig,\n perpage: 5,\n searchFor: '',\n\t\tsortOrder: [{\n\t\t\t\tfield: 'pipelinename',\n\t\t\t\tdirection: 'asc'\n\t\t}],\n multiSort: true,\n paginationComponent: 'vuetable-pagination',\n\t\titemActions: [\n\t\t\t\t{ name: 'view-item', label: '', icon: 'glyphicon glyphicon-zoom-in', class: 'btn btn-info', extra: {'title': 'View', 'data-toggle':\"tooltip\", 'data-placement': \"left\"} },\n\t\t\t\t{ name: 'edit-item', label: '', icon: 'glyphicon glyphicon-pencil', class: 'btn btn-warning', extra: {title: 'Edit', 'data-toggle':\"tooltip\", 'data-placement': \"top\"} },\n\t\t\t\t{ name: 'delete-item', label: '', icon: 'glyphicon glyphicon-remove', class: 'btn btn-danger', extra: {title: 'Delete', 'data-toggle':\"tooltip\", 'data-placement': \"right\" } }\n\t\t],\n\t\tmoreParams: { \n\t\t\t\t'filter': '',\n\t\t\t\t'type': 'scripts'\n\t\t\t},\n\t \n\t\t}\n },\n\tmounted() {\n\t\tthis.$root.$on('hybrid_refresh_availableservices_poc', () => {\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\t\t})\n //refresh from socket mytable \n\t\tthis.$root.$on('hybrid_refresh_table_poc', (v) => {\n\t\t\t this.$nextTick(function () {\n // Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n this.viewhybridoptions = false\n this.$wait.end('myRunInstancetutorpoc');\n\t\t\t })\n\t\t})\n\t},\n\tcreated() {\n var url_string = window.location.href\n var url = new URL(url_string);\n this.token = url.searchParams.get(\"token\");\n //console.log(\"token \"+ this.token);\n\n\t},\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_refresh_availableservices_poc')\n\t\tthis.$root.$off('hybrid_refresh_table_poc')\n },\n computed: {\n\t\thttpOptions() {\n\t\t\tvar token = this.token\n\t\t\t var p=\"headers: {Authorization: token}}\"; //table props -> :http-options=\"httpOptions\"\n\t\t\t return {headers: {Authorization: 'Bearer ' + token}} //table props -> :http-options=\"httpOptions\"\n\t },\n\n\t},\n\n methods: {\n onError (type,description) {\n var winfo=description\n var info='<h5>Bootstrap '+type+'</h5>'\n this.$swal({\n type: type,\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true,\n confirmButtonText: 'Ok!'\n })\n },\n\t\tasync checkactionrowindex(data,index){\n if(this.testactionrowindex[index] == index){\n \n var obj = {}\n obj.token = this.token\n obj.instance = data.swarmlabname\n var res1 = await store.dispatch('pipelineLLO/getpocstatus', obj)\n //console.log('check --- '+JSON.stringify(res1))\n if(res1.data.data == 'yes'){\n Vue.set(this.testactionrowindex, data.swarmlabname, index)\n }else{\n Vue.delete(this.testactionrowindex, data.swarmlabname)\n }\n }else{\n var obj = {}\n obj.token = this.token\n obj.instance = data.swarmlabname\n var res = await store.dispatch('pipelineLLO/getservicesinfo', obj)\n if(res.data.data == 'yes'){\n Vue.set(this.testactionrowindex, index, index)\n var res1 = await store.dispatch('pipelineLLO/getpocstatus', obj)\n if(res1.data.data == 'yes'){\n Vue.set(this.testactionrowindex, data.swarmlabname, index)\n }else{\n Vue.delete(this.testactionrowindex, data.swarmlabname)\n }\n }else{\n console.log('resi NO1 '+JSON.stringify(res))\n }\n }\n\t\t},\n\t\tsetFilter () {\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': this.searchFor,\n\t\t\t\t\t\t'type': this.selected\n\t\t\t\t}\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\t\t},\n\t\tresetFilter () {\n\t\t\t\tthis.moreParams = {}\n\t\t\t\tthis.searchFor = ''\n\t\t\t\tthis.moreParams = {\n\t\t\t\t\t\t'filter': '',\n\t\t\t\t\t\t'type': 'scripts'\n\t\t\t\t}\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\t\t},\n onPaginationData (paginationData) {\n this.$refs.pagination.setPaginationData(paginationData)\n\t\t\tthis.$refs.paginationInfo.setPaginationData(paginationData) \n },\n onChangePage (page) {\n this.$refs.vuetable.changePage(page)\n },\n editRow(rowData) {\n alert(\"You clicked edit on\"+ JSON.stringify(rowData));\n\t\t},\n async onAction (action, data, index) {\n\t\t\tif(action == 'view-item' ){\n this.swarmlab=data\n var container=this.swarmlab\n\n var swarmlab1info='https://git.swarmlab.io:3000/docs/Documentation'\n var swarmlab1 = 'info '\n var description='<div style=\"height: 250px; overflow-y: scroll;\"><p><pre><code class=\"codeblock\">'+swarmlab1+'</code></pre></p></div>'\n var winfo=''\n var info='<h5>Swarmlab Service <a href=\"'+swarmlab1info+'\" target=\"_blank\" >Info</a></h5>(Open page in new window)'\n this.$swal({\n type: 'info',\n html: info+winfo,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: true\n })\n\n\n\t\t\t}else if(action == 'delete-item' ){\n this.hybridoptions.swarmlabname = data.swarmlabname\n var info='<h5>This will remove the storage with the name<b> '+ data.swarmlabname +'</b> </h5><br>'\n\n var storage = this.hybridoptions.swarmlabname\n var winfo=''\n\n\t\t\t\tthis.$swal({\n\t\t\t\t\ttype: 'info',\n\t\t\t\t\thtml: info+winfo,\n icon:'info',\n\t\t\t\t\tshowCloseButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\tallowOutsideClick: false,\n\t\t\t\t\t cancelButtonText: 'No, cancel!',\n\t\t\t\t\tshowCancelButton: true,\n\t\t\t\t\tshowLoaderOnConfirm: false,\n\t\t\t\t\treverseButtons: true,\n\t\t\t\t\tfocusCancel: true,\n\t\t\t\t\tconfirmButtonText: 'Yes, Delete it!'\n }).then((result)=> {\n this.rmStorageAndClose(result);\n })\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\t\t\t}else if(action == 'run-install' ){\n this.$wait.start('myRunInstancetutorpoc');\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n let value = {}\n value.swarmlabname = this.hybridoptions.swarmlabname\n value.index = this.hybridoptions.index\n value.size = this.hybridoptions.size\n value.port = this.hybridoptions.port\n var res = await store.dispatch('pipelineLLO/getswarmlabpocinfo', value.swarmlabname)\n var swarmlab1info=res.data.swarmlabinfo\n value.git = swarmlab1info\n \tthis.$root.$emit('hybrid_install_instance_storage', value)\n this.$wait.end('myRunInstancetutorpoc');\n this.refreshVuetable()\n\n\t\t\t}else if(action == 'run-item' ){\n this.viewhybridoptions = true\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n /*\n console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))\n // run on mytable.vue\n \tthis.$root.$emit('hybrid_start_instance', data.swarmlabname)\n Vue.set(this.testactionrowindex, data.swarmlabname, index)\n Vue.nextTick( () => this.$refs.vuetable.refresh())\n */\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n\t\t\t}else if(action == 'down-item' ){\n this.hybridoptions.swarmlabname = data.swarmlabname\n this.hybridoptions.index = index\n var info = \"Stop and remove storage: containers, networks, images, and volumes\"\n this.$swal({\n type: 'info',\n html: info,\n showCloseButton: true,\n showLoaderOnConfirm: false,\n allowOutsideClick: false,\n cancelButtonText: 'No, cancel!',\n showCancelButton: true,\n showLoaderOnConfirm: false,\n reverseButtons: true,\n focusCancel: false,\n confirmButtonText: 'Yes!'\n }).then((result)=> {\n this.rmAndClose(result);\n })\n\n //console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\t\t\t}\n },\n\t\tasync rmStorageAndClose(action){\n if(action.isConfirmed){\n //this.hybridoptions.swarmlabname = data.swarmlabname\n this.$wait.start('myRunInstancetutorpoc');\n var res = await store.dispatch('pipelineLLO/rmswarmlablocalpoc', this.hybridoptions.swarmlabname)\n this.$wait.end('myRunInstancetutorpoc');\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n Vue.delete(this.testactionrowindex, this.hybridoptions.swarmlabname)\n this.refreshVuetable()\n this.$root.$emit('hybrid_refresh_info_deploy_local')\n //console.log('inf res '+ JSON.stringify(res))\n }\n\n },\n\n\t\tasync rmAndClose(result){\n \t\tif (result.isConfirmed) {\n this.$wait.start('myRunInstancetutorpoc');\n var value = this.hybridoptions.swarmlabname\n \t this.$root.$emit('hybrid_stop_instance_poc', value)\n Vue.delete(this.testactionrowindex, this.hybridoptions.index)\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n }else {\n\t\t\t\t\tconsole.log('no') \n }\n\t },\n\t\tasync checkHybridoptions(){\n var storage = this.hybridoptions.swarmlabname\n var myaction = {}\n myaction.isConfirmed = 'true'\n\t\t this.setHybridoptions(myaction)\n\t },\n\t\tasync setHybridoptions(action){\n this.$wait.start('myRunInstancetutorpoc');\n \n //console.log('RUN 1 '+ JSON.stringify(data.swarmlabname))\n // run on mytable.vue\n let value = {}\n value.swarmlabname = this.hybridoptions.swarmlabname\n value.index = this.hybridoptions.index\n value.password = this.hybridoptions.password\n value.port = this.hybridoptions.port\n \tthis.$root.$emit('hybrid_start_instance_poc', value)\n Vue.set(this.testactionrowindex, value.swarmlabname, value.index)\n //Vue.nextTick( () => this.$refs.vuetable.refresh())\n this.refreshVuetable()\n\n\t\t},\n refreshVuetable() {\n\t\t\tthis.$nextTick(()=>{\n\t\t\t\t\tthis.vuetablekeypoc += 1\n\t\t\t\t})\n },\n\t\tplaybookinfoShow(value) {\n\t\t\t\treturn this.visibility[value]=true\n\t\t},\n\t\tplaybookinfo(value) {\n\t\t\t\treturn this.playbookInfo=value\n\t\t},\n\t\trowClicked(row, event) {\n\t\t\treturn {\n\t\t\t\thtml: true,\n\t\t\t\ttitle: () => { return 'Hello <b>Popover:</b> ' + (++this.counter) },\n\t\t\t\tcontent: () => { return 'The date is:<br><em>' + new Date() + '</em>' }\n\t\t\t}\n\t\t},\n\t\tloadsuccess(response) {\n\t\t\t\tvar data = response.data.data\n\t\t\t\tthis.fielddata=data\n\t\t\t\tvar n = data.length\n\t\t\t\tn=n-1\n\t\t\t},\n onLoadError(payload) {\n /*\n //error2 \"invalid_token\" join-service.vue:684\n //error2 \"The access token provided has expired\" join-service.vue:685\n //error2 \"Unauthorized\" join-service.vue:686\n //error2 401\n console.log('error2 '+JSON.stringify(payload.response.data.error))\n console.log('error2 '+JSON.stringify(payload.response.data.error_description))\n console.log('error2 '+JSON.stringify(payload.response.statusText))\n console.log('error2 '+JSON.stringify(payload.response.status))\n */\n if(payload.response.status == '401'){\n window.location.href = 'https://api-login.swarmlab.io:8089';\n Vue.nextTick( () => window.location.href = 'https://api-login.swarmlab.io:8089')\n }\n }\n\n\n },\n\n\n actions: {\n\n\n\t}\n\n};\n</script>\n<style>\n.flex-fixed-width-item {\n flex: 0 0 100px;\n\t\t}\n.modalinfo {\n z-index: 10000000 !important;\n\tposition:fixed;\n}\n/* a container with flex-direction column */\n\n.vue-notifyjs.notifications{\n .alert{\n z-index: 100;\n }\n .list-move {\n transition: transform 0.3s, opacity 0.4s;\n }\n .list-item {\n display: inline-block;\n margin-right: 10px;\n\n }\n .list-enter-active {\n transition: transform 0.2s ease-in, opacity 0.4s ease-in;\n }\n .list-leave-active {\n transition: transform 1s ease-out, opacity 0.4s ease-out;\n }\n\n .list-enter {\n opacity: 0;\n transform: scale(1.1);\n\n }\n .list-leave-to {\n opacity: 0;\n transform: scale(1.2, 0.7);\n }\n}\n\npre {\n //background-color: rgb(255, 247, 229);\n background-color: #eff0f1;\n\t border: 1px solid blue;\n\t\t //white-space: pre-line;\n\t\t\t}\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!./availablepoc.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!./availablepoc.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./availablepoc.vue?vue&type=template&id=12846354&\"\nimport script from \"./availablepoc.vue?vue&type=script&lang=js&\"\nexport * from \"./availablepoc.vue?vue&type=script&lang=js&\"\nimport style0 from \"./availablepoc.vue?vue&type=style&index=0&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 null,\n null\n \n)\n\nexport default component.exports","<template>\n <card class=\"card-user\" style=\"max-height:100%\">\n\n <div class=\"row\" >\n <div class=\"col-7 order-first \" >\n <br>\n <!--\n <view-network>\n\n </view-network>\n -->\n <available-poc\n :key=\"componentKeyreloadpoc\" \n >\n\n </available-poc>\n </div>\n\n <div class=\"col-5 order-last\" >\n <br>\n <adhoc-view>\n\n </adhoc-view>\n </div>\n </div>\n\n\n </card>\n</template>\n<script>\nimport {mapState, mapGetters, mapActions} from 'vuex'\n//import ViewNetwork from \"./mynetwork/mytable.vue\";\nimport AdhocView from \"./mynetwork/AdhocView.vue\";\nimport card from '@/components/Card.vue'\n//import DockerServices from \"./mynetwork/dockerservices.vue\";\n//import AvailableServices from \"./mynetwork/availableservices.vue\";\nimport AvailablePoc from \"./mynetwork/availablepoc.vue\";\nexport default {\n components: {\n // ViewNetwork,\n AdhocView,\n card,\n // DockerServices,\n AvailablePoc\n },\n data () {\n return {\n componentKeyreloadpoc:1,\n loading: false,\n consoleView: 'off',\n productIndex: 1\n }\n },\n mounted() {\n\t\tthis.$root.$on('hybrid_refresh_info_deploy_local', () => {\n this.componentKeyreloadpoc += 1\n\t\t})\n },\n beforeDestroy () {\n\t\tthis.$root.$off('hybrid_refresh_info_deploy_local')\n },\n\n\n created () {\n }\n};\n</script>\n<style>\n</style>\n\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!./proofofconcept.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!./proofofconcept.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./proofofconcept.vue?vue&type=template&id=292bb397&\"\nimport script from \"./proofofconcept.vue?vue&type=script&lang=js&\"\nexport * from \"./proofofconcept.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","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('card',{staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-7 order-first \"},[_c('builder-services'),_c('br'),_c('builder-my-services')],1),_c('div',{staticClass:\"col-5 order-last\"},[_c('br'),_c('service-view')],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('card',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.menou),expression:\"menou\"}],staticClass:\"card-user\",staticStyle:{\"max-height\":\"100%\"}},[_c('div',{staticClass:\"author\"},[_c('img',{staticClass:\"avatar border-white\",attrs:{\"src\":require(\"@/assets/img/docker.png\"),\"alt\":\"...\"}})]),_c('b-container',{staticClass:\"bv-example-row\",attrs:{\"fluid\":\"\"}},[_c('div',{staticClass:\"row text-center\"},[_c('div',{staticClass:\"col-12\"},[_c('b',[_vm._v(\"View and \"),_c('span',{staticClass:\"text-info\"},[_vm._v(\"Manage your builds\")])])])]),_c('br'),(_vm.menouselect)?_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12 sm-12\"},[_c('b-form-select',{staticClass:\"mt-3\",attrs:{\"options\":_vm.options,\"size\":\"sm\"},on:{\"change\":_vm.setservice},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}},[_vm._v(\" >\")])],1)]):_vm._e(),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12 sm-12\"},[_c('div',{staticClass:\"input-group\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('span',{staticClass:\"input-group-text\",attrs:{\"name\":\"validationTooltipUsernamePrepend1\"}},[_vm._v(\"Base Service Name\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form_baseservice),expression:\"form_baseservice\"}],staticClass:\"form-control text-success\",attrs:{\"type\":\"text\",\"disabled\":\"\",\"aria-describedby\":\"validationTooltipUsernamePrepend1\"},domProps:{\"value\":(_vm.form_baseservice)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.form_baseservice=$event.target.value}}}),_c('div',{staticClass:\"input-group-prepend\"},[_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Info\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('form_baseservice')}}})])])])]),_c('ValidationProvider',{ref:\"hybrid_stackname\",attrs:{\"name\":\"myServicename\",\"rules\":\"required|alpha_num_name\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar ariaMsg = ref.ariaMsg;\nvar ariaInput = ref.ariaInput;\nvar valid = ref.valid;\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12 sm-12\"},[_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('span',{staticClass:\"input-group-text\"},[_vm._v(\"Service Name\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form_myservicename),expression:\"form_myservicename\"}],staticClass:\"form-control\",class:{'is-valid': _vm.isDeployValid.stackname == 1, 'is-invalid': _vm.isDeployValid.stackname == 2},attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"data-vv-as\":\"\\\"nyServicename\\\"\",\"data-vv-value-path\":\"form_myservicename\",\"data-vv-name\":\"form_myservicename\"},domProps:{\"value\":(_vm.form_myservicename)},on:{\"keyup\":function($event){return _vm.isValid('stackname')},\"blur\":function($event){return _vm.isValid('stackname')},\"input\":[function($event){if($event.target.composing){ return; }_vm.form_myservicename=$event.target.value},function($event){return _vm.isValid('stackname')}],\"change\":function($event){return _vm.isValid('stackname')},\"focus\":function($event){return _vm.isValid('stackname')}}}),_c('div',{staticClass:\"input-group-prepend\"},[_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Info\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('form_myservicename')}}})])])])]),_c('span',{staticClass:\"hybrid-field-error\"},[_vm._v(_vm._s(errors[0]))])]}}])}),_c('ValidationProvider',{ref:\"hybrid_stackversion\",attrs:{\"name\":\"myVersion\",\"rules\":\"required|alpha_num_name\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar ariaMsg = ref.ariaMsg;\nvar ariaInput = ref.ariaInput;\nvar valid = ref.valid;\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12 sm-12\"},[_c('div',{staticClass:\"input-group input-group-sm sm-3\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('span',{staticClass:\"input-group-text\"},[_vm._v(\"Service Version\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form_version),expression:\"form_version\"}],staticClass:\"form-control\",class:{'is-valid': _vm.isDeployValid.stackversion == 1, 'is-invalid': _vm.isDeployValid.stackversion == 2},attrs:{\"type\":\"text\",\"aria-label\":\"Small\",\"aria-describedby\":\"inputGroup-sizing-sm\",\"name\":\"myVersion\"},domProps:{\"value\":(_vm.form_version)},on:{\"keyup\":function($event){return _vm.isValid('stackversion')},\"blur\":function($event){return _vm.isValid('stackversion')},\"input\":[function($event){if($event.target.composing){ return; }_vm.form_version=$event.target.value},function($event){return _vm.isValid('stackversion')}],\"change\":function($event){return _vm.isValid('stackversion')},\"focus\":function($event){return _vm.isValid('stackversion')}}}),_c('div',{staticClass:\"input-group-prepend\"},[_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Info\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('form_version')}}})])])])]),_c('span',{staticClass:\"hybrid-field-error\"},[_vm._v(_vm._s(errors[0]))])]}}])}),_c('ValidationProvider',{ref:\"hybrid_stackversion\",attrs:{\"name\":\"myGitrepo\",\"rules\":\"required|alpha_num_url\"},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar errors = ref.errors;\nvar ariaMsg = ref.ariaMsg;\nvar ariaInput = ref.ariaInput;\nvar valid = ref.valid;\nvar invalid = ref.invalid;\nreturn [_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12 sm-12\"},[_c('div',{staticClass:\"input-group\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('span',{staticClass:\"input-group-text\",attrs:{\"name\":\"validationTooltipUsernamePrepend\"}},[_vm._v(\"Git-repo\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form_gitrepo),expression:\"form_gitrepo\"}],staticClass:\"form-control\",class:{'is-valid': _vm.isDeployValid.gitrepo == 1, 'is-invalid': _vm.isDeployValid.gitrepo == 2},attrs:{\"type\":\"text\",\"name\":\"myGitrepo\",\"aria-describedby\":\"validationTooltipUsernamePrepend\"},domProps:{\"value\":(_vm.form_gitrepo)},on:{\"keyup\":function($event){return _vm.isValid('gitrepo')},\"blur\":function($event){return _vm.isValid('gitrepo')},\"input\":[function($event){if($event.target.composing){ return; }_vm.form_gitrepo=$event.target.value},function($event){return _vm.isValid('gitrepo')}],\"change\":function($event){return _vm.isValid('gitrepo')},\"focus\":function($event){return _vm.isValid('gitrepo')}}}),_c('div',{staticClass:\"input-group-prepend\"},[_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Info\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('form_gitrepo')}}})])])])]),_c('span',{staticClass:\"hybrid-field-error\"},[_vm._v(_vm._s(errors[0]))])]}}])}),_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"12\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"text-dark\",attrs:{\"for\":\"customreadme\"}},[_c('b',[_c('span',{staticClass:\"text-dark\"},[_vm._v(\"README \")])]),_vm._v(\" \"),_c('br'),_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Info\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('form_readme')}}})]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form_readme),expression:\"form_readme\"}],staticClass:\"form-control\",attrs:{\"name\":\"customreadme\",\"rows\":\"8\"},domProps:{\"value\":(_vm.form_readme)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.form_readme=$event.target.value}}},[_vm._v(\" \"+_vm._s(_vm.form_readme)+\" \")])])]),_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"12\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"text-dark\",attrs:{\"for\":\"custompackages\"}},[_c('b',[_c('span',{staticClass:\"text-dark\"},[_vm._v(\"Add Extrapackages\")])]),_vm._v(\" (e.g. apt, apk etc) \"),_c('br'),_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Info\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('form_os')}}}),_c('span',{staticClass:\"text-success\"},[_vm._v(\" \"+_vm._s(_vm.customostext)+\" \")])]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form_os),expression:\"form_os\"}],staticClass:\"form-control\",attrs:{\"name\":\"custompackages\",\"rows\":\"8\",\"placeholder\":\"e.g. apt-get update && apt-get -y install or apk update && apk add --no-cache \"},domProps:{\"value\":(_vm.form_os)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.form_os=$event.target.value}}},[_vm._v(\" \"+_vm._s(_vm.form_os)+\" \")])])]),_c('b-col',{staticClass:\"text-center\",attrs:{\"cols\":\"12\",\"sm\":\"12\",\"md\":\"12\"}},[_c('div',{staticClass:\"form-group\"},[_c('label',{staticClass:\"text-dark\",attrs:{\"for\":\"customshell\"}},[_c('b',[_c('span',{staticClass:\"text-dark\"},[_vm._v(\"Custom sh script \")])]),_vm._v(\" \"),_c('br'),_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm\",attrs:{\"title\":\"Info\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('form_sh')}}}),_c('span',{staticClass:\"text-success\"},[_vm._v(\" \"+_vm._s(_vm.customshtext)+\" \")])]),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form_sh),expression:\"form_sh\"}],staticClass:\"form-control\",attrs:{\"name\":\"customshell\",\"rows\":\"8\",\"placeholder\":\"#!/bin/bash \"},domProps:{\"value\":(_vm.form_sh)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.form_sh=$event.target.value}}},[_vm._v(\" \"+_vm._s(_vm.form_sh)+\" \")])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-12 sm-12\"},[_c('div',{staticClass:\"text-center\"},[_c('button',{staticClass:\"ti-info btn btn-outline-secondary btn-sm align-center\",attrs:{\"title\":\"Info\",\"round\":\"\"},on:{\"click\":function($event){return _vm.onAction('port')}}})])]),_c('div',{staticClass:\"col-sm-3 sm-3\"},[_c('div',{staticClass:\"input-group\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('span',{staticClass:\"input-group-text\",attrs:{\"name\":\"validationTooltipUsernamePrepend\"}},[_vm._v(\"Port\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form_port1),expression:\"form_port1\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-describedby\":\"validationTooltipUsernamePrepend\"},domProps:{\"value\":(_vm.form_port1)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.form_port1=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-4 sm-4\"},[_c('div',{staticClass:\"input-group\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('span',{staticClass:\"input-group-text\",attrs:{\"name\":\"validationTooltipUsernamePrepend\"}},[_vm._v(\"URI\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form_url1),expression:\"form_url1\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"placeholder\":\"http/https\",\"aria-describedby\":\"validationTooltipUsernamePrepend\"},domProps:{\"value\":(_vm.form_url1)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.form_url1=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-5 sm-5\"},[_c('div',{staticClass:\"input-group\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('span',{staticClass:\"input-group-text\",attrs:{\"name\":\"validationTooltipUsernamePrepend1a\"}},[_vm._v(\"Name\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form_name1),expression:\"form_name1\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-describedby\":\"validationTooltipUsernamePrepend1a\"},domProps:{\"value\":(_vm.form_name1)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.form_name1=$event.target.value}}})])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-sm-3 sm-3\"},[_c('div',{staticClass:\"input-group\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('span',{staticClass:\"input-group-text\",attrs:{\"name\":\"validationTooltipUsernamePrepend2\"}},[_vm._v(\"Port\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form_port2),expression:\"form_port2\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"aria-describedby\":\"validationTooltipUsernamePrepend2\"},domProps:{\"value\":(_vm.form_port2)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.form_port2=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-4 sm-4\"},[_c('div',{staticClass:\"input-group\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('span',{staticClass:\"input-group-text\",attrs:{\"name\":\"validationTooltipUsernamePrepend\"}},[_vm._v(\"URI\")])]),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.form_url2),expression:\"form_url2\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"placeholder\":\"http/https\",\"aria-describedby\":\"validationTooltipUsernamePrepend\"},domProps:{\"value\":(_vm.form_url2)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.form_url2=$event.target.value}}})])]),_c('div',{staticClass:\"col-sm-5 sm-5\"},[_c('div',{staticClass:\"input-group\"},[_c('div',{staticClass:\"input-group-prepend\"},[_c('span',{staticC