platypush/platypush/backend/http/webapp/dist/static/js/523.0107f5bd.js.map

1 line
20 KiB
Plaintext

{"version":3,"file":"static/js/523.0107f5bd.js","mappings":"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","sources":["webpack://platypush/./src/components/panels/Extensions/Index.vue","webpack://platypush/./src/components/panels/Extensions/Extension.vue","webpack://platypush/./src/components/panels/Extensions/Config.vue","webpack://platypush/./src/components/panels/Extensions/Config.vue?f0c1","webpack://platypush/./src/components/panels/Extensions/Doc.vue","webpack://platypush/./src/components/panels/Extensions/Doc.vue?b066","webpack://platypush/./src/components/panels/Extensions/Extension.vue?4949","webpack://platypush/./src/components/panels/Extensions/Index.vue?7d84"],"sourcesContent":["<template>\n <div class=\"row plugin extensions-container\">\n <Loading v-if=\"loading\" />\n\n <header>\n <div class=\"filter-container\">\n <input type=\"text\"\n ref=\"filter\"\n placeholder=\"Extension name\"\n v-model=\"filter\"\n :disabled=\"loading\" />\n </div>\n </header>\n\n <main>\n <div class=\"items\">\n <div class=\"extension-container\" v-for=\"name in extensionNames\" :key=\"name\">\n <div class=\"extension\" v-if=\"matchesFilter(name)\">\n <div class=\"item name\"\n :class=\"{selected: name === selectedExtension}\"\n :data-name=\"name\"\n @click=\"onInput(name, false)\"\n v-text=\"extensions[name].name\" />\n\n <div class=\"extension-body-container until tablet\"\n v-if=\"selectedExtension && name === selectedExtension\">\n <Extension :extension=\"extensions[selectedExtension]\" />\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"extension-body-container from desktop\"\n v-if=\"selectedExtension\">\n <Extension :extension=\"extensions[selectedExtension]\" />\n </div>\n </main>\n </div>\n</template>\n\n<script>\nimport Loading from \"@/components/Loading\"\nimport Utils from \"@/Utils\"\nimport Extension from \"./Extension\"\nimport { bus } from \"@/bus\"\n\nexport default {\n name: \"Extensions\",\n mixins: [Utils],\n components: {\n Extension,\n Loading,\n },\n\n data() {\n return {\n loading: false,\n plugins: {},\n backends: {},\n filter: '',\n selectedExtension: null,\n }\n },\n\n computed: {\n extensions() {\n const extensions = {}\n\n Object.entries(this.plugins).forEach(([name, plugin]) => {\n extensions[name] = {\n ...plugin,\n name: name,\n }\n })\n\n Object.entries(this.backends).forEach(([name, backend]) => {\n name = `backend.${name}`\n extensions[name] = {\n ...backend,\n name: name,\n }\n })\n\n return extensions\n },\n\n extensionNames() {\n return Object.keys(this.extensions).sort()\n },\n },\n\n methods: {\n onInput(input, setFilter = true) {\n if (setFilter) {\n this.filter = input\n }\n\n const name = input?.toLowerCase()?.trim()\n if (name?.length && name !== this.selectedExtension && this.extensions[name]) {\n this.selectedExtension = name\n const el = this.$el.querySelector(`.extensions-container .item[data-name=\"${name}\"]`)\n if (el)\n el.scrollIntoView({behavior: 'smooth'})\n } else {\n this.selectedExtension = null\n }\n },\n\n matchesFilter(extension) {\n if (!this.filter) {\n return true\n }\n\n return extension.includes(this.filter.toLowerCase())\n },\n\n async loadExtensions() {\n this.loading = true\n\n try {\n [this.plugins, this.backends] =\n await Promise.all([\n this.request('inspect.get_all_plugins'),\n this.request('inspect.get_all_backends'),\n ])\n } finally {\n this.loading = false\n }\n },\n },\n\n mounted() {\n this.loadExtensions()\n bus.on('update:extension', (ext) => this.onInput(ext, false))\n this.$nextTick(() => this.$refs.filter.focus())\n }\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"src/style/items\";\n@import \"../Execute/common\";\n\n$header-height: 3.25em;\n\n.extensions-container {\n width: 100%;\n display: flex;\n flex-direction: column;\n margin-top: .15em;\n\n header {\n height: $header-height;\n padding: 0.5em;\n margin-bottom: 2px;\n box-shadow: $border-shadow-bottom;\n\n .filter-container {\n width: 100%;\n\n input {\n width: 100%;\n }\n }\n }\n\n main {\n height: calc(100% - #{$header-height} - 0.25em);\n min-height: calc(100% - #{$header-height} - 0.25em);\n background: $background-color;\n display: flex;\n flex-direction: row;\n }\n\n .items {\n height: 100%;\n flex-grow: 1;\n overflow: auto;\n border-bottom: $default-border-2;\n }\n\n .extension-container {\n .extension {\n display: flex;\n flex-direction: column;\n\n .name {\n padding: 1em;\n\n &.selected {\n font-weight: bold;\n }\n }\n }\n }\n\n .extension-body-container.desktop {\n width: 70%;\n height: 100%;\n min-height: 100%;\n border-left: $default-border-2;\n border-bottom: $default-border-2;\n\n :deep(article) {\n height: 100%;\n overflow: auto;\n }\n }\n}\n</style>\n","<template>\n <div class=\"extension\">\n <header>\n <Tabs>\n <Tab :selected=\"selectedTab === 'doc'\" icon-class=\"fas fa-book\"\n @input=\"selectedTab = 'doc'\">\n <span class=\"from tablet\">Documentation</span>\n </Tab>\n\n <Tab :selected=\"selectedTab === 'install'\" icon-class=\"fas fa-download\"\n @input=\"selectedTab = 'install'\">\n <span class=\"from tablet\">Install</span>\n </Tab>\n\n <Tab :selected=\"selectedTab === 'config'\" icon-class=\"fas fa-square-check\"\n @input=\"selectedTab = 'config'\">\n <span class=\"from tablet\">Configuration</span>\n </Tab>\n\n <Tab :selected=\"selectedTab === 'actions'\" icon-class=\"fas fa-play\"\n @input=\"selectedTab = 'actions'\">\n <span class=\"from tablet\">Actions</span>\n </Tab>\n </Tabs>\n </header>\n\n <div class=\"extension-body\">\n <Doc v-if=\"selectedTab === 'doc'\" :extension=\"extension\" />\n <Config v-else-if=\"selectedTab === 'config'\" :extension=\"extension\" />\n </div>\n </div>\n</template>\n\n<script>\nimport Tab from \"@/components/elements/Tab\"\nimport Tabs from \"@/components/elements/Tabs\"\nimport Config from \"./Config\"\nimport Doc from \"./Doc\"\n\nexport default {\n name: \"Extension\",\n components: {\n Config,\n Doc,\n Tab,\n Tabs,\n },\n\n props: {\n extension: {\n type: Object,\n required: true,\n },\n },\n\n data() {\n return {\n selectedTab: 'doc',\n }\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n@import \"src/style/items\";\n\n$header-height: 3.6em;\n\n.extension {\n width: 100%;\n height: 100%;\n background: $background-color;\n display: flex;\n flex-direction: column;\n border-top: 1px solid $border-color-1;\n box-shadow: $border-shadow-bottom;\n\n header {\n height: $header-height;\n\n :deep(.tabs) {\n margin: 0;\n }\n }\n\n .extension-body {\n height: calc(100% - #{$header-height});\n display: flex;\n flex-direction: column;\n overflow: auto;\n\n :deep(section) {\n height: calc(100% - #{$header-height});\n }\n }\n}\n</style>\n","<template>\n <div class=\"config-container\" ref=\"root\">\n <button class=\"copy-button\"\n ref=\"copyButton\"\n title=\"Copy to clipboard\"\n :data-clipboard-text=\"extension.config_snippet\"\n @click=\"copyToClipboard(extension.config_snippet)\">\n <i class=\"fas fa-clipboard\" />\n </button>\n <pre><code class=\"config-snippet\" v-html=\"highlightedConfigSnippet\" /></pre>\n </div>\n</template>\n\n<script>\nimport 'highlight.js/lib/common'\nimport 'highlight.js/styles/stackoverflow-dark.css'\nimport hljs from \"highlight.js\"\nimport Utils from \"@/Utils\";\n\nexport default {\n name: \"Extension\",\n mixins: [Utils],\n props: {\n extension: {\n type: Object,\n required: true,\n },\n },\n\n computed: {\n highlightedConfigSnippet() {\n return hljs.highlight(\n 'yaml',\n this.extension.config_snippet,\n ).value.trim()\n },\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.config-container {\n width: 100%;\n height: 100%;\n position: relative;\n display: flex;\n\n .copy-button {\n position: absolute;\n top: 0;\n right: 0;\n background: none;\n color: $code-dark-fg;\n border: none;\n padding: 0.5em;\n font-size: 1.5em;\n cursor: pointer;\n }\n\n pre {\n width: 100%;\n margin: 0;\n background: $code-dark-bg;\n padding: 0.5em;\n }\n}\n</style>\n","import { render } from \"./Config.vue?vue&type=template&id=cf62ca3a&scoped=true\"\nimport script from \"./Config.vue?vue&type=script&lang=js\"\nexport * from \"./Config.vue?vue&type=script&lang=js\"\n\nimport \"./Config.vue?vue&type=style&index=0&id=cf62ca3a&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-cf62ca3a\"]])\n\nexport default __exports__","<template>\n <section class=\"doc\">\n <header>\n <h2>\n <a class=\"title\" :href=\"extension.doc_url\" target=\"_blank\">\n <i class=\"icon fas fa-book\" />\n {{ extension.name }}\n </a>\n </h2>\n </header>\n\n <article v-html=\"doc\" v-if=\"doc\" @click=\"onDocClick\" />\n </section>\n</template>\n\n<script>\nimport Utils from \"@/Utils\"\nimport { bus } from \"@/bus\";\n\nexport default {\n name: \"Doc\",\n mixins: [Utils],\n props: {\n extension: {\n type: Object,\n required: true,\n },\n },\n\n data() {\n return {\n doc: null,\n }\n },\n\n methods: {\n async parseDoc() {\n if (!this.extension.doc?.length)\n return null\n\n return await this.request(\n 'utils.rst_to_html',\n {text: this.extension.doc}\n )\n },\n\n refreshDoc() {\n this.parseDoc().then(doc => this.doc = doc)\n },\n\n // Intercept links to the documentation and replace them with\n // in-app connections, or opens them in a new tab if they\n // don't point to an internal documentation page.\n onDocClick(event) {\n if (!event.target.tagName.toLowerCase() === 'a')\n return\n\n event.preventDefault()\n const href = event.target.getAttribute('href')\n if (!href)\n return\n\n const match = href.match(/^https:\\/\\/docs\\.platypush\\.tech\\/platypush\\/(plugins|backend)\\/([\\w.]+)\\.html#?.*$/)\n if (!match) {\n event.preventDefault()\n window.open(href, '_blank')\n return\n }\n\n let [type, name] = match.slice(1)\n if (type === 'backend')\n name = `backend.${name}`\n\n bus.emit('update:extension', name)\n event.preventDefault()\n },\n },\n\n mounted() {\n this.refreshDoc()\n this.$watch('extension.doc', this.refreshDoc)\n },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n$header-height: 3em;\n\nsection {\n height: 100%;\n\n header {\n height: $header-height;\n padding: 0.5em;\n border-bottom: 1px solid $border-color-2;\n\n h2 {\n margin: 0;\n padding: 0;\n font-size: 1.25em;\n }\n }\n\n article {\n height: calc(100% - #{$header-height});\n padding: 0.5em;\n overflow: auto;\n\n :deep(ul) {\n margin-left: 1em;\n\n li {\n list-style: disc;\n }\n }\n }\n}\n</style>\n","import { render } from \"./Doc.vue?vue&type=template&id=2e08893e&scoped=true\"\nimport script from \"./Doc.vue?vue&type=script&lang=js\"\nexport * from \"./Doc.vue?vue&type=script&lang=js\"\n\nimport \"./Doc.vue?vue&type=style&index=0&id=2e08893e&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2e08893e\"]])\n\nexport default __exports__","import { render } from \"./Extension.vue?vue&type=template&id=28d23b30&scoped=true\"\nimport script from \"./Extension.vue?vue&type=script&lang=js\"\nexport * from \"./Extension.vue?vue&type=script&lang=js\"\n\nimport \"./Extension.vue?vue&type=style&index=0&id=28d23b30&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-28d23b30\"]])\n\nexport default __exports__","import { render } from \"./Index.vue?vue&type=template&id=16781d30&scoped=true\"\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=16781d30&lang=scss&scoped=true\"\n\nimport exportComponent from \"../../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-16781d30\"]])\n\nexport default __exports__"],"names":["class","_createElementBlock","_hoisted_1","$data","loading","_createBlock","_component_Loading","key","_createElementVNode","_hoisted_2","type","ref","placeholder","filter","$event","disabled","_hoisted_4","_Fragment","_renderList","$options","extensionNames","name","matchesFilter","_hoisted_5","_normalizeClass","selected","selectedExtension","onClick","onInput","_toDisplayString","extensions","_hoisted_7","_createVNode","_component_Extension","extension","_hoisted_8","_component_Tabs","_component_Tab","selectedTab","_cache","_hoisted_3","_hoisted_6","_component_Doc","$props","_component_Config","title","config_snippet","_ctx","copyToClipboard","innerHTML","highlightedConfigSnippet","mixins","Utils","props","Object","required","computed","hljs","highlight","this","value","trim","__exports__","href","doc_url","target","doc","args","onDocClick","data","methods","parseDoc","length","request","text","refreshDoc","then","event","tagName","toLowerCase","preventDefault","getAttribute","match","window","open","slice","bus","emit","mounted","$watch","components","Config","Doc","Tab","Tabs","Extension","Loading","plugins","backends","entries","forEach","plugin","backend","keys","sort","input","setFilter","el","$el","querySelector","scrollIntoView","behavior","includes","loadExtensions","Promise","all","on","ext","$nextTick","$refs","focus","render"],"sourceRoot":""}