{"version":3,"sources":["webpack:///./src/components/PluginComponent.vue?7e4a","webpack:///./ClientApp/src/utils/external-component.ts?undefined","webpack:///./ClientApp/src/components/PluginComponent.vue?undefined","webpack:///./src/components/PluginComponent.vue?3fd8","webpack:///./src/components/PluginComponent.vue?13c1"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","ref","staticStyle","staticRenderFns","externalComponent","url","name","split","reverse","match","window","Promise","resolve","reject","script","document","createElement","async","addEventListener","console","log","Error","src","head","appendChild","plugin","oldUrl","then","obj","ComponentClass","extend","instance","propsData","pluginSettings","pluginManager","$mount","$refs","container","$el","required","type","String","default","Object","immediate","components","component","VResponsive"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACA,EAAG,eAAe,CAACE,MAAM,CAAC,eAAe,GAAG,IAAI,CAACF,EAAG,MAAM,CAACG,IAAI,YAAYC,YAAY,CAAC,MAAQ,OAAO,OAAS,aAAa,IACnOC,EAAkB,G,4HCAP,SAAeC,EAA9B,kC,8DAAe,WAAiCC,GAAjC,0FACLC,EAAOD,EAAIE,MAAM,KAAKC,UAAU,GAAGC,MAAM,eAAe,IAE1DC,OAAOJ,GAHA,yCAGcI,OAAOJ,IAHrB,uBAKU,IAAIK,SAAQ,SAACC,EAASC,GACvC,IAAMC,EAASC,SAASC,cAAc,UACtCF,EAAOG,OAAQ,EACfH,EAAOI,iBAAiB,QAAQ,WAC5BC,QAAQC,IAAI,UACZD,QAAQC,IAAIV,OAAOJ,IACnBM,EAAQF,OAAOJ,OAEnBQ,EAAOI,iBAAiB,SAAS,WAC7BC,QAAQC,IAAI,SACZP,EAAO,IAAIQ,MAAJ,wBAA2BhB,QAEtCS,EAAOQ,IAAMjB,EACbU,SAASQ,KAAKC,YAAYV,MAlBnB,cAKXJ,OAAOJ,GALI,yBAoBJI,OAAOJ,IApBH,2C,wCCwBM,EAArB,yG,0BACE,EAAAmB,OAAkB,KADpB,4DAqBapB,EAAaqB,GAAc,WAChCrB,IAAQqB,IAEZtB,EAAkBC,GAAKsB,MAAK,SAAAC,GAC1B,IAAIC,EAAiB,OAAIC,OAAOF,GAC5BG,EAAiB,IAAIF,EAAe,CAACG,UAAU,CAACC,eAAe,EAAKA,eAAgBC,cAAc,EAAKA,iBAC3Gf,QAAQC,IAAIW,GACZA,EAASI,SACR,EAAKC,MAAMC,UAAsBb,YAAYO,EAASO,QAEzD3C,KAAK8B,OAAS,kBAAM,OAAIK,eA/B5B,GAA6C,QAO3C,gBAJC,eAAK,CACJS,UAAU,EACVC,KAAUC,U,gCAOZ,gBAJC,eAAK,CACJC,QAAS,iBAAO,IAChBF,KAASG,U,qCAQX,gBALC,eAAK,CACJJ,UAAS,EACTG,QAAS,iBAAO,IAChBF,KAASG,U,oCAKX,gBADC,eAAM,YAAa,CAACC,WAAW,K,yBAY/B,MAhCkB,EAAe,gBALnC,eAAU,CACTtC,KAAY,kBACZuC,WAAY,MAGO,WCzBgb,I,6CCOjcC,EAAY,eACd,EACArD,EACAU,GACA,EACA,KACA,WACA,MAIa,aAAA2C,EAAiB,QAKhC,IAAkBA,EAAW,CAACC,cAAA","file":"js/chunk-2d0b724f.7627de2f.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('v-responsive',{attrs:{\"aspect-ratio\":16/9}},[_c('div',{ref:\"container\",staticStyle:{\"width\":\"100%\",\"height\":\"100%\"}})])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/* eslint-disable */\r\nexport default async function externalComponent(url):Promise {\r\n const name = url.split('/').reverse()[0].match(/^(.*?)\\.umd/)[1];\r\n\r\n if (window[name]) return window[name];\r\n\r\n window[name] = await new Promise((resolve, reject) => {\r\n const script = document.createElement('script');\r\n script.async = true;\r\n script.addEventListener('load', () => {\r\n console.log(\"loaded\");\r\n console.log(window[name]);\r\n resolve(window[name]);\r\n });\r\n script.addEventListener('error', () => {\r\n console.log(\"error\");\r\n reject(new Error(`Error loading ${url}`));\r\n });\r\n script.src = url;\r\n document.head.appendChild(script);\r\n });\r\n return window[name];\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { PluginManager } from \"@/pluginManager/portalPlugin\";\nimport externalComponent from \"@/utils/external-component\";\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\n\n@Component({\n name : \"PluginComponent\",\n components: {}\n\n})\nexport default class PluginComponent extends Vue {\n plugin: unknown = null;\n\n @Prop({\n required: true,\n type : String\n })\n pluginUrl!: string;\n @Prop({\n default: () => ({}),\n type : Object\n })\n pluginSettings: unknown;\n @Prop({\n required:true,\n default: () => ({}),\n type : Object\n })\n pluginManager!: PluginManager;\n\n @Watch(\"pluginUrl\", {immediate: true})\n loadPlugin(url: string, oldUrl: string): void {\n if (url === oldUrl) return;\n\n externalComponent(url).then(obj => {\n var ComponentClass = Vue.extend(obj);\n var instance = new ComponentClass({propsData:{pluginSettings:this.pluginSettings, pluginManager:this.pluginManager}});\n console.log(instance)\n instance.$mount();\n (this.$refs.container as Element).appendChild(instance.$el);\n });\n this.plugin = () => Vue.extend();\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PluginComponent.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/vuetify-loader/lib/loader.js??ref--20-0!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PluginComponent.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./PluginComponent.vue?vue&type=template&id=1dfbd8dd&scoped=true&\"\nimport script from \"./PluginComponent.vue?vue&type=script&lang=ts&\"\nexport * from \"./PluginComponent.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1dfbd8dd\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VResponsive } from 'vuetify/lib/components/VResponsive';\ninstallComponents(component, {VResponsive})\n"],"sourceRoot":""}