platypush/platypush/backend/http/webapp/dist/static/js/9539-legacy.651585ad.js.map

1 line
40 KiB
Plaintext

{"version":3,"file":"static/js/9539-legacy.651585ad.js","mappings":"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","sources":["webpack://platypush/./src/components/panels/Execute/Index.vue","webpack://platypush/./src/components/elements/Autocomplete.js","webpack://platypush/./src/components/panels/Execute/Index.vue?99e5"],"sourcesContent":["<template>\n <div class=\"row plugin execute-container\">\n <Loading v-if=\"loading\" />\n <div class=\"command-container\">\n <div class=\"title\">Execute Action</div>\n <form class=\"action-form\" ref=\"actionForm\" autocomplete=\"off\" @submit.prevent=\"executeAction\">\n <div class=\"request-type-container\">\n <input type=\"radio\" id=\"action-structured-input\"\n :checked=\"structuredInput\" @change=\"onInputTypeChange(true)\">\n <label for=\"action-structured-input\">Structured request</label>\n <input type=\"radio\" id=\"action-raw-input\"\n :checked=\"!structuredInput\" @change=\"onInputTypeChange(false)\">\n <label for=\"action-raw-input\">Raw request</label>\n </div>\n\n <div class=\"request structured-request\" :class=\"structuredInput ? '' : 'hidden'\">\n <div class=\"autocomplete\">\n <label>\n <input ref=\"actionName\" type=\"text\" class=\"action-name\"\n placeholder=\"Action Name\" :disabled=\"running\" v-model=\"action.name\"\n @change=\"actionChanged=true\" @blur=\"updateAction\">\n </label>\n </div>\n <button type=\"submit\" class=\"run-btn btn-primary\"\n :disabled=\"running || !action?.name?.length\" title=\"Run\">\n <i class=\"fas fa-play\" />\n </button>\n\n <div class=\"doc-container\" v-if=\"selectedDoc\">\n <div class=\"title\">\n Action documentation\n </div>\n\n <div class=\"doc html\">\n <Loading v-if=\"docLoading\" />\n <span v-html=\"selectedDoc\" v-else />\n </div>\n </div>\n\n <div class=\"options\" v-if=\"action.name in actions && (Object.keys(action.args).length ||\n action.supportsExtraArgs)\">\n <div class=\"params\" ref=\"params\"\n v-if=\"Object.keys(action.args).length || action.supportsExtraArgs\">\n <div class=\"param\" :key=\"name\" v-for=\"name in Object.keys(action.args)\">\n <label>\n <input type=\"text\" class=\"action-param-value\" :disabled=\"running\"\n :placeholder=\"name\" v-model=\"action.args[name].value\"\n @focus=\"selectAttrDoc(name)\"\n @blur=\"resetAttrDoc\">\n </label>\n\n <div class=\"attr-doc-container mobile\" v-if=\"selectedAttrDoc && selectedAttr === name\">\n <div class=\"title\">\n Attribute: <div class=\"attr-name\" v-text=\"selectedAttr\" />\n </div>\n\n <div class=\"doc html\">\n <Loading v-if=\"docLoading\" />\n <span v-html=\"selectedAttrDoc\" v-else />\n </div>\n </div>\n </div>\n\n <div class=\"extra-params\" ref=\"extraParams\" v-if=\"Object.keys(action.extraArgs).length\">\n <div class=\"param extra-param\" :key=\"i\" v-for=\"i in Object.keys(action.extraArgs)\">\n <label class=\"col-5\">\n <input type=\"text\" class=\"action-extra-param-name\" :disabled=\"running\"\n placeholder=\"Name\" v-model=\"action.extraArgs[i].name\">\n </label>\n <label class=\"col-6\">\n <input type=\"text\" class=\"action-extra-param-value\" :disabled=\"running\"\n placeholder=\"Value\" v-model=\"action.extraArgs[i].value\">\n </label>\n <label class=\"col-1 buttons\">\n <button type=\"button\" class=\"action-extra-param-del\" title=\"Remove parameter\"\n @click=\"removeParameter(i)\">\n <i class=\"fas fa-trash\" />\n </button>\n </label>\n </div>\n </div>\n\n <div class=\"add-param\" v-if=\"action.supportsExtraArgs\">\n <button type=\"button\" title=\"Add a parameter\" @click=\"addParameter\">\n <i class=\"fas fa-plus\" />\n </button>\n </div>\n </div>\n\n <div class=\"attr-doc-container widescreen\" v-if=\"selectedAttrDoc\">\n <div class=\"title\">\n Attribute: <div class=\"attr-name\" v-text=\"selectedAttr\" />\n </div>\n\n <div class=\"doc html\">\n <Loading v-if=\"docLoading\" />\n <span v-html=\"selectedAttrDoc\" v-else />\n </div>\n </div>\n </div>\n\n <div class=\"output-container\">\n <div class=\"title\" v-text=\"error != null ? 'Error' : 'Output'\" v-if=\"error != null || response != null\" />\n <div class=\"response\" v-html=\"response\" v-if=\"response != null\" />\n <div class=\"error\" v-html=\"error\" v-else-if=\"error != null\" />\n </div>\n </div>\n\n <div class=\"request raw-request\" :class=\"structuredInput ? 'hidden' : ''\">\n <div class=\"first-row\">\n <label>\n <textarea v-model=\"rawRequest\" ref=\"rawAction\" :placeholder=\"rawRequestPlaceholder\" />\n </label>\n <button type=\"submit\" :disabled=\"running\" class=\"run-btn btn-primary\" title=\"Run\">\n <i class=\"fas fa-play\" />\n </button>\n </div>\n\n <div class=\"output-container\" v-if=\"response != null || error != null\">\n <div class=\"title\" v-text=\"error != null ? 'Error' : 'Output'\" />\n <div class=\"error\" v-html=\"error\" v-if=\"error != null\" />\n <div class=\"response\" v-html=\"response\" v-else-if=\"response != null\" />\n </div>\n </div>\n </form>\n </div>\n\n <div class=\"procedures-container\">\n <div class=\"title\">Execute Procedure</div>\n <div class=\"procedure\" :class=\"selectedProcedure.name === name ? 'selected' : ''\"\n v-for=\"name in Object.keys(procedures).sort()\" :key=\"name\" @click=\"updateProcedure(name, $event)\">\n <form ref=\"procedureForm\" autocomplete=\"off\" @submit.prevent=\"executeProcedure\">\n <div class=\"head\">\n <div class=\"name col-no-margin-11\" v-text=\"name\" />\n <div class=\"btn-container col-no-margin-1\">\n <button type=\"submit\" class=\"run-btn btn-default\" :disabled=\"running\" title=\"Run\"\n @click.stop=\"$emit('submit')\" v-if=\"selectedProcedure.name === name\">\n <i class=\"fas fa-play\" />\n </button>\n </div>\n </div>\n\n <div class=\"params\" v-if=\"selectedProcedure.name === name\">\n <div class=\"param\"\n v-for=\"argname in Object.keys(selectedProcedure.args)\"\n :key=\"argname\">\n <label>\n <input type=\"text\" class=\"action-param-value\" @click=\"$event.stopPropagation()\" :disabled=\"running\"\n :placeholder=\"argname\" v-model=\"selectedProcedure.args[argname]\">\n </label>\n </div>\n </div>\n </form>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nimport autocomplete from \"@/components/elements/Autocomplete\"\nimport Utils from \"@/Utils\"\nimport Loading from \"@/components/Loading\";\n\nexport default {\n name: \"Execute\",\n components: {Loading},\n mixins: [Utils],\n\n data() {\n return {\n loading: false,\n running: false,\n docLoading: false,\n structuredInput: true,\n actionChanged: false,\n selectedDoc: undefined,\n selectedAttr: undefined,\n selectedAttrDoc: undefined,\n selectedProcedure: {\n name: undefined,\n args: {},\n },\n\n response: undefined,\n error: undefined,\n rawRequest: undefined,\n rawRequestPlaceholder: 'Raw JSON request. Example:\\n\\n' +\n '{\"type\": \"request\", \"action\": \"file.list\", \"args\": {\"path\": \"/\"}}',\n actions: {},\n plugins: {},\n procedures: {},\n actionDocsCache: {},\n action: {\n name: undefined,\n args: {},\n extraArgs: [],\n supportsExtraArgs: false,\n },\n }\n },\n\n methods: {\n async refresh() {\n this.loading = true\n\n try {\n this.procedures = await this.request('inspect.get_procedures')\n this.plugins = await this.request('inspect.get_all_plugins')\n } finally {\n this.loading = false\n }\n\n for (const plugin of Object.values(this.plugins)) {\n for (const action of Object.values(plugin.actions)) {\n action.name = plugin.name + '.' + action.name\n action.supportsExtraArgs = !!action.has_kwargs\n delete action.has_kwargs\n this.actions[action.name] = action\n }\n }\n\n const self = this\n autocomplete(this.$refs.actionName, Object.keys(this.actions).sort(), (_, value) => {\n this.action.name = value\n self.updateAction()\n })\n },\n\n async updateAction() {\n if (!(this.action.name in this.actions))\n this.selectedDoc = undefined\n\n if (!this.actionChanged || !(this.action.name in this.actions))\n return\n\n this.docLoading = true\n try {\n this.action = {\n ...this.actions[this.action.name],\n args: Object.entries(this.actions[this.action.name].args).reduce((args, entry) => {\n args[entry[0]] = {\n ...entry[1],\n value: entry[1].default,\n }\n\n return args\n }, {}),\n extraArgs: [],\n }\n } finally {\n this.docLoading = false\n }\n\n this.selectedDoc =\n this.actionDocsCache[this.action.name]?.html ||\n await this.parseDoc(this.action.doc)\n\n if (!this.actionDocsCache[this.action.name])\n this.actionDocsCache[this.action.name] = {}\n this.actionDocsCache[this.action.name].html = this.selectedDoc\n\n this.actionChanged = false\n this.response = undefined\n this.error = undefined\n },\n\n async parseDoc(docString) {\n if (!docString?.length)\n return docString\n\n return await this.request('utils.rst_to_html', {text: docString})\n },\n\n updateProcedure(name, event) {\n if (event.target.getAttribute('type') === 'submit') {\n return\n }\n\n if (this.selectedProcedure.name === name) {\n this.selectedProcedure = {\n name: undefined,\n args: {},\n }\n\n return\n }\n\n if (!(name in this.procedures)) {\n console.warn('Procedure not found: ' + name)\n return\n }\n\n this.selectedProcedure = {\n name: name,\n args: (this.procedures[name].args || []).reduce((args, arg) => {\n args[arg] = undefined\n return args\n }, {})\n }\n },\n\n addParameter() {\n this.action.extraArgs.push({\n name: undefined,\n value: undefined,\n })\n },\n\n removeParameter(i) {\n this.action.extraArgs.pop(i)\n },\n\n async selectAttrDoc(name) {\n this.selectedAttr = name\n this.selectedAttrDoc =\n this.actionDocsCache[this.action.name]?.[name]?.html ||\n await this.parseDoc(this.action.args[name].doc)\n\n if (!this.actionDocsCache[this.action.name])\n this.actionDocsCache[this.action.name] = {}\n\n this.actionDocsCache[this.action.name][name] = {html: this.selectedAttrDoc}\n },\n\n resetAttrDoc() {\n this.response = undefined\n this.error = undefined\n this.selectedAttr = undefined\n this.selectedAttrDoc = undefined\n },\n\n onInputTypeChange(structuredInput) {\n this.structuredInput = structuredInput\n this.response = undefined\n this.error = undefined\n this.$nextTick(() => {\n if (structuredInput) {\n this.$refs.actionName.focus()\n } else {\n this.$refs.rawAction.focus()\n }\n })\n },\n\n onResponse(response) {\n this.response = '<pre>' + JSON.stringify(response, null, 2) + '</pre>'\n this.error = undefined\n },\n\n onError(error) {\n this.response = undefined\n this.error = error\n },\n\n onDone() {\n this.running = false\n },\n\n executeAction() {\n if (!this.action.name && !this.rawRequest || this.running)\n return\n\n this.running = true\n if (this.structuredInput) {\n const args = {\n ...Object.entries(this.action.args).reduce((args, param) => {\n if (param[1].value != null) {\n let value = param[1].value\n try {\n value = JSON.parse(value)\n } catch (e) {\n console.debug('Not a valid JSON value')\n console.debug(value)\n }\n\n args[param[0]] = value\n }\n return args\n }, {}),\n\n ...this.action.extraArgs.reduce((args, param) => {\n let value = args[param.value]\n try {\n value = JSON.parse(value)\n } catch (e) {\n console.debug('Not a valid JSON value')\n console.debug(value)\n }\n\n args[param.name] = value\n return args\n }, {})\n }\n\n this.request(this.action.name, args).then(this.onResponse).catch(this.onError).finally(this.onDone)\n } else {\n try {\n const request = JSON.parse(this.rawRequest)\n this.execute(request).then(this.onResponse).catch(this.onError).finally(this.onDone)\n } catch (e) {\n this.notify({\n error: true,\n title: 'Invalid JSON request',\n text: e.toString(),\n })\n }\n }\n },\n\n executeProcedure(event) {\n if (!this.selectedProcedure.name || this.running)\n return\n\n event.stopPropagation()\n this.running = true\n const args = {\n ...Object.entries(this.selectedProcedure.args).reduce((args, param) => {\n if (param[1] != null) {\n let value = param[1]\n try {\n value = JSON.parse(value)\n } catch (e) {\n console.debug('Not a valid JSON value')\n console.debug(value)\n }\n\n args[param[0]] = value\n }\n return args\n }, {}),\n }\n\n this.request('procedure.' + this.selectedProcedure.name, args)\n .then(this.onResponse).catch(this.onError).finally(this.onDone)\n },\n },\n\n mounted() {\n this.$nextTick(() => {\n this.$refs.actionName.focus()\n })\n\n this.refresh()\n },\n}\n</script>\n\n<style lang=\"scss\">\n@import \"vars\";\n@import \"~@/style/autocomplete.scss\";\n\n$params-desktop-width: 30em;\n$params-tablet-width: 20em;\n\n.execute-container {\n width: 100%;\n height: 100%;\n color: $default-fg-2;\n font-weight: 400;\n border-bottom: $default-border-2;\n border-radius: 0 0 1em 1em;\n\n form {\n padding: 0;\n margin: 0;\n border-radius: 0;\n border: none;\n }\n\n .action-form {\n background: $default-bg-2;\n padding: 1em .5em;\n }\n\n .title {\n background: $header-bg;\n padding: .5em;\n border: $title-border;\n box-shadow: $title-shadow;\n font-size: 1.1em;\n margin-bottom: 0 !important;\n }\n\n .request-type-container {\n display: flex;\n flex-direction: row;\n align-items: baseline;\n\n label {\n margin: 0 1em 0 .5em;\n }\n }\n\n .request {\n margin: 0 .5em;\n\n form {\n margin-bottom: 0 !important;\n }\n\n .autocomplete {\n width: 80%;\n max-width: 60em;\n }\n\n .action-name {\n box-shadow: $action-name-shadow;\n width: 100%;\n }\n\n [type=submit] {\n margin-left: 2em;\n }\n\n .options {\n display: flex;\n margin-top: .5em;\n margin-bottom: 1.5em;\n padding-top: .5em;\n\n @include until($tablet) {\n flex-direction: column;\n }\n }\n\n .params {\n @include until($tablet) {\n width: 100%;\n }\n\n @include from($tablet) {\n width: $params-tablet-width;\n margin-right: 1.5em;\n }\n\n @include from($desktop) {\n width: $params-desktop-width;\n }\n\n .param {\n margin-bottom: .25em;\n @include until($tablet) {\n width: 100%;\n }\n }\n\n .action-param-value {\n width: 100%;\n }\n }\n\n .add-param {\n width: 100%;\n\n button {\n width: 100%;\n background: $extra-params-btn-bg;\n border: $title-border;\n }\n }\n\n .extra-param {\n display: flex;\n margin-bottom: .5em;\n\n label {\n margin-left: 0.25em;\n }\n\n .buttons {\n display: flex;\n flex-grow: 1;\n justify-content: right;\n }\n\n .action-extra-param-del {\n border: 0;\n text-align: right;\n padding: 0 .5em;\n }\n\n input[type=text] {\n width: 100%;\n }\n\n .buttons {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: .25em;\n\n button {\n background: none;\n\n &:hover {\n color: $default-hover-fg;\n }\n }\n }\n }\n\n .doc-container,\n .output-container {\n margin-top: .5em;\n }\n\n .output-container {\n flex-grow: 1;\n }\n\n .attr-doc-container {\n @include from($tablet) {\n width: calc(100% - #{$params-tablet-width} - 2em);\n }\n\n @include from($desktop) {\n width: calc(100% - #{$params-desktop-width} - 2em);\n }\n\n .doc {\n width: 100%;\n overflow: auto;\n }\n\n &.widescreen {\n @include until($tablet) {\n display: none;\n }\n }\n\n &.mobile {\n width: 100%;\n @include from($tablet) {\n display: none;\n }\n }\n }\n\n .doc-container,\n .attr-doc-container {\n .doc {\n padding: 1em !important;\n }\n }\n\n .output-container, .doc-container, .attr-doc-container {\n max-height: 50vh;\n display: flex;\n flex-direction: column;\n\n .title {\n font-weight: normal;\n font-size: 1em;\n padding: .5em;\n background: $section-title-bg;\n border-radius: .5em;\n\n .attr-name {\n display: inline-block;\n font-weight: bold;\n }\n }\n\n .response,\n .error,\n .doc {\n height: 100%;\n padding: .5em .5em 0 .5em;\n border-radius: 0 0 1em 1em;\n overflow: auto;\n }\n\n .response {\n background: $response-bg;\n border: $response-border;\n }\n\n .error {\n background: $error-bg;\n border: $error-border;\n }\n\n .doc {\n background: $doc-bg;\n border: $doc-border;\n }\n }\n\n textarea {\n width: 100%;\n height: 10em;\n margin-bottom: .5em;\n padding: .5em;\n border: $default-border-2;\n border-radius: 1em;\n box-shadow: $border-shadow-bottom-right;\n outline: none;\n\n &:hover {\n border: 1px solid $default-hover-fg-2;\n }\n\n &:focus {\n border: 1px solid $selected-fg;\n }\n }\n }\n\n .raw-request {\n .first-row {\n @include until($tablet) {\n width: 100%;\n }\n\n @include from($tablet) {\n width: 80%;\n max-width: 60em;\n }\n\n display: flex;\n flex-direction: column;\n\n button {\n margin-left: 0;\n }\n }\n }\n\n .procedures-container {\n .procedure {\n background: $background-color;\n border-bottom: $default-border-2;\n padding: 1.5em .5em;\n cursor: pointer;\n\n &:hover {\n background: $hover-bg;\n }\n\n &.selected {\n background: $selected-bg;\n }\n\n form {\n background: none;\n display: flex;\n margin-bottom: 0 !important;\n flex-direction: column;\n box-shadow: none;\n }\n\n .head {\n display: flex;\n align-items: center;\n }\n\n .btn-container {\n text-align: right;\n }\n\n button {\n background: $procedure-submit-btn-bg;\n }\n }\n }\n\n pre {\n background: none;\n }\n\n .run-btn {\n background: $background-color;\n border-radius: .25em;\n padding: .5em 1.5em;\n box-shadow: $primary-btn-shadow;\n cursor: pointer;\n\n &:hover {\n background: $hover-bg;\n box-shadow: none;\n }\n\n &:disabled {\n opacity: 0.7;\n color: $default-fg-2; \n cursor: initial;\n box-shadow: none;\n\n &:hover {\n background: $background-color;\n box-shadow: none;\n }\n }\n\n &:not(disabled) {\n }\n }\n}\n</style>\n","function autocomplete(inp, arr, listener) {\n /*the autocomplete function takes two arguments,\n the text field element and an array of possible autocompleted values:*/\n let currentFocus;\n\n /*execute a function when someone writes in the text field:*/\n inp.addEventListener(\"input\", function() {\n let a, b, i, val = this.value;\n /*close any already open lists of autocompleted values*/\n closeAllLists();\n if (!val) {\n return false;\n }\n\n currentFocus = -1;\n\n /*create a DIV element that will contain the items (values):*/\n a = document.createElement(\"DIV\");\n a.setAttribute(\"id\", this.id + \"autocomplete-list\");\n a.setAttribute(\"class\", \"autocomplete-items\");\n\n /*append the DIV element as a child of the autocomplete container:*/\n this.parentNode.appendChild(a);\n\n /*for each item in the array...*/\n for (i = 0; i < arr.length; i++) {\n /*check if the item starts with the same letters as the text field value:*/\n if (arr[i].substr(0, val.length).toUpperCase() === val.toUpperCase()) {\n /*create a DIV element for each matching element:*/\n b = document.createElement(\"DIV\");\n /*make the matching letters bold:*/\n b.innerHTML = \"<strong>\" + arr[i].substr(0, val.length) + \"</strong>\";\n b.innerHTML += arr[i].substr(val.length);\n /*insert a input field that will hold the current array item's value:*/\n b.innerHTML += \"<input type='hidden' value='\" + arr[i] + \"'>\";\n /*execute a function when someone clicks on the item value (DIV element):*/\n b.addEventListener(\"click\", function(e) {\n /*insert the value for the autocomplete text field:*/\n inp.value = this.getElementsByTagName(\"input\")[0].value;\n /*trigger event listener if any:*/\n if (listener) {\n listener(e, inp.value);\n }\n /*close the list of autocompleted values,\n (or any other open lists of autocompleted values:*/\n closeAllLists();\n });\n a.appendChild(b);\n }\n }\n });\n\n inp.addEventListener(\"keyup\", function(e) {\n if ([\"ArrowUp\", \"ArrowDown\", \"Tab\", \"Enter\"].indexOf(e.key) >= 0) {\n e.stopPropagation();\n }\n\n if (e.key === \"Enter\") {\n this.blur();\n }\n });\n\n /*execute a function presses a key on the keyboard:*/\n inp.addEventListener(\"keydown\", function(e) {\n let x = document.getElementById(this.id + \"autocomplete-list\");\n if (x) x = x.getElementsByTagName(\"div\");\n if (e.key === 'ArrowDown' || (e.key === 'Tab' && !e.shiftKey)) {\n /*If the arrow DOWN key is pressed,\n increase the currentFocus variable:*/\n currentFocus++;\n /*and and make the current item more visible:*/\n addActive(x);\n e.preventDefault();\n } else if (e.key === 'ArrowUp' || (e.key === 'Tab' && e.shiftKey)) { //up\n /*If the arrow UP key is pressed,\n decrease the currentFocus variable:*/\n currentFocus--;\n /*and and make the current item more visible:*/\n addActive(x);\n e.preventDefault();\n } else if (e.key === 'Enter') {\n /*If the ENTER key is pressed, prevent the form from being submitted,*/\n if (currentFocus > -1 && x && x.length) {\n e.preventDefault();\n /*and simulate a click on the \"active\" item:*/\n x[currentFocus].click();\n /*and restore the focus on the input element:*/\n this.focus();\n }\n }\n });\n\n function addActive(x) {\n /*a function to classify an item as \"active\":*/\n if (!x) return false;\n /*start by removing the \"active\" class on all items:*/\n removeActive(x);\n if (currentFocus >= x.length) currentFocus = 0;\n if (currentFocus < 0) currentFocus = (x.length - 1);\n /*add class \"autocomplete-active\":*/\n x[currentFocus].classList.add(\"autocomplete-active\");\n }\n\n function removeActive(x) {\n /*a function to remove the \"active\" class from all autocomplete items:*/\n for (let i = 0; i < x.length; i++) {\n x[i].classList.remove(\"autocomplete-active\");\n }\n }\n\n function closeAllLists(elmnt) {\n /*close all autocomplete lists in the document,\n except the one passed as an argument:*/\n const x = document.getElementsByClassName(\"autocomplete-items\");\n for (let i = 0; i < x.length; i++) {\n if (elmnt !== x[i] && elmnt !== inp) {\n x[i].parentNode.removeChild(x[i]);\n }\n }\n }\n\n /*execute a function when someone clicks in the document:*/\n document.addEventListener(\"click\", function (e) {\n closeAllLists(e.target);\n });\n}\n\nexport default autocomplete;\n","import { render } from \"./Index.vue?vue&type=template&id=0834968c\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport \"./Index.vue?vue&type=style&index=0&id=0834968c&lang=scss\"\n\nimport exportComponent from \"/home/blacklight/git_tree/platypush/platypush/backend/http/webapp/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["class","for","ref","loading","autocomplete","executeAction","type","id","checked","structuredInput","onInputTypeChange","placeholder","disabled","running","action","name","actionChanged","updateAction","length","title","selectedDoc","docLoading","actions","Object","keys","args","supportsExtraArgs","key","value","selectAttrDoc","resetAttrDoc","selectedAttrDoc","selectedAttr","extraArgs","i","removeParameter","addParameter","error","response","rawRequest","rawRequestPlaceholder","procedures","sort","selectedProcedure","updateProcedure","$event","executeProcedure","$emit","argname","stopPropagation","inp","arr","listener","currentFocus","addActive","x","removeActive","classList","add","remove","closeAllLists","elmnt","document","getElementsByClassName","parentNode","removeChild","addEventListener","a","b","val","this","createElement","setAttribute","appendChild","substr","toUpperCase","innerHTML","e","getElementsByTagName","indexOf","blur","getElementById","shiftKey","preventDefault","click","focus","target","components","Loading","mixins","Utils","data","undefined","plugins","actionDocsCache","methods","refresh","request","values","plugin","has_kwargs","self","$refs","actionName","_","entries","reduce","entry","default","html","parseDoc","doc","docString","text","event","getAttribute","arg","console","warn","push","pop","$nextTick","rawAction","onResponse","JSON","stringify","onError","onDone","param","parse","debug","then","catch","finally","execute","notify","toString","mounted","__exports__","render"],"sourceRoot":""}