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 2017/08/29 05:06:48 UTC
openmeetings git commit: [OPENMEETINGS-1638] video is displayed at
the pod (incomplete)
Repository: openmeetings
Updated Branches:
refs/heads/master b62b8abca -> 89d598435
[OPENMEETINGS-1638] video is displayed at the pod (incomplete)
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/89d59843
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/89d59843
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/89d59843
Branch: refs/heads/master
Commit: 89d5984355e1a802c015d1c4d54d78976830ad41
Parents: b62b8ab
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Tue Aug 29 12:06:39 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Tue Aug 29 12:06:39 2017 +0700
----------------------------------------------------------------------
.../openmeetings/db/entity/basic/Client.java | 8 ++----
.../org/apache/openmeetings/web/room/room.js | 30 +++++++++++---------
.../web/room/sidebar/RoomSidebar.html | 2 +-
.../web/room/sidebar/RoomSidebar.java | 19 +++++++------
.../sidebar/icon/activity/RoomActivityIcon.java | 2 +-
.../web/room/wb/AbstractWbPanel.java | 10 ++++++-
.../web/room/wb/InterviewWbPanel.html | 10 +++----
.../web/room/wb/InterviewWbPanel.java | 6 ++--
.../openmeetings/web/room/wb/WbPanel.java | 14 ++++-----
.../openmeetings/web/room/wb/interviewwb.js | 20 +++++++++----
openmeetings-web/src/main/webapp/css/room.css | 18 ++++++++----
11 files changed, 81 insertions(+), 58 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/89d59843/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
index b8856dc..98d9251 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/basic/Client.java
@@ -340,12 +340,8 @@ public class Client implements IClient {
return pod;
}
- public void setPod(Integer i) {
- if (i != null && i.intValue() > 0) {
- this.pod = i.intValue() == 1 ? Pod.left : Pod.right;
- } else {
- this.pod = Pod.none;
- }
+ public void setPod(Pod pod) {
+ this.pod = pod;
}
public boolean isCamEnabled() {
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/89d59843/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
index 37bfe91..d8bc471 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
@@ -53,11 +53,9 @@ var VideoUtil = (function() {
, bottom: winoff.top + win.height()};
}
function _getPos(list, w, h) {
- /* TODO
- if (isInterview) {
- return [0, 0];
+ if (VideoManager.getOptions().interview) {
+ return {left: 0, top: 0};
}
- */
var wba = $(WBA_SEL);
var woffset = wba.offset();
const offsetX = 40, offsetY = 10
@@ -133,7 +131,7 @@ var VideoUtil = (function() {
return self;
})();
var Video = (function() {
- var self = {}, c, box, v, vc, t, f, swf, size, vol;
+ var self = {}, c, v, vc, t, f, swf, size, vol;
function _getName() {
return c.user.firstName + ' ' + c.user.lastName;
@@ -182,9 +180,8 @@ var Video = (function() {
swf[0].setVolume(val);
}
}
- function _init(_box, _uid, _c, _pos) {
+ function _init(_uid, _c, _pos) {
c = _c;
- box = _box;
pos = _pos;
size = {width: c.width, height: c.height};
var _id = VideoUtil.getVid(c.uid)
@@ -192,7 +189,10 @@ var Video = (function() {
, _w = c.self ? Math.max(300, c.width) : c.width
, _h = c.self ? Math.max(200, c.height) : c.height
, opts = VideoManager.getOptions();
- box.append($('#user-video').clone().attr('id', _id).attr('title', name).data(self));
+ { //scope
+ let cont = opts.interview ? $('.pod.pod-' + c.pod) : $('.room.box');
+ cont.append($('#user-video').clone().attr('id', _id).attr('title', name).data(self));
+ }
v = $('#' + _id);
v.dialog({
classes: {
@@ -203,6 +203,9 @@ 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) {
var w = ui.size.width - 2
@@ -322,13 +325,12 @@ var Video = (function() {
return self;
});
var VideoManager = (function() {
- var self = {}, box, options, share;
+ var self = {}, options, share;
function _init(_options) {
options = _options;
VideoSettings.init(self.getOptions());
- box = $('.room.box');
- share = box.find('.icon.shared.ui-button');
+ share = $('.room.box').find('.icon.shared.ui-button');
}
function _update(c, uids) {
if (options === undefined) {
@@ -344,7 +346,7 @@ var VideoManager = (function() {
, av = VideoUtil.hasAudio(c) || VideoUtil.hasVideo(c)
, v = $('#' + _id);
if (av && v.length != 1 && !!c.self) {
- Video().init(box, options.uid, c, VideoUtil.getPos(VideoUtil.getRects(VID_SEL), c.width, c.height + 25));
+ Video().init(options.uid, c, VideoUtil.getPos(VideoUtil.getRects(VID_SEL), c.width, c.height + 25));
} else if (av && v.length == 1) {
v.data().update(c);
} else if (!av && v.length == 1) {
@@ -370,13 +372,13 @@ var VideoManager = (function() {
share.tooltip().off('click').click(function() {
var v = $('#' + VideoUtil.getVid(c.uid))
if (v.length != 1) {
- Video().init(box, options.uid, c, $(WBA_SEL).offset());
+ Video().init(options.uid, c, $(WBA_SEL).offset());
} else {
v.dialog('open');
}
});
} else if ('sharing' !== c.type) {
- Video().init(box, options.uid, c, VideoUtil.getPos(VideoUtil.getRects(VID_SEL), c.width, c.height + 25));
+ Video().init(options.uid, c, VideoUtil.getPos(VideoUtil.getRects(VID_SEL), c.width, c.height + 25));
}
}
function _close(uid) {
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/89d59843/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
index e92ae35..e44afe7 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.html
@@ -26,7 +26,7 @@
<wicket:fragment wicket:id="user-panel">
<div wicket:id="icons" class="user header"></div>
<div class="user list clear">
- <div wicket:id="user" class="user ui-corner-all ui-widget-content">
+ <div wicket:id="user" class="user entry ui-corner-all ui-widget-content">
<div wicket:id="user"></div>
</div>
</div>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/89d59843/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
index 27e5edd..44f80f5 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
@@ -201,8 +201,10 @@ public class RoomSidebar extends Panel {
return;
}
Activity a = Activity.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTIVITY).toString());
+ StringValue podStr = getRequest().getRequestParameters().getParameterValue(PARAM_POD);
+ Pod pod = podStr.isEmpty() ? Pod.none : Pod.valueOf(podStr.toString());
Client c = getOnlineClient(uid);
- toggleActivity(c, a);
+ toggleActivity(c, a, pod);
} catch (Exception e) {
log.error("Unexpected exception while toggle 'activity'", e);
}
@@ -221,7 +223,7 @@ public class RoomSidebar extends Panel {
if (!avInited) {
avInited = true;
if (Room.Type.conference == room.getRoom().getType()) {
- toggleActivity(c, Activity.broadcastAV);
+ toggleActivity(c, Activity.broadcastAV, Pod.none);
}
}
sendUpdatedClient(c);
@@ -264,7 +266,7 @@ public class RoomSidebar extends Panel {
@Override
public boolean isVisible() {
- return true;
+ return Room.Type.interview != room.getRoom().getType();
}
@Override
@@ -362,9 +364,10 @@ public class RoomSidebar extends Panel {
}
private void updateShowFiles(IPartialPageRequestHandler handler) {
- showFiles = Room.Type.interview != room.getRoom().getType()
- && !room.getRoom().isHidden(RoomElement.Files)
- && room.getClient().hasRight(Right.presenter);
+ if (Room.Type.interview == room.getRoom().getType()) {
+ return;
+ }
+ showFiles = !room.getRoom().isHidden(RoomElement.Files) && room.getClient().hasRight(Right.presenter);
roomFiles.setReadOnly(!showFiles, handler);
}
@@ -392,7 +395,7 @@ public class RoomSidebar extends Panel {
upload.open(handler);
}
- public void toggleActivity(Client c, Activity a) {
+ public void toggleActivity(Client c, Activity a, Pod _pod) {
if (c == null) {
return;
}
@@ -415,7 +418,7 @@ public class RoomSidebar extends Panel {
return;
}
Pod pod = c.getPod();
- c.setPod(getRequest().getRequestParameters().getParameterValue(PARAM_POD).toOptionalInteger());
+ c.setPod(_pod);
if (pod != null && pod != Pod.none && pod != c.getPod()) {
//pod has changed, no need to toggle
c.set(a);
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/89d59843/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java
----------------------------------------------------------------------
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 3d75520..d6c13d8 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
@@ -41,7 +41,7 @@ public abstract class RoomActivityIcon extends ClientIcon {
@Override
protected String getScript() {
- return String.format("%s('%s', '%s', '%s');", FUNC_TOGGLE_ACTIVITY, activity.name(), uid, pod.ordinal());
+ return String.format("%s('%s', '%s', '%s');", FUNC_TOGGLE_ACTIVITY, activity.name(), uid, pod.name());
}
protected boolean visible() {
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/89d59843/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/AbstractWbPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/AbstractWbPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/AbstractWbPanel.java
index ce4b7a3..c25eaa4 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/AbstractWbPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/AbstractWbPanel.java
@@ -29,6 +29,7 @@ import org.apache.wicket.markup.html.panel.Panel;
public abstract class AbstractWbPanel extends Panel {
private static final long serialVersionUID = 1L;
+ protected static final String ROLE_NONE = "none";
protected final RoomPanel rp;
protected boolean inited = false;
private final AbstractDefaultAjaxBehavior wbLoad = new AbstractDefaultAjaxBehavior() {
@@ -50,7 +51,14 @@ public abstract class AbstractWbPanel extends Panel {
add(wbLoad);
}
- public abstract AbstractWbPanel update(IPartialPageRequestHandler handler);
+ public AbstractWbPanel update(IPartialPageRequestHandler handler) {
+ if (handler != null) {
+ handler.appendJavaScript(String.format("setRoomSizes();WbArea.setRole('%s');", getRole()));
+ }
+ return this;
+ }
+
+ protected abstract String getRole();
void internalWbLoad(StringBuilder sb) {
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/89d59843/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.html
----------------------------------------------------------------------
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 7351eb8..2493835 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
@@ -22,19 +22,19 @@
<wicket:panel>
<div class="pod-row">
<div class="pod-container">
- <div class="pod">
- <a href="#" onclick="return false;" data-pod="left"><wicket:message key="910"/></a>
+ <div class="pod pod-left">
+ <a class="middle choose-btn" href="#" onclick="return false;" data-pod="left"><wicket:message key="910"/></a>
</div>
</div>
<div class="pod-container">
- <div class="pod">
- <a href="#" onclick="return false;" data-pod="right"><wicket:message key="910"/></a>
+ <div class="pod pod-right">
+ <a class="middle choose-btn" href="#" onclick="return false;" data-pod="right"><wicket:message key="910"/></a>
</div>
</div>
</div>
<div id="interview-choose-video" wicket:message="title:910,data-btn-ok:54, data-btn-cancel:55" style="display: none">
<div><wicket:message key="911"/></div>
- <select class="users"></select>
+ <select class="width250 users"></select>
<input type="hidden" class="pod-name"/>
</div>
</wicket:panel>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/89d59843/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
index 9975891..cf6cd5c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
@@ -19,8 +19,8 @@
package org.apache.openmeetings.web.room.wb;
import org.apache.openmeetings.db.entity.file.FileItem;
+import org.apache.openmeetings.db.entity.room.Room.Right;
import org.apache.openmeetings.web.room.RoomPanel;
-import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.request.resource.JavaScriptResourceReference;
import org.apache.wicket.request.resource.ResourceReference;
@@ -33,8 +33,8 @@ public class InterviewWbPanel extends AbstractWbPanel {
}
@Override
- public InterviewWbPanel update(IPartialPageRequestHandler handler) {
- return this;
+ protected String getRole() {
+ return rp.getClient().hasRight(Right.moderator) ? Right.moderator.name() : ROLE_NONE;
}
@Override
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/89d59843/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
index 0c6d346..41eb7e4 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
@@ -79,7 +79,6 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.attributes.AjaxRequestAttributes;
import org.apache.wicket.ajax.attributes.AjaxRequestAttributes.Method;
import org.apache.wicket.behavior.AttributeAppender;
-import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.head.PriorityHeaderItem;
@@ -424,17 +423,14 @@ public class WbPanel extends AbstractWbPanel {
}
@Override
- public WbPanel update(IPartialPageRequestHandler handler) {
- String role = "none";
+ protected String getRole() {
+ String role = ROLE_NONE;
if (rp.getClient().hasRight(Right.presenter)) {
- role = "presenter";
+ role = Right.presenter.name();
} else if (rp.getClient().hasRight(Right.whiteBoard)) {
- role = "whiteBoard";
+ role = Right.whiteBoard.name();
}
- if (handler != null) {
- handler.appendJavaScript(String.format("setRoomSizes();WbArea.setRole('%s');", role));
- }
- return this;
+ return role;
}
private JSONObject addFileUrl(String ruid, JSONObject _file) {
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/89d59843/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/interviewwb.js
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/interviewwb.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/interviewwb.js
index 1d9a883..5cee2df 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/interviewwb.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/interviewwb.js
@@ -16,18 +16,19 @@
* specific language governing permissions and limitations
* under the License.
*/
+const NONE = 'none';
var WbArea = (function() {
- var container, area, self = {}, choose, _inited = false;
+ var container, area, role = NONE, self = {}, choose, btns, _inited = false;
self.init = function() {
container = $(".room.wb.area");
area = container.find(".wb-area");
- $('.pod-row .pod-container .pod a')
- .button()
+ btns = $('.pod-row .pod-container .pod a.choose-btn');
+ btns.button()
.click(function() {
choose.dialog('open');
let sel = choose.find('.users').html('');
- let users = $('.user.list .user');
+ let users = $('.user.list .user.entry');
for (let i = 0; i < users.length; ++i) {
let u = $(users[i]);
sel.append($('<option></option>').text(u.attr('title')).val(u.attr('id').substr(4)));
@@ -42,7 +43,7 @@ var WbArea = (function() {
{
text: choose.data('btn-ok')
, click: function() {
- //okHandler();
+ toggleActivity('broadcastAV', choose.find('.users').val(), choose.find('.pod-name').val());
$(this).dialog('close');
}
}
@@ -56,6 +57,15 @@ var WbArea = (function() {
});
_inited = true;
};
+ self.setRole = function(_role) {
+ if (!_inited) return;
+ role = _role;
+ if (role !== NONE) {
+ btns.show();
+ } else {
+ btns.hide();
+ }
+ }
self.destroy = function() {
};
self.resize = function(posX, w, h) {
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/89d59843/openmeetings-web/src/main/webapp/css/room.css
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/css/room.css b/openmeetings-web/src/main/webapp/css/room.css
index f8e6536..bb4a9cc 100644
--- a/openmeetings-web/src/main/webapp/css/room.css
+++ b/openmeetings-web/src/main/webapp/css/room.css
@@ -403,19 +403,27 @@
}
.pod-row {
text-align: center;
- padding-top: 30px;
+ padding-top: 40px;
}
.pod-row .pod-container, .pod-row .pod-container .pod {
display: inline-block;
width: 320px;
}
+.pod-row .pod-container {
+ padding-right:10px;
+}
.pod-row .pod-container .pod {
- min-height: 260px;
+ height: 290px;
border: 1px solid #CCCCCC;
+ position: relative;
+}
+.pod-row .pod-container .pod a.middle {
+ margin-top: 30%;
+ margin-bottom: 30%;
}
-.pod-row .pod-container .pod a {
- margin-top:30%;
- margin-bottom:30%;
+.width250 {
+ min-width: 250px;
+ max-width: 250px;
}
@media screen and (max-width: 1280px) {
.room.sidebar.left {