platypush/platypush/backend/http/webapp/dist/static/js/9539.7a062356.js.map

1 line
40 KiB
Plaintext

{"version":3,"file":"static/js/9539.7a062356.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","async","request","plugin","values","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","refresh","__exports__","render"],"sourceRoot":""}