UNPKG

@mycure/vue-jitsi-meet

Version:

Vue component for Jitsi Meet Web Integration via IFrame

2 lines (1 loc) 3.05 kB
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e=e||self).VueJitsiMeet={})}(this,(function(e){"use strict";var t=function(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e};function n(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function i(e){for(var i=1;i<arguments.length;i++){var o=null!=arguments[i]?arguments[i]:{};i%2?n(Object(o),!0).forEach((function(n){t(e,n,o[n])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(o)):n(Object(o)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(o,t))}))}return e}function o(e,t,n,i,o,r,s,c,d,a){"boolean"!=typeof s&&(d=c,c=s,s=!1);const f="function"==typeof n?n.options:n;let p;if(e&&e.render&&(f.render=e.render,f.staticRenderFns=e.staticRenderFns,f._compiled=!0,o&&(f.functional=!0)),i&&(f._scopeId=i),r?(p=function(e){(e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext)||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),t&&t.call(this,d(e)),e&&e._registeredComponents&&e._registeredComponents.add(r)},f._ssrRegister=p):t&&(p=s?function(e){t.call(this,a(e,this.$root.$options.shadowRoot))}:function(e){t.call(this,c(e))}),p)if(f.functional){const e=f.render;f.render=function(t,n){return p.call(n),e(t,n)}}else{const e=f.beforeCreate;f.beforeCreate=e?[].concat(e,p):[p]}return n}const r={props:{domain:{type:String,default:"meet.jit.si"},options:{type:Object,default:function(){return{}}}},data:function(){return{jitsiApi:null}},mounted:function(){var e=this;this.loadScript("https://".concat(this.domain,"/external_api.js"),(function(){if(!window.JitsiMeetExternalAPI)throw new Error("Jitsi Meet External API not loaded");e.embedJitsiWidget()}))},beforeDestroy:function(){this.removeJitsiWidget()},methods:{loadScript:function(e,t){var n=document.createElement("script");n.src=e,n.async=1,document.querySelector("head").appendChild(n),n.addEventListener("load",t)},embedJitsiWidget:function(){var e=i(i({},this.options),{},{parentNode:this.$refs.jitsiContainer});this.jitsiApi=new window.JitsiMeetExternalAPI(this.domain,e)},executeCommand:function(e){for(var t,n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];(t=this.jitsiApi).executeCommand.apply(t,[e].concat(i))},addEventListener:function(e,t){this.jitsiApi.on(e,t)},removeJitsiWidget:function(){this.jitsiApi&&this.jitsiApi.dispose()}}};var s=function(){var e=this.$createElement;return(this._self._c||e)("div",{ref:"jitsiContainer",staticStyle:{height:"100%",width:"100%"}})};s._withStripped=!0;const c=o({render:s,staticRenderFns:[]},void 0,r,void 0,!1,void 0,!1,void 0,void 0,void 0);e.JitsiMeet=c,Object.defineProperty(e,"__esModule",{value:!0})}));