Coder Social home page Coder Social logo

Comments (2)

ndrshn avatar ndrshn commented on June 5, 2024 1

hi @danionescu2007 ,

I've had same issue. Then, I wrote simple component (like this one) that can be used in Vue 3.

code:

<template>
  <div ref="jitsiContainer" style="height: 100%; width: 100%"></div>
</template>

<script setup>
import { ref, onMounted } from "vue";
import { nanoid } from "nanoid";

const props = defineProps({
  options: {
    type: Object,
    default: {
      roomName: nanoid(6),
      userInfo: {
        email: "[email protected]",
        displayName: "John Doe",
      },
    },
  },
  domain: {
    type: String,
    default: "meet.jit.si"
  }
});
const jitsiApi = ref();
const jitsiContainer = ref();

const loadScript = (src, cb) => {
  const scriptEl = document.createElement("script");
  scriptEl.src = src;
  scriptEl.async = 1;
  document.querySelector("head").appendChild(scriptEl);
  scriptEl.addEventListener("load", cb);
};

const embedJitsiWidget = () => {
  const options = {
    ...props.options,
    parentNode: jitsiContainer.value,
  };
  jitsiApi.value = new window.JitsiMeetExternalAPI(props.domain, options);
};

const executeCommand = (command, ...value) => {
  jitsiApi.value.executeCommand(command, ...value);
};

const addEventListener = (event, fn) => {
  jitsiApi.value.on(event, fn);
};

const removeJitsiWidget = () => {
  if (jitsiApi.value) jitsiApi.value.dispose();
};

onMounted(() => {
  loadScript("https://meeting.example.com/external_api.js", () => {
    if (!window.JitsiMeetExternalAPI) throw new Error("Jitsi Meet API not loaded");
    embedJitsiWidget();
  });
});
</script>

from vue-jitsi-meet.

danionescu2007 avatar danionescu2007 commented on June 5, 2024

I managed to adapt this one already with the Vue 3 requirements.

from vue-jitsi-meet.

Related Issues (6)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.