} null if validation didn't pass or user data if user saved.\n */\n async save(data = {}) {\n this.formError = null;\n\n if (!this.$refs.form.validate()) {\n this.$emit('error', {});\n return null;\n }\n\n this.formSaving = true;\n let item;\n\n try {\n await this.beforeSave();\n\n item = (await axios({\n method: this.isNew ? 'post' : 'put',\n url: this.isNew\n ? this.getItemsUrl()\n : this.getSingleItemUrl(),\n responseType: 'json',\n data: {\n ...this.item,\n project_id: this.projectId,\n ...data,\n },\n ...(this.getRequestOptions()),\n })).data;\n\n await this.afterSave(item);\n\n this.$emit('save', {\n item: item || this.item,\n action: this.getSaveAction(),\n });\n } catch (err) {\n this.formError = getErrorMessage(err);\n this.$emit('error', {\n message: this.formError,\n });\n } finally {\n this.formSaving = false;\n }\n\n return item || this.item;\n },\n },\n};\n","\n \n {{ formError }}\n\n !!v || $t('project_name_required')]\"\n required\n :disabled=\"formSaving\"\n >\n\n \n\n \n\n (v == null || v === '' || Math.floor(v) === v) || $t('mustBeInteger'),\n v => (v == null || v === '' || v >= 0) || $t('mustBe0OrGreater'),\n ]\"\n hint=\"Should be 0 or greater, 0 - unlimited.\"\n type=\"number\"\n :step=\"1\"\n >\n \n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProjectForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ProjectForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProjectForm.vue?vue&type=template&id=3792fbd3\"\nimport script from \"./ProjectForm.vue?vue&type=script&lang=js\"\nexport * from \"./ProjectForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.item)?_c('EditDialog',{attrs:{\"save-button-text\":\"Save\",\"title\":_vm.$t('changePassword'),\"event-name\":\"i-user\"},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('ChangePasswordForm',{attrs:{\"project-id\":_vm.projectId,\"item-id\":_vm.item.id,\"need-save\":needSave,\"need-reset\":needReset},on:{\"save\":onSave,\"error\":onError}})]}}],null,false,2793134771),model:{value:(_vm.passwordDialog),callback:function ($$v) {_vm.passwordDialog=$$v},expression:\"passwordDialog\"}}):_vm._e(),_c('v-tabs',{model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab',{key:\"settings\"},[_vm._v(\"Settings\")]),(!_vm.isNew || _vm.authMethods.totp)?_c('v-tab',{key:\"2fa\"},[_vm._v(\" Security \")]):_vm._e()],1),_c('v-divider',{staticClass:\"mb-6\",staticStyle:{\"margin-top\":\"-1px\"}}),_c('v-tabs-items',{staticStyle:{\"overflow\":\"unset\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab-item',{key:\"settings\"},[(_vm.item != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError)+\" \")]),_c('v-text-field',{attrs:{\"label\":_vm.$t('name'),\"rules\":[v => !!v || _vm.$t('name_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.name),callback:function ($$v) {_vm.$set(_vm.item, \"name\", $$v)},expression:\"item.name\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('username'),\"rules\":[v => !!v || _vm.$t('user_name_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.username),callback:function ($$v) {_vm.$set(_vm.item, \"username\", $$v)},expression:\"item.username\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('email'),\"rules\":[v => !!v || _vm.$t('email_required')],\"required\":\"\",\"disabled\":_vm.item.external || _vm.formSaving},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('v-chip',{staticStyle:{\"opacity\":\"1\"},attrs:{\"outlined\":\"\",\"color\":\"green\",\"disabled\":\"\",\"small\":\"\"}},[_vm._v(\"private\")])]},proxy:true}],null,false,423621050),model:{value:(_vm.item.email),callback:function ($$v) {_vm.$set(_vm.item, \"email\", $$v)},expression:\"item.email\"}}),(_vm.isNew)?_c('v-text-field',{attrs:{\"label\":_vm.$t('password'),\"type\":\"password\",\"required\":_vm.isNew,\"rules\":_vm.isNew ? [v => !!v || _vm.$t('password_required')] : [],\"disabled\":_vm.item.external || _vm.formSaving},model:{value:(_vm.item.password),callback:function ($$v) {_vm.$set(_vm.item, \"password\", $$v)},expression:\"item.password\"}}):_vm._e(),_c('v-row',{staticClass:\"pb-5 pt-2\"},[_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"dense\":\"\",\"hide-details\":\"\",\"label\":_vm.$t('sendAlerts')},model:{value:(_vm.item.alert),callback:function ($$v) {_vm.$set(_vm.item, \"alert\", $$v)},expression:\"item.alert\"}})],1),(_vm.isAdmin)?_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-checkbox',{attrs:{\"dense\":\"\",\"hide-details\":\"\",\"label\":_vm.$t('adminUser')},model:{value:(_vm.item.admin),callback:function ($$v) {_vm.$set(_vm.item, \"admin\", $$v)},expression:\"item.admin\"}})],1):_vm._e()],1)],1):_vm._e()],1),(_vm.item != null)?_c('v-tab-item',{key:\"2fa\"},[(!_vm.isNew)?_c('div',[_c('div',{staticClass:\"title mb-3\"},[_vm._v(\"Password\")]),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){_vm.passwordDialog = true;}}},[_vm._v(\"Change password\")])],1):_vm._e(),(_vm.authMethods.totp)?_c('div',{class:{'pt-10': !_vm.isNew}},[_c('div',{staticClass:\"title mb-2\"},[_vm._v(\"Two-factor authentication\")]),_c('v-switch',{staticClass:\"mt-0\",attrs:{\"label\":\"Time-based one-time password\"},model:{value:(_vm.totpEnabled),callback:function ($$v) {_vm.totpEnabled=$$v},expression:\"totpEnabled\"}}),(_vm.totpQrUrl)?_c('img',{staticStyle:{\"width\":\"100%\",\"aspect-ratio\":\"1\",\"border-radius\":\"4px\",\"display\":\"block\",\"margin\":\"0 auto 10px auto\",\"border\":\"10px solid white\",\"background-color\":\"white\"},attrs:{\"src\":_vm.totpQrUrl,\"alt\":\"QR code\"}}):_vm._e(),(_vm.authMethods.totp.allow_recovery && _vm.item.totp && _vm.item.totp.recovery_code)?_c('div',{staticClass:\"mt-5 pb-3\"},[_c('div',{staticClass:\"subtitle-1 mb-2\"},[_vm._v(\"Recovery code\")]),_c('div',{staticStyle:{\"position\":\"relative\"}},[_c('code',{staticStyle:{\"font-size\":\"18px\",\"background-color\":\"#e03755\"}},[_vm._v(\" \"+_vm._s(_vm.item.totp.recovery_code)+\" \")]),_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"right\":\"-4px\",\"top\":\"-12px\"},attrs:{\"icon\":\"\",\"large\":\"\",\"color\":\"white\"},on:{\"click\":function($event){return _vm.copyToClipboard(_vm.item.totp.recovery_code)}}},[_c('v-icon',[_vm._v(\"mdi-content-copy\")])],1)],1)]):_vm._e()],1):_vm._e()]):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError))]),_c('v-text-field',{attrs:{\"label\":_vm.$t('password2'),\"type\":_vm.showPassword ? 'text' : 'password',\"append-icon\":_vm.showPassword ? 'mdi-eye' : 'mdi-eye-off',\"rules\":[v => !!v || _vm.$t('password_required')],\"required\":\"\",\"disabled\":_vm.formSaving},on:{\"click:append\":function($event){_vm.showPassword = !_vm.showPassword}},model:{value:(_vm.item.password),callback:function ($$v) {_vm.$set(_vm.item, \"password\", $$v)},expression:\"item.password\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ formError }}\n\n !!v || $t('password_required')]\"\n required\n :disabled=\"formSaving\"\n >\n \n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChangePasswordForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ChangePasswordForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ChangePasswordForm.vue?vue&type=template&id=51c7557d\"\nimport script from \"./ChangePasswordForm.vue?vue&type=script&lang=js\"\nexport * from \"./ChangePasswordForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n\n
\n \n \n \n \n\n
\n Settings\n \n Security\n \n \n\n
\n\n
\n \n \n {{ formError }}\n \n\n !!v || $t('name_required')]\"\n required\n :disabled=\"formSaving\"\n >\n\n !!v || $t('user_name_required')]\"\n required\n :disabled=\"formSaving\"\n >\n\n !!v || $t('email_required')]\"\n required\n :disabled=\"item.external || formSaving\"\n >\n\n \n private\n \n \n\n !!v || $t('password_required')] : []\"\n :disabled=\"item.external || formSaving\"\n >\n\n \n \n \n \n \n \n \n \n \n \n\n \n\n \n
Password
\n
Change password\n
\n\n \n
Two-factor authentication
\n\n
\n\n
![\"QR]()
\n\n
\n
Recovery code
\n
\n \n {{ item.totp.recovery_code }}\n
\n \n mdi-content-copy\n \n
\n
\n
\n \n \n
\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./UserForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UserForm.vue?vue&type=template&id=5fc5576c\"\nimport script from \"./UserForm.vue?vue&type=script&lang=js\"\nexport * from \"./UserForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.item != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError))]),_c('v-text-field',{attrs:{\"label\":_vm.$t('projectName'),\"rules\":[v => !!v || _vm.$t('project_name_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.projectName),callback:function ($$v) {_vm.projectName=$$v},expression:\"projectName\"}}),_c('v-file-input',{attrs:{\"show-size\":\"\",\"truncate-length\":\"15\",\"placeholder\":_vm.$t('Backup file')},on:{\"change\":_vm.setFile}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ formError }}\n\n !!v || $t('project_name_required')]\"\n required\n :disabled=\"formSaving\"\n >\n\n \n \n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RestoreProjectForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RestoreProjectForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RestoreProjectForm.vue?vue&type=template&id=2dcc97c6\"\nimport script from \"./RestoreProjectForm.vue?vue&type=script&lang=js\"\nexport * from \"./RestoreProjectForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"max-width\":_vm.maxWidth || 290},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.title))]),_c('v-card-text',[_vm._t(\"default\",function(){return [_vm._v(_vm._s(_vm.text))]})],2),_c('v-card-actions',[_c('v-spacer'),(!_vm.hideNoButton)?_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){return _vm.no()}}},[_vm._v(\" \"+_vm._s(_vm.noButtonTitle || _vm.$t('cancel'))+\" \")]):_vm._e(),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){return _vm.yes()}}},[_vm._v(\" \"+_vm._s(_vm.yesButtonTitle || _vm.$t('yes'))+\" \")])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n {{ title }}\n\n \n {{ text }}\n \n\n \n \n\n \n {{ noButtonTitle || $t('cancel') }}\n \n\n \n {{ yesButtonTitle || $t('yes') }}\n \n \n \n \n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YesNoDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./YesNoDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./YesNoDialog.vue?vue&type=template&id=40cda624&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./YesNoDialog.vue?vue&type=script&lang=js\"\nexport * from \"./YesNoDialog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n\n \n \n\n \n {{ $t('projectWithNameRestored', {projectName: restoreProjectResult.projectName}) }}\n \n\n \n {{ $t('emptyKeysRestored', {emptyKeys: restoreProjectResult.emptyKeys}) }}\n {{ $t('pleaseUpdateAccessKeys') }}\n \n
\n \n\n \n \n \n \n \n\n \n \n \n {{ template ? template.name : null }}\n \n mdi-chevron-right\n {{ $t('task', {expr: task ? task.id : null}) }}\n
\n \n \n \n \n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n {{ snackbarText }}\n \n {{ $t('close') }}\n \n \n\n \n \n \n \n \n \n \n {{ getProjectInitials(project) }}\n \n \n\n \n \n {{ project.name }}\n \n {{ userRole.role }}\n \n\n \n mdi-chevron-down\n \n \n \n \n \n \n \n \n {{ getProjectInitials(item) }}\n \n \n {{ item.name }}\n \n\n \n \n mdi-plus\n \n\n \n {{ $t('newProject2') }}\n \n \n\n \n \n mdi-backup-restore\n \n\n \n {{ $t('restoreProject') }}\n \n \n \n \n\n \n \n \n mdi-plus\n \n\n \n {{ $t('newProject2') }}\n \n \n\n \n \n mdi-restore\n \n\n \n {{ $t('restoreProject') }}\n \n \n \n\n \n\n \n \n mdi-view-dashboard\n \n\n \n {{ $t('dashboard') }}\n \n \n\n \n \n mdi-check-all\n \n\n \n {{ $t('taskTemplates') }}\n \n \n\n \n \n mdi-clock-outline\n \n\n \n {{ $t('schedule') }}\n \n \n\n \n \n mdi-monitor-multiple\n \n\n \n {{ $t('inventory') }}\n \n \n\n \n \n mdi-code-braces\n \n\n \n {{ $t('environment') }}\n \n \n\n \n \n mdi-key-change\n \n\n \n {{ $t('keyStore') }}\n \n \n\n \n \n mdi-git\n \n\n \n {{ $t('repositories') }}\n \n \n\n \n \n mdi-connection\n \n\n \n {{ $t('integrations') }}\n \n \n\n \n \n mdi-account-multiple\n \n\n \n {{ $t('team') }}\n \n \n \n\n \n \n\n \n \n\n \n\n \n \n \n
\n \n \n\n \n \n\n \n \n \n\n \n {{ lang.title }}\n \n\n \n \n \n\n \n\n \n \n \n \n mdi-account\n \n\n \n \n {{ user.name }}\n \n\n \n\n \n {{ $i18n.t('admin') }}\n \n \n \n\n \n \n \n mdi-information-variant\n \n\n \n {{ systemInfo.version }}\n \n \n\n \n\n \n \n mdi-account-multiple\n \n\n \n {{ $t('users') }}\n \n \n\n \n \n mdi-check-all\n \n\n \n {{ $t('activeTasks') }}\n \n \n\n \n \n mdi-cogs\n \n\n \n {{ $t('runners') }}\n \n \n\n \n \n mdi-pencil\n \n\n \n {{ $t('editAccount') }}\n \n \n\n \n \n mdi-exit-to-app\n \n\n \n {{ $t('signOut') }}\n \n \n \n \n\n \n\n \n \n\n \n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n {{ $t('error') }}\n
\n {{ snackbarText }}\n \n \n \n mdi-refresh\n {{ $t('refreshPage') }}\n \n \n mdi-exit-to-app\n {{ $t('relogin') }}\n \n
\n \n \n \n \n\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=138163fa\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=138163fa&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('restoreProject')))]),_c('v-spacer')],1),_c('v-divider'),_c('div',{staticClass:\"CenterToScreen\",staticStyle:{\"margin\":\"auto\",\"max-width\":\"600px\",\"padding\":\"0 16px\"}},[_c('div',{staticClass:\"project-settings-form\"},[_c('div',{staticStyle:{\"height\":\"300px\"}},[_c('RestoreProjectForm',{ref:\"editForm\",attrs:{\"item-id\":\"new\"},on:{\"save\":_vm.onSave}})],1),_c('div',{staticClass:\"text-right\"},[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.restoreProject()}}},[_vm._v(_vm._s(_vm.$t('restore')))])],1)])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
\n \n {{ $t('restoreProject') }}\n \n \n\n
\n\n
\n\n
\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RestoreProject.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RestoreProject.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RestoreProject.vue?vue&type=template&id=f0ef26d2&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./RestoreProject.vue?vue&type=script&lang=js\"\nexport * from \"./RestoreProject.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null)?_c('div',[_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-btn',{staticClass:\"mr-4\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.returnToProjects()}}},[_c('v-icon',[_vm._v(\"mdi-arrow-left\")])],1),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('activeTasks')))])],1),_c('v-divider'),_c('v-data-table',{staticClass:\"mt-4\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"footer-props\":{ itemsPerPageOptions: [20] }},scopedSlots:_vm._u([{key:\"item.task_id\",fn:function({ item }){return [_c('router-link',{attrs:{\"to\":'/project/' + item.project_id + '?t=' + item.task_id}},[_vm._v(\" #\"+_vm._s(item.task_id)+\" \")])]}},{key:\"item.project_id\",fn:function({ item }){return [_c('router-link',{attrs:{\"to\":'/project/' + item.project_id}},[_vm._v(\" #\"+_vm._s(item.project_id)+\" \")])]}},{key:\"item.status\",fn:function({item}){return [_c('div',{staticClass:\"pr-4\"},[_c('TaskStatus',{attrs:{\"status\":item.status}})],1)]}},{key:\"item.location\",fn:function({item}){return [(item.location === 'queue')?_c('div',[_vm._v(\"Queue\")]):(item.runner_id)?_c('div',[_vm._v(\" Runner #\"+_vm._s(item.runner_id)+\" \")]):_c('div',[_vm._v(\"Local Running\")])]}},{key:\"item.actions\",fn:function({ item }){return [_c('div',{staticStyle:{\"white-space\":\"nowrap\"}},[_c('v-btn',{staticClass:\"mr-1\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.deleteItem(item.task_id)}}},[_c('v-icon',[_vm._v(\"mdi-stop\")])],1)],1)]}}],null,false,3235746182)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"max-width\":\"400\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline\"},[_vm._v(_vm._s(_vm.$t('cantDeleteThe', {objectTitle: _vm.objectTitle}))+\" \")]),_c('v-card-text',{staticClass:\"pb-0\"},[_c('ObjectRefsView',{attrs:{\"object-title\":_vm.objectTitle,\"object-refs\":_vm.objectRefs,\"project-id\":_vm.projectId}})],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.dialog = false}}},[_vm._v(_vm._s(_vm.$t('close2')))])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"object-refs-view\"},[_c('v-alert',{attrs:{\"type\":\"warning\"}},[_vm._v(\" \"+_vm._s(_vm.$t('theCantBeDeletedBecauseItUsedByTheResourcesBelow', {objectTitle: _vm.objectTitle}))+\" \")]),_vm._l((_vm.sections),function(s){return _c('div',{key:s.slug,staticClass:\"object-refs-view__section\"},[_c('div',{staticClass:\"object-refs-view__section-title\"},[_c('v-icon',{staticClass:\"mr-2\",attrs:{\"small\":\"\"}},[_vm._v(\"mdi-\"+_vm._s(s.icon))]),_vm._v(_vm._s(s.title)+\": \")],1),_c('div',{staticClass:\"ml-6\"},_vm._l(((_vm.objectRefs[s.slug] || [])),function(t){return _c('span',{key:t.id,staticClass:\"object-refs-view__link-wrap\"},[_c('router-link',{staticClass:\"object-refs-view__link\",attrs:{\"to\":`/project/${_vm.projectId}/${s.slug}/${t.id}`}},[_vm._v(_vm._s(t.name))])],1)}),0)])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
\n {{ $t('theCantBeDeletedBecauseItUsedByTheResourcesBelow', {objectTitle: objectTitle}) }}\n \n
\n
\n mdi-{{ s.icon }}{{ s.title }}:\n
\n\n
\n \n {{ t.name }}\n \n
\n
\n
\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ObjectRefsView.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ObjectRefsView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ObjectRefsView.vue?vue&type=template&id=20c335a3\"\nimport script from \"./ObjectRefsView.vue?vue&type=script&lang=js\"\nexport * from \"./ObjectRefsView.vue?vue&type=script&lang=js\"\nimport style0 from \"./ObjectRefsView.vue?vue&type=style&index=0&id=20c335a3&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n \n {{ $t('cantDeleteThe', {objectTitle: objectTitle}) }}\n \n\n \n \n \n\n \n \n {{ $t('close2') }}\n \n \n \n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ObjectRefsDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ObjectRefsDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ObjectRefsDialog.vue?vue&type=template&id=71a5f128\"\nimport script from \"./ObjectRefsDialog.vue?vue&type=script&lang=js\"\nexport * from \"./ObjectRefsDialog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","export const TEMPLATE_TYPE_ICONS = {\n '': 'mdi-cog',\n build: 'mdi-wrench',\n deploy: 'mdi-arrow-up-bold-box',\n};\n\nexport const TEMPLATE_TYPE_TITLES = {\n '': 'Task',\n build: 'Build',\n deploy: 'Deploy',\n};\n\nexport const TEMPLATE_TYPE_ACTION_TITLES = {\n '': 'Run',\n build: 'Build',\n deploy: 'Deploy',\n};\n\nexport const USER_PERMISSIONS = {\n runProjectTasks: 1,\n updateProject: 2,\n manageProjectResources: 4,\n manageProjectUsers: 8,\n};\n\nexport const USER_ROLES = [{\n slug: 'owner',\n title: 'Owner',\n}, {\n slug: 'manager',\n title: 'Manager',\n}, {\n slug: 'task_runner',\n title: 'Task Runner',\n}, {\n slug: 'guest',\n title: 'Guest',\n}];\n\nexport const MATCHER_TYPE_TITLES = {\n '': 'Matcher',\n body: 'Body',\n header: 'Header',\n};\n\nexport const MATCHER_TYPE_ICONS = {\n '': 'Matcher',\n body: 'mdi-page-layout-body',\n header: 'mdi-web',\n};\n\nexport const EXTRACT_VALUE_TYPE_TITLES = {\n '': 'ExtractValue',\n body: 'Body',\n header: 'Header',\n};\n\nexport const EXTRACT_VALUE_TYPE_ICONS = {\n '': 'ExtractValue',\n body: 'mdi-page-layout-body',\n header: 'mdi-web',\n};\n\nexport const EXTRACT_VALUE_BODY_DATA_TYPE_TITLES = {\n '': 'BodyDataType',\n json: 'JSON',\n str: 'String',\n};\n\nexport const EXTRACT_VALUE_BODY_DATA_TYPE_ICONS = {\n '': 'BodyDataType',\n json: 'mdi-code-json',\n str: 'mdi-text',\n};\n\nexport const APP_ICONS = {\n ansible: {\n icon: 'mdi-ansible',\n color: 'black',\n darkColor: 'white',\n },\n terraform: {\n icon: 'mdi-terraform',\n color: '#7b42bc',\n darkColor: '#7b42bc',\n },\n tofu: {\n icon: '$vuetify.icons.tofu',\n color: 'black',\n darkColor: 'white',\n },\n pulumi: {\n icon: '$vuetify.icons.pulumi',\n color: 'black',\n darkColor: 'white',\n },\n bash: {\n icon: 'mdi-bash',\n color: 'black',\n darkColor: 'white',\n },\n python: {\n icon: 'mdi-language-python',\n },\n powershell: {\n icon: 'mdi-powershell',\n },\n};\n\nexport const APP_TITLE = {\n ansible: 'Ansible Playbook',\n terraform: 'Terraform Code',\n tofu: 'OpenTofu Code',\n bash: 'Bash Script',\n pulumi: 'Pulumi Code',\n python: 'Python Script',\n powershell: 'PowerShell Script',\n};\n\nexport const APP_INVENTORY_TITLE = {\n ansible: 'Ansible Inventory',\n terraform: 'Terraform Workspace',\n tofu: 'OpenTofu Workspace',\n};\n\nexport const APP_INVENTORY_TYPES = {\n ansible: ['static', 'file', 'static-yaml'],\n terraform: ['terraform-workspace'],\n tofu: ['terraform-workspace'],\n};\n\nexport const DEFAULT_APPS = Object.keys(APP_ICONS);\n\nconst BASE_FIELDS = {\n playbook: {\n label: 'playbookFilename',\n },\n inventory: {\n label: 'inventory2',\n },\n repository: {\n label: 'repository',\n },\n environment: {\n label: 'environment3',\n },\n allow_override_inventory: {\n label: 'allowInventoryInTask',\n },\n};\n\nexport const ANSIBLE_FIELDS = {\n ...BASE_FIELDS,\n vault: {\n label: 'vaultPassword2',\n },\n limit: {\n label: 'limit',\n },\n allow_override_limit: {\n label: 'allowLimitInTask',\n },\n allow_debug: {\n label: 'allowDebug',\n },\n tags: {\n label: 'tags',\n },\n skip_tags: {\n label: 'skipTags',\n },\n};\n\nexport const TERRAFORM_FIELDS = {\n ...BASE_FIELDS,\n playbook: {\n label: 'Subdirectory path (Optional)',\n optional: true,\n },\n inventory: {\n label: 'Workspace (Optional)',\n },\n};\n\nexport const UNKNOWN_APP_FIELDS = {\n ...BASE_FIELDS,\n playbook: {\n label: 'Script Filename *',\n },\n inventory: undefined,\n};\n\nexport const APP_FIELDS = {\n '': ANSIBLE_FIELDS,\n ansible: ANSIBLE_FIELDS,\n terraform: TERRAFORM_FIELDS,\n tofu: TERRAFORM_FIELDS,\n};\n","export default {\n props: {\n userPermissions: Number,\n isAdmin: Boolean,\n },\n\n methods: {\n\n can(permission) {\n if (this.isAdmin) {\n return true;\n }\n // eslint-disable-next-line no-bitwise\n return (this.userPermissions & permission) === permission;\n },\n },\n};\n","import axios from 'axios';\nimport EventBus from '@/event-bus';\nimport EditDialog from '@/components/EditDialog.vue';\nimport YesNoDialog from '@/components/YesNoDialog.vue';\nimport ObjectRefsDialog from '@/components/ObjectRefsDialog.vue';\n\nimport { getErrorMessage } from '@/lib/error';\nimport { USER_PERMISSIONS } from '@/lib/constants';\nimport PermissionsCheck from '@/components/PermissionsCheck';\n\nexport default {\n components: {\n YesNoDialog,\n EditDialog,\n ObjectRefsDialog,\n },\n\n mixins: [PermissionsCheck],\n\n props: {\n projectId: Number,\n projectType: String,\n userId: Number,\n userRole: String,\n user: Object,\n },\n\n data() {\n const allowActions = this.allowActions();\n\n const headers = this.getHeaders().filter((header) => allowActions || header.value !== 'actions');\n\n return {\n headers,\n items: null,\n\n itemId: null,\n editDialog: null,\n deleteItemDialog: null,\n\n itemRefs: null,\n itemRefsDialog: null,\n\n USER_PERMISSIONS,\n };\n },\n\n async created() {\n await this.beforeLoadItems();\n await this.loadItems();\n },\n\n methods: {\n allowActions() {\n return this.can(USER_PERMISSIONS.manageProjectResources);\n },\n\n // eslint-disable-next-line no-empty-function\n async beforeLoadItems() {\n },\n\n getSingleItemUrl() {\n throw new Error('Not implemented');\n },\n\n getHeaders() {\n throw new Error('Not implemented');\n },\n\n getEventName() {\n throw new Error('Not implemented');\n },\n\n showDrawer() {\n EventBus.$emit('i-show-drawer');\n },\n\n async onItemSave() {\n await this.loadItems();\n },\n\n async askDeleteItem(itemId) {\n this.itemId = itemId;\n\n try {\n this.itemRefs = (await axios({\n method: 'get',\n url: `${this.getSingleItemUrl()}/refs`,\n responseType: 'json',\n })).data;\n\n if (this.itemRefs.templates.length > 0\n || this.itemRefs.repositories.length > 0\n || this.itemRefs.inventories.length > 0\n || this.itemRefs.schedules.length > 0) {\n this.itemRefsDialog = true;\n return;\n }\n } catch (e) {\n // Do nothing\n }\n\n this.deleteItemDialog = true;\n },\n\n async deleteItem(itemId) {\n this.itemId = itemId;\n\n try {\n const item = this.items.find((x) => x.id === itemId);\n\n await axios({\n method: 'delete',\n url: this.getSingleItemUrl(),\n responseType: 'json',\n });\n\n EventBus.$emit(this.getEventName(), {\n action: 'delete',\n item,\n });\n\n await this.loadItems();\n } catch (err) {\n EventBus.$emit('i-snackbar', {\n color: 'error',\n text: getErrorMessage(err),\n });\n }\n },\n\n editItem(itemId) {\n this.itemId = itemId;\n this.editDialog = true;\n },\n\n async loadItems() {\n this.items = (await axios({\n method: 'get',\n url: this.getItemsUrl(),\n responseType: 'json',\n })).data;\n },\n },\n};\n","\n \n
\n \n mdi-arrow-left\n \n {{ $t('activeTasks') }}\n \n\n
\n\n
\n \n \n #{{ item.task_id }}\n \n \n\n \n \n #{{ item.project_id }}\n \n \n\n \n \n \n
\n \n\n \n Queue
\n \n Runner #{{ item.runner_id }}\n
\n Local Running
\n \n\n \n \n \n mdi-stop\n \n
\n \n \n
\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Tasks.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Tasks.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Tasks.vue?vue&type=template&id=18c02218&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Tasks.vue?vue&type=script&lang=js\"\nexport * from \"./Tasks.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.tasks != null)?_c('div',[_c('NewTaskDialog',{attrs:{\"project-id\":_vm.template.project_id,\"template-id\":_vm.template.id,\"template-alias\":_vm.template.name,\"template-type\":_vm.template.type,\"template-app\":_vm.template.app,\"source-task\":_vm.sourceTask},model:{value:(_vm.newTaskDialog),callback:function ($$v) {_vm.newTaskDialog=$$v},expression:\"newTaskDialog\"}}),_c('v-data-table',{staticClass:\"mt-0 TaskListTable\",attrs:{\"headers\":_vm.headers,\"items\":_vm.tasks,\"hide-default-footer\":_vm.hideFooter,\"footer-props\":{ itemsPerPageOptions: [20] }},scopedSlots:_vm._u([{key:\"item.id\",fn:function({ item }){return [_c('TaskLink',{attrs:{\"task-id\":item.id,\"label\":'#' + item.id}}),_c('div',{staticStyle:{\"font-size\":\"14px\"}},[(item.message)?_c('span',[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-message-outline\")]),_vm._v(\" \"+_vm._s(item.message)+\" \")],1):(item.commit_hash)?_c('span',[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-source-fork\")]),_vm._v(\" \"+_vm._s(item.commit_message)+\" \")],1):_vm._e()])]}},{key:\"item.version\",fn:function({ item }){return [(item.tpl_type !== '')?_c('div',[_c('TaskLink',{attrs:{\"disabled\":item.tpl_type === 'build',\"task-id\":item.build_task_id,\"tooltip\":item.tpl_type === 'build' ? item.message : (item.build_task || {}).message,\"label\":item.tpl_type === 'build' ? item.version : (item.build_task || {}).version,\"status\":item.status}})],1):_c('div',[_vm._v(\"—\")])]}},{key:\"item.status\",fn:function({ item }){return [_c('TaskStatus',{attrs:{\"status\":item.status}})]}},{key:\"item.start\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(item.start))+\" \")]}},{key:\"item.end\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm._f(\"formatMilliseconds\")([item.start, item.end]))+\" \")]}},{key:\"item.actions\",fn:function({ item }){return [_c('v-btn-toggle',{attrs:{\"dense\":\"\",\"value-comparator\":() => false}},[_c('v-btn',{on:{\"click\":function($event){return _vm.createTask(item)}}},[_c('v-icon',[_vm._v(\"mdi-replay\")])],1)],1)]}}],null,false,346498507)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',[(_vm.status != null)?_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\",\"color\":_vm.statusColor}},[_vm._v(\" mdi-\"+_vm._s(_vm.statusIcon)+\" \")]):_vm._e(),(_vm.disabled)?_c('span',[_vm._v(_vm._s(_vm.label))]):_c('v-tooltip',{attrs:{\"right\":\"\",\"max-width\":\"350\",\"transition\":\"fade-transition\",\"disabled\":!_vm.tooltip},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('a',_vm._g(_vm._b({class:{'task-link-with-tooltip': _vm.tooltip},on:{\"click\":function($event){return _vm.showTaskLog()}}},'a',attrs,false),on),[_vm._v(\" \"+_vm._s(_vm.label)+\" \")])]}}])},[_c('span',[_vm._v(_vm._s(_vm.tooltip))])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n mdi-{{ statusIcon }}\n \n\n {{ label }}\n\n \n \n \n {{ label }}\n \n \n\n {{ tooltip }}\n\n \n \n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TaskLink.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TaskLink.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TaskLink.vue?vue&type=template&id=024296c8\"\nimport script from \"./TaskLink.vue?vue&type=script&lang=js\"\nexport * from \"./TaskLink.vue?vue&type=script&lang=js\"\nimport style0 from \"./TaskLink.vue?vue&type=style&index=0&id=024296c8&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('EditDialog',{attrs:{\"save-button-text\":_vm.$t(_vm.TEMPLATE_TYPE_ACTION_TITLES[_vm.templateType]),\"title\":_vm.$t('newTask')},on:{\"save\":_vm.closeDialog,\"close\":_vm.closeDialog},scopedSlots:_vm._u([{key:\"title\",fn:function({}){return [_c('v-icon',{staticClass:\"mr-4\",attrs:{\"small\":\"\"}},[_vm._v(_vm._s(_vm.TEMPLATE_TYPE_ICONS[_vm.templateType]))]),_c('span',{staticClass:\"breadcrumbs__item\"},[_vm._v(_vm._s(_vm.templateAlias))]),_c('v-icon',[_vm._v(\"mdi-chevron-right\")]),_c('span',{staticClass:\"breadcrumbs__item\"},[_vm._v(_vm._s(_vm.$t('newTask')))])]}},{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('TaskForm',{attrs:{\"project-id\":_vm.projectId,\"item-id\":\"new\",\"template-id\":_vm.templateId,\"need-save\":needSave,\"need-reset\":needReset,\"source-task\":_vm.sourceTask},on:{\"save\":onSave,\"error\":onError}})]}}]),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isLoaded())?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError)+\" \")]),_c('v-alert',{staticClass:\"overflow-hidden mt-2\",attrs:{\"color\":\"blue\",\"dark\":\"\",\"dismissible\":\"\",\"dense\":\"\"},on:{\"input\":function($event){_vm.item.commit_hash=null}},model:{value:(_vm.hasCommit),callback:function ($$v) {_vm.hasCommit=$$v},expression:\"hasCommit\"}},[_c('div',{staticStyle:{\"font-weight\":\"bold\"}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"mdi-source-fork\")]),_vm._v(\" \"+_vm._s((_vm.item.commit_hash || '').substr(0, 10))+\" \")],1),(_vm.sourceTask && _vm.sourceTask.commit_message)?_c('div',[_vm._v(\" \"+_vm._s(_vm.sourceTask.commit_message.substring(0, 50))+\" \")]):_vm._e()]),(_vm.template.type === 'deploy')?_c('v-select',{attrs:{\"label\":_vm.$t('buildVersion'),\"items\":_vm.buildTasks,\"item-value\":\"id\",\"item-text\":(itm) => _vm.getTaskMessage(itm),\"rules\":[v => !!v || _vm.$t('build_version_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.build_task_id),callback:function ($$v) {_vm.$set(_vm.item, \"build_task_id\", $$v)},expression:\"item.build_task_id\"}}):_vm._e(),_c('v-text-field',{attrs:{\"label\":_vm.$t('messageOptional'),\"disabled\":_vm.formSaving},model:{value:(_vm.item.message),callback:function ($$v) {_vm.$set(_vm.item, \"message\", $$v)},expression:\"item.message\"}}),_vm._l((_vm.template.survey_vars || []),function(v){return _c('div',{key:v.name},[(v.type === 'secret')?_c('v-text-field',{attrs:{\"label\":v.title,\"hint\":v.description,\"required\":v.required,\"type\":\"password\",\"rules\":[\n val => !v.required || !!val || v.title + _vm.$t('isRequired'),\n ]},model:{value:(_vm.editedSecretEnvironment[v.name]),callback:function ($$v) {_vm.$set(_vm.editedSecretEnvironment, v.name, $$v)},expression:\"editedSecretEnvironment[v.name]\"}}):(v.type === 'enum')?_c('v-select',{attrs:{\"clearable\":\"\",\"label\":v.title + (v.required ? ' *' : ''),\"hint\":v.description,\"required\":v.required,\"rules\":[\n val => !v.required || val != null || v.title + ' ' + _vm.$t('isRequired')\n ],\"items\":v.values,\"item-text\":\"name\",\"item-value\":\"value\"},model:{value:(_vm.editedEnvironment[v.name]),callback:function ($$v) {_vm.$set(_vm.editedEnvironment, v.name, $$v)},expression:\"editedEnvironment[v.name]\"}}):_c('v-text-field',{attrs:{\"label\":v.title + (v.required ? ' *' : ''),\"hint\":v.description,\"required\":v.required,\"rules\":[\n val => !v.required || !!val || v.title + ' ' + _vm.$t('isRequired'),\n val => !val || v.type !== 'int' || /^\\d+$/.test(val) ||\n v.title + ' ' + _vm.$t('mustBeInteger'),\n ]},model:{value:(_vm.editedEnvironment[v.name]),callback:function ($$v) {_vm.$set(_vm.editedEnvironment, v.name, $$v)},expression:\"editedEnvironment[v.name]\"}})],1)}),(_vm.needField('inventory') && (_vm.template.task_params || {}).allow_override_inventory)?_c('v-select',{staticClass:\"mt-3\",attrs:{\"label\":_vm.fieldLabel('inventory'),\"items\":_vm.inventory,\"item-value\":\"id\",\"item-text\":\"name\",\"outlined\":\"\",\"dense\":\"\",\"required\":\"\",\"disabled\":_vm.formSaving,\"hide-details\":\"\"},model:{value:(_vm.inventory_id),callback:function ($$v) {_vm.inventory_id=$$v},expression:\"inventory_id\"}}):_vm._e(),(_vm.template.app === 'ansible')?_c('TaskParamsForm',{attrs:{\"app\":_vm.template.app,\"template-params\":_vm.template.task_params},model:{value:(_vm.item.params),callback:function ($$v) {_vm.$set(_vm.item, \"params\", $$v)},expression:\"item.params\"}}):_c('TaskParamsForm',{attrs:{\"app\":_vm.template.app,\"template-params\":_vm.template.task_params},model:{value:(_vm.item.params),callback:function ($$v) {_vm.$set(_vm.item, \"params\", $$v)},expression:\"item.params\"}}),(_vm.template.allow_override_args_in_task)?_c('ArgsPicker',{attrs:{\"vars\":_vm.args,\"title\":\"CLI args\"},on:{\"change\":_vm.setArgs}}):_vm._e()],2):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.app === 'ansible')?_c('div',[_c('v-row',{staticClass:\"mt-6\",attrs:{\"no-gutters\":\"\"}},[(_vm.templateParams.allow_debug)?_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"input-value\":_vm.params.debug},on:{\"change\":function($event){return _vm.updateValue('debug', $event)}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"text-no-wrap\"},[_vm._v(_vm._s(_vm.$t('debug'))+\" \"),_c('code',[_vm._v(\"--vvvv\")])])]},proxy:true}],null,false,681713505)})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"input-value\":_vm.params.dry_run},on:{\"change\":function($event){return _vm.updateValue('dry_run', $event)}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"text-no-wrap\"},[_vm._v(_vm._s(_vm.$t('dryRun'))+\" \"),_c('code',[_vm._v(\"--check\")])])]},proxy:true}],null,false,703396848)})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"input-value\":_vm.params.diff},on:{\"change\":function($event){return _vm.updateValue('diff', $event)}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"text-no-wrap\"},[_vm._v(_vm._s(_vm.$t('diff'))+\" \"),_c('code',[_vm._v(\"--diff\")])])]},proxy:true}],null,false,1646534512)})],1)],1)],1):(_vm.app === 'terraform' || _vm.app === 'tofu')?_c('div',[_c('v-row',{staticClass:\"mt-6\",attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"input-value\":_vm.params.plan},on:{\"change\":function($event){return _vm.updateValue('plan', $event)}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"text-no-wrap\"},[_vm._v(_vm._s(_vm.$t('Plan')))])]},proxy:true}])})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"input-value\":_vm.params.destroy},on:{\"change\":function($event){return _vm.updateValue('destroy', $event)}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"text-no-wrap\"},[_vm._v(_vm._s(_vm.$t('Destroy'))+\" \"),_c('code',[_vm._v(\"-destroy\")])])]},proxy:true}])})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"input-value\":_vm.params.auto_approve},on:{\"change\":function($event){return _vm.updateValue('auto_approve', $event)}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"text-no-wrap\"},[_vm._v(_vm._s(_vm.$t('Auto Approve'))+\" \"),_c('code',[_vm._v(\"-auto-approve\")])])]},proxy:true}])})],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"input-value\":_vm.params.upgrade},on:{\"change\":function($event){return _vm.updateValue('upgrade', $event)}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"text-no-wrap\"},[_vm._v(_vm._s(_vm.$t('Upgrade'))+\" \"),_c('code',[_vm._v(\"-upgrade\")])])]},proxy:true}])})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"input-value\":_vm.params.reconfigure},on:{\"change\":function($event){return _vm.updateValue('reconfigure', $event)}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"text-no-wrap\"},[_vm._v(_vm._s(_vm.$t('Reconfigure'))+\" \"),_c('code',[_vm._v(\"-reconfigure\")])])]},proxy:true}])})],1)],1)],1):_c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
\n \n \n \n {{ $t('debug') }} --vvvv
\n \n \n \n \n \n \n {{ $t('dryRun') }} --check
\n \n \n \n \n \n \n {{ $t('diff') }} --diff
\n \n \n \n \n
\n \n
\n \n \n \n {{ $t('Plan') }}
\n \n \n \n\n \n \n \n {{ $t('Destroy') }} -destroy
\n \n \n \n\n \n \n \n {{ $t('Auto Approve') }} -auto-approve
\n \n \n \n\n \n \n \n {{ $t('Upgrade') }} -upgrade
\n \n \n \n\n \n \n \n {{ $t('Reconfigure') }} -reconfigure
\n \n \n \n \n
\n \n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TaskParamsForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TaskParamsForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TaskParamsForm.vue?vue&type=template&id=2b6bacf5\"\nimport script from \"./TaskParamsForm.vue?vue&type=script&lang=js\"\nexport * from \"./TaskParamsForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"pb-4\"},[_c('v-dialog',{attrs:{\"hide-overlay\":\"\",\"width\":\"300\"},model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}},[_c('v-card',{attrs:{\"color\":_vm.$vuetify.theme.dark ? '#212121' : 'white'}},[_c('v-card-title'),_c('v-card-text',{staticClass:\"pb-0\"},[(_vm.editedVar != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"}},[_c('v-alert',{attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError)+\" \")]),_c('v-text-field',{attrs:{\"label\":_vm.argTitle || _vm.$t('arg'),\"rules\":[(v) => !!v || _vm.$t('arg_required')],\"required\":\"\"},model:{value:(_vm.editedVar.name),callback:function ($$v) {_vm.$set(_vm.editedVar, \"name\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"editedVar.name\"}}),_c('div',{staticClass:\"text-right mt-2\"},[(_vm.editedVar.type === 'enum')?_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.addEditedVarValue()}}},[_vm._v(\"Add Value\")]):_vm._e()],1)],1):_vm._e()],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.editDialog = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('cancel'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){return _vm.saveVar()}}},[_vm._v(\" \"+_vm._s(_vm.editedVarIndex == null ? _vm.$t('add') : _vm.$t('save'))+\" \")])],1)],1)],1),_c('fieldset',{staticStyle:{\"padding\":\"0 10px 2px 10px\",\"border\":\"1px solid rgba(0, 0, 0, 0.38)\",\"border-radius\":\"4px\",\"font-size\":\"12px\"},style:({\n 'border-color': _vm.$vuetify.theme.dark ?\n 'rgba(200, 200, 200, 0.38)' :\n 'rgba(0, 0, 0, 0.38)'\n })},[_c('legend',{staticStyle:{\"padding\":\"0 3px\"}},[_vm._v(_vm._s(_vm.title || _vm.$t('Args')))]),_c('v-chip-group',{staticStyle:{\"margin-top\":\"-4px\"},attrs:{\"column\":\"\"}},[_vm._l((_vm.modifiedVars),function(v,i){return _c('v-chip',{key:v.name,attrs:{\"close\":\"\"},on:{\"click:close\":function($event){return _vm.deleteVar(i)},\"click\":function($event){return _vm.editVar(i)}}},[_vm._v(\" \"+_vm._s(v.name)+\" \")])}),_c('v-chip',{on:{\"click\":function($event){return _vm.editVar(null)}}},[_vm._v(\" + \"),(_vm.modifiedVars.length === 0)?_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.addArgTitle || _vm.$t('addArg')))]):_vm._e()])],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
\n \n \n \n \n {{ formError }}\n \n\n !!v || $t('arg_required')]\"\n required\n />\n\n \n\n Add Value\n
\n \n \n \n \n \n {{ $t('cancel') }}\n \n \n {{ editedVarIndex == null ? $t('add') : $t('save') }}\n \n \n \n \n
\n
\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ArgsPicker.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ArgsPicker.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ArgsPicker.vue?vue&type=template&id=7baec619\"\nimport script from \"./ArgsPicker.vue?vue&type=script&lang=js\"\nexport * from \"./ArgsPicker.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { APP_FIELDS, UNKNOWN_APP_FIELDS } from '@/lib/constants';\n\nexport default {\n\n computed: {\n fields() {\n return APP_FIELDS[this.app] || UNKNOWN_APP_FIELDS;\n },\n },\n\n methods: {\n\n fieldLabel(f) {\n return this.$t((this.fields[f] || { label: f }).label);\n },\n\n needField(f) {\n return this.fields[f] != null;\n },\n\n isFieldRequired(f) {\n return this.fields[f] != null && !this.fields[f].optional;\n },\n },\n};\n","\n \n {{ formError }}\n \n\n \n \n mdi-source-fork\n {{ (item.commit_hash || '').substr(0, 10) }}\n
\n \n {{ sourceTask.commit_message.substring(0, 50) }}\n
\n \n\n getTaskMessage(itm)\"\n :rules=\"[v => !!v || $t('build_version_required')]\"\n required\n :disabled=\"formSaving\"\n />\n\n \n\n \n\n !v.required || !!val || v.title + $t('isRequired'),\n ]\"\n />\n\n !v.required || val != null || v.title + ' ' + $t('isRequired')\n ]\"\n :items=\"v.values\"\n item-text=\"name\"\n item-value=\"value\"\n />\n\n !v.required || !!val || v.title + ' ' + $t('isRequired'),\n val => !val || v.type !== 'int' || /^\\d+$/.test(val) ||\n v.title + ' ' + $t('mustBeInteger'),\n ]\"\n />\n
\n\n \n\n \n\n \n\n \n\n \n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TaskForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TaskForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TaskForm.vue?vue&type=template&id=7baa5452\"\nimport script from \"./TaskForm.vue?vue&type=script&lang=js\"\nexport * from \"./TaskForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n \n {{ TEMPLATE_TYPE_ICONS[templateType] }}\n {{ templateAlias }}\n mdi-chevron-right\n {{ $t('newTask') }}\n \n\n \n \n \n \n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NewTaskDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./NewTaskDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NewTaskDialog.vue?vue&type=template&id=a9971a16\"\nimport script from \"./NewTaskDialog.vue?vue&type=script&lang=js\"\nexport * from \"./NewTaskDialog.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n\n
\n\n
\n \n \n \n \n mdi-message-outline {{ item.message }}\n \n \n mdi-source-fork {{ item.commit_message }}\n \n
\n \n\n \n \n \n
\n —
\n \n\n \n \n \n\n \n {{ item.start | formatDate }}\n \n\n \n {{ [item.start, item.end] | formatMilliseconds }}\n \n\n \n false\">\n \n mdi-replay\n \n \n \n \n
\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TaskList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TaskList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TaskList.vue?vue&type=template&id=344a2fce&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./TaskList.vue?vue&type=script&lang=js\"\nexport * from \"./TaskList.vue?vue&type=script&lang=js\"\nimport style0 from \"./TaskList.vue?vue&type=style&index=0&id=344a2fce&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pb-0\",attrs:{\"fluid\":\"\"}},[(_vm.template.description)?_c('v-alert',{staticClass:\"mb-0 ml-4 mr-4 mb-6 d-inline-block\",attrs:{\"text\":\"\",\"dense\":\"\"}},[_vm._v(_vm._s(_vm.template.description)+\" \")]):_vm._e(),_c('v-row',{staticClass:\"mb-2\"},[_c('v-col',[_c('v-list',{attrs:{\"subheader\":\"\"}},[_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-book-play\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('playbook')))]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.template.playbook))])],1)],1)],1)],1),_c('v-col',[_c('v-list',{attrs:{\"subheader\":\"\"}},[_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(_vm._s(_vm.TEMPLATE_TYPE_ICONS[_vm.template.type]))])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('type')))]),_c('v-list-item-subtitle',[_vm._v(_vm._s(_vm.$t(_vm.TEMPLATE_TYPE_TITLES[_vm.template.type]))+\" \")])],1)],1)],1)],1),_c('v-col',[_c('v-list',{attrs:{\"subheader\":\"\"}},[_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-monitor\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('inventory')))]),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s((_vm.inventory.find((x) => x.id === _vm.template.inventory_id) || {name: '—'}).name)+\" \")])],1)],1)],1)],1),_c('v-col',[_c('v-list',{attrs:{\"subheader\":\"\"}},[_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-code-braces\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('environment')))]),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s(_vm.environment.find((x) => x.id === _vm.template.environment_id).name)+\" \")])],1)],1)],1)],1),_c('v-col',[_c('v-list',{attrs:{\"subheader\":\"\"}},[_c('v-list-item',[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-git\")])],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.$t('repository2')))]),_c('v-list-item-subtitle',[_vm._v(\" \"+_vm._s(_vm.repositories.find((x) => x.id === _vm.template.repository_id).name)+\" \")])],1)],1)],1)],1)],1),_c('TaskStats',{attrs:{\"project-id\":_vm.template.project_id,\"template-id\":_vm.template.id}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{staticClass:\"mx-4\",staticStyle:{\"background\":\"rgba(133, 133, 133, 0.06)\"}},[_c('v-card-title',[_vm._v(\" Task Status \"),_c('v-spacer'),_c('v-select',{staticClass:\"mr-6\",staticStyle:{\"max-width\":\"200px\"},attrs:{\"hide-details\":\"\",\"dense\":\"\",\"items\":_vm.dateRanges},model:{value:(_vm.dateRange),callback:function ($$v) {_vm.dateRange=$$v},expression:\"dateRange\"}}),_c('v-select',{staticStyle:{\"max-width\":\"200px\"},attrs:{\"hide-details\":\"\",\"dense\":\"\",\"items\":_vm.users},model:{value:(_vm.user),callback:function ($$v) {_vm.user=$$v},expression:\"user\"}})],1),_c('v-card-text',[_c('LineChart',{attrs:{\"source-data\":_vm.stats}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('BarChartGenerator',{attrs:{\"chart-id\":_vm.chartId,\"dataset-id-key\":_vm.chartId,\"chart-options\":_vm.chartOptions,\"chart-data\":_vm.chartData}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LineChart.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./LineChart.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LineChart.vue?vue&type=template&id=279d7189\"\nimport script from \"./LineChart.vue?vue&type=script&lang=js\"\nexport * from \"./LineChart.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n \n Task Status\n \n \n\n \n \n \n \n \n \n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TaskStats.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TaskStats.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TaskStats.vue?vue&type=template&id=5890b5f9\"\nimport script from \"./TaskStats.vue?vue&type=script&lang=js\"\nexport * from \"./TaskStats.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n {{ template.description }}\n \n\n \n \n \n \n \n mdi-book-play\n \n\n \n {{ $t('playbook') }}\n {{ template.playbook }}\n \n \n \n \n \n \n \n \n {{ TEMPLATE_TYPE_ICONS[template.type] }}\n \n\n \n {{ $t('type') }}\n {{ $t(TEMPLATE_TYPE_TITLES[template.type]) }}\n \n \n \n \n \n \n \n \n \n mdi-monitor\n \n\n \n {{ $t('inventory') }}\n \n {{ (inventory.find((x) => x.id === template.inventory_id) || {name: '—'}).name }}\n \n \n \n \n \n \n \n \n \n mdi-code-braces\n \n \n {{ $t('environment') }}\n \n {{ environment.find((x) => x.id === template.environment_id).name }}\n \n \n \n \n \n \n \n \n \n mdi-git\n \n \n {{ $t('repository2') }}\n \n {{ repositories.find((x) => x.id === template.repository_id).name }}\n \n \n \n \n \n \n\n \n\n \n\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TemplateDetails.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TemplateDetails.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TemplateDetails.vue?vue&type=template&id=2ef647e6\"\nimport script from \"./TemplateDetails.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateDetails.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.inventories != null && _vm.states != null)?_c('div',[_c('EditDialog',{attrs:{\"save-button-text\":_vm.aliasId === 'new' ? _vm.$t('create') : _vm.$t('save'),\"title\":`${_vm.aliasId === 'new' ? _vm.$t('nnew') : _vm.$t('edit')} Key`,\"max-width\":450},on:{\"save\":function($event){return _vm.loadAliases()}},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('TerraformAliasForm',{attrs:{\"project-id\":_vm.template.project_id,\"item-id\":_vm.aliasId,\"inventory-id\":_vm.inventoryId,\"need-save\":needSave,\"need-reset\":needReset},on:{\"save\":onSave,\"error\":onError}})]}}],null,false,861974093),model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('YesNoDialog',{attrs:{\"title\":_vm.$t('deleteInventory'),\"text\":_vm.$t('askDeleteInv')},on:{\"yes\":function($event){return _vm.deleteInventory()}},model:{value:(_vm.deleteInventoryDialog),callback:function ($$v) {_vm.deleteInventoryDialog=$$v},expression:\"deleteInventoryDialog\"}}),_c('EditDialog',{attrs:{\"save-button-text\":_vm.itemId === 'new' ? _vm.$t('create') : _vm.$t('save'),\"icon\":_vm.getAppIcon(_vm.template.app),\"icon-color\":_vm.getAppColor(_vm.template.app),\"title\":`${_vm.$t('nnew')} ${_vm.APP_INVENTORY_TITLE[_vm.template.app]}`,\"max-width\":450},on:{\"save\":_vm.onNewInventory},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('TerraformInventoryForm',{attrs:{\"template-id\":_vm.template.id,\"project-id\":_vm.template.project_id,\"name-prefix\":`${_vm.template.name} - `,\"item-id\":_vm.itemId,\"type\":`${_vm.template.app}-workspace`,\"need-save\":needSave,\"need-reset\":needReset},on:{\"save\":onSave,\"error\":onError}})]}}],null,false,1190816669),model:{value:(_vm.inventoryDialog),callback:function ($$v) {_vm.inventoryDialog=$$v},expression:\"inventoryDialog\"}}),_c('EditDialog',{attrs:{\"save-button-text\":_vm.$t('Attach'),\"icon\":_vm.getAppIcon(_vm.template.app),\"icon-color\":_vm.getAppColor(_vm.template.app),\"max-width\":450,\"title\":\"Choose workspace to attach\"},on:{\"save\":function($event){return _vm.attachInventory($event.itemId)}},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, needSave, needReset }){return [_c('InventorySelectForm',{attrs:{\"app\":_vm.template.app,\"project-id\":_vm.template.project_id,\"need-save\":needSave,\"need-reset\":needReset},on:{\"save\":onSave}})]}}],null,false,4128882326),model:{value:(_vm.attachInventoryDialog),callback:function ($$v) {_vm.attachInventoryDialog=$$v},expression:\"attachInventoryDialog\"}}),_c('div',{staticClass:\"px-4 py-3 CenterToScreen\",staticStyle:{\"max-width\":\"1000px\",\"margin\":\"auto\"}},[_c('div',{staticClass:\"mb-6\"},[(_vm.inventories.length > 0)?_c('v-btn-toggle',{staticClass:\"mb-2\",staticStyle:{\"overflow\":\"auto\"},attrs:{\"dense\":\"\",\"mandatory\":\"\"},model:{value:(_vm.inventoryId),callback:function ($$v) {_vm.inventoryId=$$v},expression:\"inventoryId\"}},_vm._l((_vm.inventories),function(inv){return _c('v-btn',{key:inv.id,staticStyle:{\"border-radius\":\"0\"},attrs:{\"value\":inv.id}},[_vm._v(\" \"+_vm._s(inv.inventory)+\" \"),(inv.id === _vm.template.inventory_id)?_c('v-icon',{staticClass:\"ml-1\",attrs:{\"dark\":\"\",\"color\":\"success\"}},[_vm._v(\"mdi-check \")]):_vm._e()],1)}),1):_c('span',[_vm._v(\"No workspaces.\")]),_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"ml-3\",attrs:{\"color\":\"primary\",\"dark\":\"\",\"fab\":\"\",\"small\":\"\"}},'v-btn',attrs,false),on),[_c('v-icon',{attrs:{\"dark\":\"\"}},[_vm._v(\"mdi-plus\")])],1)]}}],null,false,2710120090)},[_c('v-list',[_c('v-list-item',{on:{\"click\":function($event){_vm.itemId = 'new'; _vm.inventoryDialog = true}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1),_c('v-list-item-title',[_vm._v(\"New workspace\")])],1),_c('v-list-item',{on:{\"click\":function($event){_vm.attachInventoryDialog = true}}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-connection\")])],1),_c('v-list-item-title',[_vm._v(\"Attach existing workspace\")])],1)],1)],1)],1),_c('v-divider',{staticClass:\"mb-6\"}),(_vm.inventories.length > 0)?_c('div',{staticClass:\"mb-6 d-flex justify-space-between align-center\"},[_c('h2',[_vm._v(_vm._s(_vm.inventory.inventory)+\" workspace\")]),_c('div',[_c('v-btn',{staticClass:\"mr-4\",attrs:{\"disabled\":_vm.inventoryId === _vm.template.inventory_id,\"color\":\"success\"},on:{\"click\":function($event){return _vm.setDefaultInventory()}}},[_vm._v(\" Make default \")]),_c('v-btn',{staticClass:\"mr-4\",attrs:{\"color\":\"primary\",\"disabled\":_vm.inventoryId === _vm.template.inventory_id},on:{\"click\":function($event){return _vm.detachInventory()}}},[_vm._v(\" Detach \")]),_c('v-btn',{staticClass:\"mr-2\",attrs:{\"icon\":\"\",\"color\":\"error\",\"disabled\":_vm.inventoryId === _vm.template.inventory_id},on:{\"click\":function($event){_vm.deleteInventoryDialog = true;}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.itemId = _vm.inventoryId; _vm.inventoryDialog = true;}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1)],1)]):_vm._e(),(!_vm.premiumFeatures.terraform_backend)?_c('v-alert',{staticStyle:{\"border-radius\":\"0\"},attrs:{\"type\":\"info\",\"text\":\"\",\"color\":\"hsl(348deg, 86%, 61%)\"}},[_c('span',{staticClass:\"mr-2\"},[_vm._v(\" Terraform/OpenTofu HTTP backend available only in \"),_c('b',[_vm._v(\"PRO\")]),_vm._v(\" version. \")]),_c('v-btn',{attrs:{\"color\":\"hsl(348deg, 86%, 61%)\",\"href\":\"https://semaphoreui.com/pro\"}},[_vm._v(\" Learn more \"),_c('v-icon',[_vm._v(\"mdi-chevron-right\")])],1)],1):_vm._e(),((_vm.aliases || []).length === 0)?_c('div',{staticClass:\"mb-3 pl-1\"},[_vm._v(\"There is no aliases.\")]):_vm._l(((_vm.aliases || [])),function(alias){return _c('div',{key:alias.id},[_c('code',{staticClass:\"mr-2\"},[_vm._v(_vm._s(alias.url))]),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.copyToClipboard(alias.url, _vm.$t('aliasUrlCopied'))}}},[_c('v-icon',[_vm._v(\"mdi-content-copy\")])],1),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.editAlias(alias.id)}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.deleteAlias(alias.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)],1)}),_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":!_vm.premiumFeatures.terraform_backend},on:{\"click\":function($event){return _vm.addAlias()}}},[_vm._v(\" \"+_vm._s(_vm.aliases == null ? _vm.$t('LoadAlias') : _vm.$t('AddAlias'))+\" \")])],2),(_vm.premiumFeatures.terraform_backend)?_c('v-data-table',{staticClass:\"mt-4 TaskListTable\",staticStyle:{\"max-width\":\"1000px\",\"margin\":\"auto\"},attrs:{\"headers\":_vm.headers,\"items\":_vm.states,\"footer-props\":{ itemsPerPageOptions: [20] },\"single-expand\":\"\",\"show-expand\":\"\"},scopedSlots:_vm._u([{key:\"item.id\",fn:function({ item }){return [_vm._v(\" #\"+_vm._s(item.id)+\" \")]}},{key:\"item.task_id\",fn:function({ item }){return [(item.task_id)?_c('TaskLink',{attrs:{\"task-id\":item.task_id,\"label\":'#' + item.task_id}}):_c('div',[_vm._v(\"—\")])]}},{key:\"item.status\",fn:function({ item }){return [_c('TaskStatus',{attrs:{\"status\":item.status}})]}},{key:\"item.created\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(item.created))+\" \")]}},{key:\"item.actions\",fn:function({ item }){return [_c('v-btn-toggle',{attrs:{\"dense\":\"\",\"value-comparator\":() => false}},[_c('v-btn',{on:{\"click\":function($event){return _vm.deleteState(item)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)],1)]}},{key:\"expanded-item\",fn:function({ headers, item }){return [_c('td',{staticStyle:{\"max-width\":\"400px\"},attrs:{\"colspan\":headers.length}},[_c('TerraformStateView',{staticClass:\"mb-1\",attrs:{\"project-id\":_vm.template.project_id,\"inventory-id\":_vm.inventoryId,\"state-id\":item.id}})],1)]}}],null,false,2194423930)}):_c('v-container',[_c('div',{staticStyle:{\"text-align\":\"center\",\"color\":\"grey\"}},[_vm._v(\"No state available.\")])])],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.item != null && _vm.keys != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError))]),_c('v-text-field',{attrs:{\"label\":\"Workspace name\",\"rules\":[v => !!v || _vm.$t('path_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.inventory),callback:function ($$v) {_vm.$set(_vm.item, \"inventory\", $$v)},expression:\"item.inventory\"}}),_c('v-select',{attrs:{\"label\":\"SSH key for private modules *\",\"rules\":[v => !!v || 'Key is required'],\"dense\":\"\",\"required\":\"\",\"items\":_vm.keys,\"item-value\":\"id\",\"item-text\":\"name\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.ssh_key_id),callback:function ($$v) {_vm.$set(_vm.item, \"ssh_key_id\", $$v)},expression:\"item.ssh_key_id\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ formError }}\n\n !!v || $t('path_required')]\"\n required\n :disabled=\"formSaving\"\n >\n\n !!v || 'Key is required']\"\n dense\n required\n :items=\"keys\"\n item-value=\"id\"\n item-text=\"name\"\n :disabled=\"formSaving\"\n >\n\n \n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TerraformInventoryForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TerraformInventoryForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TerraformInventoryForm.vue?vue&type=template&id=c70cd648\"\nimport script from \"./TerraformInventoryForm.vue?vue&type=script&lang=js\"\nexport * from \"./TerraformInventoryForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from 'axios';\nimport { APP_ICONS, APP_TITLE } from '../lib/constants';\n\nexport default {\n data() {\n return {\n appsMixin: {\n activeAppIds: [],\n apps: null,\n },\n };\n },\n\n async created() {\n const apps = await this.loadAppsDataFromBackend();\n\n this.appsMixin.activeAppIds = apps.filter((app) => app.active).map((app) => app.id);\n\n this.appsMixin.apps = apps.reduce((prev, app) => ({\n ...prev,\n [app.id]: app,\n }), {});\n },\n\n computed: {\n isAppsLoaded() {\n return this.appsMixin.apps != null;\n },\n },\n\n methods: {\n async loadAppsDataFromBackend() {\n return (await axios({\n method: 'get',\n url: '/api/apps',\n responseType: 'json',\n })).data;\n },\n\n getAppColor(id) {\n if (this.appsMixin.apps[id]?.color) {\n return this.appsMixin.apps[id].color || 'gray';\n }\n\n if (APP_ICONS[id]) {\n return this.$vuetify.theme.dark ? APP_ICONS[id].darkColor : APP_ICONS[id].color;\n }\n\n return 'gray';\n },\n\n getAppTitle(id) {\n if (this.appsMixin.apps[id]?.title) {\n return this.appsMixin.apps[id].title;\n }\n\n if (APP_TITLE[id]) {\n return APP_TITLE[id];\n }\n\n return '';\n },\n\n getAppIcon(id) {\n if (this.appsMixin.apps[id]?.icon) {\n return `mdi-${this.appsMixin.apps[id].icon}`;\n }\n\n if (APP_ICONS[id]) {\n return APP_ICONS[id].icon;\n }\n\n return 'mdi-help';\n },\n\n },\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError)+\" \")]),_c('v-select',{attrs:{\"rules\":[v => !!v || _vm.$t('inventory_required')],\"items\":_vm.items,\"label\":\"Workspace\",\"item-value\":\"id\",\"item-text\":\"name\"},model:{value:(_vm.itemId),callback:function ($$v) {_vm.itemId=$$v},expression:\"itemId\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ formError }}\n \n\n !!v || $t('inventory_required')]\"\n :items=\"items\"\n v-model=\"itemId\"\n label=\"Workspace\"\n item-value=\"id\"\n item-text=\"name\"\n />\n \n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InventorySelectForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InventorySelectForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InventorySelectForm.vue?vue&type=template&id=7f5a4f92\"\nimport script from \"./InventorySelectForm.vue?vue&type=script&lang=js\"\nexport * from \"./InventorySelectForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.item != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError))]),_c('v-select',{attrs:{\"label\":_vm.$t('Auth key'),\"items\":_vm.keys,\"item-value\":\"id\",\"item-text\":\"name\",\"outlined\":\"\",\"dense\":\"\",\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.auth_key_id),callback:function ($$v) {_vm.$set(_vm.item, \"auth_key_id\", $$v)},expression:\"item.auth_key_id\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ formError }}\n\n \n\n \n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TerraformAliasForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TerraformAliasForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TerraformAliasForm.vue?vue&type=template&id=06a7685d\"\nimport script from \"./TerraformAliasForm.vue?vue&type=script&lang=js\"\nexport * from \"./TerraformAliasForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.state)?_c('pre',{staticClass:\"pa-2\",staticStyle:{\"white-space\":\"pre-wrap\",\"background\":\"gray\",\"color\":\"white\",\"border-radius\":\"10px\",\"overflow\":\"auto\",\"font-size\":\"14px\",\"max-height\":\"400px\",\"margin-top\":\"5px\"}},[_vm._v(_vm._s(_vm.state.state))]):(_vm.error)?_c('div',{staticClass:\"text-center\"},[_vm._v(_vm._s(_vm.error.message))]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n {{ state.state }}
\n {{ error.message }}
\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TerraformStateView.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TerraformStateView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TerraformStateView.vue?vue&type=template&id=9a127d2c\"\nimport script from \"./TerraformStateView.vue?vue&type=script&lang=js\"\nexport * from \"./TerraformStateView.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n\n
\n \n \n \n \n\n
\n\n
\n \n \n \n \n\n
\n \n \n \n \n\n
\n
\n 0\"\n mandatory\n style=\"overflow: auto\"\n class=\"mb-2\"\n >\n \n {{ inv.inventory }}\n mdi-check\n \n \n \n\n No workspaces.\n\n \n \n \n mdi-plus\n \n \n \n \n \n mdi-pencil\n \n New workspace\n \n \n \n mdi-connection\n \n Attach existing workspace\n \n \n \n
\n\n
\n\n 0\">\n\n
{{ inventory.inventory }} workspace
\n\n
\n\n \n Make default\n \n\n \n Detach\n \n\n \n mdi-delete\n \n\n \n mdi-pencil\n \n
\n
\n\n \n \n Terraform/OpenTofu HTTP backend available only in PRO version.\n \n \n Learn more\n mdi-chevron-right\n \n \n\n There is no aliases.
\n\n \n {{ alias.url }}
\n \n mdi-content-copy\n \n \n mdi-pencil\n \n \n mdi-delete\n \n
\n\n \n {{ aliases == null ? $t('LoadAlias') : $t('AddAlias') }}\n \n \n\n
\n \n #{{ item.id }}\n \n\n \n \n —
\n \n\n \n \n \n\n \n {{ item.created | formatDate }}\n \n\n \n false\">\n \n mdi-delete\n \n \n \n\n \n \n \n | \n \n \n\n
\n No state available.
\n \n\n
\n\n\n","import mod from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TemplateTerraformState.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TemplateTerraformState.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TemplateTerraformState.vue?vue&type=template&id=2e9a9924\"\nimport script from \"./TemplateTerraformState.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateTerraformState.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null)?_c('div',[_c('EditDialog',{attrs:{\"save-button-text\":_vm.$t('save'),\"title\":_vm.$t('editSchedule'),\"max-width\":500},on:{\"save\":_vm.loadItems},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('ScheduleForm',{attrs:{\"project-id\":_vm.projectId,\"item-id\":_vm.itemId,\"need-save\":needSave,\"need-reset\":needReset},on:{\"save\":onSave,\"error\":onError}})]}}],null,false,3884892193),model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('ObjectRefsDialog',{attrs:{\"object-title\":\"schedule\",\"object-refs\":_vm.itemRefs,\"project-id\":_vm.projectId},model:{value:(_vm.itemRefsDialog),callback:function ($$v) {_vm.itemRefsDialog=$$v},expression:\"itemRefsDialog\"}}),_c('YesNoDialog',{attrs:{\"title\":_vm.$t('deleteSchedule'),\"text\":_vm.$t('askDeleteSchedule')},on:{\"yes\":function($event){return _vm.deleteItem(_vm.itemId)}},model:{value:(_vm.deleteItemDialog),callback:function ($$v) {_vm.deleteItemDialog=$$v},expression:\"deleteItemDialog\"}}),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('schedule')))]),_c('v-spacer'),(_vm.can(_vm.USER_PERMISSIONS.manageProjectResources))?_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editItem('new')}}},[_vm._v(_vm._s(_vm.$t('newSchedule'))+\" \")]):_vm._e()],1),_c('v-divider'),_c('v-data-table',{staticClass:\"mt-4\",staticStyle:{\"max-width\":\"calc(var(--breakpoint-xl) - var(--nav-drawer-width) - 200px)\",\"margin\":\"auto\"},attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"hide-default-footer\":\"\",\"items-per-page\":Number.MAX_VALUE},scopedSlots:_vm._u([{key:\"item.active\",fn:function({ item }){return [_c('v-switch',{attrs:{\"inset\":\"\"},on:{\"change\":function($event){return _vm.setActive(item.id, item.active)}},model:{value:(item.active),callback:function ($$v) {_vm.$set(item, \"active\", $$v)},expression:\"item.active\"}})]}},{key:\"item.name\",fn:function({ item }){return [_c('div',[_vm._v(_vm._s(item.name || '—'))])]}},{key:\"item.tpl_name\",fn:function({ item }){return [_c('div',{staticClass:\"d-flex\"},[_c('router-link',{attrs:{\"to\":'/project/' + item.project_id +\n '/templates/' + item.template_id}},[_vm._v(_vm._s(item.tpl_name)+\" \")])],1)]}},{key:\"item.actions\",fn:function({ item }){return [_c('v-btn-toggle',{attrs:{\"dense\":\"\",\"value-comparator\":() => false}},[_c('v-btn',{on:{\"click\":function($event){return _vm.askDeleteItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1),_c('v-btn',{on:{\"click\":function($event){return _vm.editItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1)],1)]}},{key:\"expanded-item\",fn:function({ headers, item }){return [(_vm.openedItems.some((template) => template.id === item.id))?_c('td',{attrs:{\"colspan\":headers.length}},[_c('TaskList',{staticStyle:{\"border\":\"1px solid lightgray\",\"border-radius\":\"6px\",\"margin\":\"10px 0\"},attrs:{\"template\":item,\"limit\":5,\"hide-footer\":true}})],1):_vm._e()]}}],null,false,3299892944)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.templates && _vm.item != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError)+\" \")]),_c('v-text-field',{staticClass:\"mb-4\",attrs:{\"label\":_vm.$t('Name'),\"rules\":[v => !!v || _vm.$t('name_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.name),callback:function ($$v) {_vm.$set(_vm.item, \"name\", $$v)},expression:\"item.name\"}}),_c('v-select',{attrs:{\"label\":_vm.$t('Template'),\"items\":_vm.templates,\"item-value\":\"id\",\"item-text\":(itm) => itm.name,\"rules\":[v => !!v || _vm.$t('template_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.template_id),callback:function ($$v) {_vm.$set(_vm.item, \"template_id\", $$v)},expression:\"item.template_id\"}}),_c('v-switch',{attrs:{\"label\":\"Show cron format\"},model:{value:(_vm.rawCron),callback:function ($$v) {_vm.rawCron=$$v},expression:\"rawCron\"}}),(_vm.rawCron)?_c('v-text-field',{attrs:{\"label\":_vm.$t('Cron'),\"rules\":[v => !!v || _vm.$t('Cron required')],\"required\":\"\",\"disabled\":_vm.formSaving},on:{\"input\":function($event){return _vm.refreshCheckboxes()}},model:{value:(_vm.item.cron_format),callback:function ($$v) {_vm.$set(_vm.item, \"cron_format\", $$v)},expression:\"item.cron_format\"}}):_vm._e(),(!_vm.rawCron)?_c('div',[_c('v-select',{attrs:{\"label\":_vm.$t('Timing'),\"items\":_vm.TIMINGS,\"item-value\":\"id\",\"item-text\":\"title\",\"rules\":[v => !!v || _vm.$t('template_required')],\"required\":\"\",\"disabled\":_vm.formSaving},on:{\"change\":function($event){return _vm.refreshCron()}},model:{value:(_vm.timing),callback:function ($$v) {_vm.timing=$$v},expression:\"timing\"}}),(['yearly'].includes(_vm.timing))?_c('div',[_c('div',[_vm._v(\"Months\")]),_c('div',{staticClass:\"d-flex flex-wrap\"},_vm._l((_vm.MONTHS),function(m){return _c('v-checkbox',{key:m.id,staticClass:\"mr-2 mt-0 ScheduleCheckbox\",class:{'ScheduleCheckbox--active': _vm.months.includes(m.id)},attrs:{\"value\":m.id,\"label\":m.title,\"color\":\"white\"},on:{\"change\":function($event){return _vm.refreshCron()}},model:{value:(_vm.months),callback:function ($$v) {_vm.months=$$v},expression:\"months\"}})}),1)]):_vm._e(),(['weekly'].includes(_vm.timing))?_c('div',[_c('div',{staticClass:\"mt-4\"},[_vm._v(\"Weekdays\")]),_c('div',{staticClass:\"d-flex flex-wrap\"},_vm._l((_vm.WEEKDAYS),function(d){return _c('v-checkbox',{key:d.id,staticClass:\"mr-2 mt-0 ScheduleCheckbox\",class:{'ScheduleCheckbox--active': _vm.weekdays.includes(d.id)},attrs:{\"value\":d.id,\"label\":d.title,\"color\":\"white\"},on:{\"change\":function($event){return _vm.refreshCron()}},model:{value:(_vm.weekdays),callback:function ($$v) {_vm.weekdays=$$v},expression:\"weekdays\"}})}),1)]):_vm._e(),(['yearly', 'monthly'].includes(_vm.timing))?_c('div',[_c('div',{staticClass:\"mt-4\"},[_vm._v(\"Days\")]),_c('div',{staticClass:\"d-flex flex-wrap\"},_vm._l((31),function(d){return _c('v-checkbox',{key:d,staticClass:\"mr-2 mt-0 ScheduleCheckbox\",class:{'ScheduleCheckbox--active': _vm.days.includes(d)},attrs:{\"value\":d,\"label\":`${d}`,\"color\":\"white\"},on:{\"change\":function($event){return _vm.refreshCron()}},model:{value:(_vm.days),callback:function ($$v) {_vm.days=$$v},expression:\"days\"}})}),1)]):_vm._e(),(['yearly', 'monthly', 'weekly', 'daily'].includes(_vm.timing))?_c('div',[_c('div',{staticClass:\"mt-4\"},[_vm._v(\"Hours\")]),_c('div',{staticClass:\"d-flex flex-wrap\"},_vm._l((24),function(h){return _c('v-checkbox',{key:h - 1,staticClass:\"mr-2 mt-0 ScheduleCheckbox\",class:{'ScheduleCheckbox--active': _vm.hours.includes(h - 1)},attrs:{\"value\":h - 1,\"label\":`${h - 1}`,\"color\":\"white\"},on:{\"change\":function($event){return _vm.refreshCron()}},model:{value:(_vm.hours),callback:function ($$v) {_vm.hours=$$v},expression:\"hours\"}})}),1)]):_vm._e(),_c('div',[_c('div',{staticClass:\"mt-4\"},[_vm._v(\"Minutes\")]),_c('div',{staticClass:\"d-flex flex-wrap\"},_vm._l((_vm.MINUTES),function(m){return _c('v-checkbox',{key:m.id,staticClass:\"mr-2 mt-0 ScheduleCheckbox\",class:{'ScheduleCheckbox--active': _vm.minutes.includes(m.id)},attrs:{\"value\":m.id,\"label\":m.title,\"color\":\"white\"},on:{\"change\":function($event){return _vm.refreshCron()}},model:{value:(_vm.minutes),callback:function ($$v) {_vm.minutes=$$v},expression:\"minutes\"}})}),1)])],1):_vm._e(),_c('v-checkbox',{scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('enabled'))+\" \"),(_vm.item.active)?_c('span',{staticClass:\"ml-3\",staticStyle:{\"color\":\"limegreen\",\"font-weight\":\"bold\"}},[_vm._v(\" \"+_vm._s(_vm.$t('scheduleNextRun'))+\" \"+_vm._s(_vm._f(\"formatDate\")(_vm.nextRunTime()))+\". \")]):_vm._e()]},proxy:true}],null,false,68910031),model:{value:(_vm.item.active),callback:function ($$v) {_vm.$set(_vm.item, \"active\", $$v)},expression:\"item.active\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n\n {{ formError }}\n \n\n !!v || $t('name_required')]\"\n required\n :disabled=\"formSaving\"\n class=\"mb-4\"\n >\n\n itm.name\"\n :rules=\"[v => !!v || $t('template_required')]\"\n required\n :disabled=\"formSaving\"\n />\n\n \n\n !!v || $t('Cron required')]\"\n required\n :disabled=\"formSaving\"\n @input=\"refreshCheckboxes()\"\n >\n\n \n
!!v || $t('template_required')]\"\n required\n :disabled=\"formSaving\"\n @change=\"refreshCron()\"\n />\n\n \n\n \n\n \n\n \n\n \n \n\n \n \n {{ $t('enabled') }}\n \n {{ $t('scheduleNextRun') }} {{ nextRunTime() | formatDate }}.\n \n \n \n\n \n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ScheduleForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./ScheduleForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ScheduleForm.vue?vue&type=template&id=c9543a6a\"\nimport script from \"./ScheduleForm.vue?vue&type=script&lang=js\"\nexport * from \"./ScheduleForm.vue?vue&type=script&lang=js\"\nimport style0 from \"./ScheduleForm.vue?vue&type=style&index=0&id=c9543a6a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n
\n \n \n \n \n\n
\n\n
\n\n
\n \n {{ $t('schedule') }}\n \n {{ $t('newSchedule') }}\n \n \n\n
\n\n
\n \n \n \n\n \n {{ item.name || '—' }}
\n \n\n \n \n {{ item.tpl_name }}\n \n
\n \n\n \n false\">\n \n mdi-delete\n \n \n mdi-pencil\n \n \n \n\n \n template.id === item.id)\"\n >\n \n | \n \n \n
\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Schedule.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Schedule.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Schedule.vue?vue&type=template&id=40ab4ed6&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Schedule.vue?vue&type=script&lang=js\"\nexport * from \"./Schedule.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null)?_c('div',[_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('dashboard2'))+\" \")])],1),_c('DashboardMenu',{attrs:{\"project-id\":_vm.projectId,\"project-type\":_vm.projectType,\"can-update-project\":_vm.can(_vm.USER_PERMISSIONS.updateProject)}}),_c('v-data-table',{staticClass:\"mt-4 HistoryTable\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"footer-props\":{ itemsPerPageOptions: [20] }},scopedSlots:_vm._u([{key:\"item.tpl_alias\",fn:function({ item }){return [_c('div',{staticClass:\"d-flex align-center\"},[_c('v-icon',{staticClass:\"mr-3\",attrs:{\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.getAppIcon(item.tpl_app))+\" \")]),_c('TaskLink',{attrs:{\"task-id\":item.id,\"label\":'#' + item.id}}),_c('v-icon',{staticClass:\"ml-1 mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"mdi-arrow-left\")]),_c('router-link',{attrs:{\"to\":'/project/' + item.project_id +\n '/templates/' + item.template_id}},[_vm._v(_vm._s(item.tpl_alias)+\" \")])],1),_c('div',{staticClass:\"ml-7\",staticStyle:{\"font-size\":\"14px\"}},[(item.message)?_c('span',[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-message-outline\")]),_vm._v(\" \"+_vm._s(item.message)+\" \")],1):(item.commit_hash)?_c('span',[_c('v-icon',{attrs:{\"x-small\":\"\"}},[_vm._v(\"mdi-source-fork\")]),_vm._v(\" \"+_vm._s(item.commit_message)+\" \")],1):_vm._e()])]}},{key:\"item.version\",fn:function({ item }){return [(item.tpl_type !== '')?_c('TaskLink',{staticClass:\"ml-2\",attrs:{\"disabled\":item.tpl_type === 'build',\"status\":item.status,\"task-id\":item.tpl_type === 'build'\n ? item.id\n : (item.build_task || {}).id,\"label\":item.tpl_type === 'build'\n ? item.version\n : (item.build_task || {}).version,\"tooltip\":item.tpl_type === 'build'\n ? item.message\n : (item.build_task || {}).message}}):_c('div',{staticClass:\"ml-2\"},[_vm._v(\"—\")])]}},{key:\"item.status\",fn:function({ item }){return [_c('TaskStatus',{attrs:{\"status\":item.status}})]}},{key:\"item.start\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(item.start))+\" \")]}},{key:\"item.end\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm._f(\"formatMilliseconds\")([item.start, item.end]))+\" \")]}}],null,false,1068829933)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-tabs',{staticClass:\"pl-4\"},[(_vm.projectType === '')?_c('v-tab',{key:\"history\",attrs:{\"to\":`/project/${_vm.projectId}/history`}},[_vm._v(_vm._s(_vm.$t('history'))+\" \")]):_vm._e(),_c('v-tab',{key:\"stats\",attrs:{\"to\":`/project/${_vm.projectId}/stats`}},[_vm._v(_vm._s(_vm.$t('stats')))]),_c('v-tab',{key:\"activity\",attrs:{\"to\":`/project/${_vm.projectId}/activity`}},[_vm._v(_vm._s(_vm.$t('activity')))]),(_vm.canUpdateProject)?_c('v-tab',{key:\"settings\",attrs:{\"to\":`/project/${_vm.projectId}/settings`}},[_vm._v(_vm._s(_vm.$t('settings'))+\" \")]):_vm._e(),(_vm.projectType === '')?_c('v-tab',{key:\"runners\",attrs:{\"to\":`/project/${_vm.projectId}/runners`}},[_vm._v(\" \"+_vm._s(_vm.$t('runners'))+\" \"),_c('v-icon',{staticClass:\"ml-1\",attrs:{\"large\":\"\",\"color\":\"hsl(348deg, 86%, 61%)\"}},[_vm._v(\"mdi-professional-hexagon\")])],1):_vm._e()],1),_c('v-divider',{staticStyle:{\"margin-top\":\"-1px\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n {{ $t('history') }}\n \n\n {{ $t('stats') }}\n\n {{ $t('activity') }}\n\n {{ $t('settings') }}\n \n\n \n {{ $t('runners') }}\n mdi-professional-hexagon\n \n \n\n \n
\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DashboardMenu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./DashboardMenu.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DashboardMenu.vue?vue&type=template&id=32b52336\"\nimport script from \"./DashboardMenu.vue?vue&type=script&lang=js\"\nexport * from \"./DashboardMenu.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n
\n \n \n {{ $t('dashboard2') }}\n \n \n\n
\n\n
\n \n \n \n {{ getAppIcon(item.tpl_app) }}\n \n\n \n \n \n\n \n\n mdi-arrow-left\n\n {{ item.tpl_alias }}\n \n
\n\n \n \n mdi-message-outline {{ item.message }}\n \n \n mdi-source-fork {{ item.commit_message }}\n \n
\n \n\n \n \n —
\n \n\n \n \n \n\n \n {{ item.start | formatDate }}\n \n\n \n {{ [item.start, item.end] | formatMilliseconds }}\n \n \n
\n\n\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./History.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./History.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./History.vue?vue&type=template&id=25dbd83b&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./History.vue?vue&type=script&lang=js\"\nexport * from \"./History.vue?vue&type=script&lang=js\"\nimport style0 from \"./History.vue?vue&type=style&index=0&id=25dbd83b&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items)?_c('div',[_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('dashboard')))])],1),_c('DashboardMenu',{attrs:{\"project-id\":_vm.projectId,\"project-type\":_vm.projectType,\"can-update-project\":_vm.can(_vm.USER_PERMISSIONS.updateProject)}}),_c('v-data-table',{staticClass:\"mt-4 CenterToScreen\",staticStyle:{\"max-width\":\"calc(var(--breakpoint-lg) - var(--nav-drawer-width))\",\"margin\":\"auto\"},attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"footer-props\":{ itemsPerPageOptions: [20] }},scopedSlots:_vm._u([{key:\"item.created\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm._f(\"formatDate\")(item.created))+\" \")]}}],null,false,2635796545)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n {{ $t('dashboard') }}\n \n\n \n\n \n \n {{ item.created | formatDate }}\n \n \n
\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Activity.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Activity.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Activity.vue?vue&type=template&id=b70fc57c&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Activity.vue?vue&type=script&lang=js\"\nexport * from \"./Activity.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('YesNoDialog',{attrs:{\"title\":_vm.$t('deleteProject'),\"text\":_vm.$t('askDeleteProj')},on:{\"yes\":function($event){return _vm.deleteProject()}},model:{value:(_vm.deleteProjectDialog),callback:function ($$v) {_vm.deleteProjectDialog=$$v},expression:\"deleteProjectDialog\"}}),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('dashboard')))])],1),_c('DashboardMenu',{attrs:{\"project-id\":_vm.projectId,\"project-type\":_vm.projectType,\"can-update-project\":true}}),_c('div',{staticClass:\"CenterToScreen\",staticStyle:{\"margin\":\"auto\",\"max-width\":\"600px\",\"padding\":\"0 16px\"}},[_c('h2',{staticClass:\"mt-8 mb-1\"},[_vm._v(\"General\")]),_c('v-divider',{staticClass:\"mb-8\"}),_c('div',{staticClass:\"project-settings-form\"},[_c('div',{staticStyle:{\"height\":\"300px\"}},[_c('ProjectForm',{ref:\"form\",attrs:{\"item-id\":_vm.projectId},on:{\"error\":_vm.onError,\"save\":_vm.onSave}})],1),_c('div',{staticClass:\"text-right\"},[_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.saveProject()}}},[_vm._v(_vm._s(_vm.$t('save')))])],1)]),_c('h2',{staticClass:\"mt-8 mb-1\"},[_vm._v(\"Danger Zone\")]),_c('v-divider',{staticClass:\"mb-8\"}),(_vm.projectType === '')?_c('div',{staticClass:\"project-backup project-settings-button\"},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"shrink\"},[_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.backupProgress,\"min-width\":\"170\"},on:{\"click\":_vm.backupProject}},[_vm._v(_vm._s(_vm.$t('backup'))+\" \")]),(_vm.backupProgress)?_c('v-progress-linear',{staticStyle:{\"margin-top\":\"-36px\"},attrs:{\"color\":\"primary accent-4\",\"indeterminate\":\"\",\"rounded\":\"\",\"height\":\"36\"}}):_vm._e()],1),_c('v-col',{staticClass:\"grow\"},[_c('div',{staticStyle:{\"font-size\":\"14px\"}},[_vm._v(\" \"+_vm._s(_vm.$t('downloadTheProjectBackupFile'))+\" \")])])],1)],1):_vm._e(),_c('div',{staticClass:\"project-delete-form project-settings-button\"},[_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"shrink\"},[_c('v-btn',{attrs:{\"color\":\"error\",\"min-width\":\"170\"},on:{\"click\":function($event){_vm.deleteProjectDialog = true}}},[_vm._v(_vm._s(_vm.$t('deleteProject2'))+\" \")])],1),_c('v-col',{staticClass:\"grow\"},[_c('div',{staticStyle:{\"font-size\":\"14px\",\"color\":\"#ff5252\"}},[_vm._v(\" \"+_vm._s(_vm.$t('onceYouDeleteAProjectThereIsNoGoingBackPleaseBeCer'))+\" \")])])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default function delay(milliseconds = 100) {\n return new Promise((resolve) => {\n setTimeout(resolve, milliseconds);\n });\n}\n","\n \n
\n\n
\n \n {{ $t('dashboard') }}\n \n\n
\n\n
\n
General
\n\n
\n\n
\n\n
Danger Zone
\n\n
\n\n
\n\n
\n \n\n {{ $t('backup') }}\n \n\n \n\n \n \n \n {{ $t('downloadTheProjectBackupFile') }}\n
\n \n \n
\n
\n
\n
\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Settings.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Settings.vue?vue&type=template&id=1fd5912a&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Settings.vue?vue&type=script&lang=js\"\nexport * from \"./Settings.vue?vue&type=script&lang=js\"\nimport style0 from \"./Settings.vue?vue&type=style&index=0&id=1fd5912a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (!_vm.isLoaded)?_c('div',[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"primary darken-2\"}})],1):_c('div',[_c('v-dialog',{attrs:{\"max-width\":400,\"persistent\":\"\",\"transition\":false},model:{value:(_vm.editViewsDialog),callback:function ($$v) {_vm.editViewsDialog=$$v},expression:\"editViewsDialog\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.$t('editViews'))+\" \"),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.closeEditViewDialog()}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',[_c('EditViewsForm',{attrs:{\"project-id\":_vm.projectId}})],1)],1)],1),_c('EditTemplateDialog',{attrs:{\"project-id\":_vm.projectId,\"item-app\":_vm.itemApp,\"item-id\":\"new\"},on:{\"save\":function($event){return _vm.loadItems()}},model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('NewTaskDialog',{attrs:{\"project-id\":_vm.projectId,\"template-id\":_vm.itemId,\"template-alias\":_vm.templateAlias,\"template-type\":_vm.templateType,\"template-app\":_vm.templateApp},on:{\"save\":function($event){_vm.itemId = null},\"close\":function($event){_vm.itemId = null}},model:{value:(_vm.newTaskDialog),callback:function ($$v) {_vm.newTaskDialog=$$v},expression:\"newTaskDialog\"}}),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('taskTemplates2'))+\" \")]),_c('v-spacer'),_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [(_vm.can(_vm.USER_PERMISSIONS.manageProjectResources))?_c('v-btn',_vm._g(_vm._b({staticClass:\"mr-1 pr-2\",attrs:{\"color\":\"primary\",\"disabled\":!_vm.isAdmin && _vm.appsMixin.activeAppIds.length === 0}},'v-btn',attrs,false),on),[_vm._v(\" \"+_vm._s(_vm.$t('newTemplate'))+\" \"),_c('v-icon',[_vm._v(\"mdi-chevron-down\")])],1):_vm._e()]}}])},[_c('v-list',[_vm._l((_vm.appsMixin.activeAppIds),function(appID){return _c('v-list-item',{key:appID,attrs:{\"link\":\"\"},on:{\"click\":function($event){_vm.editItem('new'); _vm.itemApp = appID;}}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":_vm.getAppColor(appID)}},[_vm._v(\" \"+_vm._s(_vm.getAppIcon(appID))+\" \")])],1),_c('v-list-item-title',[_vm._v(_vm._s(_vm.getAppTitle(appID)))])],1)}),(_vm.isAdmin && _vm.appsMixin.activeAppIds.length > 0)?_c('v-divider'):_vm._e(),(_vm.isAdmin)?_c('v-list-item',{key:\"other\",attrs:{\"link\":\"\",\"href\":\"/apps\"}},[_c('v-list-item-icon',[_c('v-icon',[_vm._v(\"mdi-cogs\")])],1),_c('v-list-item-title',[_vm._v(\"Applications\")])],1):_vm._e()],2)],1),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.settingsSheet = true}}},[_c('v-icon',[_vm._v(\"mdi-cog\")])],1)],1),_c('v-tabs',{staticClass:\"pl-4\",attrs:{\"show-arrows\":\"\"},model:{value:(_vm.viewTab),callback:function ($$v) {_vm.viewTab=$$v},expression:\"viewTab\"}},[_c('v-tab',{attrs:{\"to\":_vm.getViewUrl(null),\"disabled\":_vm.viewItemsLoading}},[_vm._v(_vm._s(_vm.$t('all')))]),_vm._l((_vm.views),function(view){return _c('v-tab',{key:view.id,attrs:{\"to\":_vm.getViewUrl(view.id),\"disabled\":_vm.viewItemsLoading}},[_vm._v(_vm._s(view.title)+\" \")])}),(_vm.can(_vm.USER_PERMISSIONS.manageProjectResources))?_c('v-btn',{staticClass:\"mt-2 ml-4\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.editViewsDialog = true}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1):_vm._e()],2),_c('v-divider',{staticStyle:{\"margin-top\":\"-1px\"}}),_c('v-data-table',{staticClass:\"mt-4 templates-table\",style:({\n opacity: _vm.viewItemsLoading ? 0.3 : 1,\n }),attrs:{\"hide-default-footer\":\"\",\"single-expand\":\"\",\"show-expand\":\"\",\"headers\":_vm.filteredHeaders,\"items\":_vm.items,\"items-per-page\":Number.MAX_VALUE,\"expanded\":_vm.openedItems},on:{\"update:expanded\":function($event){_vm.openedItems=$event}},scopedSlots:_vm._u([{key:\"item.name\",fn:function({ item }){return [_c('v-icon',{staticClass:\"mr-3\",attrs:{\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.getAppIcon(item.app))+\" \")]),_c('router-link',{attrs:{\"to\":_vm.viewId\n ? `/project/${_vm.projectId}/views/${_vm.viewId}/templates/${item.id}`\n : `/project/${_vm.projectId}/templates/${item.id}`}},[_vm._v(_vm._s(item.name)+\" \")])]}},{key:\"item.version\",fn:function({ item }){return [(item.last_task && item.last_task.tpl_type !== '')?_c('TaskLink',{attrs:{\"disabled\":true,\"status\":item.last_task.status,\"task-id\":item.last_task.tpl_type === 'build'\n ? item.last_task.id\n : (item.last_task.build_task || {}).id,\"label\":item.last_task.tpl_type === 'build'\n ? item.last_task.version\n : (item.last_task.build_task || {}).version,\"tooltip\":item.last_task.tpl_type === 'build'\n ? item.last_task.message\n : (item.last_task.build_task || {}).message}}):_c('div',[_vm._v(\"—\")])]}},{key:\"item.status\",fn:function({ item }){return [(item.last_task != null)?_c('div',{staticClass:\"mt-2 mb-2 d-flex\"},[_c('TaskStatus',{attrs:{\"status\":item.last_task.status}})],1):_c('div',{staticClass:\"mt-3 mb-2 d-flex\",staticStyle:{\"color\":\"gray\"}},[_vm._v(_vm._s(_vm.$t('notLaunched')))])]}},{key:\"item.last_task\",fn:function({ item }){return [(item.last_task != null)?_c('div',{staticClass:\"mt-2 mb-2\",staticStyle:{\"line-height\":\"1\"}},[_c('TaskLink',{attrs:{\"task-id\":item.last_task.id,\"label\":'#' + item.last_task.id,\"tooltip\":item.last_task.message}}),_c('div',{staticStyle:{\"color\":\"gray\",\"font-size\":\"14px\"}},[_vm._v(\" \"+_vm._s(_vm.$t('by', {user_name: item.last_task.user_name}))+\" \")])],1):_vm._e()]}},{key:\"item.inventory_id\",fn:function({ item }){return [_vm._v(\" \"+_vm._s((_vm.inventory.find((x) => x.id === item.inventory_id) || {name: '—'}).name)+\" \")]}},{key:\"item.environment_id\",fn:function({ item }){return [_vm._v(\" \"+_vm._s((_vm.environment.find((x) => x.id === item.environment_id) || {name: '—'}).name)+\" \")]}},{key:\"item.repository_id\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm.repositories.find((x) => x.id === item.repository_id).name)+\" \")]}},{key:\"item.actions\",fn:function({ item }){return [_c('v-btn-toggle',{attrs:{\"dense\":\"\",\"value-comparator\":() => false}},[_c('v-btn',{on:{\"click\":function($event){return _vm.createTask(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-play\")])],1)],1)]}},{key:\"expanded-item\",fn:function({ headers, item }){return [(_vm.openedItems.some((template) => template.id === item.id))?_c('td',{attrs:{\"colspan\":headers.length}},[_c('TaskList',{staticStyle:{\"border\":\"1px solid lightgray\",\"border-radius\":\"6px\",\"margin\":\"10px 0\"},attrs:{\"template\":item,\"limit\":5,\"hide-footer\":true}})],1):_vm._e()]}}])}),_c('TableSettingsSheet',{attrs:{\"table-name\":\"project__template\",\"headers\":_vm.headers},on:{\"change\":_vm.onTableSettingsChange},model:{value:(_vm.settingsSheet),callback:function ($$v) {_vm.settingsSheet=$$v},expression:\"settingsSheet\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.views != null)?_c('div',[(_vm.views.length > 0)?_c('draggable',{staticClass:\"mb-5\",attrs:{\"list\":_vm.views,\"handle\":\".handle6785\"},on:{\"end\":_vm.onDragEnd}},_vm._l((_vm.views),function(view){return _c('div',{key:view.id,staticClass:\"d-flex mb-2\"},[_c('v-icon',{staticClass:\"handle6785\",staticStyle:{\"cursor\":\"move\"}},[_vm._v(\"mdi-menu\")]),_c('v-text-field',{staticClass:\"ml-4 mr-1\",attrs:{\"hide-details\":\"\",\"dense\":\"\",\"solo\":\"\",\"flat\":!view.active,\"disabled\":view.disabled},on:{\"focus\":function($event){return _vm.editView(view.id)}},model:{value:(view.title),callback:function ($$v) {_vm.$set(view, \"title\", $$v)},expression:\"view.title\"}}),(view.active)?_c('v-btn',{staticClass:\"mt-1\",attrs:{\"small\":\"\",\"icon\":\"\",\"disabled\":view.disabled},on:{\"click\":function($event){return _vm.saveView(view.id)}}},[_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"green\"}},[_vm._v(\"mdi-check\")])],1):_vm._e(),(view.active && view.id > 0)?_c('v-btn',{staticClass:\"mt-1\",attrs:{\"small\":\"\",\"icon\":\"\",\"disabled\":view.disabled},on:{\"click\":function($event){return _vm.resetView(view.id)}}},[_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"red\"}},[_vm._v(\"mdi-close\")])],1):_vm._e(),_c('v-btn',{staticClass:\"ml-4\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.removeView(view.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)],1)}),0):_c('v-alert',{attrs:{\"type\":\"info\"}},[_vm._v(_vm._s(_vm.$t('noViews')))]),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.addView()}}},[_vm._v(_vm._s(_vm.$t('addView')))])],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
0\"\n :list=\"views\"\n handle=\".handle6785\"\n class=\"mb-5\"\n @end=\"onDragEnd\"\n >\n \n mdi-menu\n \n \n mdi-check\n \n 0\"\n :disabled=\"view.disabled\"\n >\n mdi-close\n \n\n \n mdi-delete\n \n
\n \n
{{ $t('noViews') }}\n
{{ $t('addView') }}\n
\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EditViewsForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EditViewsForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EditViewsForm.vue?vue&type=template&id=c4e21d8e\"\nimport script from \"./EditViewsForm.vue?vue&type=script&lang=js\"\nexport * from \"./EditViewsForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.settings)?_c('PageBottomSheet',{model:{value:(_vm.sheet),callback:function ($$v) {_vm.sheet=$$v},expression:\"sheet\"}},[_c('h4',[_vm._v(_vm._s(_vm.$t('columns')))]),_c('div',{staticClass:\"d-flex flex-row flex-wrap\"},_vm._l((_vm.headers.filter((header) => header.value !== 'actions')),function(header){return _c('v-checkbox',{key:header.value,staticClass:\"mr-6\",attrs:{\"label\":header.text},on:{\"change\":function($event){return _vm.saveSettings()}},model:{value:(_vm.settings.columns[header.value].visible),callback:function ($$v) {_vm.$set(_vm.settings.columns[header.value], \"visible\", $$v)},expression:\"settings.columns[header.value].visible\"}})}),1)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"sheet\",staticClass:\"page-bottom-sheet\"},[_c('v-bottom-sheet',{attrs:{\"attach\":this.$refs.sheet,\"hide-overlay\":\"\"},model:{value:(_vm.sheet),callback:function ($$v) {_vm.sheet=$$v},expression:\"sheet\"}},[_c('v-sheet',{staticClass:\"pa-4\"},[_vm._t(\"default\")],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n
\n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PageBottomSheet.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./PageBottomSheet.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PageBottomSheet.vue?vue&type=template&id=2d8ff88a\"\nimport script from \"./PageBottomSheet.vue?vue&type=script&lang=js\"\nexport * from \"./PageBottomSheet.vue?vue&type=script&lang=js\"\nimport style0 from \"./PageBottomSheet.vue?vue&type=style&index=0&id=2d8ff88a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n {{ $t('columns') }}
\n \n header.value !== 'actions')\"\n :key=\"header.value\"\n :label=\"header.text\"\n v-model=\"settings.columns[header.value].visible\"\n @change=\"saveSettings()\"\n />\n
\n \n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TableSettingsSheet.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TableSettingsSheet.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TableSettingsSheet.vue?vue&type=template&id=3bb7f584\"\nimport script from \"./TableSettingsSheet.vue?vue&type=script&lang=js\"\nexport * from \"./TableSettingsSheet.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.isAppsLoaded)?_c('EditDialog',{attrs:{\"max-width\":1200,\"min-content-height\":457,\"save-button-text\":_vm.itemId === 'new' ? _vm.$t('create') : _vm.$t('save'),\"icon\":_vm.getAppIcon(_vm.itemApp),\"icon-color\":_vm.getAppColor(_vm.itemApp),\"title\":(_vm.itemId === 'new' ? _vm.$t('newTemplate') : _vm.$t('editTemplate')) +\n ' \\'' + _vm.getAppTitle(_vm.itemApp) + '\\'',\"content-class\":`EditTemplateDialog EditTemplateDialog--${_vm.id}`},on:{\"save\":_vm.onSave},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('TemplateForm',{attrs:{\"project-id\":_vm.projectId,\"item-id\":_vm.itemId,\"need-save\":needSave,\"need-reset\":needReset,\"source-item-id\":_vm.sourceItemId,\"app\":_vm.itemApp},on:{\"save\":onSave,\"error\":onError,\"resize\":_vm.onFormResize}})]}}],null,false,1337851424),model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (!_vm.isLoaded)?_c('div',[_c('v-row',[_c('v-col',[_c('v-skeleton-loader',{attrs:{\"type\":\"table-heading, list-item-two-line, image, table-tfoot\"}})],1),_c('v-col',[_c('v-skeleton-loader',{attrs:{\"type\":\"table-heading, list-item-two-line, image, table-tfoot\"}})],1)],1)],1):_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-dialog',{attrs:{\"hide-overlay\":\"\",\"width\":\"300\"},model:{value:(_vm.helpDialog),callback:function ($$v) {_vm.helpDialog=$$v},expression:\"helpDialog\"}},[_c('v-alert',{staticClass:\"mb-0 pb-0\",attrs:{\"border\":\"top\",\"colored-border\":\"\",\"type\":\"info\",\"elevation\":\"2\"}},[(_vm.helpKey === 'build_version')?_c('div',[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('definesStartVersionOfYourArtifactEachRunIncrements'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('forMoreInformationAboutBuildingSeeThe'))+\" \"),_c('a',{attrs:{\"href\":\"https://docs.semaphoreui.com/user-guide/task-templates#build\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t('taskTemplateReference')))]),_vm._v(\". \")])]):(_vm.helpKey === 'build')?_c('div',[_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('definesWhatArtifactShouldBeDeployedWhenTheTaskRun'))+\" \")]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('forMoreInformationAboutDeployingSeeThe'))+\" \"),_c('a',{attrs:{\"href\":\"https://docs.semaphoreui.com/user-guide/task-templates#build\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t('taskTemplateReference2')))]),_vm._v(\". \")])]):_vm._e(),(_vm.helpKey === 'cron')?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('definesAutorunSchedule')))]),_c('p',[_vm._v(\" \"+_vm._s(_vm.$t('forMoreInformationAboutCronSeeThe'))+\" \"),_c('a',{attrs:{\"href\":\"https://pkg.go.dev/github.com/robfig/cron/v3#hdr-CRON_Expression_Format\",\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.$t('cronExpressionFormatReference')))]),_vm._v(\". \")])]):_vm._e()])],1),_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError)+\" \")]),_c('div',{ref:\"formBody\",staticClass:\"TemplateFormBody\",on:{\"click\":function($event){return _vm.checkSize()}}},[_c('v-card',{staticClass:\"mb-6\",staticStyle:{\"background\":\"#8585850f\"},attrs:{\"color\":_vm.$vuetify.theme.dark ? '#212121' : 'white'}},[_c('v-tabs',{attrs:{\"fixed-tabs\":\"\"},model:{value:(_vm.itemTypeIndex),callback:function ($$v) {_vm.itemTypeIndex=$$v},expression:\"itemTypeIndex\"}},_vm._l((Object.keys(_vm.TEMPLATE_TYPE_ICONS)),function(key){return _c('v-tab',{key:key,staticStyle:{\"padding\":\"0\"}},[_c('v-icon',{staticClass:\"mr-2\",attrs:{\"small\":\"\"}},[_vm._v(_vm._s(_vm.TEMPLATE_TYPE_ICONS[key]))]),_vm._v(\" \"+_vm._s(_vm.$t(_vm.TEMPLATE_TYPE_TITLES[key]))+\" \")],1)}),1),(_vm.item.type)?_c('div',{staticClass:\"ml-4 mr-4 mt-6\"},[(_vm.item.type === 'build')?_c('v-text-field',{attrs:{\"label\":_vm.$t('startVersion'),\"rules\":[v => !!v || _vm.$t('start_version_required')],\"required\":\"\",\"disabled\":_vm.formSaving,\"placeholder\":_vm.$t('example000'),\"append-outer-icon\":\"mdi-help-circle\"},on:{\"click:append-outer\":function($event){return _vm.showHelpDialog('build_version')}},model:{value:(_vm.item.start_version),callback:function ($$v) {_vm.$set(_vm.item, \"start_version\", $$v)},expression:\"item.start_version\"}}):_vm._e(),(_vm.item.type === 'deploy')?_c('v-autocomplete',{attrs:{\"label\":_vm.$t('buildTemplate'),\"items\":_vm.buildTemplates,\"item-value\":\"id\",\"item-text\":\"name\",\"rules\":[v => !!v || _vm.$t('build_template_required')],\"required\":\"\",\"disabled\":_vm.formSaving,\"append-outer-icon\":\"mdi-help-circle\"},on:{\"click:append-outer\":function($event){return _vm.showHelpDialog('build')}},model:{value:(_vm.item.build_template_id),callback:function ($$v) {_vm.$set(_vm.item, \"build_template_id\", $$v)},expression:\"item.build_template_id\"}}):_vm._e(),(_vm.item.type === 'deploy')?_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":_vm.$t('autorun')},model:{value:(_vm.item.autorun),callback:function ($$v) {_vm.$set(_vm.item, \"autorun\", $$v)},expression:\"item.autorun\"}}):_vm._e()],1):_vm._e()],1),_c('v-text-field',{attrs:{\"label\":_vm.$t('name2'),\"rules\":[v => !!v || _vm.$t('name_required')],\"outlined\":\"\",\"dense\":\"\",\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.name),callback:function ($$v) {_vm.$set(_vm.item, \"name\", $$v)},expression:\"item.name\"}}),_c('v-textarea',{attrs:{\"label\":_vm.$t('description'),\"disabled\":_vm.formSaving,\"rows\":\"1\",\"auto-grow\":true,\"outlined\":\"\",\"dense\":\"\"},on:{\"keyup\":function($event){return _vm.checkSize()}},model:{value:(_vm.item.description),callback:function ($$v) {_vm.$set(_vm.item, \"description\", $$v)},expression:\"item.description\"}}),(_vm.needField('playbook'))?_c('v-text-field',{attrs:{\"label\":_vm.fieldLabel('playbook'),\"rules\":_vm.isFieldRequired('playbook') ? [v => !!v || _vm.$t('playbook_filename_required')] : [],\"outlined\":\"\",\"dense\":\"\",\"required\":_vm.isFieldRequired('playbook'),\"disabled\":_vm.formSaving,\"placeholder\":_vm.$t('exampleSiteyml')},model:{value:(_vm.item.playbook),callback:function ($$v) {_vm.$set(_vm.item, \"playbook\", $$v)},expression:\"item.playbook\"}}):_vm._e(),(_vm.needField('inventory'))?_c('v-select',{attrs:{\"label\":_vm.fieldLabel('inventory'),\"items\":_vm.inventory,\"item-value\":\"id\",\"item-text\":\"name\",\"outlined\":\"\",\"dense\":\"\",\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.inventory_id),callback:function ($$v) {_vm.$set(_vm.item, \"inventory_id\", $$v)},expression:\"item.inventory_id\"}}):_vm._e(),(_vm.needField('repository'))?_c('v-select',{attrs:{\"label\":_vm.fieldLabel('repository') + ' *',\"items\":_vm.repositories,\"item-value\":\"id\",\"item-text\":\"name\",\"rules\":_vm.isFieldRequired('repository') ? [v => !!v || _vm.$t('repository_required')] : [],\"outlined\":\"\",\"dense\":\"\",\"required\":_vm.isFieldRequired('repository'),\"disabled\":_vm.formSaving},model:{value:(_vm.item.repository_id),callback:function ($$v) {_vm.$set(_vm.item, \"repository_id\", $$v)},expression:\"item.repository_id\"}}):_vm._e(),(_vm.needField('environment'))?_c('v-select',{attrs:{\"label\":_vm.fieldLabel('environment'),\"items\":_vm.environment,\"item-value\":\"id\",\"item-text\":\"name\",\"rules\":_vm.isFieldRequired('environment') ? [v => !!v || _vm.$t('environment_required')] : [],\"outlined\":\"\",\"dense\":\"\",\"required\":_vm.isFieldRequired('environment'),\"disabled\":_vm.formSaving},model:{value:(_vm.item.environment_id),callback:function ($$v) {_vm.$set(_vm.item, \"environment_id\", $$v)},expression:\"item.environment_id\"}}):_vm._e(),(_vm.needField('limit'))?_c('ArgsPicker',{attrs:{\"vars\":_vm.item.task_params.limit,\"title\":_vm.$t('limit'),\"arg-title\":_vm.$t('limit'),\"add-arg-title\":_vm.$t('addLimit')},on:{\"change\":_vm.setLimit}}):_vm._e(),(_vm.needField('tags'))?_c('ArgsPicker',{attrs:{\"vars\":_vm.item.task_params.tags,\"title\":_vm.$t('tags'),\"arg-title\":_vm.$t('tag'),\"add-arg-title\":_vm.$t('addTag')},on:{\"change\":_vm.setTags}}):_vm._e(),(_vm.needField('skip_tags'))?_c('ArgsPicker',{attrs:{\"vars\":_vm.item.task_params.skip_tags,\"title\":_vm.$t('skipTags'),\"arg-title\":_vm.$t('tag'),\"add-arg-title\":_vm.$t('addSkippedTag')},on:{\"change\":_vm.setSkipTags}}):_vm._e(),(_vm.needField('vault'))?_c('TemplateVaults',{attrs:{\"project-id\":this.projectId,\"vaults\":_vm.vaults},on:{\"change\":_vm.setTemplateVaults}}):_vm._e(),_c('SurveyVars',{staticStyle:{\"margin-top\":\"-10px\"},attrs:{\"vars\":_vm.surveyVars},on:{\"change\":_vm.setSurveyVars}}),_c('v-select',{attrs:{\"label\":_vm.$t('view'),\"clearable\":\"\",\"items\":_vm.views,\"item-value\":\"id\",\"item-text\":\"title\",\"disabled\":_vm.formSaving,\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.item.view_id),callback:function ($$v) {_vm.$set(_vm.item, \"view_id\", $$v)},expression:\"item.view_id\"}}),_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":_vm.$t('iWantToRunATaskByTheCronOnlyForForNewCommitsOfSome')},model:{value:(_vm.cronVisible),callback:function ($$v) {_vm.cronVisible=$$v},expression:\"cronVisible\"}}),(_vm.cronVisible)?_c('v-select',{attrs:{\"label\":_vm.$t('repository2'),\"placeholder\":_vm.$t('cronChecksNewCommitBeforeRun'),\"rules\":[v => !!v || _vm.$t('repository_required')],\"items\":_vm.repositories,\"item-value\":\"id\",\"item-text\":\"name\",\"clearable\":\"\",\"disabled\":_vm.formSaving,\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.cronRepositoryId),callback:function ($$v) {_vm.cronRepositoryId=$$v},expression:\"cronRepositoryId\"}}):_vm._e(),(_vm.cronVisible)?_c('v-select',{attrs:{\"label\":_vm.$t('checkInterval'),\"hint\":_vm.$t('newCommitCheckInterval'),\"item-value\":\"cron\",\"item-text\":\"title\",\"items\":_vm.cronFormats,\"disabled\":_vm.formSaving,\"outlined\":\"\",\"dense\":\"\"},model:{value:(_vm.cronFormat),callback:function ($$v) {_vm.cronFormat=$$v},expression:\"cronFormat\"}}):_vm._e(),_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":_vm.$t('suppressSuccessAlerts')},model:{value:(_vm.item.suppress_success_alerts),callback:function ($$v) {_vm.$set(_vm.item, \"suppress_success_alerts\", $$v)},expression:\"item.suppress_success_alerts\"}}),_c('ArgsPicker',{attrs:{\"vars\":_vm.args,\"title\":\"CLI args\"},on:{\"change\":_vm.setArgs}}),_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":_vm.$t('allowCliArgsInTask')},model:{value:(_vm.item.allow_override_args_in_task),callback:function ($$v) {_vm.$set(_vm.item, \"allow_override_args_in_task\", $$v)},expression:\"item.allow_override_args_in_task\"}}),(_vm.needField('allow_override_inventory'))?_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":_vm.$t('allowInventoryInTask')},model:{value:(_vm.item.task_params.allow_override_inventory),callback:function ($$v) {_vm.$set(_vm.item.task_params, \"allow_override_inventory\", $$v)},expression:\"item.task_params.allow_override_inventory\"}}):_vm._e(),(_vm.needField('allow_debug'))?_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":_vm.$t('allowDebug')},model:{value:(_vm.item.task_params.allow_debug),callback:function ($$v) {_vm.$set(_vm.item.task_params, \"allow_debug\", $$v)},expression:\"item.task_params.allow_debug\"}}):_vm._e(),_c('v-spacer',{staticStyle:{\"flex-grow\":\"100 !important\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"pb-6\"},[_c('v-dialog',{attrs:{\"hide-overlay\":\"\",\"width\":\"300\"},model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}},[_c('v-card',{attrs:{\"color\":_vm.$vuetify.theme.dark ? '#212121' : 'white'}},[_c('v-card-title'),_c('v-card-text',{staticClass:\"pb-0\"},[(_vm.editedVault != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"}},[_c('v-alert',{attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError)+\" \")]),_c('v-text-field',{attrs:{\"label\":_vm.$t('vaultName'),\"placeholder\":\"default\",\"rules\":[v => this.vaultNameRules(v)]},model:{value:(_vm.editedVault.name),callback:function ($$v) {_vm.$set(_vm.editedVault, \"name\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"editedVault.name\"}}),_c('v-select',{attrs:{\"label\":_vm.$t('type'),\"items\":_vm.vaultTypes,\"item-value\":\"id\",\"item-text\":\"name\",\"required\":\"\",\"rules\":[v => !!v || _vm.$t('type_required')]},on:{\"change\":_vm.updateType},model:{value:(_vm.editedVault.type),callback:function ($$v) {_vm.$set(_vm.editedVault, \"type\", $$v)},expression:\"editedVault.type\"}}),(_vm.editedVault.type === 'password')?_c('v-select',{attrs:{\"label\":_vm.$t('vaultPassword2'),\"items\":_vm.vaultKeys,\"item-value\":\"id\",\"item-text\":\"name\",\"required\":\"\",\"rules\":[(v) => !!v || _vm.$t('vaultRequired')]},model:{value:(_vm.editedVault.vault_key_id),callback:function ($$v) {_vm.$set(_vm.editedVault, \"vault_key_id\", $$v)},expression:\"editedVault.vault_key_id\"}}):_vm._e(),(_vm.editedVault.type === 'script')?_c('v-text-field',{attrs:{\"label\":_vm.$t('vaultScript'),\"rules\":[v => this.vaultScriptRules(v)]},model:{value:(_vm.editedVault.script),callback:function ($$v) {_vm.$set(_vm.editedVault, \"script\", $$v)},expression:\"editedVault.script\"}}):_vm._e()],1):_vm._e()],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.editDialog = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('cancel'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){return _vm.saveVault()}}},[_vm._v(\" \"+_vm._s(_vm.editedVaultIndex == null ? _vm.$t('add') : _vm.$t('save'))+\" \")])],1)],1)],1),_c('fieldset',{staticStyle:{\"padding\":\"0 10px 2px 10px\",\"border\":\"1px solid rgba(0, 0, 0, 0.38)\",\"border-radius\":\"4px\",\"font-size\":\"12px\"},style:({\n 'border-color': _vm.$vuetify.theme.dark ?\n 'rgba(200, 200, 200, 0.38)' :\n 'rgba(0, 0, 0, 0.38)'\n })},[_c('legend',{staticStyle:{\"padding\":\"0 3px\"}},[_vm._v(_vm._s(_vm.$t('vaults')))]),_c('v-chip-group',{staticStyle:{\"margin-top\":\"-4px\"},attrs:{\"column\":\"\"}},[_vm._l((_vm.modifiedVaults),function(v,i){return _c('v-chip',{key:v.name,attrs:{\"close\":\"\",\"color\":\"gray\"},on:{\"click:close\":function($event){return _vm.deleteVault(i)},\"click\":function($event){return _vm.editVault(i)}}},[_vm._v(\" \"+_vm._s(v.name || 'default')+\" \")])}),_c('v-chip',{on:{\"click\":function($event){return _vm.editVault(null)}}},[_vm._v(\" + \"),(_vm.modifiedVaults.length === 0)?_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.$t('vaultAdd')))]):_vm._e()])],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n \n \n \n {{ formError }}\n \n\n this.vaultNameRules(v)]\"\n />\n\n !!v || $t('type_required')]\"\n @change=\"updateType\"\n />\n\n !!v || $t('vaultRequired')]\"\n >\n\n this.vaultScriptRules(v)]\"\n />\n\n \n \n \n \n \n {{ $t('cancel') }}\n \n \n {{ editedVaultIndex == null ? $t('add') : $t('save') }}\n \n \n \n \n
\n \n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TemplateVaults.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TemplateVaults.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TemplateVaults.vue?vue&type=template&id=204adcc9\"\nimport script from \"./TemplateVaults.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateVaults.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"pb-6\"},[_c('v-dialog',{attrs:{\"hide-overlay\":\"\",\"width\":\"300\"},model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}},[_c('v-card',{attrs:{\"color\":_vm.$vuetify.theme.dark ? '#212121' : 'white'}},[_c('v-card-title'),_c('v-card-text',{staticClass:\"pb-0\"},[(_vm.editedVar != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"}},[_c('v-alert',{attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError)+\" \")]),_c('v-text-field',{attrs:{\"label\":_vm.$t('name2'),\"rules\":[(v) => !!v || _vm.$t('name_required')],\"required\":\"\"},model:{value:(_vm.editedVar.name),callback:function ($$v) {_vm.$set(_vm.editedVar, \"name\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"editedVar.name\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('title'),\"rules\":[(v) => !!v || _vm.$t('title_required')],\"required\":\"\"},model:{value:(_vm.editedVar.title),callback:function ($$v) {_vm.$set(_vm.editedVar, \"title\", $$v)},expression:\"editedVar.title\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('description'),\"required\":\"\"},model:{value:(_vm.editedVar.description),callback:function ($$v) {_vm.$set(_vm.editedVar, \"description\", $$v)},expression:\"editedVar.description\"}}),_c('v-select',{attrs:{\"label\":_vm.$t('type'),\"items\":_vm.varTypes,\"item-value\":\"id\",\"item-text\":\"name\"},model:{value:(_vm.editedVar.type),callback:function ($$v) {_vm.$set(_vm.editedVar, \"type\", $$v)},expression:\"editedVar.type\"}}),(_vm.editedVar.type === 'enum')?_c('v-data-table',{staticClass:\"elevation-1\",attrs:{\"items\":_vm.editedValues,\"items-per-page\":-1,\"hide-default-footer\":\"\",\"no-data-text\":_vm.$t('noValues')},scopedSlots:_vm._u([{key:\"item\",fn:function(props){return [_c('tr',[_c('td',{staticClass:\"pa-1\"},[_c('v-text-field',{staticClass:\"v-text-field--solo--no-min-height\",attrs:{\"solo-inverted\":\"\",\"flat\":\"\",\"hide-details\":\"\"},model:{value:(props.item.name),callback:function ($$v) {_vm.$set(props.item, \"name\", $$v)},expression:\"props.item.name\"}})],1),_c('td',{staticClass:\"pa-1\"},[_c('v-text-field',{staticClass:\"v-text-field--solo--no-min-height\",attrs:{\"solo-inverted\":\"\",\"flat\":\"\",\"hide-details\":\"\"},model:{value:(props.item.value),callback:function ($$v) {_vm.$set(props.item, \"value\", $$v)},expression:\"props.item.value\"}})],1),_c('td',{staticStyle:{\"width\":\"38px\"}},[_c('v-icon',{staticClass:\"pa-1\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.removeEditedVarValue(props.item)}}},[_vm._v(\" mdi-delete \")])],1)])]}}],null,false,2943351429)}):_vm._e(),_c('div',{staticClass:\"text-right mt-2\"},[(_vm.editedVar.type === 'enum')?_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.addEditedVarValue()}}},[_vm._v(\"Add Value\")]):_vm._e()],1),_c('v-checkbox',{attrs:{\"label\":_vm.$t('required')},model:{value:(_vm.editedVar.required),callback:function ($$v) {_vm.$set(_vm.editedVar, \"required\", $$v)},expression:\"editedVar.required\"}})],1):_vm._e()],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.editDialog = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('cancel'))+\" \")]),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){return _vm.saveVar()}}},[_vm._v(\" \"+_vm._s(_vm.editedVarIndex == null ? _vm.$t('add') : _vm.$t('save'))+\" \")])],1)],1)],1),_c('fieldset',{staticStyle:{\"padding\":\"0 10px 2px 10px\",\"border\":\"1px solid rgba(0, 0, 0, 0.38)\",\"border-radius\":\"4px\",\"font-size\":\"12px\"},style:({\n 'border-color': _vm.$vuetify.theme.dark ?\n 'rgba(200, 200, 200, 0.38)' :\n 'rgba(0, 0, 0, 0.38)'\n })},[_c('legend',{staticStyle:{\"padding\":\"0 3px\"}},[_vm._v(_vm._s(_vm.$t('surveyVariables')))]),_c('v-chip-group',{staticStyle:{\"margin-top\":\"-4px\"},attrs:{\"column\":\"\"}},[_vm._l((_vm.modifiedVars),function(v,i){return _c('v-chip',{key:v.name,attrs:{\"close\":\"\",\"color\":v.type === 'int' ? '#61e2ff' : 'gray'},on:{\"click:close\":function($event){return _vm.deleteVar(i)},\"click\":function($event){return _vm.editVar(i)}}},[_vm._v(\" \"+_vm._s(v.title)+\" \")])}),_c('v-chip',{on:{\"click\":function($event){return _vm.editVar(null)}}},[_vm._v(\" + \"),(_vm.modifiedVars.length === 0)?_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.$t('addVariable')))]):_vm._e()])],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
\n \n \n \n \n {{ formError }}\n \n\n !!v || $t('name_required')]\"\n required\n />\n\n !!v || $t('title_required')]\"\n required\n />\n\n \n \n\n \n \n \n \n \n | \n \n \n | \n \n \n mdi-delete\n \n | \n
\n \n \n\n \n\n Add Value\n
\n\n \n \n \n \n \n \n {{ $t('cancel') }}\n \n \n {{ editedVarIndex == null ? $t('add') : $t('save') }}\n \n \n \n \n
\n
\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SurveyVars.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./SurveyVars.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SurveyVars.vue?vue&type=template&id=6b4124f6\"\nimport script from \"./SurveyVars.vue?vue&type=script&lang=js\"\nexport * from \"./SurveyVars.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n \n \n \n \n \n \n \n \n
\n \n \n \n \n
\n {{ $t('definesStartVersionOfYourArtifactEachRunIncrements') }}\n
\n
\n {{ $t('forMoreInformationAboutBuildingSeeThe') }}\n {{ $t('taskTemplateReference') }}.\n
\n
\n \n \n \n \n\n {{ formError }}\n \n\n \n
\n \n \n {{ TEMPLATE_TYPE_ICONS[key] }}\n {{ $t(TEMPLATE_TYPE_TITLES[key]) }}\n \n \n\n \n !!v || $t('start_version_required')]\"\n required\n :disabled=\"formSaving\"\n :placeholder=\"$t('example000')\"\n append-outer-icon=\"mdi-help-circle\"\n @click:append-outer=\"showHelpDialog('build_version')\"\n >\n\n !!v || $t('build_template_required')]\"\n required\n :disabled=\"formSaving\"\n append-outer-icon=\"mdi-help-circle\"\n @click:append-outer=\"showHelpDialog('build')\"\n >\n\n \n
\n\n \n\n
!!v || $t('name_required')]\"\n outlined\n dense\n required\n :disabled=\"formSaving\"\n >\n\n
\n\n
!!v || $t('playbook_filename_required')] : []\"\n outlined\n dense\n :required=\"isFieldRequired('playbook')\"\n :disabled=\"formSaving\"\n :placeholder=\"$t('exampleSiteyml')\"\n v-if=\"needField('playbook')\"\n >\n\n
\n\n
!!v || $t('repository_required')] : []\"\n outlined\n dense\n :required=\"isFieldRequired('repository')\"\n :disabled=\"formSaving\"\n v-if=\"needField('repository')\"\n >\n\n
!!v || $t('environment_required')] : []\"\n outlined\n dense\n :required=\"isFieldRequired('environment')\"\n :disabled=\"formSaving\"\n v-if=\"needField('environment')\"\n >\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
!!v || $t('repository_required')]\"\n :items=\"repositories\"\n item-value=\"id\"\n item-text=\"name\"\n clearable\n :disabled=\"formSaving\"\n outlined\n dense\n >\n\n
\n\n
\n\n
\n\n
\n\n
\n\n
\n\n \n \n \n \n \n \n\n
\n\n
\n \n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TemplateForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TemplateForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TemplateForm.vue?vue&type=template&id=435f2607\"\nimport script from \"./TemplateForm.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateForm.vue?vue&type=script&lang=js\"\nimport style0 from \"./TemplateForm.vue?vue&type=style&index=0&id=435f2607&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n \n \n \n \n\n\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EditTemplateDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EditTemplateDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EditTemplateDialog.vue?vue&type=template&id=559a55cd\"\nimport script from \"./EditTemplateDialog.vue?vue&type=script&lang=js\"\nexport * from \"./EditTemplateDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./EditTemplateDialog.vue?vue&type=style&index=0&id=559a55cd&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n \n
\n \n
\n \n \n {{ $t('editViews') }}\n \n \n mdi-close\n \n \n \n \n \n \n \n\n
\n\n
\n\n
\n \n \n {{ $t('taskTemplates2') }}\n \n \n\n \n \n \n {{ $t('newTemplate') }}\n mdi-chevron-down\n \n \n \n \n \n \n {{ getAppIcon(appID) }}\n \n \n {{ getAppTitle(appID) }}\n \n\n 0\"/>\n\n \n \n mdi-cogs\n \n Applications\n \n \n \n\n \n mdi-cog\n \n \n\n
\n {{ $t('all') }}\n\n {{ view.title }}\n \n\n \n mdi-pencil\n \n \n\n
\n\n
\n \n \n {{ getAppIcon(item.app) }}\n \n\n \n \n \n\n {{ item.name }}\n \n \n\n \n \n —
\n \n\n \n \n \n
\n {{ $t('notLaunched') }}
\n \n\n \n \n
\n
\n {{ $t('by', {user_name: item.last_task.user_name}) }}\n
\n
\n \n\n \n {{ (inventory.find((x) => x.id === item.inventory_id) || {name: '—'}).name }}\n \n\n \n {{ (environment.find((x) => x.id === item.environment_id) || {name: '—'}).name }}\n \n\n \n {{ repositories.find((x) => x.id === item.repository_id).name }}\n \n\n \n false\">\n \n mdi-play\n \n \n \n\n \n template.id === item.id)\"\n >\n \n | \n \n \n\n
\n
\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Templates.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Templates.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Templates.vue?vue&type=template&id=14d80fa1&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Templates.vue?vue&type=script&lang=js\"\nexport * from \"./Templates.vue?vue&type=script&lang=js\"\nimport style0 from \"./Templates.vue?vue&type=style&index=0&id=14d80fa1&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (!_vm.isLoaded)?_c('div',[_c('v-progress-linear',{attrs:{\"indeterminate\":\"\",\"color\":\"primary darken-2\"}})],1):_c('div',[_c('NewTaskDialog',{attrs:{\"project-id\":_vm.projectId,\"template-id\":_vm.itemId,\"template-alias\":_vm.item.name,\"template-type\":_vm.item.type,\"template-app\":_vm.item.app},model:{value:(_vm.newTaskDialog),callback:function ($$v) {_vm.newTaskDialog=$$v},expression:\"newTaskDialog\"}}),_c('EditTemplateDialogue',{attrs:{\"project-id\":_vm.projectId,\"item-app\":_vm.item.app,\"item-id\":_vm.itemId},on:{\"save\":function($event){return _vm.loadData()}},model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('EditTemplateDialogue',{attrs:{\"project-id\":_vm.projectId,\"item-app\":_vm.item.app,\"item-id\":\"new\",\"source-item-id\":_vm.itemId},on:{\"save\":_vm.onTemplateCopied},model:{value:(_vm.copyDialog),callback:function ($$v) {_vm.copyDialog=$$v},expression:\"copyDialog\"}}),_c('ObjectRefsDialog',{attrs:{\"object-title\":\"template\",\"object-refs\":_vm.itemRefs,\"project-id\":_vm.projectId},model:{value:(_vm.itemRefsDialog),callback:function ($$v) {_vm.itemRefsDialog=$$v},expression:\"itemRefsDialog\"}}),_c('YesNoDialog',{attrs:{\"title\":_vm.$t('deleteTemplate'),\"text\":_vm.$t('askDeleteTemp')},on:{\"yes\":function($event){return _vm.remove()}},model:{value:(_vm.deleteDialog),callback:function ($$v) {_vm.deleteDialog=$$v},expression:\"deleteDialog\"}}),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',{staticClass:\"breadcrumbs\"},[_c('router-link',{staticClass:\"breadcrumbs__item breadcrumbs__item--link\",attrs:{\"to\":_vm.viewId\n ? `/project/${_vm.projectId}/views/${_vm.viewId}/templates/`\n : `/project/${_vm.projectId}/templates/`}},[_vm._v(\" \"+_vm._s(_vm.$t('taskTemplates2'))+\" \")]),_c('v-icon',[_vm._v(\"mdi-chevron-right\")]),_c('span',{staticClass:\"breadcrumbs__item\"},[_vm._v(_vm._s(_vm.item.name))])],1),_c('v-spacer'),_c('v-btn',{staticClass:\"mr-3\",attrs:{\"color\":\"primary\",\"depressed\":\"\"},on:{\"click\":function($event){_vm.newTaskDialog = true}}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.TEMPLATE_TYPE_ACTION_TITLES[_vm.item.type]))+\" \")]),(_vm.canUpdate)?_c('v-btn',{attrs:{\"icon\":\"\",\"color\":\"error\"},on:{\"click\":function($event){return _vm.askDelete()}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1):_vm._e(),(_vm.canUpdate)?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.copyDialog = true}}},[_c('v-icon',[_vm._v(\"mdi-content-copy\")])],1):_vm._e(),(_vm.canUpdate)?_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.editDialog = true}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1):_vm._e()],1),_c('v-tabs',{staticClass:\"ml-4\"},[_c('v-tab',{attrs:{\"to\":`/project/${_vm.item.project_id}${\n _vm.$route.params.viewId ? `/views/${_vm.$route.params.viewId}` : ''\n }/templates/${_vm.item.id}/tasks`}},[_vm._v(\"Tasks\")]),_c('v-tab',{attrs:{\"to\":`/project/${_vm.item.project_id}${\n _vm.$route.params.viewId ? `/views/${_vm.$route.params.viewId}` : ''\n }/templates/${_vm.item.id}/details`}},[_vm._v(\"Details\")]),(['terraform', 'tofu'].includes(_vm.item.app))?_c('v-tab',{attrs:{\"to\":`/project/${_vm.item.project_id}${\n _vm.$route.params.viewId ? `/views/${_vm.$route.params.viewId}` : ''\n }/templates/${_vm.item.id}/state`}},[_vm._v(\" Workspaces \")]):_vm._e()],1),_c('v-divider',{staticStyle:{\"margin-top\":\"-1px\"}}),_c('router-view',{staticClass:\"mt-8\",attrs:{\"template\":_vm.item,\"inventory\":_vm.inventory,\"environment\":_vm.environment,\"repositories\":_vm.repositories,\"premium-features\":_vm.premiumFeatures},on:{\"update-template\":_vm.loadData}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n
\n \n \n\n \n\n \n\n \n\n \n\n \n \n \n \n {{ $t('taskTemplates2') }}\n \n mdi-chevron-right\n {{ item.name }}\n \n\n \n\n \n {{ $t(TEMPLATE_TYPE_ACTION_TITLES[item.type]) }}\n \n\n \n mdi-delete\n \n\n \n mdi-content-copy\n \n\n \n mdi-pencil\n \n \n\n \n Tasks\n Details\n \n Workspaces\n \n \n\n \n\n \n
\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TemplateView.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TemplateView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TemplateView.vue?vue&type=template&id=0cb2dd98&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./TemplateView.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateView.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null)?_c('div',[_c('EditDialog',{attrs:{\"save-button-text\":_vm.$t('save'),\"title\":_vm.$t('editEnvironment'),\"max-width\":500,\"help-button\":true},on:{\"save\":_vm.loadItems},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset, needHelp }){return [_c('EnvironmentForm',{attrs:{\"project-id\":_vm.projectId,\"item-id\":_vm.itemId,\"need-save\":needSave,\"need-reset\":needReset,\"need-help\":needHelp},on:{\"save\":onSave,\"error\":onError}})]}}],null,false,2979847933),model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('ObjectRefsDialog',{attrs:{\"object-title\":\"environment\",\"object-refs\":_vm.itemRefs,\"project-id\":_vm.projectId},model:{value:(_vm.itemRefsDialog),callback:function ($$v) {_vm.itemRefsDialog=$$v},expression:\"itemRefsDialog\"}}),_c('YesNoDialog',{attrs:{\"title\":_vm.$t('deleteEnvironment'),\"text\":_vm.$t('askDeleteEnv')},on:{\"yes\":function($event){return _vm.deleteItem(_vm.itemId)}},model:{value:(_vm.deleteItemDialog),callback:function ($$v) {_vm.deleteItemDialog=$$v},expression:\"deleteItemDialog\"}}),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('environment')))]),_c('v-spacer'),(_vm.can(_vm.USER_PERMISSIONS.manageProjectResources))?_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editItem('new')}}},[_vm._v(_vm._s(_vm.$t('newEnvironment'))+\" \")]):_vm._e()],1),_c('v-divider'),_c('v-data-table',{staticClass:\"mt-4 CenterToScreen\",staticStyle:{\"max-width\":\"calc(var(--breakpoint-lg) - var(--nav-drawer-width) - 200px)\",\"margin\":\"auto\"},attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"hide-default-footer\":\"\",\"items-per-page\":Number.MAX_VALUE},scopedSlots:_vm._u([{key:\"item.name\",fn:function({ item }){return [_c('a',{on:{\"click\":function($event){return _vm.editItem(item.id)}}},[_vm._v(_vm._s(item.name))])]}},{key:\"item.actions\",fn:function({ item }){return [_c('v-btn-toggle',{attrs:{\"dense\":\"\",\"value-comparator\":() => false}},[_c('v-btn',{on:{\"click\":function($event){return _vm.askDeleteItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1),_c('v-btn',{on:{\"click\":function($event){return _vm.editItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1)],1)]}}],null,false,537942180)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.item != null)?_c('v-form',{ref:\"form\",staticClass:\"pb-3\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError))]),_c('v-text-field',{staticClass:\"mb-2\",attrs:{\"label\":_vm.$t('environmentName'),\"rules\":[v => !!v || _vm.$t('name_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.name),callback:function ($$v) {_vm.$set(_vm.item, \"name\", $$v)},expression:\"item.name\"}}),_c('v-tabs',{staticClass:\"mb-7\",attrs:{\"grow\":\"\"},model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab',{key:\"variables\"},[_vm._v(\"Variables\")]),_c('v-tab',{key:\"secrets\"},[_vm._v(\"Secrets\")])],1),_c('v-tabs-items',{model:{value:(_vm.tab),callback:function ($$v) {_vm.tab=$$v},expression:\"tab\"}},[_c('v-tab-item',{key:\"variables\"},[_c('v-subheader',{staticClass:\"px-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('extraVariables'))+\" \"),(_vm.needHelp)?_c('v-tooltip',{attrs:{\"bottom\":\"\",\"color\":\"black\",\"open-delay\":\"300\",\"max-width\":\"400\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-icon',_vm._g(_vm._b({staticClass:\"ml-1\"},'v-icon',attrs,false),on),[_vm._v(\"mdi-help-box\")])]}}],null,false,4246035434)},[_c('div',[_c('div',[_c('code',[_vm._v(\"--extra-vars\")]),_vm._v(\" for Ansible\")]),_c('div',[_c('code',[_vm._v(\"-var\")]),_vm._v(\" for Terraform/OpenTofu\")])])]):_vm._e(),_c('v-spacer'),_c('v-btn-toggle',{attrs:{\"tile\":\"\",\"group\":\"\"},model:{value:(_vm.extraVarsEditMode),callback:function ($$v) {_vm.extraVarsEditMode=$$v},expression:\"extraVarsEditMode\"}},[_c('v-btn',{staticClass:\"mr-0\",staticStyle:{\"border-radius\":\"4px\"},attrs:{\"value\":\"table\",\"small\":\"\"}},[_vm._v(\" Table \")]),_c('v-btn',{staticClass:\"mr-0\",staticStyle:{\"border-radius\":\"4px\"},attrs:{\"value\":\"json\",\"small\":\"\"}},[_vm._v(\" JSON \")])],1),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.addExtraVar()}}},[_c('v-icon',[_vm._v(\" mdi-plus \")])],1)],1),(_vm.extraVarsEditMode === 'json')?_c('codemirror',{style:({ border: '1px solid lightgray' }),attrs:{\"options\":_vm.cmOptions,\"placeholder\":_vm.$t('enterExtraVariablesJson')},model:{value:(_vm.json),callback:function ($$v) {_vm.json=$$v},expression:\"json\"}}):(_vm.extraVarsEditMode === 'table')?_c('div',[(_vm.extraVars != null)?_c('v-data-table',{staticClass:\"elevation-1\",staticStyle:{\"background\":\"#8585850f\"},attrs:{\"items\":_vm.extraVars,\"items-per-page\":-1,\"hide-default-footer\":\"\",\"no-data-text\":_vm.$t('noValues')},scopedSlots:_vm._u([{key:\"item\",fn:function(props){return [_c('tr',[_c('td',{staticClass:\"pa-1\"},[_c('v-text-field',{staticClass:\"v-text-field--solo--no-min-height\",attrs:{\"solo-inverted\":\"\",\"flat\":\"\",\"hide-details\":\"\",\"placeholder\":_vm.$t('name')},model:{value:(props.item.name),callback:function ($$v) {_vm.$set(props.item, \"name\", $$v)},expression:\"props.item.name\"}})],1),_c('td',{staticClass:\"pa-1\"},[_c('v-text-field',{staticClass:\"v-text-field--solo--no-min-height\",attrs:{\"solo-inverted\":\"\",\"flat\":\"\",\"hide-details\":\"\",\"placeholder\":_vm.$t('Value')},model:{value:(props.item.value),callback:function ($$v) {_vm.$set(props.item, \"value\", $$v)},expression:\"props.item.value\"}})],1),_c('td',{staticStyle:{\"width\":\"38px\"}},[_c('v-icon',{staticClass:\"pa-1\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.removeExtraVar(props.item)}}},[_vm._v(\" mdi-delete \")])],1)])]}}],null,false,430214181)}):_c('v-alert',{attrs:{\"color\":\"error\"}},[_vm._v(\"Can't be displayed as table.\")])],1):_vm._e(),_c('div',[_c('v-subheader',{staticClass:\"px-0 mt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('environmentVariables'))+\" \"),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.addEnvVar()}}},[_c('v-icon',[_vm._v(\" mdi-plus \")])],1)],1),_c('v-data-table',{staticClass:\"elevation-1\",staticStyle:{\"background\":\"#8585850f\"},attrs:{\"items\":_vm.env,\"items-per-page\":-1,\"hide-default-footer\":\"\",\"no-data-text\":_vm.$t('noValues')},scopedSlots:_vm._u([{key:\"item\",fn:function(props){return [_c('tr',[_c('td',{staticClass:\"pa-1\"},[_c('v-text-field',{staticClass:\"v-text-field--solo--no-min-height\",attrs:{\"solo-inverted\":\"\",\"flat\":\"\",\"hide-details\":\"\",\"placeholder\":_vm.$t('name')},model:{value:(props.item.name),callback:function ($$v) {_vm.$set(props.item, \"name\", $$v)},expression:\"props.item.name\"}})],1),_c('td',{staticClass:\"pa-1\"},[_c('v-text-field',{staticClass:\"v-text-field--solo--no-min-height\",attrs:{\"solo-inverted\":\"\",\"flat\":\"\",\"hide-details\":\"\",\"placeholder\":_vm.$t('Value')},model:{value:(props.item.value),callback:function ($$v) {_vm.$set(props.item, \"value\", $$v)},expression:\"props.item.value\"}})],1),_c('td',{staticStyle:{\"width\":\"38px\"}},[_c('v-icon',{staticClass:\"pa-1\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.removeEnvVar(props.item)}}},[_vm._v(\" mdi-delete \")])],1)])]}}],null,false,2381899778)})],1)],1),_c('v-tab-item',{key:\"secrets\"},[_c('div',[_c('v-subheader',{staticClass:\"px-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('extraVariables'))+\" \"),(_vm.needHelp)?_c('v-tooltip',{attrs:{\"bottom\":\"\",\"color\":\"black\",\"open-delay\":\"300\",\"max-width\":\"400\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-icon',_vm._g(_vm._b({staticClass:\"ml-1\"},'v-icon',attrs,false),on),[_vm._v(\"mdi-help-box\")])]}}],null,false,4246035434)},[_c('div',[_c('div',[_c('code',[_vm._v(\"--extra-vars\")]),_vm._v(\" for Ansible\")]),_c('div',[_c('code',[_vm._v(\"-var\")]),_vm._v(\" for Terraform/OpenTofu\")])])]):_vm._e(),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.addSecret('var')}}},[_c('v-icon',[_vm._v(\" mdi-plus \")])],1)],1),_c('v-data-table',{staticClass:\"elevation-1\",staticStyle:{\"background\":\"#8585850f\"},attrs:{\"items\":_vm.secrets.filter(s => !s.remove && s.type === 'var'),\"items-per-page\":-1,\"hide-default-footer\":\"\",\"no-data-text\":_vm.$t('noValues')},scopedSlots:_vm._u([{key:\"item\",fn:function(props){return [_c('tr',[_c('td',{staticClass:\"pa-1\"},[_c('v-text-field',{staticClass:\"v-text-field--solo--no-min-height\",attrs:{\"solo-inverted\":\"\",\"flat\":\"\",\"hide-details\":\"\",\"placeholder\":_vm.$t('name')},model:{value:(props.item.name),callback:function ($$v) {_vm.$set(props.item, \"name\", $$v)},expression:\"props.item.name\"}})],1),_c('td',{staticClass:\"pa-1\"},[_c('v-text-field',{staticClass:\"v-text-field--solo--no-min-height\",attrs:{\"solo-inverted\":\"\",\"flat\":\"\",\"hide-details\":\"\",\"placeholder\":\"*******\"},model:{value:(props.item.value),callback:function ($$v) {_vm.$set(props.item, \"value\", $$v)},expression:\"props.item.value\"}})],1),_c('td',{staticStyle:{\"width\":\"38px\"}},[_c('v-icon',{staticClass:\"pa-1\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.removeSecret(props.item)}}},[_vm._v(\" mdi-delete \")])],1)])]}}],null,false,989876476)})],1),_c('div',[_c('v-subheader',{staticClass:\"px-0 mt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('environmentVariables'))+\" \"),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.addSecret('env')}}},[_c('v-icon',[_vm._v(\" mdi-plus \")])],1)],1),_c('v-data-table',{staticClass:\"elevation-1\",staticStyle:{\"background\":\"#8585850f\"},attrs:{\"items\":_vm.secrets.filter(s => !s.remove && s.type === 'env'),\"items-per-page\":-1,\"hide-default-footer\":\"\",\"no-data-text\":_vm.$t('noValues')},scopedSlots:_vm._u([{key:\"item\",fn:function(props){return [_c('tr',[_c('td',{staticClass:\"pa-1\"},[_c('v-text-field',{staticClass:\"v-text-field--solo--no-min-height\",attrs:{\"solo-inverted\":\"\",\"flat\":\"\",\"hide-details\":\"\",\"placeholder\":_vm.$t('name')},model:{value:(props.item.name),callback:function ($$v) {_vm.$set(props.item, \"name\", $$v)},expression:\"props.item.name\"}})],1),_c('td',{staticClass:\"pa-1\"},[_c('v-text-field',{staticClass:\"v-text-field--solo--no-min-height\",attrs:{\"solo-inverted\":\"\",\"flat\":\"\",\"hide-details\":\"\",\"placeholder\":\"*******\"},model:{value:(props.item.value),callback:function ($$v) {_vm.$set(props.item, \"value\", $$v)},expression:\"props.item.value\"}})],1),_c('td',{staticStyle:{\"width\":\"38px\"}},[_c('v-icon',{staticClass:\"pa-1\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.removeSecret(props.item)}}},[_vm._v(\" mdi-delete \")])],1)])]}}],null,false,989876476)})],1)])],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ formError }}\n\n !!v || $t('name_required')]\"\n required\n :disabled=\"formSaving\"\n class=\"mb-2\"\n >\n\n \n Variables\n Secrets\n \n\n \n \n\n \n {{ $t('extraVariables') }}\n\n \n \n mdi-help-box\n \n \n
--extra-vars
for Ansible
\n
-var
for Terraform/OpenTofu
\n
\n \n\n \n\n \n \n Table\n \n \n JSON\n \n \n\n \n \n mdi-plus\n \n \n\n \n\n \n\n \n \n \n \n \n \n | \n \n \n | \n \n \n mdi-delete\n \n | \n
\n \n \n\n Can't be displayed as table.\n
\n\n \n \n {{ $t('environmentVariables') }}\n\n \n\n \n \n mdi-plus\n \n \n \n \n \n \n \n \n | \n \n \n | \n \n \n mdi-delete\n \n | \n
\n \n \n
\n \n\n \n\n \n
\n {{ $t('extraVariables') }}\n\n \n \n mdi-help-box\n \n \n
--extra-vars
for Ansible
\n
-var
for Terraform/OpenTofu
\n
\n \n\n \n \n \n mdi-plus\n \n \n \n\n
!s.remove && s.type === 'var')\"\n :items-per-page=\"-1\"\n class=\"elevation-1\"\n hide-default-footer\n :no-data-text=\"$t('noValues')\"\n style=\"background: #8585850f\"\n >\n \n \n \n \n | \n\n \n \n | \n\n \n \n mdi-delete\n \n | \n
\n \n \n
\n\n \n \n {{ $t('environmentVariables') }}\n\n \n\n \n \n mdi-plus\n \n \n \n\n !s.remove && s.type === 'env')\"\n :items-per-page=\"-1\"\n class=\"elevation-1\"\n hide-default-footer\n :no-data-text=\"$t('noValues')\"\n style=\"background: #8585850f\"\n >\n \n \n \n \n | \n\n \n \n | \n\n \n \n mdi-delete\n \n | \n
\n \n \n
\n\n \n \n\n \n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EnvironmentForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./EnvironmentForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./EnvironmentForm.vue?vue&type=template&id=7a3ed795\"\nimport script from \"./EnvironmentForm.vue?vue&type=script&lang=js\"\nexport * from \"./EnvironmentForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n
\n \n \n \n \n\n
\n\n
\n\n
\n \n {{ $t('environment') }}\n \n {{ $t('newEnvironment') }}\n \n \n\n
\n\n
\n \n {{ item.name }}\n \n \n false\">\n \n mdi-delete\n \n \n mdi-pencil\n \n \n \n \n
\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Environment.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Environment.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Environment.vue?vue&type=template&id=b978420a&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Environment.vue?vue&type=script&lang=js\"\nexport * from \"./Environment.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null)?_c('div',[_c('EditDialog',{attrs:{\"save-button-text\":_vm.$t('Attach'),\"icon\":_vm.getAppIcon(_vm.itemApp),\"icon-color\":_vm.getAppColor(_vm.itemApp),\"max-width\":450,\"title\":\"Choose workspace to attach\"},on:{\"save\":function($event){return _vm.attachInventory($event.itemId)}},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, needSave, needReset }){return [_c('TemplateSelectForm',{attrs:{\"app\":_vm.itemApp,\"project-id\":_vm.projectId,\"need-save\":needSave,\"need-reset\":needReset},on:{\"save\":onSave}})]}}],null,false,3046733190),model:{value:(_vm.attachInventoryDialog),callback:function ($$v) {_vm.attachInventoryDialog=$$v},expression:\"attachInventoryDialog\"}}),_c('EditDialog',{attrs:{\"expandable\":\"\",\"save-button-text\":_vm.itemId === 'new' ? _vm.$t('create') : _vm.$t('save'),\"icon\":_vm.getAppIcon(_vm.itemApp),\"icon-color\":_vm.getAppColor(_vm.itemApp),\"title\":`${_vm.itemId === 'new' ? _vm.$t('nnew') : _vm.$t('edit')} ${_vm.APP_INVENTORY_TITLE[_vm.itemApp]}`,\"max-width\":450},on:{\"save\":_vm.loadItems},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('InventoryForm',{attrs:{\"project-id\":_vm.projectId,\"item-id\":_vm.itemId,\"need-save\":needSave,\"need-reset\":needReset},on:{\"save\":onSave,\"error\":onError}})]}}],null,false,3949045006),model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('ObjectRefsDialog',{attrs:{\"object-title\":\"inventory\",\"object-refs\":_vm.itemRefs,\"project-id\":_vm.projectId},model:{value:(_vm.itemRefsDialog),callback:function ($$v) {_vm.itemRefsDialog=$$v},expression:\"itemRefsDialog\"}}),_c('YesNoDialog',{attrs:{\"title\":_vm.$t('deleteInventory'),\"text\":_vm.$t('askDeleteInv')},on:{\"yes\":function($event){return _vm.deleteItem(_vm.itemId)}},model:{value:(_vm.deleteItemDialog),callback:function ($$v) {_vm.deleteItemDialog=$$v},expression:\"deleteItemDialog\"}}),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('inventory')))]),_c('v-spacer'),_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [(_vm.can(_vm.USER_PERMISSIONS.manageProjectResources))?_c('v-btn',_vm._g(_vm._b({staticClass:\"pr-2\",attrs:{\"color\":\"primary\"}},'v-btn',attrs,false),on),[_vm._v(_vm._s(_vm.$t('newInventory'))+\" \"),_c('v-icon',[_vm._v(\"mdi-chevron-down\")])],1):_vm._e()]}}],null,false,2744150740)},[_c('v-list',_vm._l((_vm.apps),function(item){return _c('v-list-item',{key:item,attrs:{\"link\":\"\"},on:{\"click\":function($event){_vm.itemApp = item; _vm.editItem('new');}}},[_c('v-list-item-icon',[_c('v-icon',{attrs:{\"color\":_vm.getAppColor(item)}},[_vm._v(_vm._s(_vm.getAppIcon(item))+\" \")])],1),_c('v-list-item-title',[_vm._v(_vm._s(_vm.APP_INVENTORY_TITLE[item]))])],1)}),1)],1)],1),_c('v-divider'),_c('v-data-table',{staticClass:\"mt-4\",staticStyle:{\"max-width\":\"calc(var(--breakpoint-xl) - var(--nav-drawer-width) - 200px)\",\"margin\":\"auto\"},attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"hide-default-footer\":\"\",\"items-per-page\":Number.MAX_VALUE},scopedSlots:_vm._u([{key:\"item.name\",fn:function({ item }){return [_c('v-icon',{staticClass:\"mr-3\",attrs:{\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.getAppIcon(_vm.getAppByType(item.type)))+\" \")]),_vm._v(\" \"+_vm._s(item.name)+\" \")]}},{key:\"item.type\",fn:function({ item }){return [_c('code',[_vm._v(_vm._s(item.type))])]}},{key:\"item.inventory\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(['file', 'terraform-workspace'].includes(item.type) ? item.inventory : '—')+\" \")]}},{key:\"item.actions\",fn:function({ item }){return [_c('v-btn-toggle',{attrs:{\"dense\":\"\",\"value-comparator\":() => false}},[_c('v-btn',{on:{\"click\":function($event){return _vm.askDeleteItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1),(!['tofu', 'terraform'].includes(_vm.getAppByType(item.type)))?_c('v-btn',{on:{\"click\":function($event){_vm.itemApp = _vm.getAppByType(item.type); _vm.editItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1):_c('v-btn',{on:{\"click\":function($event){_vm.itemId = item.id;\n _vm.itemApp = _vm.getAppByType(item.type);\n _vm.attachInventoryDialog = true;}}},[_c('v-icon',[_vm._v(\"mdi-connection\")])],1)],1)]}}],null,false,2582230954)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.item != null && _vm.keys != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError)+\" \")]),_c('v-text-field',{attrs:{\"label\":_vm.$t('name'),\"rules\":[v => !!v || _vm.$t('name_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.name),callback:function ($$v) {_vm.$set(_vm.item, \"name\", $$v)},expression:\"item.name\"}}),_c('v-select',{attrs:{\"label\":_vm.$t('userCredentials'),\"items\":_vm.keys,\"item-value\":\"id\",\"item-text\":\"name\",\"rules\":[v => !!v || _vm.$t('user_credentials_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.ssh_key_id),callback:function ($$v) {_vm.$set(_vm.item, \"ssh_key_id\", $$v)},expression:\"item.ssh_key_id\"}}),_c('v-select',{attrs:{\"label\":_vm.$t('sudoCredentialsOptional'),\"clearable\":\"\",\"items\":_vm.loginPasswordKeys,\"item-value\":\"id\",\"item-text\":\"name\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.become_key_id),callback:function ($$v) {_vm.$set(_vm.item, \"become_key_id\", $$v)},expression:\"item.become_key_id\"}}),_c('v-select',{attrs:{\"label\":_vm.$t('type'),\"rules\":[v => !!v || _vm.$t('type_required')],\"items\":_vm.inventoryTypes,\"item-value\":\"id\",\"item-text\":\"name\",\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.type),callback:function ($$v) {_vm.$set(_vm.item, \"type\", $$v)},expression:\"item.type\"}}),(_vm.item.type === 'file')?_c('v-text-field',{attrs:{\"label\":_vm.$t('pathToInventoryFile'),\"rules\":[v => !!v || _vm.$t('path_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.inventory),callback:function ($$v) {_vm.$set(_vm.item, \"inventory\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"item.inventory\"}}):_vm._e(),(_vm.item.type === 'file')?_c('v-select',{attrs:{\"label\":_vm.$t('repository') + ' (Optional)',\"clearable\":\"\",\"items\":_vm.repositories,\"item-value\":\"id\",\"item-text\":\"name\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.repository_id),callback:function ($$v) {_vm.$set(_vm.item, \"repository_id\", $$v)},expression:\"item.repository_id\"}}):_vm._e(),(_vm.item.type === 'static' || _vm.item.type === 'static-yaml')?_c('codemirror',{class:{\n 'vue-codemirror--static': _vm.item.type === 'static',\n 'vue-codemirror--static-yaml': _vm.item.type === 'static-yaml',\n },style:({ border: '1px solid lightgray' }),attrs:{\"options\":_vm.cmOptions,\"placeholder\":_vm.$t('enterInventory')},model:{value:(_vm.item.inventory),callback:function ($$v) {_vm.$set(_vm.item, \"inventory\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"item.inventory\"}}):_vm._e(),(_vm.item.type === 'static')?_c('v-alert',{staticClass:\"mt-4\",attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\" \"+_vm._s(_vm.$t('staticInventoryExample'))+\" \"),_c('pre',{staticStyle:{\"font-size\":\"14px\"}},[_vm._v(\"[website]\\n172.18.8.40\\n172.18.8.41\")])]):_vm._e(),(_vm.item.type === 'static-yaml')?_c('v-alert',{staticClass:\"mt-4\",attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\" \"+_vm._s(_vm.$t('staticYamlInventoryExample'))+\" \"),_c('pre',{staticStyle:{\"font-size\":\"14px\"}},[_vm._v(\"all:\\n children:\\n website:\\n hosts:\\n 172.18.8.40:\\n 172.18.8.41:\")])]):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ formError }}\n \n\n !!v || $t('name_required')]\"\n required\n :disabled=\"formSaving\"\n >\n\n !!v || $t('user_credentials_required')]\"\n required\n :disabled=\"formSaving\"\n >\n\n \n\n !!v || $t('type_required')]\"\n :items=\"inventoryTypes\"\n item-value=\"id\"\n item-text=\"name\"\n required\n :disabled=\"formSaving\"\n >\n\n !!v || $t('path_required')]\"\n required\n :disabled=\"formSaving\"\n v-if=\"item.type === 'file'\"\n >\n\n \n\n \n\n \n {{ $t('staticInventoryExample') }}\n [website]\n172.18.8.40\n172.18.8.41
\n \n\n \n {{ $t('staticYamlInventoryExample') }}\n all:\n children:\n website:\n hosts:\n 172.18.8.40:\n 172.18.8.41:
\n \n \n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InventoryForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./InventoryForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InventoryForm.vue?vue&type=template&id=42913667\"\nimport script from \"./InventoryForm.vue?vue&type=script&lang=js\"\nexport * from \"./InventoryForm.vue?vue&type=script&lang=js\"\nimport style0 from \"./InventoryForm.vue?vue&type=style&index=0&id=42913667&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError)+\" \")]),_c('v-select',{attrs:{\"rules\":[v => !!v || _vm.$t('template_required')],\"items\":_vm.items,\"label\":\"Template\",\"item-value\":\"id\",\"item-text\":\"name\"},model:{value:(_vm.itemId),callback:function ($$v) {_vm.itemId=$$v},expression:\"itemId\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ formError }}\n \n\n !!v || $t('template_required')]\"\n :items=\"items\"\n v-model=\"itemId\"\n label=\"Template\"\n item-value=\"id\"\n item-text=\"name\"\n />\n \n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TemplateSelectForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TemplateSelectForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TemplateSelectForm.vue?vue&type=template&id=71fd7842\"\nimport script from \"./TemplateSelectForm.vue?vue&type=script&lang=js\"\nexport * from \"./TemplateSelectForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n\n \n \n \n \n \n\n \n \n \n \n \n\n \n\n \n\n \n \n {{ $t('inventory') }}\n \n\n \n \n {{ $t('newInventory') }}\n mdi-chevron-down\n \n \n \n \n \n {{ getAppIcon(item) }}\n \n \n {{ APP_INVENTORY_TITLE[item] }}\n \n \n \n \n\n \n\n \n \n \n {{ getAppIcon(getAppByType(item.type)) }}\n \n\n {{ item.name }}\n \n\n \n {{ item.type }}
\n \n \n {{ ['file', 'terraform-workspace'].includes(item.type) ? item.inventory : '—' }}\n \n \n false\">\n \n mdi-delete\n \n \n mdi-pencil\n \n \n mdi-connection\n \n \n \n \n
\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Inventory.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Inventory.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Inventory.vue?vue&type=template&id=52458ad0&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Inventory.vue?vue&type=script&lang=js\"\nexport * from \"./Inventory.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null)?_c('div',[_c('EditDialog',{attrs:{\"save-button-text\":_vm.itemId === 'new' ? _vm.$t('create') : _vm.$t('save'),\"title\":`${_vm.itemId === 'new' ? _vm.$t('nnew') : _vm.$t('edit')} Key`,\"max-width\":450,\"position\":\"top\"},on:{\"save\":function($event){return _vm.loadItems()}},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('KeyForm',{attrs:{\"project-id\":_vm.projectId,\"item-id\":_vm.itemId,\"need-save\":needSave,\"need-reset\":needReset},on:{\"save\":onSave,\"error\":onError}})]}}],null,false,230075347),model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('ObjectRefsDialog',{attrs:{\"object-title\":\"access key\",\"object-refs\":_vm.itemRefs,\"project-id\":_vm.projectId},model:{value:(_vm.itemRefsDialog),callback:function ($$v) {_vm.itemRefsDialog=$$v},expression:\"itemRefsDialog\"}}),_c('YesNoDialog',{attrs:{\"title\":_vm.$t('deleteKey'),\"text\":_vm.$t('askDeleteKey')},on:{\"yes\":function($event){return _vm.deleteItem(_vm.itemId)}},model:{value:(_vm.deleteItemDialog),callback:function ($$v) {_vm.deleteItemDialog=$$v},expression:\"deleteItemDialog\"}}),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('keyStore')))]),_c('v-spacer'),(_vm.can(_vm.USER_PERMISSIONS.manageProjectResources))?_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editItem('new')}}},[_vm._v(_vm._s(_vm.$t('newKey')))]):_vm._e()],1),_c('v-divider'),_c('v-data-table',{staticClass:\"mt-4\",staticStyle:{\"max-width\":\"calc(var(--breakpoint-xl) - var(--nav-drawer-width) - 200px)\",\"margin\":\"auto\"},attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"hide-default-footer\":\"\",\"items-per-page\":Number.MAX_VALUE},scopedSlots:_vm._u([{key:\"item.name\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(item.name)+\" \"),(item.empty && item.type !== 'none')?_c('v-chip',{staticClass:\"ml-2\",staticStyle:{\"font-weight\":\"bold\"},attrs:{\"color\":\"error\",\"small\":\"\"}},[_vm._v(_vm._s(_vm.$t('empty')))]):_vm._e()]}},{key:\"item.type\",fn:function({ item }){return [_c('code',[_vm._v(_vm._s(item.type))])]}},{key:\"item.actions\",fn:function({ item }){return [_c('v-btn-toggle',{attrs:{\"dense\":\"\",\"value-comparator\":() => false}},[_c('v-btn',{on:{\"click\":function($event){return _vm.askDeleteItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1),_c('v-btn',{on:{\"click\":function($event){return _vm.editItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1)],1)]}}],null,false,339116222)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.item != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError)+\" \")]),_c('v-text-field',{attrs:{\"label\":_vm.$t('keyName'),\"rules\":[v => !!v || _vm.$t('name_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.name),callback:function ($$v) {_vm.$set(_vm.item, \"name\", $$v)},expression:\"item.name\"}}),_c('v-select',{attrs:{\"label\":_vm.$t('type'),\"rules\":[v => (!!v || !_vm.canEditSecrets) || _vm.$t('type_required')],\"items\":_vm.inventoryTypes,\"item-value\":\"id\",\"item-text\":\"name\",\"required\":_vm.canEditSecrets,\"disabled\":_vm.formSaving || !_vm.canEditSecrets},model:{value:(_vm.item.type),callback:function ($$v) {_vm.$set(_vm.item, \"type\", $$v)},expression:\"item.type\"}}),(_vm.item.type === 'login_password')?_c('v-text-field',{attrs:{\"label\":_vm.$t('loginOptional'),\"disabled\":_vm.formSaving || !_vm.canEditSecrets},model:{value:(_vm.item.login_password.login),callback:function ($$v) {_vm.$set(_vm.item.login_password, \"login\", $$v)},expression:\"item.login_password.login\"}}):_vm._e(),(_vm.item.type === 'login_password')?_c('v-text-field',{attrs:{\"append-icon\":_vm.showLoginPassword ? 'mdi-eye' : 'mdi-eye-off',\"label\":_vm.$t('password'),\"rules\":[v => (!!v || !_vm.canEditSecrets) || _vm.$t('password_required')],\"type\":_vm.showLoginPassword ? 'text' : 'password',\"required\":_vm.canEditSecrets,\"disabled\":_vm.formSaving || !_vm.canEditSecrets,\"autocomplete\":\"new-password\"},on:{\"click:append\":function($event){_vm.showLoginPassword = !_vm.showLoginPassword}},model:{value:(_vm.item.login_password.password),callback:function ($$v) {_vm.$set(_vm.item.login_password, \"password\", $$v)},expression:\"item.login_password.password\"}}):_vm._e(),(_vm.item.type === 'ssh')?_c('v-text-field',{attrs:{\"label\":_vm.$t('usernameOptional'),\"disabled\":_vm.formSaving || !_vm.canEditSecrets},model:{value:(_vm.item.ssh.login),callback:function ($$v) {_vm.$set(_vm.item.ssh, \"login\", $$v)},expression:\"item.ssh.login\"}}):_vm._e(),(_vm.item.type === 'ssh')?_c('v-text-field',{attrs:{\"append-icon\":_vm.showSSHPassphrase ? 'mdi-eye' : 'mdi-eye-off',\"label\":\"Passphrase (Optional)\",\"type\":_vm.showSSHPassphrase ? 'text' : 'password',\"disabled\":_vm.formSaving || !_vm.canEditSecrets},on:{\"click:append\":function($event){_vm.showSSHPassphrase = !_vm.showSSHPassphrase}},model:{value:(_vm.item.ssh.passphrase),callback:function ($$v) {_vm.$set(_vm.item.ssh, \"passphrase\", $$v)},expression:\"item.ssh.passphrase\"}}):_vm._e(),(_vm.item.type === 'ssh')?_c('v-textarea',{attrs:{\"outlined\":\"\",\"label\":_vm.$t('privateKey'),\"disabled\":_vm.formSaving || !_vm.canEditSecrets,\"rules\":[v => !_vm.canEditSecrets || !!v || _vm.$t('private_key_required')]},model:{value:(_vm.item.ssh.private_key),callback:function ($$v) {_vm.$set(_vm.item.ssh, \"private_key\", $$v)},expression:\"item.ssh.private_key\"}}):_vm._e(),(!_vm.isNew)?_c('v-checkbox',{attrs:{\"label\":_vm.$t('override')},model:{value:(_vm.item.override_secret),callback:function ($$v) {_vm.$set(_vm.item, \"override_secret\", $$v)},expression:\"item.override_secret\"}}):_vm._e(),(_vm.item.type === 'none')?_c('v-alert',{attrs:{\"dense\":\"\",\"text\":\"\",\"type\":\"info\"}},[_vm._v(\" \"+_vm._s(_vm.$t('useThisTypeOfKeyForHttpsRepositoriesAndForPlaybook'))+\" \")]):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ formError }}\n \n\n !!v || $t('name_required')]\"\n required\n :disabled=\"formSaving\"\n />\n\n (!!v || !canEditSecrets) || $t('type_required')]\"\n :items=\"inventoryTypes\"\n item-value=\"id\"\n item-text=\"name\"\n :required=\"canEditSecrets\"\n :disabled=\"formSaving || !canEditSecrets\"\n />\n\n \n\n (!!v || !canEditSecrets) || $t('password_required')]\"\n :type=\"showLoginPassword ? 'text' : 'password'\"\n v-if=\"item.type === 'login_password'\"\n :required=\"canEditSecrets\"\n :disabled=\"formSaving || !canEditSecrets\"\n autocomplete=\"new-password\"\n @click:append=\"showLoginPassword = !showLoginPassword\"\n />\n\n \n\n \n\n !canEditSecrets || !!v || $t('private_key_required')]\"\n v-if=\"item.type === 'ssh'\"\n />\n\n \n\n \n {{ $t('useThisTypeOfKeyForHttpsRepositoriesAndForPlaybook') }}\n \n \n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./KeyForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./KeyForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./KeyForm.vue?vue&type=template&id=bccf882c\"\nimport script from \"./KeyForm.vue?vue&type=script&lang=js\"\nexport * from \"./KeyForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n \n \n \n \n \n\n \n\n \n\n \n \n {{ $t('keyStore') }}\n \n {{ $t('newKey') }}\n \n\n \n\n \n \n {{ item.name }}\n {{ $t('empty') }}\n \n \n {{ item.type }}
\n \n \n false\">\n \n mdi-delete\n \n \n mdi-pencil\n \n \n \n \n\n
\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Keys.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Keys.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Keys.vue?vue&type=template&id=fca389dc&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Keys.vue?vue&type=script&lang=js\"\nexport * from \"./Keys.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null && _vm.keys != null)?_c('div',[_c('EditDialog',{attrs:{\"save-button-text\":_vm.itemId === 'new' ? _vm.$t('create') : _vm.$t('save'),\"title\":`${_vm.itemId === 'new' ? _vm.$t('nnew') : _vm.$t('edit')} Repository`,\"max-width\":450},on:{\"save\":function($event){return _vm.loadItems()}},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('RepositoryForm',{attrs:{\"project-id\":_vm.projectId,\"item-id\":_vm.itemId,\"need-save\":needSave,\"need-reset\":needReset},on:{\"save\":onSave,\"error\":onError}})]}}],null,false,1393318470),model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('ObjectRefsDialog',{attrs:{\"object-title\":\"repository\",\"object-refs\":_vm.itemRefs,\"project-id\":_vm.projectId},model:{value:(_vm.itemRefsDialog),callback:function ($$v) {_vm.itemRefsDialog=$$v},expression:\"itemRefsDialog\"}}),_c('YesNoDialog',{attrs:{\"title\":_vm.$t('deleteRepository'),\"text\":_vm.$t('askDeleteRepo')},on:{\"yes\":function($event){return _vm.deleteItem(_vm.itemId)}},model:{value:(_vm.deleteItemDialog),callback:function ($$v) {_vm.deleteItemDialog=$$v},expression:\"deleteItemDialog\"}}),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('repositories')))]),_c('v-spacer'),(_vm.can(_vm.USER_PERMISSIONS.manageProjectResources))?_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editItem('new')}}},[_vm._v(_vm._s(_vm.$t('newRepository')))]):_vm._e()],1),_c('v-divider'),_c('v-data-table',{staticClass:\"mt-4\",staticStyle:{\"max-width\":\"calc(var(--breakpoint-xl) - var(--nav-drawer-width) - 100px)\",\"margin\":\"auto\"},attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"hide-default-footer\":\"\",\"items-per-page\":Number.MAX_VALUE},scopedSlots:_vm._u([{key:\"item.git_url\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(item.git_url)+\" \"),(!item.git_url.startsWith('/'))?_c('code',[_vm._v(_vm._s(item.git_branch))]):_vm._e()]}},{key:\"item.ssh_key_id\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm.keys.find((k) => k.id === item.ssh_key_id).name)+\" \")]}},{key:\"item.actions\",fn:function({ item }){return [_c('v-btn-toggle',{attrs:{\"dense\":\"\",\"value-comparator\":() => false}},[_c('v-btn',{on:{\"click\":function($event){return _vm.askDeleteItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1),_c('v-btn',{on:{\"click\":function($event){return _vm.editItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1)],1)]}}],null,false,1523989654)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.item != null && _vm.keys != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError)+\" \")]),_c('v-text-field',{attrs:{\"label\":_vm.$t('name'),\"rules\":[v => !!v || _vm.$t('name_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.name),callback:function ($$v) {_vm.$set(_vm.item, \"name\", $$v)},expression:\"item.name\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('urlOrPath'),\"rules\":[\n v => !!v || _vm.$t('repository_required'),\n v => _vm.getTypeOfUrl(v) != null || _vm.$t('incorrectUrl'),\n ],\"required\":\"\",\"disabled\":_vm.formSaving,\"hide-details\":true},model:{value:(_vm.item.git_url),callback:function ($$v) {_vm.$set(_vm.item, \"git_url\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"item.git_url\"}}),_c('div',{staticClass:\"mt-1 mb-4\"},[_c('span',{staticClass:\"caption\"},[_vm._v(\"git:\")]),_vm._l((['ssh', 'http', 'https', 'file', 'git']),function(x){return _c('v-chip',{key:x,staticClass:\"ml-1\",staticStyle:{\"font-weight\":\"bold\"},attrs:{\"x-small\":\"\",\"color\":_vm.type ===x ? 'primary' : ''},on:{\"click\":function($event){return _vm.setType(x)}}},[_vm._v(_vm._s(x))])}),_c('span',{staticClass:\"caption ml-3\"},[_vm._v(\"local:\")]),_c('v-chip',{staticClass:\"ml-1\",staticStyle:{\"font-weight\":\"bold\"},attrs:{\"x-small\":\"\",\"color\":_vm.type ==='local' ? 'primary' : ''},on:{\"click\":function($event){return _vm.setType('local')}}},[_vm._v(\" \"+_vm._s(_vm.$t('absPath'))+\" \")])],2),_c('v-text-field',{attrs:{\"label\":_vm.$t('branch'),\"rules\":[v => (!!v || _vm.type === 'local') || _vm.$t('branch_required')],\"required\":\"\",\"disabled\":_vm.formSaving || _vm.type === 'local'},model:{value:(_vm.item.git_branch),callback:function ($$v) {_vm.$set(_vm.item, \"git_branch\", (typeof $$v === 'string'? $$v.trim(): $$v))},expression:\"item.git_branch\"}}),_c('v-select',{attrs:{\"label\":_vm.$t('accessKey'),\"items\":_vm.keys,\"item-value\":\"id\",\"item-text\":\"name\",\"rules\":[v => !!v || _vm.$t('key_required')],\"required\":\"\",\"disabled\":_vm.formSaving},scopedSlots:_vm._u([{key:\"append-outer\",fn:function(){return [_c('v-tooltip',{attrs:{\"left\":\"\",\"color\":\"black\",\"content-class\":\"opacity1\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-icon',_vm._g(_vm._b({},'v-icon',attrs,false),on),[_vm._v(\" mdi-help-circle \")])]}}],null,false,130105724)},[_c('div',{staticClass:\"py-4\"},[_c('p',[_vm._v(_vm._s(_vm.$t('credentialsToAccessToTheGitRepositoryItShouldBe')))]),_c('ul',[_c('li',[_c('code',[_vm._v(_vm._s(_vm.$t('ssh')))]),_vm._v(\" \"+_vm._s(_vm.$t('ifYouUseGitOrSshUrl')))]),_c('li',[_c('code',[_vm._v(_vm._s(_vm.$t('none')))]),_vm._v(\" \"+_vm._s(_vm.$t('ifYouUseHttpsOrFileUrl')))])])])])]},proxy:true}],null,false,3195334571),model:{value:(_vm.item.ssh_key_id),callback:function ($$v) {_vm.$set(_vm.item, \"ssh_key_id\", $$v)},expression:\"item.ssh_key_id\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ formError }}\n \n\n !!v || $t('name_required')]\"\n required\n :disabled=\"formSaving\"\n >\n\n !!v || $t('repository_required'),\n v => getTypeOfUrl(v) != null || $t('incorrectUrl'),\n ]\"\n required\n :disabled=\"formSaving\"\n :hide-details=\"true\"\n >\n\n \n git:\n {{ x }}\n local:\n \n {{ $t('absPath') }}\n \n
\n\n (!!v || type === 'local') || $t('branch_required')]\"\n required\n :disabled=\"formSaving || type === 'local'\"\n >\n\n !!v || $t('key_required')]\"\n required\n :disabled=\"formSaving\"\n >\n \n \n \n \n mdi-help-circle\n \n \n \n
{{ $t('credentialsToAccessToTheGitRepositoryItShouldBe') }}
\n
\n {{ $t('ssh') }}
{{ $t('ifYouUseGitOrSshUrl') }} \n {{ $t('none') }}
{{ $t('ifYouUseHttpsOrFileUrl') }} \n
\n
\n \n \n \n \n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RepositoryForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RepositoryForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RepositoryForm.vue?vue&type=template&id=3ec05c65\"\nimport script from \"./RepositoryForm.vue?vue&type=script&lang=js\"\nexport * from \"./RepositoryForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n \n \n \n \n \n\n \n\n \n\n \n \n {{ $t('repositories') }}\n \n {{ $t('newRepository') }}\n \n\n \n\n \n \n {{ item.git_url }}\n {{ item.git_branch }}
\n \n\n \n {{ keys.find((k) => k.id === item.ssh_key_id).name }}\n \n\n \n false\">\n \n mdi-delete\n \n \n mdi-pencil\n \n \n \n \n
\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Repositories.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Repositories.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Repositories.vue?vue&type=template&id=691fb714&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Repositories.vue?vue&type=script&lang=js\"\nexport * from \"./Repositories.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null)?_c('div',[_c('EditDialog',{attrs:{\"save-button-text\":(this.itemId === 'new' ? 'Link' : _vm.$t('save')),\"title\":_vm.$t('teamMember', {expr: this.itemId === 'new' ? _vm.$t('nnew') : _vm.$t('edit')})},on:{\"save\":function($event){return _vm.loadItems()}},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('TeamMemberForm',{attrs:{\"project-id\":_vm.projectId,\"item-id\":_vm.itemId,\"need-save\":needSave,\"need-reset\":needReset},on:{\"save\":onSave,\"error\":onError}})]}}],null,false,954445673),model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('YesNoDialog',{attrs:{\"title\":_vm.$t('deleteTeamMember'),\"text\":_vm.$t('askDeleteTMem')},on:{\"yes\":function($event){return _vm.deleteItem(_vm.itemId)}},model:{value:(_vm.deleteItemDialog),callback:function ($$v) {_vm.deleteItemDialog=$$v},expression:\"deleteItemDialog\"}}),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('team2')))]),_c('v-spacer'),_c('v-btn',{staticClass:\"mr-2\",attrs:{\"color\":\"error\",\"disabled\":_vm.userRole === 'owner'},on:{\"click\":function($event){return _vm.leftProject()}}},[_vm._v(_vm._s(_vm.$t('LeaveProject'))+\" \")]),(_vm.can(_vm.USER_PERMISSIONS.manageProjectUsers))?_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editItem('new')}}},[_vm._v(_vm._s(_vm.$t('newTeamMember'))+\" \")]):_vm._e()],1),_c('v-divider'),_c('v-data-table',{staticClass:\"mt-4\",staticStyle:{\"max-width\":\"calc(var(--breakpoint-xl) - var(--nav-drawer-width) - 200px)\",\"margin\":\"auto\"},attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"hide-default-footer\":\"\",\"items-per-page\":Number.MAX_VALUE},scopedSlots:_vm._u([{key:\"item.role\",fn:function({ item }){return [(_vm.can(_vm.USER_PERMISSIONS.manageProjectUsers))?_c('v-select',{staticClass:\"pt-0 mt-0\",style:({width: '200px'}),attrs:{\"hide-details\":\"\",\"items\":_vm.USER_ROLES,\"item-value\":\"slug\",\"item-text\":\"title\"},on:{\"change\":function($event){return _vm.updateProjectUser(item)}},model:{value:(item.role),callback:function ($$v) {_vm.$set(item, \"role\", $$v)},expression:\"item.role\"}}):_c('div',[_vm._v(_vm._s(_vm.USER_ROLES.find(r => r.slug === item.role).title))])]}},{key:\"item.actions\",fn:function({ item }){return [_c('v-btn-toggle',{attrs:{\"dense\":\"\",\"value-comparator\":() => false}},[(_vm.can(_vm.USER_PERMISSIONS.manageProjectUsers))?_c('v-btn',{on:{\"click\":function($event){return _vm.askDeleteItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1):_vm._e()],1)]}}],null,false,1975830465)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.teamMembers != null && _vm.users != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError))]),_c('v-autocomplete',{attrs:{\"label\":_vm.$t('user'),\"items\":_vm.users,\"item-value\":\"id\",\"item-text\":(itm) => `${itm.username} (${itm.name})`,\"rules\":[v => !!v || _vm.$t('user_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.user_id),callback:function ($$v) {_vm.$set(_vm.item, \"user_id\", $$v)},expression:\"item.user_id\"}}),_c('v-select',{attrs:{\"label\":_vm.$t('role'),\"items\":_vm.USER_ROLES,\"item-value\":\"slug\",\"item-text\":\"title\",\"rules\":[v => !!v || _vm.$t('user_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.role),callback:function ($$v) {_vm.$set(_vm.item, \"role\", $$v)},expression:\"item.role\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ formError }}\n\n `${itm.username} (${itm.name})`\"\n :rules=\"[v => !!v || $t('user_required')]\"\n required\n :disabled=\"formSaving\"\n >\n\n !!v || $t('user_required')]\"\n required\n :disabled=\"formSaving\"\n >\n \n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TeamMemberForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./TeamMemberForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TeamMemberForm.vue?vue&type=template&id=408053b8\"\nimport script from \"./TeamMemberForm.vue?vue&type=script&lang=js\"\nexport * from \"./TeamMemberForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n
\n \n \n \n \n\n
\n\n
\n \n {{ $t('team2') }}\n \n {{ $t('LeaveProject') }}\n \n {{ $t('newTeamMember') }}\n \n \n\n
\n\n
\n \n \n {{ USER_ROLES.find(r => r.slug === item.role).title }}
\n \n\n \n false\">\n \n mdi-delete\n \n \n \n \n
\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Team.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Team.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Team.vue?vue&type=template&id=3cbe6256&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Team.vue?vue&type=script&lang=js\"\nexport * from \"./Team.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null)?_c('div',[_c('EditDialog',{attrs:{\"save-button-text\":\"Save\",\"title\":_vm.$t('editUser'),\"hide-buttons\":_vm.hideEditDialogButtons},on:{\"save\":function($event){return _vm.loadItems()}},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('UserForm',{attrs:{\"project-id\":_vm.projectId,\"item-id\":_vm.itemId,\"need-save\":needSave,\"need-reset\":needReset,\"is-admin\":true,\"auth-methods\":_vm.authMethods},on:{\"save\":onSave,\"error\":onError,\"hide-action-buttons\":function($event){_vm.hideEditDialogButtons = true},\"show-action-buttons\":function($event){_vm.hideEditDialogButtons = false}}})]}}],null,false,67858910),model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('YesNoDialog',{attrs:{\"title\":_vm.$t('deleteUser'),\"text\":_vm.$t('askDeleteUser')},on:{\"yes\":function($event){return _vm.deleteItem(_vm.itemId)}},model:{value:(_vm.deleteItemDialog),callback:function ($$v) {_vm.deleteItemDialog=$$v},expression:\"deleteItemDialog\"}}),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-btn',{staticClass:\"mr-4\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.returnToProjects()}}},[_c('v-icon',[_vm._v(\"mdi-arrow-left\")])],1),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('users')))]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editItem('new')}}},[_vm._v(_vm._s(_vm.$t('newUser')))])],1),_c('v-divider'),_c('v-data-table',{staticClass:\"mt-4\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"footer-props\":{ itemsPerPageOptions: [20] }},scopedSlots:_vm._u([{key:\"item.external\",fn:function({ item }){return [(item.external)?_c('v-icon',[_vm._v(\"mdi-checkbox-marked\")]):_c('v-icon',[_vm._v(\"mdi-checkbox-blank-outline\")])]}},{key:\"item.alert\",fn:function({ item }){return [(item.alert)?_c('v-icon',[_vm._v(\"mdi-checkbox-marked\")]):_c('v-icon',[_vm._v(\"mdi-checkbox-blank-outline\")])]}},{key:\"item.admin\",fn:function({ item }){return [(item.admin)?_c('v-icon',[_vm._v(\"mdi-checkbox-marked\")]):_c('v-icon',[_vm._v(\"mdi-checkbox-blank-outline\")])]}},{key:\"item.actions\",fn:function({ item }){return [_c('div',{staticStyle:{\"white-space\":\"nowrap\"}},[_c('v-btn',{staticClass:\"mr-1\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.askDeleteItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1),_c('v-btn',{staticClass:\"mr-1\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.editItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1)],1)]}}],null,false,2522326869)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
\n \n \n \n \n\n
\n\n
\n \n mdi-arrow-left\n \n {{ $t('users') }}\n \n {{ $t('newUser') }}\n \n\n
\n\n
\n \n mdi-checkbox-marked\n mdi-checkbox-blank-outline\n \n\n \n mdi-checkbox-marked\n mdi-checkbox-blank-outline\n \n\n \n mdi-checkbox-marked\n mdi-checkbox-blank-outline\n \n\n \n \n \n mdi-delete\n \n\n \n mdi-pencil\n \n
\n \n \n
\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Users.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Users.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Users.vue?vue&type=template&id=5b8f0d02&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Users.vue?vue&type=script&lang=js\"\nexport * from \"./Users.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"auth\"},[_c('v-dialog',{attrs:{\"max-width\":\"600\"},model:{value:(_vm.loginHelpDialog),callback:function ($$v) {_vm.loginHelpDialog=$$v},expression:\"loginHelpDialog\"}},[_c('v-card',[_c('v-card-title',[_vm._v(\" \"+_vm._s(_vm.$t('howToFixSigninIssues'))+\" \"),_c('v-spacer'),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.loginHelpDialog = false}}},[_c('v-icon',[_vm._v(\"mdi-close\")])],1)],1),_c('v-card-text',[_c('p',{staticClass:\"text-body-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('firstlyYouNeedAccessToTheServerWhereSemaphoreRunni'))+\" \")]),_c('p',{staticClass:\"text-body-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('executeTheFollowingCommandOnTheServerToSeeExisting'))+\" \")]),_c('v-alert',{staticStyle:{\"font-family\":\"monospace\"},attrs:{\"dense\":\"\",\"text\":\"\",\"color\":\"info\"}},[_vm._v(\" \"+_vm._s(_vm.$t('semaphoreUserList'))+\" \")]),_c('p',{staticClass:\"text-body-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('youCanChangePasswordOfExistingUser'))+\" \")]),_c('v-alert',{staticStyle:{\"font-family\":\"monospace\"},attrs:{\"dense\":\"\",\"text\":\"\",\"color\":\"info\"}},[_vm._v(\" \"+_vm._s(_vm.$t('semaphoreUserChangebyloginLoginUser123Password', { makePasswordExample: _vm.makePasswordExample() }))+\" \")]),_c('p',{staticClass:\"text-body-1\"},[_vm._v(\" \"+_vm._s(_vm.$t('orCreateNewAdminUser'))+\" \")]),_c('v-alert',{staticStyle:{\"font-family\":\"monospace\"},attrs:{\"dense\":\"\",\"text\":\"\",\"color\":\"info\"}},[_vm._v(\" semaphore user add --admin --login user123 --name User123 --email user123@example.com --password \"+_vm._s(_vm.makePasswordExample())+\" \")])],1),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"blue darken-1\",\"text\":\"\"},on:{\"click\":function($event){_vm.loginHelpDialog = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('close2'))+\" \")])],1)],1)],1),_c('v-container',{staticClass:\"pa-0\",attrs:{\"fluid\":\"\",\"fill-height\":\"\",\"align-center\":\"\",\"justify-center\":\"\"}},[_c('v-card',{staticClass:\"px-5 py-5\",staticStyle:{\"margin-bottom\":\"10%\",\"border-radius\":\"15px\"}},[_c('v-card-text',[_c('v-form',{ref:\"signInForm\",staticStyle:{\"width\":\"350px\"},attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.signInFormValid),callback:function ($$v) {_vm.signInFormValid=$$v},expression:\"signInFormValid\"}},[_c('v-img',{staticClass:\"mb-4\",staticStyle:{\"margin\":\"auto\"},attrs:{\"width\":\"80\",\"height\":\"80\",\"transition\":\"0\",\"src\":\"favicon.png\"}}),(_vm.screen === 'verification')?_c('h2',{staticClass:\"text-center pt-4 pb-6\"},[_vm._v(\" Two-step verification \")]):(_vm.screen === 'recovery')?_c('h2',{staticClass:\"text-center pt-4 pb-6\"},[_vm._v(\" Account recovery \")]):_c('h2',{staticClass:\"text-center pt-4 pb-6\"},[_vm._v(\" Log in to your account \")]),_c('v-alert',{staticStyle:{\"margin-bottom\":\"20px\"},attrs:{\"value\":_vm.signInError != null,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.signInError)+\" \")]),(_vm.screen === 'verification')?_c('div',[_c('div',{staticClass:\"text-center mb-4\"},[_vm._v(\" Open the two-step verification app on your mobile device to get your verification code. \")]),_c('v-otp-input',{attrs:{\"length\":\"6\"},on:{\"finish\":function($event){return _vm.verify()}},model:{value:(_vm.verificationCode),callback:function ($$v) {_vm.verificationCode=$$v},expression:\"verificationCode\"}}),_c('v-divider',{staticClass:\"my-6\"}),_c('div',{staticClass:\"text-center\"},[_c('a',{staticClass:\"mr-6\",on:{\"click\":function($event){return _vm.signOut()}}},[_vm._v(_vm._s(_vm.$t('Return to login')))]),(_vm.authMethods.totp && _vm.authMethods.totp.allow_recovery)?_c('a',{on:{\"click\":function($event){_vm.screen = 'recovery'}}},[_vm._v(\" \"+_vm._s(_vm.$t('Use recovery code'))+\" \")]):_vm._e()])],1):(_vm.screen === 'recovery')?_c('div',[_c('div',{staticClass:\"text-center mb-2\"},[_vm._v(\" Use your recovery code to regain access to your account. \")]),_c('v-text-field',{staticClass:\"mt-6\",attrs:{\"outlined\":\"\",\"label\":_vm.$t('Recovery code'),\"rules\":[v => !!v || _vm.$t('recoveryCode_required')],\"required\":\"\"},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.signIn.apply(null, arguments)}},model:{value:(_vm.recoveryCode),callback:function ($$v) {_vm.recoveryCode=$$v},expression:\"recoveryCode\"}}),_c('div',[_c('v-btn',{staticStyle:{\"width\":\"100%\"},attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.recovery()}}},[_vm._v(\" Send \")])],1),_c('div',{staticClass:\"text-center pt-6\"},[_c('a',{on:{\"click\":function($event){_vm.screen = 'verification'}}},[_vm._v(_vm._s(_vm.$t('Return to verification')))])])],1):_c('div',[(_vm.loginWithPassword)?_c('v-text-field',{attrs:{\"label\":_vm.$t(\"username\"),\"rules\":[v => !!v || _vm.$t('username_required')],\"required\":\"\",\"disabled\":_vm.signInProcess},model:{value:(_vm.username),callback:function ($$v) {_vm.username=$$v},expression:\"username\"}}):_vm._e(),(_vm.loginWithPassword)?_c('v-text-field',{staticStyle:{\"margin-bottom\":\"20px\"},attrs:{\"label\":_vm.$t('password'),\"rules\":[v => !!v || _vm.$t('password_required')],\"type\":\"password\",\"required\":\"\",\"disabled\":_vm.signInProcess},nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.signIn.apply(null, arguments)}},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}):_vm._e(),(_vm.loginWithPassword)?_c('v-btn',{attrs:{\"large\":\"\",\"color\":\"primary\",\"disabled\":_vm.signInProcess,\"block\":\"\",\"rounded\":\"\"},on:{\"click\":_vm.signIn}},[_vm._v(\" \"+_vm._s(_vm.$t('signIn'))+\" \")]):_vm._e(),_vm._l((_vm.oidcProviders),function(provider){return _c('v-btn',{key:provider.id,staticClass:\"mt-3\",attrs:{\"large\":\"\",\"color\":provider.color || 'secondary',\"dark\":\"\",\"block\":\"\",\"rounded\":\"\"},on:{\"click\":function($event){return _vm.oidcSignIn(provider.id)}}},[(provider.icon)?_c('v-icon',{attrs:{\"left\":\"\",\"dark\":\"\"}},[_vm._v(\" mdi-\"+_vm._s(provider.icon)+\" \")]):_vm._e(),_vm._v(\" \"+_vm._s(provider.name)+\" \")],1)}),(_vm.loginWithPassword)?_c('div',{staticClass:\"text-center mt-6\"},[_c('a',{on:{\"click\":function($event){_vm.loginHelpDialog = true}}},[_vm._v(_vm._s(_vm.$t('dontHaveAccountOrCantSignIn')))])]):_vm._e()],2)],1)],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
\n \n \n {{ $t('howToFixSigninIssues') }}\n \n \n mdi-close\n \n \n \n \n {{ $t('firstlyYouNeedAccessToTheServerWhereSemaphoreRunni') }}\n
\n \n {{ $t('executeTheFollowingCommandOnTheServerToSeeExisting') }}\n
\n \n {{ $t('semaphoreUserList') }}\n \n \n {{ $t('youCanChangePasswordOfExistingUser') }}\n
\n \n {{\n $t('semaphoreUserChangebyloginLoginUser123Password', {\n makePasswordExample:\n makePasswordExample()\n })\n }}\n \n \n {{ $t('orCreateNewAdminUser') }}\n
\n \n semaphore user add --admin --login user123 --name User123\n --email user123@example.com --password {{ makePasswordExample() }}\n \n \n \n \n \n {{ $t('close2') }}\n \n \n \n \n\n
\n \n \n \n\n \n\n \n Two-step verification\n
\n\n \n Account recovery\n
\n\n \n Log in to your account\n
\n\n {{ signInError }}\n \n\n \n
\n Open the two-step verification app on your mobile device to\n get your verification code.\n
\n\n
\n\n
\n\n
\n
\n\n \n
\n Use your recovery code to regain access to your account.\n
\n\n
!!v || $t('recoveryCode_required')]\"\n required\n />\n\n \n \n Send\n \n
\n\n \n\n \n\n \n
!!v || $t('username_required')]\"\n required\n :disabled=\"signInProcess\"\n v-if=\"loginWithPassword\"\n >\n\n
!!v || $t('password_required')]\"\n type=\"password\"\n required\n :disabled=\"signInProcess\"\n @keyup.enter.native=\"signIn\"\n style=\"margin-bottom: 20px;\"\n v-if=\"loginWithPassword\"\n >\n\n
\n {{ $t('signIn') }}\n \n\n
\n \n mdi-{{ provider.icon }}\n \n\n {{ provider.name }}\n \n\n
\n\n
\n \n \n \n \n
\n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Auth.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Auth.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Auth.vue?vue&type=template&id=d5697018\"\nimport script from \"./Auth.vue?vue&type=script&lang=js\"\nexport * from \"./Auth.vue?vue&type=script&lang=js\"\nimport style0 from \"./Auth.vue?vue&type=style&index=0&id=d5697018&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('newProject')))]),_c('v-spacer')],1),_c('v-divider'),_c('div',{staticClass:\"CenterToScreen\",staticStyle:{\"margin\":\"auto\",\"max-width\":\"600px\",\"padding\":\"0 16px\"}},[_c('div',{staticClass:\"project-settings-form\"},[_c('div',{staticStyle:{\"height\":\"300px\"}},[_c('ProjectForm',{ref:\"editForm\",attrs:{\"item-id\":\"new\"},on:{\"save\":_vm.onSave}})],1),_c('div',{staticClass:\"text-right\"},[_c('v-btn',{staticClass:\"mr-3\",attrs:{\"color\":\"success\"},on:{\"click\":function($event){return _vm.createDemoProject()}}},[_vm._v(_vm._s(_vm.$t('CreateDemoProject')))]),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.createProject()}}},[_vm._v(_vm._s(_vm.$t('create')))])],1)])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n
\n \n {{ $t('newProject') }}\n \n \n\n
\n\n
\n\n
\n\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./New.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./New.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./New.vue?vue&type=template&id=e3e78db4&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./New.vue?vue&type=script&lang=js\"\nexport * from \"./New.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null && _vm.templates != null)?_c('div',[_c('EditDialog',{attrs:{\"save-button-text\":_vm.itemId === 'new' ? _vm.$t('create') : _vm.$t('save'),\"title\":_vm.itemId === 'new' ? _vm.$t('NewIntegration') : _vm.$t('EditIntegration'),\"max-width\":450,\"transition\":false},on:{\"save\":function($event){return _vm.loadItems()}},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('IntegrationForm',{attrs:{\"project-id\":_vm.projectId,\"item-id\":_vm.itemId,\"need-save\":needSave,\"need-reset\":needReset},on:{\"save\":onSave,\"error\":onError}})]}}],null,false,3658369722),model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('ObjectRefsDialog',{attrs:{\"object-title\":\"integration\",\"object-refs\":_vm.itemRefs,\"project-id\":_vm.projectId},model:{value:(_vm.itemRefsDialog),callback:function ($$v) {_vm.itemRefsDialog=$$v},expression:\"itemRefsDialog\"}}),_c('YesNoDialog',{attrs:{\"title\":_vm.$t('DeleteIntegration'),\"text\":_vm.$t('DeleteIntegrationMsg')},on:{\"yes\":function($event){return _vm.deleteItem(_vm.itemId)}},model:{value:(_vm.deleteItemDialog),callback:function ($$v) {_vm.deleteItemDialog=$$v},expression:\"deleteItemDialog\"}}),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('integrations')))]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editItem('new')}}},[_vm._v(_vm._s(_vm.$t('NewIntegration'))+\" \")])],1),_c('div',{staticClass:\"px-4 py-3\"},[((_vm.aliases || []).length === 0)?_c('div',{staticClass:\"mb-3 pl-1\"},[_vm._v(\"There is no aliases.\")]):_vm._l(((_vm.aliases || [])),function(alias){return _c('div',{key:alias.id},[_c('code',{staticClass:\"mr-2\"},[_vm._v(_vm._s(alias.url))]),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.copyToClipboard(alias.url, _vm.$t('aliasUrlCopied'))}}},[_c('v-icon',[_vm._v(\"mdi-content-copy\")])],1),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.deleteAlias(alias.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)],1)}),_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.aliases == null},on:{\"click\":function($event){return _vm.addAlias()}}},[_vm._v(\" \"+_vm._s(_vm.aliases == null ? _vm.$t('LoadAlias') : _vm.$t('AddAlias'))+\" \")])],2),_c('v-divider'),_c('v-data-table',{staticClass:\"mt-4\",staticStyle:{\"max-width\":\"calc(var(--breakpoint-xl) - var(--nav-drawer-width) - 200px)\",\"margin\":\"auto\"},attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"items-per-page\":Number.MAX_VALUE},scopedSlots:_vm._u([{key:\"item.name\",fn:function({ item }){return [_c('router-link',{attrs:{\"to\":`/project/${_vm.projectId}/integrations/${item.id}`}},[_vm._v(_vm._s(item.name)+\" \")])]}},{key:\"item.template_id\",fn:function({ item }){return [_c('router-link',{attrs:{\"to\":`/project/${_vm.projectId}/templates/${item.template_id}`}},[_vm._v(\" \"+_vm._s((_vm.templates.find((t) => t.id === item.template_id) || {name: '—'}).name)+\" \")])]}},{key:\"item.actions\",fn:function({ item }){return [_c('v-btn-toggle',{attrs:{\"dense\":\"\",\"value-comparator\":() => false}},[_c('v-btn',{on:{\"click\":function($event){return _vm.askDeleteItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1),_c('v-btn',{on:{\"click\":function($event){return _vm.editItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1)],1)]}}],null,false,1534292534)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isLoaded)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError)+\" \")]),_c('v-text-field',{attrs:{\"label\":\"Name\",\"rules\":[v => !!v || 'Name is required'],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.name),callback:function ($$v) {_vm.$set(_vm.item, \"name\", $$v)},expression:\"item.name\"}}),_c('v-select',{attrs:{\"label\":\"Task Template to run\",\"clearable\":\"\",\"items\":_vm.templates,\"item-value\":\"id\",\"item-text\":\"name\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.template_id),callback:function ($$v) {_vm.$set(_vm.item, \"template_id\", $$v)},expression:\"item.template_id\"}}),_c('v-select',{attrs:{\"label\":\"Auth method\",\"items\":_vm.authMethods,\"item-value\":\"id\",\"item-text\":\"title\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.auth_method),callback:function ($$v) {_vm.$set(_vm.item, \"auth_method\", $$v)},expression:\"item.auth_method\"}}),(['token', 'hmac'].includes(_vm.item.auth_method))?_c('v-text-field',{attrs:{\"label\":\"Auth header\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.auth_header),callback:function ($$v) {_vm.$set(_vm.item, \"auth_header\", $$v)},expression:\"item.auth_header\"}}):_vm._e(),(_vm.item.auth_method)?_c('v-select',{attrs:{\"label\":_vm.$t('vaultPassword2'),\"clearable\":\"\",\"items\":_vm.loginPasswordKeys,\"item-value\":\"id\",\"item-text\":\"name\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.auth_secret_id),callback:function ($$v) {_vm.$set(_vm.item, \"auth_secret_id\", $$v)},expression:\"item.auth_secret_id\"}}):_vm._e(),(_vm.item.template_id)?_c('TaskParamsForm',{attrs:{\"app\":(_vm.template || {}).app},model:{value:(_vm.item.task_params),callback:function ($$v) {_vm.$set(_vm.item, \"task_params\", $$v)},expression:\"item.task_params\"}}):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ formError }}\n \n\n !!v || 'Name is required']\"\n required\n :disabled=\"formSaving\"\n >\n\n \n\n \n\n \n\n \n\n \n \n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IntegrationForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IntegrationForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./IntegrationForm.vue?vue&type=template&id=8a00f42a\"\nimport script from \"./IntegrationForm.vue?vue&type=script&lang=js\"\nexport * from \"./IntegrationForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import axios from 'axios';\n\nexport default {\n\n data() {\n return {\n aliases: null,\n };\n },\n\n async created() {\n await this.loadAliases();\n },\n\n computed: {\n integrationId() {\n if (/^-?\\d+$/.test(this.$route.params.integrationId)) {\n return parseInt(this.$route.params.integrationId, 10);\n }\n return this.$route.params.integrationId;\n },\n\n aliasPath() {\n if (!this.integrationId) {\n return `/api/project/${this.projectId}/integrations/aliases`;\n }\n return `/api/project/${this.projectId}/integrations/${this.integrationId}/aliases`;\n },\n },\n\n methods: {\n\n async loadAliases() {\n this.aliases = (await axios({\n method: 'get',\n url: this.aliasPath,\n responseType: 'json',\n })).data;\n },\n\n async deleteAlias(id) {\n await axios({\n method: 'delete',\n url: `${this.aliasPath}/${id}`,\n });\n await this.loadAliases();\n },\n\n async addAlias() {\n await axios({\n method: 'post',\n url: this.aliasPath,\n responseType: 'json',\n });\n await this.loadAliases();\n },\n },\n};\n","import EventBus from '@/event-bus';\n\nexport default async function copyToClipboard(content, message) {\n try {\n await window.navigator.clipboard.writeText(content);\n EventBus.$emit('i-snackbar', {\n color: 'success',\n text: message,\n });\n } catch (e) {\n EventBus.$emit('i-snackbar', {\n color: 'error',\n text: `Can't copy to clipboard: ${e.message}`,\n });\n }\n}\n","\n \n
\n \n \n \n \n\n
\n\n
\n\n
\n \n {{ $t('integrations') }}\n \n {{ $t('NewIntegration') }}\n \n \n\n
\n
There is no aliases.
\n\n
\n {{ alias.url }}
\n \n mdi-content-copy\n \n \n mdi-delete\n \n
\n\n
\n {{ aliases == null ? $t('LoadAlias') : $t('AddAlias') }}\n \n
\n\n
\n\n
\n \n {{ item.name }}\n \n \n \n \n {{ (templates.find((t) => t.id === item.template_id) || {name: '—'}).name }}\n \n \n \n false\">\n \n mdi-delete\n \n \n mdi-pencil\n \n \n \n \n
\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Integrations.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Integrations.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Integrations.vue?vue&type=template&id=07237f86&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Integrations.vue?vue&type=script&lang=js\"\nexport * from \"./Integrations.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.integration != null)?_c('div',[_c('IntegrationExtractorCrumb',{attrs:{\"integration\":_vm.integration}}),_c('div',{staticClass:\"px-4 pt-3 pb-2\"},[_c('v-switch',{staticClass:\"mt-0\",attrs:{\"label\":_vm.$t('globalAlias')},on:{\"change\":function($event){return _vm.updateIntegration()}},model:{value:(_vm.integration.searchable),callback:function ($$v) {_vm.$set(_vm.integration, \"searchable\", $$v)},expression:\"integration.searchable\"}})],1),(_vm.integration.searchable)?_c('div',{staticClass:\"px-4\"},[_c('v-alert',{staticClass:\"d-inline-block\",attrs:{\"type\":\"info\",\"text\":\"\"}},[_vm._v(\" Matchers allow the integration to be found by a project alias. \")])],1):_c('div',{staticClass:\"px-4 pb-6\"},[((_vm.aliases || []).length === 0)?_c('div',{staticClass:\"mb-3 pl-1\"},[_vm._v(\"There is no aliases.\")]):_vm._l(((_vm.aliases || [])),function(alias){return _c('div',{key:alias.id},[_c('code',{staticClass:\"mr-2\"},[_vm._v(_vm._s(alias.url))]),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.copyToClipboard(\n alias.url, 'The alias URL has been copied to the clipboard.')}}},[_c('v-icon',[_vm._v(\"mdi-content-copy\")])],1),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.deleteAlias(alias.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1)],1)}),_c('v-btn',{attrs:{\"color\":\"primary\",\"disabled\":_vm.aliases == null},on:{\"click\":function($event){return _vm.addAlias()}}},[_vm._v(\" \"+_vm._s(_vm.aliases == null ? _vm.$t('LoadAlias') : _vm.$t('AddAlias'))+\" \")])],2),_c('v-divider'),(_vm.integration.searchable)?_c('IntegrationMatcher',{staticClass:\"mb-6\"}):_vm._e(),_c('IntegrationExtractValue')],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n props: {\n // integrationId: Number,\n projectId: Number,\n },\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null)?_c('div',[_c('EditDialog',{attrs:{\"save-button-text\":_vm.itemId === 'new' ? 'Create' : 'Save',\"title\":`${_vm.itemId === 'new' ? 'New' : 'Edit'} Extract Value`,\"max-width\":450,\"transition\":false},on:{\"save\":_vm.loadItems},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('IntegrationExtractValueForm',{attrs:{\"integration-id\":_vm.integrationId,\"item-id\":_vm.itemId,\"project-id\":_vm.projectId,\"need-save\":needSave,\"need-reset\":needReset},on:{\"save\":onSave,\"error\":onError}})]}}],null,false,3570700391),model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('ObjectRefsDialog',{attrs:{\"object-title\":\"extractvalue\",\"object-refs\":_vm.itemRefs,\"integration-id\":_vm.integrationId},model:{value:(_vm.itemRefsDialog),callback:function ($$v) {_vm.itemRefsDialog=$$v},expression:\"itemRefsDialog\"}}),_c('YesNoDialog',{attrs:{\"title\":\"Delete Integration ExtractValue\",\"text\":\"Are you sure you want to delete this Integration ExtractValue?\"},on:{\"yes\":function($event){return _vm.deleteItem(_vm.itemId)}},model:{value:(_vm.deleteItemDialog),callback:function ($$v) {_vm.deleteItemDialog=$$v},expression:\"deleteItemDialog\"}}),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(\"ExtractValue\")]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editItem('new')}}},[_vm._v(\"New Extracted Value\")])],1),_c('v-data-table',{staticClass:\"mt-4\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"items-per-page\":Number.MAX_VALUE},scopedSlots:_vm._u([{key:\"item.name\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(item.name)+\" \"+_vm._s(item.extractorId)+\" \")]}},{key:\"item.value_source\",fn:function({ item }){return [_c('code',[_vm._v(_vm._s(item.value_source))])]}},{key:\"item.body_data_type\",fn:function({ item }){return [_c('code',[_vm._v(_vm._s(item.body_data_type))])]}},{key:\"item.key\",fn:function({ item }){return [_c('code',[_vm._v(_vm._s(item.key))])]}},{key:\"item.variable\",fn:function({ item }){return [_c('code',[_vm._v(_vm._s(item.variable))])]}},{key:\"item.actions\",fn:function({ item }){return [_c('div',{staticStyle:{\"white-space\":\"nowrap\"}},[_c('v-btn',{staticClass:\"mr-1\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.askDeleteItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1),_c('v-btn',{staticClass:\"mr-1\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.editItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1)],1)]}}],null,false,3126881228)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError))]),_c('v-text-field',{attrs:{\"label\":\"Name\",\"rules\":[v => !!v || 'Name is required'],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.name),callback:function ($$v) {_vm.$set(_vm.item, \"name\", $$v)},expression:\"item.name\"}}),_c('v-row',[_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('div',{staticClass:\"ml-4 mr-4 mt-6\"},[_c('v-select',{attrs:{\"label\":\"Source of the Value\",\"items\":_vm.valueSources,\"item-value\":\"id\",\"item-text\":\"text\",\"rules\":[v => !!v || 'Value Source is required'],\"outlined\":\"\",\"dense\":\"\",\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.value_source),callback:function ($$v) {_vm.$set(_vm.item, \"value_source\", $$v)},expression:\"item.value_source\"}}),(_vm.item.value_source == 'body')?_c('v-select',{attrs:{\"label\":\"Data Type of Body\",\"items\":_vm.bodyDataTypes,\"item-value\":\"id\",\"item-text\":\"text\",\"rules\":[v => !!v || 'Body Data Type is required'],\"outlined\":\"\",\"dense\":\"\",\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.body_data_type),callback:function ($$v) {_vm.$set(_vm.item, \"body_data_type\", $$v)},expression:\"item.body_data_type\"}}):_vm._e(),_c('v-text-field',{attrs:{\"label\":\"Key *\",\"rules\":[v => !!v || 'Key is required'],\"outlined\":\"\",\"dense\":\"\",\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.key),callback:function ($$v) {_vm.$set(_vm.item, \"key\", $$v)},expression:\"item.key\"}}),_c('v-text-field',{attrs:{\"label\":\"Variable *\",\"rules\":[v => !!v || 'Variable is required'],\"outlined\":\"\",\"dense\":\"\",\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.variable),callback:function ($$v) {_vm.$set(_vm.item, \"variable\", $$v)},expression:\"item.variable\"}})],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from 'axios';\nimport { getErrorMessage } from '@/lib/error';\n\nexport default {\n props: {\n integrationId: [Number, String],\n },\n methods: {\n /**\n * Saves or creates item via API.\n * @returns {Promise} null if validation didn't pass or user data if user saved.\n */\n async save() {\n this.formError = null;\n\n if (!this.$refs.form.validate()) {\n this.$emit('error', {});\n return null;\n }\n\n this.formSaving = true;\n let item;\n\n try {\n await this.beforeSave();\n\n item = (await axios({\n method: this.isNew ? 'post' : 'put',\n url: this.isNew\n ? this.getItemsUrl()\n : this.getSingleItemUrl(),\n responseType: 'json',\n data: {\n ...this.item,\n integration_id: this.integrationId,\n },\n ...(this.getRequestOptions()),\n })).data;\n\n await this.afterSave(item);\n\n this.$emit('save', {\n item: item || this.item,\n action: this.isNew ? 'new' : 'edit',\n });\n } catch (err) {\n this.formError = getErrorMessage(err);\n this.$emit('error', {\n message: this.formError,\n });\n } finally {\n this.formSaving = false;\n }\n\n return item || this.item;\n },\n },\n};\n","\n\n {{ formError }}\n\n !!v || 'Name is required']\"\n required\n :disabled=\"formSaving\"\n >\n \n \n \n !!v || 'Value Source is required']\"\n outlined\n dense\n required\n :disabled=\"formSaving\">\n \n !!v || 'Body Data Type is required']\"\n outlined\n dense\n required\n :disabled=\"formSaving\">\n \n !!v || 'Key is required']\"\n outlined\n dense\n required\n :disabled=\"formSaving\"\n >\n !!v || 'Variable is required']\"\n outlined\n dense\n required\n :disabled=\"formSaving\"\n >\n
\n\n \n \n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IntegrationExtractValueForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IntegrationExtractValueForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./IntegrationExtractValueForm.vue?vue&type=template&id=6a8e91fc\"\nimport script from \"./IntegrationExtractValueForm.vue?vue&type=script&lang=js\"\nexport * from \"./IntegrationExtractValueForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n
\n \n \n \n \n\n
\n\n
\n\n
\n \n ExtractValue\n \n New Extracted Value\n \n
\n \n {{ item.name }} {{ item.extractorId }}\n \n \n {{ item.value_source }}
\n \n \n {{ item.body_data_type }}
\n \n \n {{ item.key }}
\n \n \n {{ item.variable }}
\n \n \n \n \n mdi-delete\n \n\n \n mdi-pencil\n \n
\n \n \n
\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IntegrationExtractValue.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IntegrationExtractValue.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./IntegrationExtractValue.vue?vue&type=template&id=1727db79&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./IntegrationExtractValue.vue?vue&type=script&lang=js\"\nexport * from \"./IntegrationExtractValue.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null)?_c('div',[_c('EditDialog',{attrs:{\"save-button-text\":_vm.itemId === 'new' ? 'Create' : 'Save',\"title\":`${_vm.itemId === 'new' ? 'New' : 'Edit'} Matcher`,\"max-width\":450,\"transition\":false},on:{\"save\":_vm.loadItems},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('IntegrationMatcherForm',{attrs:{\"integration-id\":_vm.integrationId,\"item-id\":_vm.itemId,\"need-save\":needSave,\"need-reset\":needReset},on:{\"save\":onSave,\"error\":onError}})]}}],null,false,1681138494),model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('ObjectRefsDialog',{attrs:{\"object-title\":\"matcher\",\"object-refs\":_vm.itemRefs,\"integration-id\":_vm.integrationId},model:{value:(_vm.itemRefsDialog),callback:function ($$v) {_vm.itemRefsDialog=$$v},expression:\"itemRefsDialog\"}}),_c('YesNoDialog',{attrs:{\"title\":\"Delete Integration Matcher\",\"text\":\"Are you sure you want to delete this Integration Matcher?\"},on:{\"yes\":function($event){return _vm.deleteItem(_vm.itemId)}},model:{value:(_vm.deleteItemDialog),callback:function ($$v) {_vm.deleteItemDialog=$$v},expression:\"deleteItemDialog\"}}),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(\"Matcher\")]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editItem('new')}}},[_vm._v(\"New Matcher\")])],1),_c('v-data-table',{staticClass:\"mt-4\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"items-per-page\":Number.MAX_VALUE},scopedSlots:_vm._u([{key:\"item.name\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(item.name)+\" \")]}},{key:\"item.match_type\",fn:function({ item }){return [_c('code',[_vm._v(_vm._s(item.match_type))])]}},{key:\"item.method\",fn:function({ item }){return [_c('code',[_vm._v(_vm._s(item.method))])]}},{key:\"item.body_data_type\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(item.body_data_type || \"N/A\")+\" \")]}},{key:\"item.key\",fn:function({ item }){return [_c('code',[_vm._v(_vm._s(item.key))])]}},{key:\"item.value\",fn:function({ item }){return [_c('code',[_vm._v(_vm._s(item.value))])]}},{key:\"item.actions\",fn:function({ item }){return [_c('div',{staticStyle:{\"white-space\":\"nowrap\"}},[_c('v-btn',{staticClass:\"mr-1\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.askDeleteItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1),_c('v-btn',{staticClass:\"mr-1\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.editItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1)],1)]}}],null,false,2543072641)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError))]),_c('v-text-field',{attrs:{\"label\":\"Name\",\"rules\":[v => !!v || 'Name is required'],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.name),callback:function ($$v) {_vm.$set(_vm.item, \"name\", $$v)},expression:\"item.name\"}}),_c('v-row',[_c('v-col',{staticClass:\"pb-0\",attrs:{\"cols\":\"12\",\"md\":\"12\"}},[_c('div',{staticClass:\"ml-4 mr-4 mt-6\"},[_c('v-select',{attrs:{\"label\":\"Match on *\",\"items\":_vm.matchTypes,\"item-value\":\"id\",\"item-text\":\"text\",\"rules\":[v => !!v || 'Match source is required'],\"outlined\":\"\",\"dense\":\"\",\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.match_type),callback:function ($$v) {_vm.$set(_vm.item, \"match_type\", $$v)},expression:\"item.match_type\"}}),(_vm.item.match_type == 'body')?_c('v-select',{attrs:{\"label\":\"Body Data Format *\",\"items\":_vm.bodyDataFormats,\"item-value\":\"id\",\"item-text\":\"text\",\"rules\":[v => !!v || 'Body Data Format is required'],\"outlined\":\"\",\"dense\":\"\",\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.body_data_type),callback:function ($$v) {_vm.$set(_vm.item, \"body_data_type\", $$v)},expression:\"item.body_data_type\"}}):_vm._e(),_c('v-text-field',{attrs:{\"label\":\"Key *\",\"rules\":[v => !!v || 'Key is required'],\"outlined\":\"\",\"dense\":\"\",\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.key),callback:function ($$v) {_vm.$set(_vm.item, \"key\", $$v)},expression:\"item.key\"}}),_c('v-select',{attrs:{\"label\":\"Comparison Method *\",\"items\":_vm.methods,\"item-value\":\"id\",\"item-text\":\"text\",\"rules\":[v => !!v || 'Comparison Method is required'],\"outlined\":\"\",\"dense\":\"\",\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.method),callback:function ($$v) {_vm.$set(_vm.item, \"method\", $$v)},expression:\"item.method\"}}),_c('v-text-field',{attrs:{\"label\":\"Value *\",\"rules\":[v => !!v || 'Value is required'],\"outlined\":\"\",\"dense\":\"\",\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.value),callback:function ($$v) {_vm.$set(_vm.item, \"value\", $$v)},expression:\"item.value\"}})],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n {{ formError }}\n !!v || 'Name is required']\"\n required\n :disabled=\"formSaving\"\n >\n \n \n \n !!v || 'Match source is required']\"\n outlined\n dense\n required\n :disabled=\"formSaving\"\n >\n !!v || 'Body Data Format is required']\"\n outlined\n dense\n required\n :disabled=\"formSaving\"\n >\n !!v || 'Key is required']\"\n outlined\n dense\n required\n :disabled=\"formSaving\"\n >\n !!v || 'Comparison Method is required']\"\n outlined\n dense\n required\n :disabled=\"formSaving\"\n >\n !!v || 'Value is required']\"\n outlined\n dense\n required\n :disabled=\"formSaving\"\n >\n
\n \n \n\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IntegrationMatcherForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IntegrationMatcherForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./IntegrationMatcherForm.vue?vue&type=template&id=5a325028\"\nimport script from \"./IntegrationMatcherForm.vue?vue&type=script&lang=js\"\nexport * from \"./IntegrationMatcherForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n
\n \n \n \n \n\n
\n\n
\n\n
\n \n Matcher\n \n New Matcher\n \n\n
\n \n {{ item.name }}\n \n \n {{ item.match_type }}
\n \n \n {{ item.method }}
\n \n \n {{ item.body_data_type || \"N/A\" }}\n \n \n {{ item.key }}
\n \n \n {{ item.value }}
\n \n\n \n \n \n mdi-delete\n \n\n \n mdi-pencil\n \n
\n \n \n
\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IntegrationMatcher.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IntegrationMatcher.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./IntegrationMatcher.vue?vue&type=template&id=958cc54e&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./IntegrationMatcher.vue?vue&type=script&lang=js\"\nexport * from \"./IntegrationMatcher.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.integration != null)?_c('div',[_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',{staticClass:\"breadcrumbs\"},[_c('router-link',{staticClass:\"breadcrumbs__item breadcrumbs__item--link\",attrs:{\"to\":`/project/${_vm.projectId}/integrations/`}},[_vm._v(\" Integrations \")]),_c('v-icon',[_vm._v(\"mdi-chevron-right\")]),_c('span',{staticClass:\"breadcrumbs__item\"},[_vm._v(_vm._s(_vm.integration.name))])],1),_c('v-spacer')],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n\n \n \n Integrations\n \n mdi-chevron-right\n {{ integration.name }}\n \n\n \n \n
\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IntegrationExtractorCrumb.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IntegrationExtractorCrumb.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./IntegrationExtractorCrumb.vue?vue&type=template&id=5284b741&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./IntegrationExtractorCrumb.vue?vue&type=script&lang=js\"\nexport * from \"./IntegrationExtractorCrumb.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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","\n \n
\n\n \n \n
\n\n \n \n Matchers allow the integration to be found by a project alias.\n \n
\n\n \n
There is no aliases.
\n\n
\n {{ alias.url }}
\n \n mdi-content-copy\n \n \n mdi-delete\n \n
\n\n
\n {{ aliases == null ? $t('LoadAlias') : $t('AddAlias') }}\n \n
\n\n \n\n \n\n \n\n \n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IntegrationExtractor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./IntegrationExtractor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./IntegrationExtractor.vue?vue&type=template&id=10393d27&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./IntegrationExtractor.vue?vue&type=script&lang=js\"\nexport * from \"./IntegrationExtractor.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null && _vm.isAppsLoaded)?_c('div',[_c('EditDialog',{attrs:{\"save-button-text\":\"Save\",\"title\":_vm.$t('Edit App')},on:{\"save\":function($event){return _vm.loadItems()}},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('AppForm',{attrs:{\"project-id\":_vm.projectId,\"item-id\":_vm.itemId,\"need-save\":needSave,\"need-reset\":needReset},on:{\"save\":onSave,\"error\":onError}})]}}],null,false,1196565541),model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('YesNoDialog',{attrs:{\"title\":_vm.$t('Delete App'),\"text\":_vm.$t('Do you really want to delete this app?')},on:{\"yes\":function($event){return _vm.deleteItem(_vm.itemId)}},model:{value:(_vm.deleteItemDialog),callback:function ($$v) {_vm.deleteItemDialog=$$v},expression:\"deleteItemDialog\"}}),_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-btn',{staticClass:\"mr-4\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.returnToProjects()}}},[_c('v-icon',[_vm._v(\"mdi-arrow-left\")])],1),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('Applications')))]),_c('v-spacer'),_c('v-btn',{attrs:{\"disabled\":!_vm.isAdmin,\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editItem('')}}},[_vm._v(_vm._s(_vm.$t('New App')))])],1),_c('v-data-table',{staticClass:\"mt-4\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"footer-props\":{ itemsPerPageOptions: [20] }},scopedSlots:_vm._u([{key:\"item.active\",fn:function({ item }){return [_c('v-switch',{attrs:{\"disabled\":!_vm.isAdmin,\"inset\":\"\"},on:{\"change\":function($event){return _vm.setActive(item.id, item.active)}},model:{value:(item.active),callback:function ($$v) {_vm.$set(item, \"active\", $$v)},expression:\"item.active\"}})]}},{key:\"item.title\",fn:function({ item }){return [_c('v-icon',{staticClass:\"mr-2\",attrs:{\"small\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.getAppIcon(item.id))+\" \")]),_vm._v(\" \"+_vm._s(_vm.getAppTitle(item.id))+\" \")]}},{key:\"item.id\",fn:function({ item }){return [_c('code',[_vm._v(_vm._s(item.id))])]}},{key:\"item.actions\",fn:function({ item }){return [_c('div',{staticStyle:{\"white-space\":\"nowrap\"}},[(!_vm.isDefaultApp(item.id))?_c('v-btn',{staticClass:\"mr-1\",attrs:{\"icon\":\"\",\"disabled\":item.id === _vm.userId},on:{\"click\":function($event){return _vm.askDeleteItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1):_vm._e(),_c('v-btn',{staticClass:\"mr-1\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.editItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1)],1)]}}],null,false,2354303362)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.item != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError)+\" \")]),_c('v-text-field',{attrs:{\"label\":_vm.$t('ID'),\"rules\":[v => !!v || _vm.$t('id_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.id),callback:function ($$v) {_vm.id=$$v},expression:\"id\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('Icon'),\"disabled\":_vm.formSaving},model:{value:(_vm.item.icon),callback:function ($$v) {_vm.$set(_vm.item, \"icon\", $$v)},expression:\"item.icon\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('name'),\"disabled\":_vm.formSaving},model:{value:(_vm.item.title),callback:function ($$v) {_vm.$set(_vm.item, \"title\", $$v)},expression:\"item.title\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('Path'),\"disabled\":_vm.formSaving},model:{value:(_vm.item.path),callback:function ($$v) {_vm.$set(_vm.item, \"path\", $$v)},expression:\"item.path\"}}),_c('v-text-field',{attrs:{\"type\":\"number\",\"label\":_vm.$t('Priority'),\"disabled\":_vm.formSaving},model:{value:(_vm.item.priority),callback:function ($$v) {_vm.$set(_vm.item, \"priority\", _vm._n($$v))},expression:\"item.priority\"}}),_c('ArgsPicker',{staticStyle:{\"margin-top\":\"-10px\"},attrs:{\"vars\":_vm.item.args},on:{\"change\":_vm.setArgs}}),_c('v-checkbox',{attrs:{\"label\":_vm.$t('Active')},model:{value:(_vm.item.active),callback:function ($$v) {_vm.$set(_vm.item, \"active\", $$v)},expression:\"item.active\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ formError }}\n \n\n !!v || $t('id_required')]\"\n required\n :disabled=\"formSaving\"\n >\n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AppForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./AppForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AppForm.vue?vue&type=template&id=90c4d432\"\nimport script from \"./AppForm.vue?vue&type=script&lang=js\"\nexport * from \"./AppForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n
\n \n \n \n \n\n
\n\n
\n \n mdi-arrow-left\n \n {{ $t('Applications') }}\n \n {{ $t('New App') }}\n \n\n
\n \n \n \n\n \n \n {{ getAppIcon(item.id) }}\n \n\n {{ getAppTitle(item.id) }}\n \n\n \n {{ item.id }}
\n \n\n \n \n \n mdi-delete\n \n\n \n mdi-pencil\n \n
\n \n \n
\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Apps.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Apps.vue?vue&type=template&id=ef4efca8&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Apps.vue?vue&type=script&lang=js\"\nexport * from \"./Apps.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return (_vm.items != null)?_c('div',[(_vm.projectId)?_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t('dashboard2'))+\" \")])],1):_vm._e(),(_vm.projectId)?_c('DashboardMenu',{attrs:{\"project-id\":_vm.projectId,\"project-type\":\"\",\"can-update-project\":_vm.can(_vm.USER_PERMISSIONS.updateProject)}}):_vm._e(),_c('EditDialog',{attrs:{\"save-button-text\":_vm.itemId === 'new' ? _vm.$t('create') : _vm.$t('save'),\"title\":_vm.itemId === 'new' ? _vm.$t('newRunner') : _vm.$t('editRunner')},on:{\"save\":function($event){return _vm.loadItemsAndShowRunnerDetails($event)}},scopedSlots:_vm._u([{key:\"form\",fn:function({ onSave, onError, needSave, needReset }){return [_c('RunnerForm',{attrs:{\"project-id\":_vm.projectId || _vm.itemProjectId,\"item-id\":_vm.itemId,\"need-save\":needSave,\"need-reset\":needReset,\"is-admin\":true},on:{\"save\":onSave,\"error\":onError}})]}}],null,false,3934368161),model:{value:(_vm.editDialog),callback:function ($$v) {_vm.editDialog=$$v},expression:\"editDialog\"}}),_c('EditDialog',{attrs:{\"max-width\":600,\"save-button-text\":null,\"title\":_vm.$t('newRunnerToken'),\"hide-buttons\":\"\"},scopedSlots:_vm._u([{key:\"form\",fn:function({}){return [_c('div',[_c('div',{staticClass:\"mb-4\"},[_c('div',[_vm._v(_vm._s(_vm.$t('runnerToken')))]),_c('div',{staticStyle:{\"position\":\"relative\"}},[_c('code',{staticClass:\"pa-2 mt-2\",staticStyle:{\"background\":\"gray\",\"color\":\"white\",\"display\":\"block\",\"font-size\":\"14px\"}},[_vm._v(_vm._s((_vm.newRunner || {}).token))]),_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"right\":\"10px\",\"top\":\"2px\"},attrs:{\"icon\":\"\",\"color\":\"white\"},on:{\"click\":function($event){_vm.copyToClipboard((_vm.newRunner || {}).token)}}},[_c('v-icon',[_vm._v(\"mdi-content-copy\")])],1)],1)]),_c('div',{staticClass:\"mb-4\"},[_c('div',[_vm._v(_vm._s(_vm.$t('Private Key')))]),_c('div',{staticStyle:{\"position\":\"relative\"}},[_c('code',{staticClass:\"px-2 py-3 mt-2\",staticStyle:{\"background\":\"gray\",\"color\":\"white\",\"display\":\"block\",\"font-size\":\"14px\"}},[_vm._v(_vm._s((_vm.newRunner || {private_key: ''}).private_key.substring(0, 90) + '...'))]),_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"right\":\"10px\",\"top\":\"2px\"},attrs:{\"icon\":\"\",\"color\":\"white\"}},[_c('v-icon',{on:{\"click\":function($event){return _vm.downloadFile(_vm.newRunner.private_key, 'text/plain', 'config.runner.key')}}},[_vm._v(\" mdi-download \")])],1),_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"right\":\"50px\",\"top\":\"2px\"},attrs:{\"icon\":\"\",\"color\":\"white\"},on:{\"click\":function($event){_vm.copyToClipboard((_vm.newRunner || {}).private_key)}}},[_c('v-icon',[_vm._v(\"mdi-content-copy\")])],1)],1)]),_c('h2',{staticClass:\"mt-11 mb-4\"},[_vm._v(\"Variants of usage\")]),_c('v-tabs',{attrs:{\"show-arrows\":false},model:{value:(_vm.usageTab),callback:function ($$v) {_vm.usageTab=$$v},expression:\"usageTab\"}},[_c('v-tab',{key:\"config\"},[_vm._v(\"Config file\")]),_c('v-tab',{key:\"setup\"},[_vm._v(\"Setup\")]),_c('v-tab',{key:\"env\"},[_vm._v(\"Env Vars\")]),_c('v-tab',{key:\"docker\"},[_vm._v(\"Docker\")])],1),_c('v-divider',{staticStyle:{\"margin-top\":\"-1px\"}}),_c('v-tabs-items',{model:{value:(_vm.usageTab),callback:function ($$v) {_vm.usageTab=$$v},expression:\"usageTab\"}},[_c('v-tab-item',{key:\"config\"},[_c('div',{staticClass:\"mt-3\"},[_vm._v(\"Config file content:\")]),_c('div',{staticStyle:{\"position\":\"relative\"}},[_c('pre',{staticClass:\"pa-2\",staticStyle:{\"overflow\":\"auto\",\"background\":\"gray\",\"color\":\"white\",\"border-radius\":\"10px\",\"margin-top\":\"5px\"}},[_vm._v(_vm._s(_vm.runnerConfigCommand))]),_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"right\":\"10px\",\"top\":\"10px\"},attrs:{\"icon\":\"\",\"color\":\"white\"},on:{\"click\":function($event){return _vm.copyToClipboard(_vm.runnerConfigCommand)}}},[_c('v-icon',[_vm._v(\"mdi-content-copy\")])],1)],1),_c('div',{staticClass:\"mt-3\"},[_vm._v(\"Launching the runner:\")]),_c('div',[_c('pre',{staticClass:\"pa-2\",staticStyle:{\"overflow\":\"auto\",\"background\":\"gray\",\"color\":\"white\",\"border-radius\":\"10px\",\"margin-top\":\"5px\"}},[_vm._v(\"semaphore runner start --config /path/to/config/file\")])])]),_c('v-tab-item',{key:\"setup\"},[_c('div',{staticClass:\"mt-3\"},[_vm._v(\"Config file creation:\")]),_c('div',{staticStyle:{\"position\":\"relative\"}},[_c('pre',{staticClass:\"pa-2\",staticStyle:{\"overflow\":\"auto\",\"background\":\"gray\",\"color\":\"white\",\"border-radius\":\"10px\",\"margin-top\":\"5px\"}},[_vm._v(_vm._s(_vm.runnerSetupCommand))]),_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"right\":\"10px\",\"top\":\"10px\"},attrs:{\"icon\":\"\",\"color\":\"white\"},on:{\"click\":function($event){return _vm.copyToClipboard(_vm.runnerSetupCommand)}}},[_c('v-icon',[_vm._v(\"mdi-content-copy\")])],1)],1),_c('div',{staticClass:\"mt-3\"},[_c('div',[_vm._v(\"Launching the runner:\")]),_c('pre',{staticClass:\"pa-2\",staticStyle:{\"overflow\":\"auto\",\"background\":\"gray\",\"color\":\"white\",\"border-radius\":\"10px\",\"margin-top\":\"5px\"}},[_vm._v(\"semaphore runner start --config ./config.runner.json\")])])]),_c('v-tab-item',{key:\"env\"},[_c('div',{staticClass:\"mt-3\"},[_vm._v(\"Launching the runner:\")]),_c('div',{staticStyle:{\"position\":\"relative\"}},[_c('pre',{staticClass:\"pa-2\",staticStyle:{\"overflow\":\"auto\",\"background\":\"gray\",\"color\":\"white\",\"border-radius\":\"10px\",\"margin-top\":\"5px\"}},[_vm._v(_vm._s(_vm.runnerEnvCommand))]),_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"right\":\"10px\",\"top\":\"10px\"},attrs:{\"icon\":\"\",\"color\":\"white\"},on:{\"click\":function($event){return _vm.copyToClipboard(_vm.runnerEnvCommand)}}},[_c('v-icon',[_vm._v(\"mdi-content-copy\")])],1)],1)]),_c('v-tab-item',{key:\"docker\"},[_c('div',{staticClass:\"mt-3\"},[_vm._v(\"Launching the runner:\")]),_c('div',{staticStyle:{\"position\":\"relative\"}},[_c('pre',{staticClass:\"pa-2\",staticStyle:{\"overflow\":\"auto\",\"background\":\"gray\",\"color\":\"white\",\"border-radius\":\"10px\",\"margin-top\":\"5px\"}},[_vm._v(_vm._s(_vm.runnerDockerCommand))]),_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"right\":\"10px\",\"top\":\"10px\"},attrs:{\"icon\":\"\",\"color\":\"white\"},on:{\"click\":function($event){return _vm.copyToClipboard(_vm.runnerDockerCommand)}}},[_c('v-icon',[_vm._v(\"mdi-content-copy\")])],1)],1)])],1)],1)]}}],null,false,2092084980),model:{value:(_vm.newRunnerTokenDialog),callback:function ($$v) {_vm.newRunnerTokenDialog=$$v},expression:\"newRunnerTokenDialog\"}}),_c('YesNoDialog',{attrs:{\"title\":_vm.$t('deleteRunner'),\"text\":_vm.$t('askDeleteRunner', {runner: _vm.itemId})},on:{\"yes\":function($event){return _vm.deleteItem(_vm.itemId)}},model:{value:(_vm.deleteItemDialog),callback:function ($$v) {_vm.deleteItemDialog=$$v},expression:\"deleteItemDialog\"}}),(!_vm.projectId)?_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-btn',{staticClass:\"mr-4\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.returnToProjects()}}},[_c('v-icon',[_vm._v(\"mdi-arrow-left\")])],1),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('runners')))]),_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editItem('new')}}},[_vm._v(_vm._s(_vm.$t('newRunner'))+\" \")])],1):(_vm.premiumFeatures.project_runners)?_c('v-btn',{staticStyle:{\"position\":\"absolute\",\"right\":\"15px\",\"top\":\"15px\"},attrs:{\"color\":\"primary\"},on:{\"click\":function($event){return _vm.editItem('new')}}},[_vm._v(_vm._s(_vm.$t('newRunner'))+\" \")]):_vm._e(),(!_vm.projectId)?_c('v-divider'):_vm._e(),(!_vm.premiumFeatures.project_runners)?_c('v-alert',{staticStyle:{\"border-radius\":\"0\"},attrs:{\"type\":\"info\",\"text\":\"\",\"color\":\"hsl(348deg, 86%, 61%)\"}},[(_vm.projectId)?_c('span',[_vm._v(\" Project-level runners are only available in the \"),_c('b',[_vm._v(\"PRO\")]),_vm._v(\" version. \")]):_c('span',[_vm._v(\" The open-source version has limited functionality; full functionality is in the \"),_c('b',[_vm._v(\"PRO\")]),_vm._v(\" version. \")]),_c('v-btn',{staticClass:\"ml-2 pr-2\",attrs:{\"color\":\"hsl(348deg, 86%, 61%)\",\"href\":\"https://semaphoreui.com/pro\"}},[_vm._v(\" Learn more \"),_c('v-icon',[_vm._v(\"mdi-chevron-right\")])],1)],1):_vm._e(),_c('v-data-table',{staticClass:\"mt-4\",attrs:{\"headers\":_vm.headers,\"items\":_vm.items,\"footer-props\":{ itemsPerPageOptions: [20] }},scopedSlots:_vm._u([{key:\"item.active\",fn:function({ item }){return [_c('v-switch',{attrs:{\"inset\":\"\"},on:{\"change\":function($event){return _vm.setActive(item.id, item.active)}},model:{value:(item.active),callback:function ($$v) {_vm.$set(item, \"active\", $$v)},expression:\"item.active\"}})]}},{key:\"item.name\",fn:function({ item }){return [_vm._v(_vm._s(item.name || '—'))]}},{key:\"item.webhook\",fn:function({ item }){return [_vm._v(_vm._s(item.webhook || '—'))]}},{key:\"item.max_parallel_tasks\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(item.max_parallel_tasks || '∞')+\" \")]}},{key:\"item.project_id\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(item.project_id ? `#${item.project_id}` : '—')+\" \")]}},{key:\"item.tag\",fn:function({ item }){return [(item.tag)?_c('code',[_vm._v(_vm._s(item.tag))]):_c('span',[_vm._v(\"—\")])]}},{key:\"item.actions\",fn:function({ item }){return [_c('div',{staticStyle:{\"white-space\":\"nowrap\"}},[_c('v-btn',{staticClass:\"mr-1\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.askDeleteItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-delete\")])],1),_c('v-btn',{staticClass:\"mr-1\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.editItem(item.id)}}},[_c('v-icon',[_vm._v(\"mdi-pencil\")])],1)],1)]}}],null,false,1774240203)})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.item != null)?_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},model:{value:(_vm.formValid),callback:function ($$v) {_vm.formValid=$$v},expression:\"formValid\"}},[_c('v-alert',{staticClass:\"pb-2\",attrs:{\"value\":_vm.formError,\"color\":\"error\"}},[_vm._v(_vm._s(_vm.formError))]),_c('v-text-field',{attrs:{\"label\":_vm.$t('name'),\"rules\":[v => !!v || _vm.$t('name_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.name),callback:function ($$v) {_vm.$set(_vm.item, \"name\", $$v)},expression:\"item.name\"}}),(this.projectId)?_c('v-text-field',{attrs:{\"label\":_vm.$t('tag'),\"rules\":[v => !!v || _vm.$t('tag_required')],\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.tag),callback:function ($$v) {_vm.$set(_vm.item, \"tag\", $$v)},expression:\"item.tag\"}}):_vm._e(),_c('v-text-field',{attrs:{\"label\":_vm.$t('webhook'),\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.webhook),callback:function ($$v) {_vm.$set(_vm.item, \"webhook\", $$v)},expression:\"item.webhook\"}}),_c('v-text-field',{attrs:{\"type\":\"number\",\"label\":_vm.$t('maxNumberOfParallelTasksOptional'),\"required\":\"\",\"disabled\":_vm.formSaving},model:{value:(_vm.item.max_parallel_tasks),callback:function ($$v) {_vm.$set(_vm.item, \"max_parallel_tasks\", _vm._n($$v))},expression:\"item.max_parallel_tasks\"}}),_c('v-checkbox',{staticClass:\"mt-0\",attrs:{\"label\":_vm.$t('enabled'),\"disabled\":_vm.formSaving,\"hide-details\":\"\"},model:{value:(_vm.item.active),callback:function ($$v) {_vm.$set(_vm.item, \"active\", $$v)},expression:\"item.active\"}})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n {{ formError }}\n\n !!v || $t('name_required')]\"\n required\n :disabled=\"formSaving\"\n >\n\n !!v || $t('tag_required')]\"\n required\n :disabled=\"formSaving\"\n >\n\n \n\n \n\n \n \n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RunnerForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./RunnerForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RunnerForm.vue?vue&type=template&id=744465cd\"\nimport script from \"./RunnerForm.vue?vue&type=script&lang=js\"\nexport * from \"./RunnerForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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","\n \n\n
\n \n \n {{ $t('dashboard2') }}\n \n \n\n
\n\n
\n \n \n \n \n\n
\n \n \n
\n
{{ $t('runnerToken') }}
\n
\n {{ (newRunner || {}).token }}
\n\n \n mdi-content-copy\n \n
\n
\n\n
\n
{{ $t('Private Key') }}
\n
\n {{ (newRunner || {private_key: ''}).private_key.substring(0, 90) + '...' }}
\n\n \n \n mdi-download\n \n \n\n \n mdi-content-copy\n \n
\n
\n\n
Variants of usage
\n\n
\n Config file\n Setup\n Env Vars\n Docker\n \n\n
\n\n
\n \n Config file content:
\n \n
{{ runnerConfigCommand }}
\n\n
\n mdi-content-copy\n \n
\n\n Launching the runner:
\n \n
semaphore runner start --config /path/to/config/file
\n
\n \n \n Config file creation:
\n \n
{{ runnerSetupCommand }}
\n\n
\n mdi-content-copy\n \n
\n\n \n
Launching the runner:
\n
semaphore runner start --config ./config.runner.json
\n
\n \n \n Launching the runner:
\n \n
{{ runnerEnvCommand }}
\n\n
\n mdi-content-copy\n \n
\n \n\n \n Launching the runner:
\n \n
{{ runnerDockerCommand }}
\n\n
\n mdi-content-copy\n \n
\n \n \n
\n \n \n\n
\n\n
\n \n mdi-arrow-left\n \n\n {{ $t('runners') }}\n \n {{ $t('newRunner') }}\n \n \n\n
{{ $t('newRunner') }}\n \n\n
\n\n
\n \n Project-level runners are only available in the PRO version.\n \n\n \n The open-source version has limited functionality;\n full functionality is in the PRO version.\n \n \n Learn more\n mdi-chevron-right\n \n \n\n
\n \n \n \n\n {{ item.name || '—' }}\n\n {{ item.webhook || '—' }}\n\n \n {{ item.max_parallel_tasks || '∞' }}\n \n\n \n {{ item.project_id ? `#${item.project_id}` : '—' }}\n \n\n \n {{ item.tag }}
\n —\n \n\n \n \n \n mdi-delete\n \n\n \n mdi-pencil\n \n
\n \n \n
\n\n\n","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Runners.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Runners.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Runners.vue?vue&type=template&id=06944c6c&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Runners.vue?vue&type=script&lang=js\"\nexport * from \"./Runners.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-toolbar',{attrs:{\"flat\":\"\"}},[_c('v-app-bar-nav-icon',{on:{\"click\":function($event){return _vm.showDrawer()}}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t('dashboard')))])],1),_c('DashboardMenu',{attrs:{\"project-id\":_vm.projectId,\"project-type\":_vm.projectType,\"can-update-project\":_vm.can(_vm.USER_PERMISSIONS.updateProject)}}),_c('TaskStats',{staticClass:\"mt-4\",attrs:{\"project-id\":_vm.projectId}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n \n \n {{ $t('dashboard') }}\n \n\n \n\n \n\n
\n\n\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Stats.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./Stats.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Stats.vue?vue&type=template&id=8f658712&xmlns%3Av-slot=http%3A%2F%2Fwww.w3.org%2F1999%2FXSL%2FTransform\"\nimport script from \"./Stats.vue?vue&type=script&lang=js\"\nexport * from \"./Stats.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport RestoreProject from '@/views/project/RestoreProject.vue';\nimport Tasks from '@/views/Tasks.vue';\nimport TaskList from '@/components/TaskList.vue';\nimport TemplateDetails from '@/views/project/template/TemplateDetails.vue';\nimport TemplateTerraformState from '@/views/project/template/TemplateTerraformState.vue';\nimport Schedule from '../views/project/Schedule.vue';\nimport History from '../views/project/History.vue';\nimport Activity from '../views/project/Activity.vue';\nimport Settings from '../views/project/Settings.vue';\nimport Templates from '../views/project/Templates.vue';\nimport TemplateView from '../views/project/TemplateView.vue';\nimport Environment from '../views/project/Environment.vue';\nimport Inventory from '../views/project/Inventory.vue';\nimport Keys from '../views/project/Keys.vue';\nimport Repositories from '../views/project/Repositories.vue';\nimport Team from '../views/project/Team.vue';\nimport Users from '../views/Users.vue';\nimport Auth from '../views/Auth.vue';\nimport New from '../views/project/New.vue';\nimport Integrations from '../views/project/Integrations.vue';\nimport IntegrationExtractor from '../views/project/IntegrationExtractor.vue';\nimport Apps from '../views/Apps.vue';\nimport Runners from '../views/Runners.vue';\nimport Stats from '../views/project/Stats.vue';\n\nVue.use(VueRouter);\n\nconst routes = [\n {\n path: '/project/new',\n component: New,\n },\n {\n path: '/project/restore',\n component: RestoreProject,\n },\n {\n path: '/project/:projectId',\n redirect: '/project/:projectId/history',\n },\n {\n path: '/project/:projectId/history',\n component: History,\n },\n {\n path: '/project/:projectId/stats',\n component: Stats,\n },\n {\n path: '/project/:projectId/activity',\n component: Activity,\n },\n {\n path: '/project/:projectId/runners',\n component: Runners,\n },\n {\n path: '/project/:projectId/schedule',\n component: Schedule,\n },\n {\n path: '/project/:projectId/settings',\n component: Settings,\n },\n {\n path: '/project/:projectId/templates',\n component: Templates,\n },\n {\n path: '/project/:projectId/views/:viewId/templates',\n component: Templates,\n },\n {\n path: '/project/:projectId/templates/:templateId',\n redirect: '/project/:projectId/templates/:templateId/tasks',\n component: TemplateView,\n children: [{\n path: 'tasks',\n component: TaskList,\n }, {\n path: 'details',\n component: TemplateDetails,\n }, {\n path: 'state',\n component: TemplateTerraformState,\n }],\n },\n {\n path: '/project/:projectId/views/:viewId/templates/:templateId',\n redirect: '/project/:projectId/views/:viewId/templates/:templateId/tasks',\n component: TemplateView,\n children: [{\n path: 'tasks',\n component: TaskList,\n }, {\n path: 'details',\n component: TemplateDetails,\n }, {\n path: 'state',\n component: TemplateTerraformState,\n }],\n },\n {\n path: '/project/:projectId/environment',\n component: Environment,\n },\n {\n path: '/project/:projectId/inventory',\n component: Inventory,\n },\n {\n path: '/project/:projectId/integrations',\n component: Integrations,\n },\n {\n path: '/project/:projectId/integrations/:integrationId',\n component: IntegrationExtractor,\n },\n {\n path: '/project/:projectId/repositories',\n component: Repositories,\n },\n {\n path: '/project/:projectId/keys',\n component: Keys,\n },\n {\n path: '/project/:projectId/team',\n component: Team,\n },\n {\n path: '/auth/login',\n component: Auth,\n },\n {\n path: '/users',\n component: Users,\n },\n {\n path: '/runners',\n component: Runners,\n },\n {\n path: '/tasks',\n component: Tasks,\n },\n {\n path: '/apps',\n component: Apps,\n },\n];\n\nconst router = new VueRouter({\n mode: 'history',\n routes,\n});\n\nexport default router;\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('svg',{attrs:{\"width\":\"48\",\"height\":\"48\",\"viewBox\":\"0 0 48 48\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M25.461 2.7578C24.5513 2.25782 23.4491 2.25782 22.5395 2.7578L7.56956 10.9858C7.5571\\n 10.9927 7.54472 10.9996 7.5324 11.0066L5.5614 12.0899C4.59191 12.6228 3.9895 13.6413\\n 3.9895 14.7476V33.2547C3.9895 34.3609 4.59191 35.3795 5.5614 35.9123L20.6733\\n 44.2184C20.6928 44.2291 20.7123 44.2396 20.7319 44.2499L22.5395 45.2434C23.4491 45.7433\\n 24.5513 45.7433 25.461 45.2434L27.2731 44.2474C27.2911 44.2379 27.309 44.2283 27.3269\\n 44.2184L42.4388 35.9123C43.4083 35.3795 44.0107 34.3609 44.0107 33.2547V14.7476C44.0107\\n 13.6413 43.4083 12.6228 42.4388 12.0899L40.4746 11.0103C40.4601 11.0021 40.4455 10.9939\\n 40.4309 10.9858L25.461 2.7578ZM26.4228 24.0006L40.4309 16.3012C40.4453 16.2933 40.4595\\n 16.2853 40.4737 16.2772L40.641 16.1853C41.1074 15.9289 41.6779 16.2664 41.6779\\n 16.7986V31.2037C41.6779 31.7359 41.1074 32.0734 40.641 31.817L40.5118 31.746C40.4852\\n 31.7304 40.4582 31.715 40.4309 31.7L26.4228 24.0006ZM7.53343 16.281C7.5454 16.2878\\n 7.55745 16.2945 7.56956 16.3012L21.5777 24.0006L7.56956 31.7C7.54334 31.7144 7.51745\\n 31.7291 7.49188 31.7441L7.35925 31.817C6.89284 32.0733 6.32231 31.7359 6.32231\\n 31.2037V16.7986C6.32231 16.2664 6.89284 15.9289 7.35925 16.1853L7.53343 16.281ZM39.3281\\n 13.0421L26.2033 5.8282C25.743 5.57521 25.1813 5.90054 25.1666 6.42067C25.1667 6.42761\\n 25.1667 6.43456 25.1667 6.44151V22.0286L39.3277 14.2451C39.7839 13.9752 39.784 13.3122\\n 39.3281 13.0421ZM8.67593 14.247L22.8335 22.0286V6.44151C22.8335 6.43455 22.8335 6.42761\\n 22.8336 6.42067C22.8189 5.90054 22.2572 5.57521 21.7969 5.8282L8.67549 13.0403C8.21532\\n 13.3098 8.21547 13.9777 8.67593 14.247ZM8.69322 34.971C8.22218 34.7121 8.20989 34.0462\\n 8.65635 33.766L22.8335 25.9737V41.5608C22.8335 41.5677 22.8335 41.5747 22.8336\\n 41.5816C22.8192 42.0911 22.2799 42.4137 21.8252 42.1888L8.69322 34.971ZM25.1667\\n 41.5608V25.9737L39.3456 33.767C39.7905 34.0477 39.7777 34.7124 39.3072 34.971L26.1773\\n 42.1877C25.7221 42.4148 25.181 42.092 25.1666 41.5816C25.1666 41.5782 25.1667 41.5747\\n 25.1667 41.5713C25.1667 41.5678 25.1667 41.5643 25.1667 41.5608Z\",\"fill\":\"#0D1A2B\"}}),_c('path',{attrs:{\"d\":\"M23.6628 4.80138C23.8728 4.686 24.1271 4.686 24.337 4.80138L39.3069 13.0294C39.7906\\n 13.2953 39.7906 13.9902 39.3069 14.256L24.337 22.4841C24.1271 22.5995 23.8728 22.5995\\n 23.6628 22.4841L8.69295 14.256C8.20929 13.9902 8.20929 13.2953 8.69295 13.0294L23.6628\\n 4.80138Z\",\"fill\":\"#E7C200\"}}),_c('path',{attrs:{\"d\":\"M6.32202 16.7975C6.32202 16.2653 6.89255 15.9279 7.35896 16.1842L22.4708 24.4903C22.6946\\n 24.6133 22.8336 24.8483 22.8336 25.1036V41.5597C22.8336 42.0919 22.2631 42.4294 21.7967\\n 42.173L6.68477 33.8669C6.46104 33.7439 6.32202 33.5089 6.32202 33.2536V16.7975Z\",\"fill\":\"#FFDA18\"}}),_c('path',{attrs:{\"d\":\"M40.6406 16.1842C41.1071 15.9279 41.6776 16.2653 41.6776 16.7975V33.2536C41.6776\\n 33.5089 41.5386 33.7439 41.3148 33.8669L26.203 42.173C25.7365 42.4294 25.166 42.0919\\n 25.166 41.5597V25.1036C25.166 24.8483 25.305 24.6133 25.5288 24.4903L40.6406 16.1842Z\",\"fill\":\"white\"}}),_c('path',{attrs:{\"d\":\"M12.669 29.7093C12.6684 29.717 12.6678 29.7246 12.6672 29.7322L9.125 27.8686C9.12549\\n 27.8609 9.12602 27.8532 9.12659 27.8456C9.2087 26.7433 10.0683 26.2669 11.0465\\n 26.7816C12.0247 27.2962 12.7511 28.607 12.669 29.7093Z\",\"fill\":\"#0D1A2B\"}}),_c('path',{attrs:{\"d\":\"M18.2432 32.928C18.2427 32.9357 18.2421 32.9433 18.2414 32.9509L14.6992\\n 31.0872C14.6997 31.0796 14.7003 31.0719 14.7008 31.0643C14.7829 29.962\\n 15.6425 29.4856 16.6207 30.0003C17.5989 30.5149 18.3253 31.8257 18.2432 32.928Z\",\"fill\":\"#0D1A2B\"}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./OpenTofuIcon.vue?vue&type=template&id=340266d4\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/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 render(){var _vm=this,_c=_vm._self._c;return _c('svg',{attrs:{\"width\":\"106\",\"height\":\"106\",\"viewBox\":\"0 0 106 106\",\"fill\":\"none\",\"xmlns\":\"http://www.w3.org/2000/svg\"}},[_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M17.0724 58.8698C20.9836 56.6116 20.9901\\n 49.3006 17.0869 42.5403C13.1837 35.7799 6.84888 32.1302 2.93767 34.3885C-0.973544 36.6467\\n -0.980046 43.9576 2.92315 50.718C6.82634 57.4783 13.1612 61.128 17.0724 58.8698ZM17.0958\\n 73.3454C20.999 80.1057 20.9925 87.4166 17.0813 89.6749C13.17 91.9331 6.83522 88.2834 2.93203\\n 81.523C-0.971167 74.7627 -0.964667 67.4517 2.94655 65.1935C6.85776 62.9353 13.1926 66.585\\n 17.0958 73.3454ZM43.7495 88.7551C47.6527 95.5154 47.6462 102.826 43.735 105.085C39.8238\\n 107.343 33.4889 103.693 29.5857 96.9328C25.6826 90.1725 25.6891 82.8615 29.6003\\n 80.6033C33.5115 78.3451 39.8463 81.9948 43.7495 88.7551ZM43.7408 57.9504C47.644 64.7107\\n 47.6375 72.0217 43.7263 74.2799C39.8151 76.5381 33.4803 72.8884 29.5771 66.1281C25.6739\\n 59.3678 25.6804 52.0568 29.5916 49.7986C33.5028 47.5404 39.8377 51.1901 43.7408 57.9504Z\",\"fill\":\"#F26E7E\"}}),_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M97.0612 50.7349C100.964 43.9746 100.958\\n 36.6636 97.0467 34.4054C93.1355 32.1472 86.8007 35.7969 82.8975 42.5572C78.9943 49.3176\\n 79.0008 56.6285 82.912 58.8867C86.8232 61.1449 93.1581 57.4953 97.0612 50.7349ZM97.062\\n 65.2032C100.973 67.4614 100.98 74.7723 97.0766 81.5327C93.1734 88.293 86.8385 91.9427\\n 82.9273 89.6845C79.0161 87.4263 79.0096 80.1153 82.9128 73.355C86.816 66.5946 93.1508\\n 62.9449 97.062 65.2032ZM70.4136 80.5876C74.3249 82.8458 74.3314 90.1568 70.4282\\n 96.9171C66.525 103.677 60.1901 107.327 56.2789 105.069C52.3677 102.811 52.3612 95.4998\\n 56.2644 88.7395C60.1676 81.9791 66.5024 78.3294 70.4136 80.5876ZM70.3986 49.7897C74.3098\\n 52.0479 74.3163 59.3589 70.4131 66.1192C66.5099 72.8796 60.1751 76.5292 56.2638\\n 74.271C52.3526 72.0128 52.3461 64.7019 56.2493 57.9415C60.1525 51.1812 66.4873 47.5315\\n 70.3986 49.7897Z\",\"fill\":\"#8A3391\"}}),_c('path',{attrs:{\"fill-rule\":\"evenodd\",\"clip-rule\":\"evenodd\",\"d\":\"M64.1222 8.17769C64.1222 12.6941 57.7939\\n 16.3554 49.9875 16.3554C42.1811 16.3554 35.8528 12.6941 35.8528 8.17769C35.8528 3.66127\\n 42.1811 0 49.9875 0C57.7939 0 64.1222 3.66127 64.1222 8.17769ZM37.474 23.5464C37.474\\n 28.0628 31.1457 31.7241 23.3393 31.7241C15.5329 31.7241 9.20459 28.0628 9.20459\\n 23.5464C9.20459 19.03 15.5329 15.3687 23.3393 15.3687C31.1457 15.3687 37.474 19.03\\n 37.474 23.5464ZM76.6705 31.7241C84.4769 31.7241 90.8052 28.0628 90.8052 23.5464C90.8052\\n 19.03 84.4769 15.3687 76.6705 15.3687C68.8641 15.3687 62.5358 19.03 62.5358 23.5464C62.5358\\n 28.0628 68.8641 31.7241 76.6705 31.7241ZM64.1222 38.9496C64.1222 43.466 57.7939 47.1272\\n 49.9875 47.1272C42.1811 47.1272 35.8528 43.466 35.8528 38.9496C35.8528 34.4332 42.1811\\n 30.7719 49.9875 30.7719C57.7939 30.7719 64.1222 34.4332 64.1222 38.9496Z\",\"fill\":\"#F7BF2A\"}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./PulumiIcon.vue?vue&type=template&id=1df3fd8e\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\nimport Vuetify from 'vuetify/lib';\nimport OpenTofuIcon from '@/components/OpenTofuIcon.vue';\nimport PulumiIcon from '@/components/PulumiIcon.vue';\n\nVue.use(Vuetify);\n\nexport default new Vuetify({\n icons: {\n values: {\n tofu: {\n component: OpenTofuIcon,\n },\n pulumi: {\n component: PulumiIcon,\n },\n },\n },\n});\n","import Vue from 'vue';\nimport moment from 'moment';\nimport axios from 'axios';\nimport { AnsiUp } from 'ansi_up';\nimport { Line, Bar } from 'vue-chartjs/legacy';\n\nimport App from './App.vue';\nimport router from './router';\nimport vuetify from './plugins/vuetify';\nimport './assets/scss/main.scss';\nimport i18n from './plugins/i18';\n\nconst convert = new AnsiUp();\nconvert.ansi_colors = [\n [\n { rgb: [0, 0, 0], class_name: 'ansi-black' },\n { rgb: [170, 0, 0], class_name: 'ansi-red' },\n { rgb: [0, 170, 0], class_name: 'ansi-green' },\n { rgb: [170, 85, 0], class_name: 'ansi-yellow' },\n { rgb: [33, 150, 243], class_name: 'ansi-blue' },\n { rgb: [170, 0, 170], class_name: 'ansi-magenta' },\n { rgb: [0, 170, 170], class_name: 'ansi-cyan' },\n { rgb: [170, 170, 170], class_name: 'ansi-white' },\n ],\n [\n { rgb: [85, 85, 85], class_name: 'ansi-bright-black' },\n { rgb: [255, 85, 85], class_name: 'ansi-bright-red' },\n { rgb: [85, 255, 85], class_name: 'ansi-bright-green' },\n { rgb: [255, 255, 85], class_name: 'ansi-bright-yellow' },\n { rgb: [85, 85, 255], class_name: 'ansi-bright-blue' },\n { rgb: [255, 85, 255], class_name: 'ansi-bright-magenta' },\n { rgb: [85, 255, 255], class_name: 'ansi-bright-cyan' },\n { rgb: [255, 255, 255], class_name: 'ansi-bright-white' },\n ],\n];\n\naxios.defaults.baseURL = document.baseURI;\nVue.config.productionTip = false;\n\nVue.filter('formatDate', (value) => {\n if (!value) {\n return '—';\n }\n const date = moment(value);\n const now = moment();\n\n if (now.isSame(date, 'day')) {\n return `${date.fromNow()} (${date.format('HH:mm')})`; // Display only time if today\n }\n return date.format('L HH:mm'); // Display only date otherwise\n});\nVue.filter('formatTime', (value) => (value ? moment(String(value)).format('LTS') : '—'));\nVue.filter('formatLog', (value) => (value ? convert.ansi_to_html(String(value)) : value));\n\nVue.filter('formatMilliseconds', (value) => {\n if (value == null || value === '') {\n return '—';\n }\n\n let duration;\n if (typeof value === 'string') {\n duration = parseInt(value, 10);\n } else if (typeof value === 'number') {\n duration = value;\n } else if (Array.isArray(value)) {\n if (value.length !== 2) {\n throw new Error('formatMilliseconds: invalid value format');\n }\n\n if (value[0] == null || value[0] === '') {\n return '—';\n }\n const start = typeof value[0] === 'string' ? new Date(value[0]) : value[0];\n let end;\n\n if (value[1] == null || value[1] === '') {\n end = Date.now();\n } else {\n end = typeof value[1] === 'string' ? new Date(value[1]) : value[1];\n }\n\n duration = end - start;\n }\n return moment.duration(duration, 'milliseconds').humanize();\n});\n\nVue.component('LineChartGenerator', Line);\nVue.component('BarChartGenerator', Bar);\n\nnew Vue({\n router,\n vuetify,\n i18n,\n render: (h) => h(App),\n}).$mount('#app');\n","var map = {\n\t\"./af\": 5177,\n\t\"./af.js\": 5177,\n\t\"./ar\": 1509,\n\t\"./ar-dz\": 1488,\n\t\"./ar-dz.js\": 1488,\n\t\"./ar-kw\": 8676,\n\t\"./ar-kw.js\": 8676,\n\t\"./ar-ly\": 2353,\n\t\"./ar-ly.js\": 2353,\n\t\"./ar-ma\": 4496,\n\t\"./ar-ma.js\": 4496,\n\t\"./ar-ps\": 6947,\n\t\"./ar-ps.js\": 6947,\n\t\"./ar-sa\": 2682,\n\t\"./ar-sa.js\": 2682,\n\t\"./ar-tn\": 9756,\n\t\"./ar-tn.js\": 9756,\n\t\"./ar.js\": 1509,\n\t\"./az\": 5533,\n\t\"./az.js\": 5533,\n\t\"./be\": 8959,\n\t\"./be.js\": 8959,\n\t\"./bg\": 7777,\n\t\"./bg.js\": 7777,\n\t\"./bm\": 4903,\n\t\"./bm.js\": 4903,\n\t\"./bn\": 1290,\n\t\"./bn-bd\": 7357,\n\t\"./bn-bd.js\": 7357,\n\t\"./bn.js\": 1290,\n\t\"./bo\": 1545,\n\t\"./bo.js\": 1545,\n\t\"./br\": 1470,\n\t\"./br.js\": 1470,\n\t\"./bs\": 4429,\n\t\"./bs.js\": 4429,\n\t\"./ca\": 7306,\n\t\"./ca.js\": 7306,\n\t\"./cs\": 6464,\n\t\"./cs.js\": 6464,\n\t\"./cv\": 3635,\n\t\"./cv.js\": 3635,\n\t\"./cy\": 4226,\n\t\"./cy.js\": 4226,\n\t\"./da\": 3601,\n\t\"./da.js\": 3601,\n\t\"./de\": 7853,\n\t\"./de-at\": 6111,\n\t\"./de-at.js\": 6111,\n\t\"./de-ch\": 4697,\n\t\"./de-ch.js\": 4697,\n\t\"./de.js\": 7853,\n\t\"./dv\": 708,\n\t\"./dv.js\": 708,\n\t\"./el\": 4691,\n\t\"./el.js\": 4691,\n\t\"./en-au\": 3872,\n\t\"./en-au.js\": 3872,\n\t\"./en-ca\": 8298,\n\t\"./en-ca.js\": 8298,\n\t\"./en-gb\": 6195,\n\t\"./en-gb.js\": 6195,\n\t\"./en-ie\": 6584,\n\t\"./en-ie.js\": 6584,\n\t\"./en-il\": 5543,\n\t\"./en-il.js\": 5543,\n\t\"./en-in\": 9033,\n\t\"./en-in.js\": 9033,\n\t\"./en-nz\": 9402,\n\t\"./en-nz.js\": 9402,\n\t\"./en-sg\": 3004,\n\t\"./en-sg.js\": 3004,\n\t\"./eo\": 2934,\n\t\"./eo.js\": 2934,\n\t\"./es\": 7650,\n\t\"./es-do\": 838,\n\t\"./es-do.js\": 838,\n\t\"./es-mx\": 7730,\n\t\"./es-mx.js\": 7730,\n\t\"./es-us\": 6575,\n\t\"./es-us.js\": 6575,\n\t\"./es.js\": 7650,\n\t\"./et\": 3035,\n\t\"./et.js\": 3035,\n\t\"./eu\": 3508,\n\t\"./eu.js\": 3508,\n\t\"./fa\": 119,\n\t\"./fa.js\": 119,\n\t\"./fi\": 527,\n\t\"./fi.js\": 527,\n\t\"./fil\": 5995,\n\t\"./fil.js\": 5995,\n\t\"./fo\": 2477,\n\t\"./fo.js\": 2477,\n\t\"./fr\": 5498,\n\t\"./fr-ca\": 6435,\n\t\"./fr-ca.js\": 6435,\n\t\"./fr-ch\": 7892,\n\t\"./fr-ch.js\": 7892,\n\t\"./fr.js\": 5498,\n\t\"./fy\": 7071,\n\t\"./fy.js\": 7071,\n\t\"./ga\": 1734,\n\t\"./ga.js\": 1734,\n\t\"./gd\": 217,\n\t\"./gd.js\": 217,\n\t\"./gl\": 7329,\n\t\"./gl.js\": 7329,\n\t\"./gom-deva\": 2124,\n\t\"./gom-deva.js\": 2124,\n\t\"./gom-latn\": 3383,\n\t\"./gom-latn.js\": 3383,\n\t\"./gu\": 5050,\n\t\"./gu.js\": 5050,\n\t\"./he\": 1713,\n\t\"./he.js\": 1713,\n\t\"./hi\": 3861,\n\t\"./hi.js\": 3861,\n\t\"./hr\": 6308,\n\t\"./hr.js\": 6308,\n\t\"./hu\": 609,\n\t\"./hu.js\": 609,\n\t\"./hy-am\": 7160,\n\t\"./hy-am.js\": 7160,\n\t\"./id\": 4063,\n\t\"./id.js\": 4063,\n\t\"./is\": 9374,\n\t\"./is.js\": 9374,\n\t\"./it\": 8383,\n\t\"./it-ch\": 1827,\n\t\"./it-ch.js\": 1827,\n\t\"./it.js\": 8383,\n\t\"./ja\": 3827,\n\t\"./ja.js\": 3827,\n\t\"./jv\": 9722,\n\t\"./jv.js\": 9722,\n\t\"./ka\": 1794,\n\t\"./ka.js\": 1794,\n\t\"./kk\": 7088,\n\t\"./kk.js\": 7088,\n\t\"./km\": 6870,\n\t\"./km.js\": 6870,\n\t\"./kn\": 4451,\n\t\"./kn.js\": 4451,\n\t\"./ko\": 3164,\n\t\"./ko.js\": 3164,\n\t\"./ku\": 8174,\n\t\"./ku-kmr\": 6181,\n\t\"./ku-kmr.js\": 6181,\n\t\"./ku.js\": 8174,\n\t\"./ky\": 8474,\n\t\"./ky.js\": 8474,\n\t\"./lb\": 9680,\n\t\"./lb.js\": 9680,\n\t\"./lo\": 5867,\n\t\"./lo.js\": 5867,\n\t\"./lt\": 5766,\n\t\"./lt.js\": 5766,\n\t\"./lv\": 9532,\n\t\"./lv.js\": 9532,\n\t\"./me\": 8076,\n\t\"./me.js\": 8076,\n\t\"./mi\": 1848,\n\t\"./mi.js\": 1848,\n\t\"./mk\": 306,\n\t\"./mk.js\": 306,\n\t\"./ml\": 3739,\n\t\"./ml.js\": 3739,\n\t\"./mn\": 9053,\n\t\"./mn.js\": 9053,\n\t\"./mr\": 6169,\n\t\"./mr.js\": 6169,\n\t\"./ms\": 3386,\n\t\"./ms-my\": 2297,\n\t\"./ms-my.js\": 2297,\n\t\"./ms.js\": 3386,\n\t\"./mt\": 7075,\n\t\"./mt.js\": 7075,\n\t\"./my\": 2264,\n\t\"./my.js\": 2264,\n\t\"./nb\": 2274,\n\t\"./nb.js\": 2274,\n\t\"./ne\": 8235,\n\t\"./ne.js\": 8235,\n\t\"./nl\": 2572,\n\t\"./nl-be\": 3784,\n\t\"./nl-be.js\": 3784,\n\t\"./nl.js\": 2572,\n\t\"./nn\": 4566,\n\t\"./nn.js\": 4566,\n\t\"./oc-lnc\": 9330,\n\t\"./oc-lnc.js\": 9330,\n\t\"./pa-in\": 9849,\n\t\"./pa-in.js\": 9849,\n\t\"./pl\": 4418,\n\t\"./pl.js\": 4418,\n\t\"./pt\": 9834,\n\t\"./pt-br\": 8303,\n\t\"./pt-br.js\": 8303,\n\t\"./pt.js\": 9834,\n\t\"./ro\": 4457,\n\t\"./ro.js\": 4457,\n\t\"./ru\": 2271,\n\t\"./ru.js\": 2271,\n\t\"./sd\": 1221,\n\t\"./sd.js\": 1221,\n\t\"./se\": 3478,\n\t\"./se.js\": 3478,\n\t\"./si\": 7538,\n\t\"./si.js\": 7538,\n\t\"./sk\": 5784,\n\t\"./sk.js\": 5784,\n\t\"./sl\": 6637,\n\t\"./sl.js\": 6637,\n\t\"./sq\": 6794,\n\t\"./sq.js\": 6794,\n\t\"./sr\": 5719,\n\t\"./sr-cyrl\": 3322,\n\t\"./sr-cyrl.js\": 3322,\n\t\"./sr.js\": 5719,\n\t\"./ss\": 6000,\n\t\"./ss.js\": 6000,\n\t\"./sv\": 1011,\n\t\"./sv.js\": 1011,\n\t\"./sw\": 748,\n\t\"./sw.js\": 748,\n\t\"./ta\": 1025,\n\t\"./ta.js\": 1025,\n\t\"./te\": 1885,\n\t\"./te.js\": 1885,\n\t\"./tet\": 8861,\n\t\"./tet.js\": 8861,\n\t\"./tg\": 6571,\n\t\"./tg.js\": 6571,\n\t\"./th\": 5802,\n\t\"./th.js\": 5802,\n\t\"./tk\": 9527,\n\t\"./tk.js\": 9527,\n\t\"./tl-ph\": 9231,\n\t\"./tl-ph.js\": 9231,\n\t\"./tlh\": 1052,\n\t\"./tlh.js\": 1052,\n\t\"./tr\": 5096,\n\t\"./tr.js\": 5096,\n\t\"./tzl\": 9846,\n\t\"./tzl.js\": 9846,\n\t\"./tzm\": 1765,\n\t\"./tzm-latn\": 7711,\n\t\"./tzm-latn.js\": 7711,\n\t\"./tzm.js\": 1765,\n\t\"./ug-cn\": 8414,\n\t\"./ug-cn.js\": 8414,\n\t\"./uk\": 6618,\n\t\"./uk.js\": 6618,\n\t\"./ur\": 158,\n\t\"./ur.js\": 158,\n\t\"./uz\": 7609,\n\t\"./uz-latn\": 2475,\n\t\"./uz-latn.js\": 2475,\n\t\"./uz.js\": 7609,\n\t\"./vi\": 1135,\n\t\"./vi.js\": 1135,\n\t\"./x-pseudo\": 4051,\n\t\"./x-pseudo.js\": 4051,\n\t\"./yo\": 2218,\n\t\"./yo.js\": 2218,\n\t\"./zh-cn\": 2648,\n\t\"./zh-cn.js\": 2648,\n\t\"./zh-hk\": 1632,\n\t\"./zh-hk.js\": 1632,\n\t\"./zh-mo\": 1541,\n\t\"./zh-mo.js\": 1541,\n\t\"./zh-tw\": 304,\n\t\"./zh-tw.js\": 304\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 5358;","var map = {\n\t\"./de.js\": 7169,\n\t\"./en.js\": 6857,\n\t\"./es.js\": 7054,\n\t\"./fr.js\": 998,\n\t\"./index.js\": 620,\n\t\"./it.js\": 8779,\n\t\"./ja.js\": 4807,\n\t\"./ko.js\": 8744,\n\t\"./nl.js\": 9888,\n\t\"./pl.js\": 3022,\n\t\"./pt.js\": 4102,\n\t\"./pt_br.js\": 5781,\n\t\"./ru.js\": 9131,\n\t\"./uk.js\": 5654,\n\t\"./zh_cn.js\": 2530,\n\t\"./zh_tw.js\": 758\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 5256;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkweb\"] = self[\"webpackChunkweb\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(6736); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["checkInterval","newCommitCheckInterval","schedule","newSchedule","deleteSchedule","editSchedule","backup","downloadTheProjectBackupFile","restoreProject","incorrectUsrPwd","askDeleteUser","askDeleteTemp","askDeleteEnv","askDeleteInv","askDeleteKey","askDeleteRepo","askDeleteProj","askDeleteTMem","askDeleteSchedule","edit","nnew","keyFormSshKey","keyFormLoginPassword","keyFormNone","incorrectUrl","username","username_required","dashboard","history","activity","settings","signIn","password","changePassword","editUser","newProject","close","newProject2","demoMode","task","youCanRunAnyTasks","youHaveReadonlyAccess","taskTemplates","inventory","environment","keyStore","repositories","darkMode","team","users","editAccount","signOut","error","refreshPage","relogin","howToFixSigninIssues","firstlyYouNeedAccessToTheServerWhereSemaphoreRunni","executeTheFollowingCommandOnTheServerToSeeExisting","semaphoreUserList","youCanChangePasswordOfExistingUser","semaphoreUserChangebyloginLoginUser123Password","orCreateNewAdminUser","close2","semaphore","dontHaveAccountOrCantSignIn","password2","cancel","noViews","addView","editEnvironment","deleteEnvironment","newEnvironment","environmentName","extraVariables","enterExtraVariablesJson","environmentVariables","enterEnvJson","environmentAndExtraVariablesMustBeValidJsonExample","dashboard2","ansibleSemaphore","wereSorryButHtmlwebpackpluginoptionstitleDoesntWor","deleteInventory","newInventory","name","userCredentials","sudoCredentialsOptional","type","pathToInventoryFile","enterInventory","staticInventoryExample","staticYamlInventoryExample","keyName","loginOptional","usernameOptional","privateKey","override","useThisTypeOfKeyForHttpsRepositoriesAndForPlaybook","deleteKey","newKey","create","newTask","cantDeleteThe","theCantBeDeletedBecauseItUsedByTheResourcesBelow","projectName","allowAlertsForThisProject","telegramChatIdOptional","maxNumberOfParallelTasksOptional","deleteRepository","newRepository","urlOrPath","absPath","branch","accessKey","credentialsToAccessToTheGitRepositoryItShouldBe","ifYouUseGitOrSshUrl","ifYouUseHttpsOrFileUrl","none","ssh","deleteProject","save","deleteProject2","onceYouDeleteAProjectThereIsNoGoingBackPleaseBeCer","name2","title","description","required","key","surveyVariables","addVariable","vaultName","vaultNameDefault","vaultNameUnique","vaults","vaultAdd","vaultRequired","columns","buildVersion","messageOptional","debug","dryRun","diff","advanced","hide","pleaseAllowOverridingCliArgumentInTaskTemplateSett","cliArgsJsonArrayExampleIMyinventoryshPrivatekeythe","started","author","duration","stop","forceStop","confirmTask","deleteTeamMember","team2","newTeamMember","user","administrator","definesStartVersionOfYourArtifactEachRunIncrements","forMoreInformationAboutBuildingSeeThe","taskTemplateReference","definesWhatArtifactShouldBeDeployedWhenTheTaskRun","forMoreInformationAboutDeployingSeeThe","taskTemplateReference2","definesAutorunSchedule","forMoreInformationAboutCronSeeThe","cronExpressionFormatReference","startVersion","example000","buildTemplate","autorun","playbookFilename","exampleSiteyml","inventory2","repository","environment3","vaultPassword","vaultPassword2","view","cron","iWantToRunATaskByTheCronOnlyForForNewCommitsOfSome","repository2","cronChecksNewCommitBeforeRun","readThe","toLearnMoreAboutCron","suppressSuccessAlerts","cliArgsJsonArrayExampleIMyinventoryshPrivatekeythe2","allowCliArgsInTask","docs","editViews","newTemplate","taskTemplates2","all","notLaunched","by","editTemplate","newTemplate2","deleteTemplate","playbook","email","adminUser","sendAlerts","deleteUser","newUser","re","teamMember","taskId","version","status","start","actions","alert","admin","role","external","time","path","gitUrl","sshKey","lastTask","task2","build","deploy","run","add","password_required","name_required","user_credentials_required","type_required","path_required","private_key_required","project_name_required","repository_required","branch_required","key_required","user_required","build_version_required","title_required","isRequired","mustBeInteger","mustBe0OrGreater","start_version_required","playbook_filename_required","inventory_required","environment_required","email_required","build_template_required","Task","Build","Deploy","Run","ReBuild","ReDeploy","ReRun","CreateDemoProject","LeaveProject","integration","integrations","NewIntegration","EditIntegration","DeleteIntegration","DeleteIntegrationMsg","AddAlias","LoadAlias","globalAlias","matcher","matchType","newMatcher","matchMethod","matchBodyDataType","extractValue","newExtractedValue","extractedValueSource","matchKey","matchValue","matchOn","runners","newRunner","enabled","scheduleNextRun","maxNumberOfParallelTasks","runnerUsage","runnerToken","editRunner","deleteRunner","askDeleteRunner","projectRestoreResult","projectWithNameRestored","pleaseUpdateAccessKeys","emptyKeysRestored","template","aliasUrlCopied","yes","activeTasks","taskLocation","empty","noValues","vaultTypePassword","vaultTypeScript","vaultScript","vaultScriptRequired","vaultScriptClientRequired","runnerDockerCommand","newRunnerToken","addArg","status_success","status_failed","status_stopped","tag","tag_required","allowInventoryInTask","allowLimitInTask","addLimit","allowDebug","addTag","skipTags","addSkippedTag","tags","limit","files","require","messages","keys","forEach","replace","default","languages","Object","_s","_vm","staticClass","attrs","emptyKeys","hideUserDialogButtons","scopedSlots","fn","onError","needReset","_c","systemInfo","auth_methods","onSave","model","value","userDialog","callback","$$v","expression","_e","onTaskLogDialogClosed","staticStyle","projectId","taskLogDialog","$t","needSave","newProjectDialog","restoreProjectDialog","on","snackbar","_l","$event","flag","_v","proxy","drawer","project","selectProject","id","getProjectColor","can_create_project","newProjectType","userRole","premium_features","staticRenderFns","getErrorMessage","err","response","data","message","startsWith","statusText","dialog","iconColor","style","opacity","needHelp","class","minHeight","Vue","use","VueI18n","locale","localStorage","getItem","navigator","language","toLocaleLowerCase","fallbackLocale","silentFallbackWarn","i18n","props","contentClass","position","icon","maxWidth","minContentHeight","eventName","hideButtons","dontCloseOnSave","cancelButtonText","saveButtonText","expandable","helpButton","noBodyPaddings","fullscreen","watch","window","created","methods","toggleHelp","toggleFullscreen","EventBus","clearFlags","handleEscape","component","user_id","end","ref","domProps","item","rejectTask","stopTask","getStatusColor","render","_self","Listenable","constructor","this","listeners","addListener","Symbol","removeListener","callListeners","getOwnPropertySymbols","listener","hasListeners","length","IndeterminateTimer","self","rotate","clearInterval","indeterminateTimer","listenerId","mounted","beforeDestroy","TaskStatus","freeze","WAITING","STARTING","WAITING_CONFIRMATION","CONFIRMED","REJECTED","RUNNING","SUCCESS","ERROR","STOPPING","STOPPED","components","IndeterminateProgressCircular","getStatusIcon","humanizeStatus","Socket","websocketCreator","super","ws","Error","onclose","isRunning","setTimeout","onmessage","JSON","parse","socket","baseURI","document","substr","WebSocket","_f","source","$options","filters","formatLog","output","index","VirtualList","itemId","itemComponent","outputBuffer","autoScroll","computed","canStop","scrollContainer","method","url","responseType","force","reset","onWebsocketDataReceived","formSaving","$set","Number","String","Boolean","formValid","formError","loadData","isNew","val","$refs","form","resetValidation","afterReset","getItemsUrl","getSingleItemUrl","beforeSave","afterSave","beforeLoadData","afterLoadData","getNewItem","getSaveAction","axios","$emit","getRequestOptions","validate","project_id","action","mixins","passwordDialog","tab","_u","totpEnabled","totpQrUrl","copyToClipboard","showPassword","ChangePasswordForm","EditDialog","isAdmin","authMethods","color","text","click","no","yesButtonTitle","noButtonTitle","hideNoButton","PROJECT_COLORS","LANGUAGES","en","es","ru","de","nl","zh_cn","zh_tw","fr","it","pl","pt","pt_br","getLangInfo","lang","res","getSystemLang","YesNoDialog","RestoreProjectForm","UserForm","TaskLogView","ProjectForm","state","snackbarText","snackbarColor","projects","restoreProjectResult","restoreProjectResultDialog","templatesUrl","viewId","t","query","selectLanguage","projectType","getProjectInitials","f","reader","post","then","location","showDrawer","headers","items","objectTitle","objectRefs","sections","slug","ObjectRefsView","TEMPLATE_TYPE_ICONS","TEMPLATE_TYPE_TITLES","TEMPLATE_TYPE_ACTION_TITLES","USER_PERMISSIONS","runProjectTasks","updateProject","manageProjectResources","manageProjectUsers","USER_ROLES","MATCHER_TYPE_TITLES","body","header","MATCHER_TYPE_ICONS","EXTRACT_VALUE_TYPE_TITLES","EXTRACT_VALUE_TYPE_ICONS","APP_ICONS","ansible","darkColor","terraform","tofu","pulumi","bash","python","powershell","APP_TITLE","APP_INVENTORY_TITLE","DEFAULT_APPS","BASE_FIELDS","label","allow_override_inventory","ANSIBLE_FIELDS","vault","allow_override_limit","allow_debug","skip_tags","TERRAFORM_FIELDS","optional","UNKNOWN_APP_FIELDS","undefined","APP_FIELDS","userPermissions","can","permission","ObjectRefsDialog","PermissionsCheck","userId","allowActions","getHeaders","filter","editDialog","deleteItemDialog","itemRefs","itemRefsDialog","beforeLoadItems","loadItems","getEventName","onItemSave","askDeleteItem","templates","inventories","schedules","e","deleteItem","find","x","editItem","newRunnerTokenDialog","updateTimer","destroyed","console","sortable","width","sourceTask","newTaskDialog","itemsPerPageOptions","createTask","tooltip","disabled","statusColor","statusIcon","showTaskLog","templateAlias","hasCommit","build_task_id","editedEnvironment","v","needField","fieldLabel","inventory_id","app","setArgs","templateParams","updateValue","APP_PARAMS","params","input","editedVar","addEditedVarValue","modifiedVars","addArgTitle","vars","argTitle","editedValues","editedVarIndex","editVar","saveVar","deleteVar","fields","isFieldRequired","templateId","ArgsPicker","TaskParamsForm","buildTasks","editedSecretEnvironment","cmOptions","tabSize","mode","lineNumbers","line","lint","indentWithTabs","args","get","set","getTaskMessage","buildTask","assignItem","isLoaded","getInventoryUrl","TaskForm","templateType","templateApp","closeDialog","NewTaskDialog","TaskLink","hideFooter","tasks","getActionButtonTitle","dateRange","chartId","chartOptions","chartData","ChartJS","register","Title","Tooltip","Legend","BarElement","LineElement","LinearScale","CategoryScale","PointElement","TimeScale","sourceData","labels","datasets","borderColor","backgroundColor","cubicInterpolationMode","scales","stacked","unit","y","ticks","maxTicksLimit","stepSize","responsive","maintainAspectRatio","animation","LineChart","dateRanges","stats","startDate","date","count_by_status","success","failed","stopped","TaskStats","deleteInventoryDialog","getAppIcon","onNewInventory","inventoryDialog","attachInventoryDialog","inventoryId","inv","alias","premiumFeatures","terraform_backend","namePrefix","appsMixin","activeAppIds","apps","loadAppsDataFromBackend","active","map","reduce","prev","isAppsLoaded","getAppColor","$vuetify","theme","dark","getAppTitle","stateId","TerraformStateView","TerraformAliasForm","InventorySelectForm","TerraformInventoryForm","aliases","states","aliasId","deleteState","editAlias","setActive","openedItems","some","rawCron","refreshCheckboxes","TIMINGS","refreshCron","timing","MONTHS","months","includes","WEEKDAYS","weekdays","hours","MINUTES","minutes","parser","days","nextRunTime","isWeekly","isYearly","isMonthly","isDaily","isHourly","TaskList","ScheduleForm","canUpdateProject","DashboardMenu","deleteProjectDialog","delay","milliseconds","Promise","resolve","backupProgress","transformResponse","a","itemApp","settingsSheet","viewTab","viewItemsLoading","editViewsDialog","last_task","onTableSettingsChange","closeEditViewDialog","views","editView","draggable","sheet","tableName","PageBottomSheet","saveSettings","loadSettings","visible","sourceItemId","onFormResize","helpKey","itemTypeIndex","start_version","buildTemplates","showHelpDialog","build_template_id","checkSize","repository_id","environment_id","setLimit","task_params","cronVisible","cronFormats","cronFormat","suppress_success_alerts","vaultNameRules","editedVault","vaultTypes","updateType","vault_key_id","modifiedVaults","editedVaultIndex","vaultKeys","vaultScriptRules","editVault","script","saveVault","deleteVault","removeEditedVarValue","varTypes","TemplateVaults","SurveyVars","cronRepositoryId","helpDialog","surveyVars","setSkipTags","setTags","setSurveyVars","setTemplateVaults","builds","deploys","divider","cron_format","template_id","TemplateForm","contentEl","EditTemplateDialog","TableSettingsSheet","EditViewsForm","filteredHeaders","getViewUrl","copyDialog","deleteDialog","askDelete","EditTemplateDialogue","canUpdate","MAX_VALUE","extraVarsEditMode","addExtraVar","border","json","extraVars","removeExtraVar","addEnvVar","env","removeEnvVar","addSecret","secrets","s","remove","removeSecret","codemirror","images","new","operation","secret","EnvironmentForm","ssh_key_id","indentUnit","extraKeys","Tab","cm","inventoryTypes","loginPasswordKeys","TemplateSelectForm","InventoryForm","getAppByType","canEditSecrets","showLoginPassword","login_password","showSSHPassphrase","KeyForm","trim","setType","git_branch","getTypeOfUrl","RepositoryForm","leftProject","itm","teamMembers","TeamMemberForm","hideEditDialogButtons","makePasswordExample","loginHelpDialog","signInFormValid","verificationCode","nativeOn","indexOf","recoveryCode","screen","signInProcess","provider","loginWithPassword","signInError","oidcProviders","verificationMethod","recovery_code","pwd","passcode","auth","demo","deleteAlias","auth_method","loadAliases","integrationId","test","$route","parseInt","aliasPath","addAlias","async","content","clipboard","writeText","IntegrationForm","searchable","value_source","bodyDataTypes","body_data_type","variable","integration_id","valueSources","IntegrationExtractValueForm","match_type","bodyDataFormats","matchTypes","IntegrationMatcherForm","extractor","IntegrationMatcher","IntegrationExtractValue","IntegrationExtractorCrumb","AppForm","isDefaultApp","private_key","substring","downloadFile","returnToProjects","webhook","max_parallel_tasks","RunnerForm","webHost","itemProjectId","runnerConfigCommand","token","runnerSetupCommand","runnerEnvCommand","usageTab","getProjectIdOfItem","VueRouter","routes","New","RestoreProject","redirect","History","Stats","Activity","Runners","Schedule","Settings","Templates","TemplateView","children","TemplateDetails","TemplateTerraformState","Environment","Inventory","Integrations","IntegrationExtractor","Repositories","Keys","Team","Auth","Users","Tasks","Apps","router","Vuetify","icons","values","OpenTofuIcon","PulumiIcon","convert","AnsiUp","ansi_colors","rgb","class_name","baseURL","config","productionTip","moment","now","isSame","fromNow","format","ansi_to_html","Array","isArray","Date","humanize","Line","Bar","vuetify","h","App","$mount","webpackContext","req","webpackContextResolve","__webpack_require__","o","code","module","exports","__webpack_module_cache__","moduleId","cachedModule","loaded","__webpack_modules__","call","m","deferred","O","result","chunkIds","priority","notFulfilled","Infinity","i","fulfilled","j","every","splice","r","n","getter","__esModule","d","definition","defineProperty","enumerable","g","globalThis","Function","obj","prop","prototype","hasOwnProperty","toStringTag","nmd","paths","installedChunks","chunkId","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","bind","push","__webpack_exports__"],"sourceRoot":""}