You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2018/06/26 17:21:41 UTC
[openmeetings] 01/01: [OPENMEETINGS-1142] new look of interview room
This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch OPENMEETINGS-1142-new-look
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
commit a5aef2bd6710700eb8317d63fa7b0685aa4d9f6c
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Wed Jun 27 00:21:20 2018 +0700
[OPENMEETINGS-1142] new look of interview room
---
openmeetings-flash/src/main/flex/main.mxml | 24 ++-
openmeetings-web/pom.xml | 1 +
.../web/app/Application.properties.xml | 2 -
.../web/app/Application_ar.properties.xml | 2 -
.../web/app/Application_bg.properties.xml | 2 -
.../web/app/Application_ca.properties.xml | 2 -
.../web/app/Application_cs.properties.xml | 2 -
.../web/app/Application_da.properties.xml | 2 -
.../web/app/Application_de.properties.xml | 2 -
.../web/app/Application_el.properties.xml | 2 -
.../web/app/Application_es.properties.xml | 2 -
.../web/app/Application_fa.properties.xml | 2 -
.../web/app/Application_fi.properties.xml | 2 -
.../web/app/Application_fr.properties.xml | 2 -
.../web/app/Application_gl.properties.xml | 2 -
.../web/app/Application_he.properties.xml | 2 -
.../web/app/Application_hu.properties.xml | 2 -
.../web/app/Application_id.properties.xml | 2 -
.../web/app/Application_it.properties.xml | 2 -
.../web/app/Application_ja.properties.xml | 2 -
.../web/app/Application_ko.properties.xml | 2 -
.../web/app/Application_nl.properties.xml | 2 -
.../web/app/Application_pl.properties.xml | 2 -
.../web/app/Application_pt.properties.xml | 2 -
.../web/app/Application_pt_BR.properties.xml | 2 -
.../web/app/Application_ru.properties.xml | 2 -
.../web/app/Application_sk.properties.xml | 2 -
.../web/app/Application_sv.properties.xml | 2 -
.../web/app/Application_th.properties.xml | 2 -
.../web/app/Application_tr.properties.xml | 2 -
.../web/app/Application_uk.properties.xml | 2 -
.../web/app/Application_zh_CN.properties.xml | 2 -
.../web/app/Application_zh_TW.properties.xml | 2 -
.../apache/openmeetings/web/common/MainPanel.html | 11 --
.../apache/openmeetings/web/common/MainPanel.java | 14 ++
.../apache/openmeetings/web/pages/MainPage.java | 40 +++--
.../apache/openmeetings/web/room/RoomPanel.java | 9 +-
.../org/apache/openmeetings/web/room/SwfPanel.java | 2 +-
.../openmeetings/web/room/VideoSettings.java | 2 +-
.../sidebar/icon/activity/RoomActivityIcon.java | 3 +-
.../apache/openmeetings/web/room/video-manager.js | 12 +-
.../org/apache/openmeetings/web/room/video-util.js | 2 +-
.../java/org/apache/openmeetings/web/room/video.js | 162 +++++++++++++++------
.../openmeetings/web/room/wb/InterviewWbPanel.html | 25 +---
.../openmeetings/web/room/wb/interview-area.js | 98 ++++++-------
openmeetings-web/src/main/webapp/css/room.css | 78 ++++++++--
46 files changed, 297 insertions(+), 248 deletions(-)
diff --git a/openmeetings-flash/src/main/flex/main.mxml b/openmeetings-flash/src/main/flex/main.mxml
index bae609e..863f2be 100644
--- a/openmeetings-flash/src/main/flex/main.mxml
+++ b/openmeetings-flash/src/main/flex/main.mxml
@@ -41,8 +41,6 @@
import org.apache.openmeetings.OmVideo;
- private static const INTERVIEW_WIDTH:int = 320;
- private static const INTERVIEW_HEIGHT:int = 260;
private var audioOnly:Boolean = false;
private var FPS:int;
private var bandwidth:int = 0;
@@ -136,6 +134,7 @@
userId = params.userId;
cuid = params.cuid;
type = params.type;
+ ExternalInterface.addCallback("vidResize", vidResize);
switch (params.mode) {
case 'settings': {
ExternalInterface.addCallback("getDevices", function ():Object {
@@ -198,7 +197,7 @@
_updateExclusive();
activityTimer.addEventListener(TimerEvent.TIMER, broadcastTimerListener);
refreshBroadcast(null);
- ExternalInterface.call("VideoManager.securityMode", params.uid, false);
+ ExternalInterface.call("VideoManager.swfLoaded", params.uid);
ExternalInterface.addCallback("refresh", refreshBroadcast);
ExternalInterface.addCallback("update", function ():void {
video.getNc().call("check", new Responder(function (check:Object):void {
@@ -246,11 +245,11 @@
ExternalInterface.addCallback("refresh", refreshCallback);
ExternalInterface.addCallback("setRights", setRightsCallback);
ExternalInterface.addCallback("cleanup", cleanupCallback);
+ ExternalInterface.call("VideoManager.swfLoaded", params.uid);
copyPasteCtxMenu.clipboardMenu = true;
}
break;
}
- ExternalInterface.addCallback("vidResize", vidResize);
}
private function _updateExclusive():void {
@@ -392,6 +391,7 @@
}
private function vidResize(_width:int, _height:int):void {
+ debug("vidResize", _width, _height);
_resize(_width, _height);
video.vidResize(_width, _height);
}
@@ -401,8 +401,8 @@
if (opts && !isNaN(opts.width)) {
selectedCam = opts.cam;
selectedMic = opts.mic;
- var width:int = interview ? INTERVIEW_WIDTH : opts.width
- , height:int = interview ? INTERVIEW_HEIGHT : opts.height;
+ var width:int = isNaN(video.width) ? opts.width : video.width
+ , height:int = isNaN(video.height) ? opts.height : video.height;
vidResize(width, height);
}
video.reset();
@@ -482,19 +482,18 @@
}
private function getCam():Camera {
- debug("Entering getCam ...");
+ debug("Entering getCam ..." + video.width + ", " + params.width);
var _camera:Camera = null;
if (selectedCam > -1) {
_camera = Camera.getCamera("" + selectedCam);
if (_camera != null && !_camera.muted) {
//FIXME need to be unified
+ _camera.setMode(video.width, video.height, FPS);
if (interview) {
//we need a fixed frame rate for the videos to merge them later on
- _camera.setMode(INTERVIEW_WIDTH, INTERVIEW_HEIGHT, 24);
debug("IS INTERVIEW ");
_camera.setQuality(0, 98);
} else {
- _camera.setMode(video.width, video.height, FPS);
debug("IS NO INTERVIEW ");
_camera.setQuality(bandwidth, quality);
}
@@ -512,7 +511,7 @@
if (cam.muted) {
debug("Camera Muted");
if (params.mode != 'settings') {
- ExternalInterface.call("VideoManager.securityMode", params.uid, true);
+ ExternalInterface.call("VideoManager.securityMode", params.uid);
}
video.attachCamera(cam);
cam.addEventListener(StatusEvent.STATUS, function (event:StatusEvent):void {
@@ -536,7 +535,7 @@
if (_mic != null) {
if (_mic.muted) {
debug("Mic Muted");
- ExternalInterface.call("VideoManager.securityMode", params.uid, true);
+ ExternalInterface.call("VideoManager.securityMode", params.uid);
var nc:NetConnection = new NetConnection();
nc.connect(null);
var ns:NetStream = new NetStream(nc);
@@ -581,8 +580,7 @@
}
private function setResolution(w:int, h:int, attach:Boolean):void {
- var width:int = interview ? INTERVIEW_WIDTH : w
- , height:int = interview ? INTERVIEW_HEIGHT : h;
+ var width:int = w, height:int = h;
debug("onselect WxH :: " + width + "x" + height);
video.resize(width, height);
if (attach) {
diff --git a/openmeetings-web/pom.xml b/openmeetings-web/pom.xml
index 55fdf97..6f8ee45 100644
--- a/openmeetings-web/pom.xml
+++ b/openmeetings-web/pom.xml
@@ -132,6 +132,7 @@
<jsSourceDir>../java/org/apache/openmeetings/web/room/wb</jsSourceDir>
<jsSourceFiles>
<jsSourceFile>wb-all.js</jsSourceFile>
+ <jsSourceFile>uuid.js</jsSourceFile>
<jsSourceFile>interview-area.js</jsSourceFile>
</jsSourceFiles>
<jsFinalFile>interviewwb.js</jsFinalFile>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
index b31b896..b1055fa 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the recording]]></entry>
<entry key="888"><![CDATA[The recording is not yet ready for watching]]></entry>
- <entry key="910"><![CDATA[Choose the user for this video]]></entry>
- <entry key="911"><![CDATA[Available users for this pod]]></entry>
<entry key="913"><![CDATA[Start recording]]></entry>
<entry key="914"><![CDATA[Stop recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
index b8a0618..65969f3 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ar.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the Recording.]]></entry>
<entry key="888"><![CDATA[The Recording is not yet ready for watching. Please retry in a couple of minutes again.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
index bf4d246..983bb71 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_bg.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the Recording.]]></entry>
<entry key="888"><![CDATA[The Recording is not yet ready for watching. Please retry in a couple of minutes again.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
index c32c77d..a39c81d4 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ca.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Permissos]]></entry>
<entry key="887"><![CDATA[Hi ha hagut errors mentre es processava gravació.]]></entry>
<entry key="888"><![CDATA[La gravació encara no aquesta llista. Intenti'l de nou en un parell de minuts.]]></entry>
- <entry key="910"><![CDATA[Seleccioneu l'usuari d'aquest vídeo]]></entry>
- <entry key="911"><![CDATA[Usuaris disponibles per aquesta POD]]></entry>
<entry key="913"><![CDATA[Començar la gravació]]></entry>
<entry key="914"><![CDATA[Aturar la gravació]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
index 9d65357..623d7d5 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_cs.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the Recording.]]></entry>
<entry key="888"><![CDATA[The Recording is not yet ready for watching. Please retry in a couple of minutes again.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
index a6e5be6..198b934 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_da.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rettigheder]]></entry>
<entry key="887"><![CDATA[Der har været fejl under processionen af optagelsen.]]></entry>
<entry key="888"><![CDATA[Optagelsen er ikke klar til at blive set. Prøv venligst igen om et par minutter.]]></entry>
- <entry key="910"><![CDATA[Vælg bruger for denne video]]></entry>
- <entry key="911"><![CDATA[Bruge tilgængelige for denne Pod]]></entry>
<entry key="913"><![CDATA[Start optagelse]]></entry>
<entry key="914"><![CDATA[Stop optagelse]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
index eab0f61..0e22382 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_de.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rechte]]></entry>
<entry key="887"><![CDATA[Es gab Fehler beim Verarbeiten der Aufzeichnung.]]></entry>
<entry key="888"><![CDATA[Die Aufzeichnung ist noch nicht zur Wiedergabe bereit. Versuchen Sie es in einigen Minuten erneut.]]></entry>
- <entry key="910"><![CDATA[Nutzer für dieses Video auswählen]]></entry>
- <entry key="911"><![CDATA[Verfügbare Nutzer für dieses Pod]]></entry>
<entry key="913"><![CDATA[Aufzeichnung starten]]></entry>
<entry key="914"><![CDATA[Aufzeichnung stoppen]]></entry>
<entry key="923"><![CDATA[Größe Homeverzeichnis]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
index bf3eee2..d2261e6 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_el.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the Recording.]]></entry>
<entry key="888"><![CDATA[The Recording is not yet ready for watching. Please retry in a couple of minutes again.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
index 882341d..eb01da6 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_es.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Permisos]]></entry>
<entry key="887"><![CDATA[Ha habido errores mientras se procesaba la grabación.]]></entry>
<entry key="888"><![CDATA[La grabación aún no esta lista. Inténtelo de nuevo en un par de minutos.]]></entry>
- <entry key="910"><![CDATA[Seleccione el usuario para este vídeo]]></entry>
- <entry key="911"><![CDATA[Usuarios disponsibles para esta transmisión Pod]]></entry>
<entry key="913"><![CDATA[Iniciar Grabación]]></entry>
<entry key="914"><![CDATA[Parar Grabación]]></entry>
<entry key="923"><![CDATA[Tamaño del dispositivo personal]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
index 739f28d..a3e8e2a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fa.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[حقوق]]></entry>
<entry key="887"><![CDATA[وجود مشکلات در حین اجرای ضبط]]></entry>
<entry key="888"><![CDATA[ضبط هنوز آماده برای مشاهده نیست.لطفا دو دقیقه دیگر دوباره تلاش کنید.]]></entry>
- <entry key="910"><![CDATA[انتخاب کاربر برای این ویدیو]]></entry>
- <entry key="911"><![CDATA[کاربران موجود برای این پاد]]></entry>
<entry key="913"><![CDATA[شروع ضبط]]></entry>
<entry key="914"><![CDATA[توقف ضبط]]></entry>
<entry key="923"><![CDATA[اندازه درایو خانگی]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
index bdb6857..1f892ad 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fi.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the Recording.]]></entry>
<entry key="888"><![CDATA[The Recording is not yet ready for watching. Please retry in a couple of minutes again.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
index 076018b..84fe29a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_fr.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Droits]]></entry>
<entry key="887"><![CDATA[Il y a eu des erreurs durant le traitement de l'enregistrement.]]></entry>
<entry key="888"><![CDATA[L'enregistrement n'est pas encore prêt à être visionné. Veuillez réessayer dans quelques minutes.]]></entry>
- <entry key="910"><![CDATA[Choisissez l'utilisateur pour cette vidéo]]></entry>
- <entry key="911"><![CDATA[Utilisateurs disponibles pour ce conteneur]]></entry>
<entry key="913"><![CDATA[Démarrer l'enregistr.]]></entry>
<entry key="914"><![CDATA[Arrêter l'enregistr.]]></entry>
<entry key="923"><![CDATA[Taille du disque local]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
index 46305ae..6e22364 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_gl.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Permisos]]></entry>
<entry key="887"><![CDATA[Houbo algún erro mentres de procesaba a gravación.]]></entry>
<entry key="888"><![CDATA[La grabación no está aínda preparada para ver. Tenteo de novo dentro dun par de minutos.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_he.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_he.properties.xml
index b31b896..b1055fa 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_he.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_he.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the recording]]></entry>
<entry key="888"><![CDATA[The recording is not yet ready for watching]]></entry>
- <entry key="910"><![CDATA[Choose the user for this video]]></entry>
- <entry key="911"><![CDATA[Available users for this pod]]></entry>
<entry key="913"><![CDATA[Start recording]]></entry>
<entry key="914"><![CDATA[Stop recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
index e0e6437..2d0db96 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_hu.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rendben]]></entry>
<entry key="887"><![CDATA[Hiba történt a felvétel készítése közben.]]></entry>
<entry key="888"><![CDATA[A felvétel még nem nézhewtő vissza. Kérjük próbálja ismét pár perc múlva.]]></entry>
- <entry key="910"><![CDATA[Felhasználó kiválasztotta ezt a videót]]></entry>
- <entry key="911"><![CDATA[Ezen a felületen elérhető felhasználók]]></entry>
<entry key="913"><![CDATA[Felvétel indítása]]></entry>
<entry key="914"><![CDATA[Felvétel megállítása]]></entry>
<entry key="923"><![CDATA[Privát meghajtó mérete]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml
index ded7675..d39c8f7 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_id.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the Recording.]]></entry>
<entry key="888"><![CDATA[The Recording is not yet ready for watching. Please retry in a couple of minutes again.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
index 467b687..bb73611 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_it.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Permessi]]></entry>
<entry key="887"><![CDATA[Ci sono stati errori nell'elaborazione della Registrazione.]]></entry>
<entry key="888"><![CDATA[La registrazione non è pronta per la visione.]]></entry>
- <entry key="910"><![CDATA[Scegli gli utenti per questo Video]]></entry>
- <entry key="911"><![CDATA[Utenti disponibili per questo riquadro]]></entry>
<entry key="913"><![CDATA[Avvia Registrazione]]></entry>
<entry key="914"><![CDATA[Ferma Registrazione]]></entry>
<entry key="923"><![CDATA[Dimensione spazio Utente]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
index 87385a5..b4b6ba8 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ja.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[権限]]></entry>
<entry key="887"><![CDATA[録画の処理中にエラーが発生しました。]]></entry>
<entry key="888"><![CDATA[録画視聴の準備がまだ整っていません。数分後に再実行してください。]]></entry>
- <entry key="910"><![CDATA[ビデオ表示するユーザーを選択]]></entry>
- <entry key="911"><![CDATA[ポッド利用ユーザー数]]></entry>
<entry key="913"><![CDATA[録画・録音を開始]]></entry>
<entry key="914"><![CDATA[録画・録音を停止]]></entry>
<entry key="923"><![CDATA[ホーム・ドライブ使用量]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
index a0feceb..a6ade4d 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ko.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the Recording.]]></entry>
<entry key="888"><![CDATA[The Recording is not yet ready for watching. Please retry in a couple of minutes again.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
index 146c318..196834b 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_nl.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the Recording.]]></entry>
<entry key="888"><![CDATA[The Recording is not yet ready for watching. Please retry in a couple of minutes again.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
index 2569904..7609904 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pl.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the Recording.]]></entry>
<entry key="888"><![CDATA[The Recording is not yet ready for watching. Please retry in a couple of minutes again.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
index f7b151c..ef917b5 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the Recording.]]></entry>
<entry key="888"><![CDATA[The Recording is not yet ready for watching. Please retry in a couple of minutes again.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
index b9e42ac..4f9c1c1 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_pt_BR.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Direitos]]></entry>
<entry key="887"><![CDATA[Os erros aconteceram no processo de gravação.]]></entry>
<entry key="888"><![CDATA[A visualização da gravação ainda não está pronta. Por favor tente novamente em alguns minutos.]]></entry>
- <entry key="910"><![CDATA[Escolha o usuário para este vídeo]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Iniciar gravação]]></entry>
<entry key="914"><![CDATA[Parar gravação]]></entry>
<entry key="923"><![CDATA[Tamanho da unidade]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
index 994e44f..d3a5744 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_ru.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Права]]></entry>
<entry key="887"><![CDATA[При обработке записи возникли ошибки.]]></entry>
<entry key="888"><![CDATA[Запись ещё не готова. Попробуйте снова через пару минут.]]></entry>
- <entry key="910"><![CDATA[Выберите пользователя для этого видео]]></entry>
- <entry key="911"><![CDATA[Доступные пользователи для этого Pod]]></entry>
<entry key="913"><![CDATA[Начать запись]]></entry>
<entry key="914"><![CDATA[Остановить запись]]></entry>
<entry key="923"><![CDATA[Размер домашнего накопителя]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
index a828297..fe5dc1c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sk.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Práva]]></entry>
<entry key="887"><![CDATA[Nastala chyba počas nahrávania]]></entry>
<entry key="888"><![CDATA[Nahrávka nie je ešte hotová na prezeranie]]></entry>
- <entry key="910"><![CDATA[Vybrať používateľa pre toto video]]></entry>
- <entry key="911"><![CDATA[Používatelia k dispozícií]]></entry>
<entry key="913"><![CDATA[Začať nahrávanie]]></entry>
<entry key="914"><![CDATA[Ukončiť nahrávanie]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
index d1b7f37..283e477 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_sv.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the Recording.]]></entry>
<entry key="888"><![CDATA[The Recording is not yet ready for watching. Please retry in a couple of minutes again.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
index 310a99c..40d999a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_th.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the Recording.]]></entry>
<entry key="888"><![CDATA[The Recording is not yet ready for watching. Please retry in a couple of minutes again.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
index e36d002..849e6ee 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_tr.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the Recording.]]></entry>
<entry key="888"><![CDATA[The Recording is not yet ready for watching. Please retry in a couple of minutes again.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
index 3c72a2d..a5167a2 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_uk.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Права]]></entry>
<entry key="887"><![CDATA[При обробці записи виникли помилки.]]></entry>
<entry key="888"><![CDATA[Запис ще не готова. Спробуйте знову через пару хвилин.]]></entry>
- <entry key="910"><![CDATA[Виберіть користувача для цього відео]]></entry>
- <entry key="911"><![CDATA[Доступні користувачі для цього Pod]]></entry>
<entry key="913"><![CDATA[Почати запис]]></entry>
<entry key="914"><![CDATA[Зупинити запис]]></entry>
<entry key="923"><![CDATA[Розмір домашнього накопичувача]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
index 360cd97..3667880 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_CN.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[权利]]></entry>
<entry key="887"><![CDATA[在处理记录时出错]]></entry>
<entry key="888"><![CDATA[记录未准备好,请过几分钟再试]]></entry>
- <entry key="910"><![CDATA[会议人员邀请]]></entry>
- <entry key="911"><![CDATA[会议可邀请的人员]]></entry>
<entry key="913"><![CDATA[开始录制]]></entry>
<entry key="914"><![CDATA[结束录制]]></entry>
<entry key="923"><![CDATA[私有记录文件大小]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
index 319827a..006d15a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/app/Application_zh_TW.properties.xml
@@ -352,8 +352,6 @@ see http://openmeetings.apache.org/LanguageEditor.html for Details
<entry key="881"><![CDATA[Rights]]></entry>
<entry key="887"><![CDATA[The have been errors while processing the Recording.]]></entry>
<entry key="888"><![CDATA[The Recording is not yet ready for watching. Please retry in a couple of minutes again.]]></entry>
- <entry key="910"><![CDATA[Choose the User for this Video]]></entry>
- <entry key="911"><![CDATA[Available Users for this Pod]]></entry>
<entry key="913"><![CDATA[Start Recording]]></entry>
<entry key="914"><![CDATA[Stop Recording]]></entry>
<entry key="923"><![CDATA[Home drive size]]></entry>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.html
index a0f8232..f6fe96f 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.html
@@ -29,17 +29,6 @@
</script>
</wicket:head>
<wicket:panel>
- <script type="text/javascript">
- $(function() {
- Wicket.Event.subscribe(Wicket.Event.Topic.AJAX_CALL_FAILURE, hideBusyIndicator);
- Wicket.Event.subscribe(Wicket.Event.Topic.AJAX_CALL_BEFORE, showBusyIndicator);
- Wicket.Event.subscribe(Wicket.Event.Topic.AJAX_CALL_SUCCESS, hideBusyIndicator);
- Wicket.Event.subscribe(Wicket.Event.Topic.AJAX_CALL_COMPLETE, hideBusyIndicator);
- Wicket.Event.subscribe(Wicket.Event.Topic.WebSocket.Opened, function() {
- Wicket.WebSocket.send("socketConnected");
- });
- });
- </script>
<div wicket:id="topControls">
<div wicket:id="topLinks"><span
id="contactsAndMessages"><a wicket:id="messages"><wicket:message key="1188"/></a></span><span
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
index dca6991..0c09496 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
@@ -72,6 +72,7 @@ import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.devutils.debugbar.DebugBar;
import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
import org.apache.wicket.markup.head.PriorityHeaderItem;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.panel.EmptyPanel;
@@ -134,6 +135,18 @@ public class MainPanel extends Panel {
private static final long serialVersionUID = 1L;
@Override
+ public void renderHead(Component component, IHeaderResponse response) {
+ super.renderHead(component, response);
+ StringBuilder handlers = new StringBuilder()
+ .append("Wicket.Event.subscribe(Wicket.Event.Topic.AJAX_CALL_FAILURE, hideBusyIndicator);")
+ .append("Wicket.Event.subscribe(Wicket.Event.Topic.AJAX_CALL_BEFORE, showBusyIndicator);")
+ .append("Wicket.Event.subscribe(Wicket.Event.Topic.AJAX_CALL_SUCCESS, hideBusyIndicator);")
+ .append("Wicket.Event.subscribe(Wicket.Event.Topic.AJAX_CALL_COMPLETE, hideBusyIndicator);")
+ .append("Wicket.Event.subscribe(Wicket.Event.Topic.WebSocket.Opened, function() { Wicket.WebSocket.send('socketConnected'); });");
+ response.render(OnDomReadyHeaderItem.forScript(handlers));
+ }
+
+ @Override
protected void onConnect(ConnectedMessage msg) {
super.onConnect(msg);
ExtendedClientProperties cp = WebSession.get().getExtendedProperties();
@@ -402,6 +415,7 @@ public class MainPanel extends Panel {
public void updateContents(OmUrlFragment f, IPartialPageRequestHandler handler, boolean updateFragment) {
BasePanel npanel = getPanel(f.getArea(), f.getType());
+ log.debug("updateContents:: npanels IS null ? {}, client IS null ? {}", npanel == null, getClient() == null);
if (npanel != null) {
if (getClient() != null) {
updateContents(npanel, handler);
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java
index 92db807..cbeb4cd 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java
@@ -18,10 +18,12 @@
*/
package org.apache.openmeetings.web.pages;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.getWebAppRootKey;
+
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.MainPanel;
import org.apache.openmeetings.web.util.OmUrlFragment;
-import org.apache.wicket.ajax.AbstractAjaxTimerBehavior;
+import org.apache.wicket.Component;
import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation;
@@ -32,21 +34,26 @@ import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
import org.apache.wicket.markup.html.WebMarkupContainer;
import org.apache.wicket.markup.html.panel.EmptyPanel;
import org.apache.wicket.request.IRequestParameters;
-import org.apache.wicket.util.time.Duration;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
@AuthorizeInstantiation({"Admin", "Dashboard", "Room"})
public class MainPage extends BaseInitedPage {
private static final long serialVersionUID = 1L;
+ private static final Logger log = Red5LoggerFactory.getLogger(MainPage.class, getWebAppRootKey());
private static final String MAIN_PANEL_ID = "main";
private final WebMarkupContainer mainContainer = new WebMarkupContainer("main-container");
- private final AbstractAjaxTimerBehavior areaBehavior = new AbstractAjaxTimerBehavior(Duration.ONE_SECOND) {
+ private final AbstractDefaultAjaxBehavior areaBehavior = new AbstractDefaultAjaxBehavior() {
private static final long serialVersionUID = 1L;
@Override
- protected void onTimer(AjaxRequestTarget target) {
- OmUrlFragment area = WebSession.get().getArea();
- main.updateContents(area == null ? OmUrlFragment.get() : area, target);
- stop(target);
+ protected void respond(AjaxRequestTarget target) {
+ loaded = true;
+ log.debug("MainPage::areaBehavior");
+ if (uf == null) {
+ uf = WebSession.get().getArea();
+ }
+ main.updateContents(uf == null ? OmUrlFragment.get() : uf, target);
WebSession.get().setArea(null);
}
};
@@ -56,18 +63,22 @@ public class MainPage extends BaseInitedPage {
@Override
protected void respond(AjaxRequestTarget target) {
+ log.debug("MainPage::delayedLoad");
+ mainContainer.replace(main);
target.add(
- mainContainer.replace(main)
- .add(areaBehavior, new Behavior() {
+ mainContainer.add(areaBehavior, new Behavior() {
private static final long serialVersionUID = 1L;
@Override
- public void renderHead(org.apache.wicket.Component component, IHeaderResponse response) {
+ public void renderHead(Component component, IHeaderResponse response) {
internalRenderHead(response);
+ response.render(OnDomReadyHeaderItem.forScript(areaBehavior.getCallbackScript()));
}
}));
}
};
+ private OmUrlFragment uf = null;
+ private boolean loaded = false;
public MainPage() {
super();
@@ -87,9 +98,12 @@ public class MainPage extends BaseInitedPage {
@Override
protected void onParameterArrival(IRequestParameters params, AjaxRequestTarget target) {
- OmUrlFragment uf = getUrlFragment(params);
- if (uf != null) {
- areaBehavior.stop(target);
+ log.debug("MainPage::onParameterArrival");
+ OmUrlFragment _f = getUrlFragment(params);;
+ if (_f != null) {
+ uf = _f;
+ }
+ if (loaded && uf != null) {
main.updateContents(uf, target, false);
}
}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index 9859cfa..b9fa93a 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -121,6 +121,7 @@ public class RoomPanel extends BasePanel {
@Override
protected void respond(AjaxRequestTarget target) {
+ log.debug("RoomPanel::roomEnter");
WebSession ws = WebSession.get();
ExtendedClientProperties cp = ws.getExtendedProperties();
getBean(ConferenceLogDao.class).add(
@@ -152,6 +153,7 @@ public class RoomPanel extends BasePanel {
}
if (Room.Type.presentation != r.getType()) {
List<Client> mods = getBean(ClientManager.class).listByRoom(r.getId(), c -> c.hasRight(Room.Right.moderator));
+ log.debug("RoomPanel::roomEnter, mods IS EMPTY ? {}, is MOD ? {}", mods.isEmpty(), _c.hasRight(Room.Right.moderator));
if (mods.isEmpty()) {
waitApplyModeration.open(target);
}
@@ -172,7 +174,7 @@ public class RoomPanel extends BasePanel {
}
}
if (interview && recordingUser == null && hasStreams && _c.hasRight(Right.moderator)) {
- sb.append("WbArea.setRecStartEnabled(true);");
+ sb.append("WbArea.setRecEnabled(true);");
}
if (!Strings.isEmpty(sb)) {
target.appendJavaScript(sb);
@@ -632,9 +634,9 @@ public class RoomPanel extends BasePanel {
break;
}
}
- handler.appendJavaScript(String.format("WbArea.setRecStopEnabled(false);WbArea.setRecStartEnabled(%s);", hasStreams));
+ handler.appendJavaScript(String.format("WbArea.setRecStarted(false);WbArea.setRecEnabled(%s);", hasStreams));
} else {
- handler.appendJavaScript("WbArea.setRecStartEnabled(false);WbArea.setRecStopEnabled(true);");
+ handler.appendJavaScript("WbArea.setRecStarted(true);");
}
}
}
@@ -656,6 +658,7 @@ public class RoomPanel extends BasePanel {
if (!rr.isEmpty()) {
c.allow(rr);
cm.update(c);
+ log.info("Setting rights for client:: {}", rr);
}
}
}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
index 5c7a353..b6aabc6 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/SwfPanel.java
@@ -128,7 +128,7 @@ public class SwfPanel extends BasePanel {
.put("path", path)
.put("width", "100%")
.put("height", "100%")
- .put("wmode", cp.isBrowserInternetExplorer() && cp.getBrowserVersionMajor() == 11 ? "opaque" : "direct");
+ .put("wmode", "opaque");
} catch (Exception e) {
log.error("Error while constructing video settings parameters", e);
}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/VideoSettings.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/VideoSettings.java
index 69892d5..f59341e 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/VideoSettings.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/VideoSettings.java
@@ -79,7 +79,7 @@ public class VideoSettings extends Panel {
JSONObject s = new JSONObject(gs.toString())
.put("sid", sid)
.put("debug", DEVELOPMENT == Application.get().getConfigurationType())
- .put("wmode", cp.isBrowserInternetExplorer() && cp.getBrowserVersionMajor() == 11 ? "opaque" : "direct");
+ .put("wmode", "opaque");
try {
URL url = new URL(cp.getCodebase());
String path = url.getPath();
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java
index c5815e1..ba851ad 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java
@@ -44,8 +44,7 @@ public abstract class RoomActivityIcon extends ClientIcon {
protected boolean visible() {
Room r = getRoom();
- return Room.Type.interview != r.getType()
- && activityAllowed(getClient(), activity, r);
+ return activityAllowed(getClient(), activity, r);
}
@Override
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video-manager.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video-manager.js
index f161550..aa4d58d 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video-manager.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video-manager.js
@@ -24,7 +24,7 @@ var VideoManager = (function() {
}
}
function _init() {
- Wicket.Event.subscribe("/websocket/message", _onWsMessage);
+ Wicket.Event.subscribe('/websocket/message', _onWsMessage);
VideoSettings.init(Room.getOptions());
share = $('.room.box').find('.icon.shared.ui-button');
inited = true;
@@ -72,6 +72,7 @@ var VideoManager = (function() {
if (v.dialog('instance') !== undefined) {
v.dialog('destroy');
}
+ v.parent('.pod').remove();
v.remove();
}
function _play(c) {
@@ -121,10 +122,10 @@ var VideoManager = (function() {
const u = $('#user' + uid + ' .audio-activity.ui-icon')
, v = _find(uid).parent();
if (active) {
- u.addClass("speaking");
+ u.addClass('speaking');
v.addClass('user-speaks')
} else {
- u.removeClass("speaking");
+ u.removeClass('speaking');
v.removeClass('user-speaks')
}
}
@@ -177,7 +178,8 @@ var VideoManager = (function() {
self.update = _update;
self.play = _play;
self.close = _close;
- self.securityMode = function(uid, on) { $('#' + VideoUtil.getVid(uid)).data().securityMode(on); };
+ self.securityMode = function(uid) { $('#' + VideoUtil.getVid(uid)).data().securityMode(); };
+ self.swfLoaded = function(uid) { $('#' + VideoUtil.getVid(uid)).data().swfLoaded(); };
self.refresh = _refresh;
self.mute = _mute;
self.clickExclusive = _clickExclusive;
@@ -191,7 +193,7 @@ var VideoManager = (function() {
});
};
self.destroy = function() {
- Wicket.Event.unsubscribe("/websocket/message", _onWsMessage);
+ Wicket.Event.unsubscribe('/websocket/message', _onWsMessage);
}
return self;
})();
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video-util.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video-util.js
index e7a7398..a3faa5e 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video-util.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video-util.js
@@ -5,7 +5,7 @@ const VID_SEL = '.video.user-video';
var VideoUtil = (function() {
const self = {};
function _getVid(uid) {
- return "video" + uid;
+ return 'video' + uid;
}
function _isSharing(c) {
return 'sharing' === c.type && c.screenActivities.indexOf('sharing') > -1;
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video.js
index 9ce3d20..4eeeb5d 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video.js
@@ -7,31 +7,51 @@ var Video = (function() {
function _getName() {
return c.user.firstName + ' ' + c.user.lastName;
}
- function _resizeDlg(_ww, _hh) {
- const interview = Room.getOptions().interview;
- const _w = interview ? 320 : _ww, _h = interview ? 260 : _hh;
- const h = _h + t.height() + 2 + (f.is(":visible") ? f.height() : 0);
- v.dialog("option", "width", _w).dialog("option", "height", h);
- _resize(_w, _h);
+ function _getExtra() {
+ return t.height() + 2 + (f.is(':visible') ? f.height() : 0);
+ }
+ function _resizeDlg(_w, _h) {
+ const h = _h + _getExtra();
+ _resizeDlgArea(_w, h);
return h;
}
- function _securityMode(on) {
+ function _resizeDlgArea(_w, _h) {
+ v.dialog('option', 'width', _w).dialog('option', 'height', _h);
+ const h = _h - _getExtra();
+ _resize(_w, h);
if (Room.getOptions().interview) {
- return;
+ v.dialog('widget').css(VideoUtil.getPos());
+ try {
+ swf[0].vidResize(Math.floor(_w), Math.floor(h));
+ } catch (err) {}
}
- if (on) {
- v.dialog("option", "position", {my: "center", at: "center", of: VideoUtil.container()});
+ }
+ function _resizePod() {
+ const p = v.parents('.pod,.pod-big')
+ , pw = p.width(), ph = p.height();
+ _resizeDlgArea(pw, ph);
+ }
+ function _swfLoaded() {
+ if (Room.getOptions().interview) {
+ _resizePod();
} else {
const h = _resizeDlg(size.width, size.height);
- v.dialog("widget").css(VideoUtil.getPos(VideoUtil.getRects(VID_SEL, VideoUtil.getVid(c.uid)), c.width, h));
+ v.dialog('widget').css(VideoUtil.getPos(VideoUtil.getRects(VID_SEL, VideoUtil.getVid(c.uid)), c.width, h));
+ }
+ }
+ function _securityMode() {
+ if (Room.getOptions().interview) {
+ swf[0].vidResize(swf.attr('width'), swf.attr('height'));
+ return;
}
+ v.dialog('option', 'position', {my: 'center', at: 'center', of: VideoUtil.container()});
}
function _resize(w, h) {
vc.width(w).height(h);
swf.attr('width', w).attr('height', h);
}
function _handleMicStatus(state) {
- if (!f.is(":visible")) {
+ if (!f.is(':visible')) {
return;
}
if (state) {
@@ -67,17 +87,91 @@ var Video = (function() {
return;
}
if (mute) {
- const val = slider.slider("option", "value");
+ const val = slider.slider('option', 'value');
if (val > 0) {
lastVolume = val;
}
- slider.slider("option", "value", 0);
+ slider.slider('option', 'value', 0);
_handleVolume(0);
} else {
- slider.slider("option", "value", lastVolume);
+ slider.slider('option', 'value', lastVolume);
_handleVolume(lastVolume);
}
}
+ function _initContainer(_id, name, opts) {
+ let contSel;
+ if (opts.interview) {
+ const area = $('.pod-area');
+ let count = area.find('.video.user-video').length;
+ const empt = area.find('.empty');
+ if (count == 0) {
+ empt.length == 0 && area.append($('<div class="empty"></div>'));
+ } else {
+ empt.remove();
+ }
+ //FIXME TODO add 'pod-big' logic
+ const contId = UUID.generate();
+ contSel = '#' + contId;
+ area.append($('<div class="pod"></div>').attr('id', contId));
+ count++; //FIXME TODO conditional 'pod-big' logic
+ if (count < 3) {
+ area.attr('class', 'pod-area max2');
+ } else if (count < 4) {
+ area.attr('class', 'pod-area max3');
+ } else if (count < 6) {
+ area.attr('class', 'pod-area max5');
+ } else if (count < 10) {
+ area.attr('class', 'pod-area max9');
+ } else if (count < 14) {
+ area.attr('class', 'pod-area max13');
+ } else if (count < 18) {
+ area.attr('class', 'pod-area max17');
+ } else if (count < 26) {
+ area.attr('class', 'pod-area max25');
+ } else if (count < 34) {
+ area.attr('class', 'pod-area max33');
+ }
+ } else {
+ contSel = '.room.box';
+ }
+ $(contSel).append(OmUtil.tmpl('#user-video', _id).attr('title', name)
+ .attr('data-client-uid', c.type + c.cuid).data(self));
+ return contSel;
+ }
+ function _initDialog(v, opts) {
+ if (opts.interview) {
+ v.dialog('option', 'draggable', false);
+ v.dialog('option', 'resizable', false);
+ v.dialogExtend({
+ closable: false
+ , collapsable: false
+ , dblclick: false
+ });
+ $('.pod-area').sortable('refresh');
+ } else {
+ v.dialog('option', 'draggable', true);
+ v.dialog('option', 'resizable', true);
+ v.on('dialogresizestop', function(event, ui) {
+ const w = ui.size.width - 2
+ , h = ui.size.height - t.height() - 4 - (f.is(':visible') ? f.height() : 0);
+ _resize(w, h);
+ swf[0].vidResize(w, h);
+ });
+ if (VideoUtil.isSharing(c)) {
+ v.on('dialogclose', function() {
+ VideoManager.close(c.uid, true);
+ });
+ }
+ v.dialogExtend({
+ icons: {
+ 'collapse': 'ui-icon-minus'
+ }
+ , closable: VideoUtil.isSharing(c)
+ , collapsable: true
+ , dblclick: 'collapse'
+ });
+ }
+ }
function _init(_c, _pos) {
c = _c;
size = {width: c.width, height: c.height};
@@ -86,11 +180,7 @@ var Video = (function() {
, _w = c.self ? Math.max(300, c.width) : c.width
, _h = c.self ? Math.max(200, c.height) : c.height
, opts = Room.getOptions();
- { //scope
- const cont = opts.interview ? $('.pod.pod-' + c.pod) : $('.room.box');
- cont.append(OmUtil.tmpl('#user-video', _id).attr('title', name)
- .attr('data-client-uid', c.type + c.cuid).data(self));
- }
+ const contSel = _initContainer(_id, name, opts);
v = $('#' + _id);
v.dialog({
classes: {
@@ -101,27 +191,10 @@ var Video = (function() {
, minWidth: 40
, minHeight: 50
, autoOpen: true
- , appendTo: opts.interview ? '.pod.pod-' + c.pod : '.room.box'
- , draggable: !opts.interview
- , resizable: !opts.interview
, modal: false
- , resizeStop: function(event, ui) {
- const w = ui.size.width - 2
- , h = ui.size.height - t.height() - 4 - (f.is(":visible") ? f.height() : 0);
- _resize(w, h);
- swf[0].vidResize(w, h);
- }
- , close: function() {
- VideoManager.close(c.uid, true);
- }
- }).dialogExtend({
- icons: {
- 'collapse': 'ui-icon-minus'
- }
- , closable: VideoUtil.isSharing(c)
- , collapsable: true
- , dblclick: "collapse"
+ , appendTo: contSel
});
+ _initDialog(v, opts);
t = v.parent().find('.ui-dialog-titlebar').attr('title', name);
f = v.find('.footer');
if (!VideoUtil.isSharing(c)) {
@@ -130,9 +203,6 @@ var Video = (function() {
.append($('#video-refresh-btn').children().clone());
const volume = v.parent().find('.dropdown-menu.video.volume');
slider = v.parent().find('.slider');
- if (opts.interview) {
- v.parent().find('.ui-dialog-titlebar-collapse').hide();
- }
vol = v.parent().find('.ui-dialog-titlebar-volume')
.on('mouseenter', function(e) {
e.stopImmediatePropagation();
@@ -169,7 +239,7 @@ var Video = (function() {
, max: 100
, value: lastVolume
, create: function() {
- handle.text($(this).slider("value"));
+ handle.text($(this).slider('value'));
}
, slide: function(event, ui) {
_handleVolume(ui.value);
@@ -205,7 +275,7 @@ var Video = (function() {
delete o.keycode;
swf = initSwf(vc, 'main.swf', _id + '-swf', o);
swf.attr('width', _w).attr('height', _h);
- v.dialog("widget").css(_pos);
+ v.dialog('widget').css(_pos);
}
function _update(_c) {
const opts = Room.getOptions();
@@ -258,11 +328,13 @@ var Video = (function() {
self.update = _update;
self.refresh = _refresh;
self.mute = _mute;
- self.isMuted = function() { return 0 === slider.slider("option", "value"); };
+ self.isMuted = function() { return 0 === slider.slider('option', 'value'); };
self.init = _init;
self.securityMode = _securityMode;
+ self.swfLoaded = _swfLoaded;
self.client = function() { return c; };
self.setRights = _setRights;
self.cleanup = _cleanup;
+ self.resizePod = _resizePod;
return self;
});
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.html
index 5e4ff81..0f8cc83 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.html
@@ -20,28 +20,11 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:panel>
- <div class="pod-row">
- <div class="pod-container">
- <div class="pod pod-left">
- <a class="middle choose-btn" href="#" onclick="return false;" data-pod="left"><wicket:message key="910"/></a>
- </div>
- <div style="padding-top: 20px;">
- <a class="rec-btn start" href="#" onclick="return false;"><wicket:message key="913"/></a>
- </div>
- </div>
- <div class="pod-container">
- <div class="pod pod-right">
- <a class="middle choose-btn" href="#" onclick="return false;" data-pod="right"><wicket:message key="910"/></a>
- </div>
- <div style="padding-top: 20px;">
- <a class="rec-btn stop" href="#" onclick="return false;"><wicket:message key="914"/></a>
- </div>
- </div>
+ <div class="pod-area" style="width: 1000px;height: 600px;">
+ <div class="pod-big"></div>
</div>
- <div id="interview-choose-video" wicket:message="title:910,data-btn-ok:54,data-btn-cancel:lbl.cancel" style="display: none">
- <div><wicket:message key="911"/></div>
- <select class="width250 users"></select>
- <input type="hidden" class="pod-name"/>
+ <div style="border-radius: 20px; position: absolute; right: 30px; bottom: 30px;" class="rec-btn" wicket:message="data-title-start:913,data-title-stop:914">
+
</div>
</wicket:panel>
</html>
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/interview-area.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/interview-area.js
index ad63f30..4b8bf38 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/interview-area.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/interview-area.js
@@ -1,89 +1,75 @@
/* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */
var InterviewWbArea = function() {
const self = {};
- let container, area, role = NONE, choose, btns
- , _inited = false, recStart, recStop;
+ let container, area, pArea, role = NONE, choose
+ , _inited = false, rec;
function _init() {
container = $(".room.wb.area");
area = container.find(".wb-area");
- btns = $('.pod-row .pod-container .pod a.choose-btn');
- btns.button()
- .click(function() {
- choose.dialog('open');
- const sel = choose.find('.users').html('')
- , users = $('.user.list .user.entry');
- for (let i = 0; i < users.length; ++i) {
- const u = $(users[i]);
- sel.append($('<option></option>').text(u.attr('title')).val(u.attr('id').substr(4)));
- }
- choose.find('.pod-name').val($(this).data('pod'));
- return false;
- });
- recStart = $('.pod-row .pod-container a.rec-btn.start').button({
+ pArea = area.find(".pod-area");
+ rec = area.find('.rec-btn');
+ rec.attr('title', rec.data('title-start'));
+ rec.button({
disabled: true
- , icon: "ui-icon-play"
+ , showLabel: false
+ , icon: 'ui-icon-play'
}).click(function() {
- wbAction('startRecording', '');
- return false;
+ wbAction($(this).data('mode') === 'rec' ? 'startRecording' : 'stopRecording', '');
});
- recStop = $('.pod-row .pod-container a.rec-btn.stop').button({
- disabled: true
- , icon: "ui-icon-stop"
- }).click(function() {
- wbAction('stopRecording', '');
- return false;
+ pArea.find('.pod-big').droppable({
+ accept: '.pod'
+ , activeClass: 'ui-hightlight'
+ , drop: function(event, ui) {
+ const vid = ui.draggable.find('.ui-dialog-content');
+ vid.dialog('option', 'appendTo', $(this));
+ ui.draggable.remove();
+ _resizePod($(this));
+ }
});
- choose = $('#interview-choose-video');
- choose.dialog({
- modal: true
- , autoOpen: false
- , buttons: [
- {
- text: choose.data('btn-ok')
- , click: function() {
- toggleActivity('broadcastAV', choose.find('.users').val(), choose.find('.pod-name').val());
- $(this).dialog('close');
- }
- }
- , {
- text: choose.data('btn-cancel')
- , click: function() {
- $(this).dialog('close');
- }
- }
- ]
+ pArea.sortable({
+ items: '.pod'
+ , handle: '.ui-dialog-titlebar'
+ , change: function(event, ui) {
+ console.log('changed');
+ }
});
_inited = true;
}
function _setRole(_role) {
if (!_inited) return;
role = _role;
- if (role !== NONE) {
- btns.show();
- } else {
- btns.hide();
- }
+ }
+ function _resizePod(el) {
+ (el || pArea).find('.ui-dialog-content').each(function() {
+ $(this).data().resizePod();
+ });
}
function _resize(sbW, chW, w, h) {
if (!container || !_inited) return;
const hh = h - 5;
- container.width(w).height(h).css('left', (Settings.isRtl ? chW : sbW) + "px");
+ container.width(w).height(h).css('left', (Settings.isRtl ? chW : sbW) + 'px');
area.width(w).height(hh);
+ pArea.width(w).height(hh);
+ _resizePod();
}
- function _setRecStartEnabled(en) {
- recStart.button("option", "disabled", !en);
+ function _setRecEnabled(en) {
+ if (!_inited) return;
+ rec.data('mode', 'rec').button('option', {disabled: !en, icon: 'ui-icon-play'});
}
- function _setRecStopEnabled(en) {
- recStop.button("option", "disabled", !en);
+ function _setRecStarted(started) {
+ if (!_inited) return;
+ rec.data('mode', started ? 'stop' : 'rec')
+ .attr('title', rec.data(started ? 'title-stop' : 'title-start'))
+ .button('option', {icon: started ? 'ui-icon-stop' : 'ui-icon-play'});
}
self.init = _init;
self.destroy = function() {};
self.setRole = _setRole;
self.resize = _resize;
- self.setRecStartEnabled = _setRecStartEnabled;
- self.setRecStopEnabled = _setRecStopEnabled;
+ self.setRecEnabled = _setRecEnabled;
+ self.setRecStarted = _setRecStarted;
self.addDeleteHandler = function() {};
self.removeDeleteHandler = function() {};
return self;
diff --git a/openmeetings-web/src/main/webapp/css/room.css b/openmeetings-web/src/main/webapp/css/room.css
index edbdd9a..1811b69 100644
--- a/openmeetings-web/src/main/webapp/css/room.css
+++ b/openmeetings-web/src/main/webapp/css/room.css
@@ -458,26 +458,76 @@
min-height: 30px;
overflow: hidden;
}
-.pod-row {
- text-align: center;
- padding-top: 40px;
+.pod-area {
+ display: inline-grid;
}
-.pod-row .pod-container, .pod-row .pod-container .pod {
- display: inline-block;
- width: 320px;
+.pod-area.max2, .pod-area.max3 {
+ grid-template-columns: repeat(3, 1fr);
+ grid-template-rows: repeat(2, 1fr);
+}
+.pod-area.max2 {
+ grid-template-areas:
+ "e a a"
+ "b a a";
+}
+.pod-area.max3 {
+ grid-template-areas:
+ "b1 a a"
+ "b2 a a";
+}
+.pod-area.max5, .pod-area.max9, .pod-area.max13 {
+ grid-template-columns: repeat(4, 1fr);
+ grid-template-areas:
+ "b1 a a b2"
+ "b3 a a b4";
+}
+.pod-area.max5 {
+ grid-template-rows: repeat(2, 1fr);
+}
+.pod-area.max9 {
+ grid-template-rows: repeat(3, 1fr);
+}
+.pod-area.max13 {
+ grid-template-rows: repeat(4, 1fr);
+}
+.pod-area.max17, .pod-area.max25, .pod-area.max33 {
+ grid-template-columns: repeat(8, 1fr);
+ grid-template-areas: "b01 b02 a a a a b03 b04"
+ "b05 b06 a a a a b07 b08"
+ "b09 b10 a a a a b11 b12"
+ "b13 b14 a a a a b15 b16";
}
-.pod-row .pod-container {
- padding-right:10px;
+.pod-area.max17 {
+ grid-template-rows: repeat(4, 1fr);
}
-.pod-row .pod-container .pod {
- height: 290px;
- border: 1px solid #CCCCCC;
+.pod-area.max25 {
+ grid-template-rows: repeat(5, 1fr);
+}
+.pod-area.max33 {
+ grid-template-rows: repeat(6, 1fr);
+}
+.pod-area .pod-big, .pod-area .pod {
position: relative;
+ padding: 2px;
+ margin: 2px;
+ overflow: hidden;
+}
+.pod-area .empty {
+ grid-area: e;
}
-.pod-row .pod-container .pod a.middle {
- margin-top: 30%;
- margin-bottom: 30%;
+.pod-area .pod-big {
+ grid-area: a;
}
+.pod-area .pod {
+}
+.pod-area .pod.ui-sortable-placeholder {
+ background-color: whitesmoke;
+ visibility: visible !important;
+}
+.pod-area .pod-big.ui-hightlight {
+ box-shadow: 3px 3px 4px blue;
+}
+
.width250 {
min-width: 250px;
max-width: 250px;