X7ROOT File Manager
Current Path:
/home/cbholdings/pasukulu/mod/bigbluebuttonbn/amd/src
home
/
cbholdings
/
pasukulu
/
mod
/
bigbluebuttonbn
/
amd
/
src
/
📁
..
📄
actions.js
(2.12 KB)
📄
events.js
(2.09 KB)
📄
guest_access_modal.js
(3.13 KB)
📄
index.js
(1.07 KB)
📄
modform.js
(13.58 KB)
📄
recordings.js
(14.63 KB)
📄
repository.js
(3.51 KB)
📄
rooms.js
(3.06 KB)
📄
roomupdater.js
(3.36 KB)
Editing: rooms.js
// This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * JS actions for the rooms page for mod_bigbluebuttonbn. * * @module mod_bigbluebuttonbn/rooms * @copyright 2021 Blindside Networks Inc * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ import './actions'; import * as repository from './repository'; import * as roomUpdater from './roomupdater'; import { exception as displayException, fetchNotifications, } from 'core/notification'; import {eventTypes, notifyCurrentSessionEnded} from './events'; /** * Init the room * * @param {Number} bigbluebuttonbnid bigblubeutton identifier * @param {Number} pollInterval poll interval in miliseconds */ export const init = (bigbluebuttonbnid, pollInterval) => { const completionElement = document.querySelector('a[href*=completion_validate]'); if (completionElement) { completionElement.addEventListener("click", () => { repository.completionValidate(bigbluebuttonbnid).catch(displayException); }); } document.addEventListener('click', e => { const joinButton = e.target.closest('[data-action="join"]'); if (joinButton) { window.open(joinButton.href, 'bigbluebutton_conference'); e.preventDefault(); // Gives the user a bit of time to go into the meeting before polling the room. setTimeout(() => { roomUpdater.updateRoom(true); }, pollInterval); } }); document.addEventListener(eventTypes.sessionEnded, () => { roomUpdater.stop(); roomUpdater.updateRoom(); fetchNotifications(); }); window.addEventListener(eventTypes.currentSessionEnded, () => { roomUpdater.stop(); roomUpdater.updateRoom(); fetchNotifications(); }); // Room update. roomUpdater.start(pollInterval); }; /** * Auto close child windows when clicking the End meeting button. * @param {Number} closeDelay time to wait in miliseconds before closing the window */ export const setupWindowAutoClose = (closeDelay = 2000) => { notifyCurrentSessionEnded(window.opener); window.addEventListener('onbeforeunload', () => { window.opener.setTimeout(() => { roomUpdater.updateRoom(true); }, closeDelay); }, { once: true }); window.close(); // This does not work as scripts can only close windows that are opened by themselves. };
Upload File
Create Folder