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/28 12:19:28 UTC
openmeetings git commit: [OPENMEETINGS-1638] base layout + choose
user dialog
Repository: openmeetings
Updated Branches:
refs/heads/master af2650002 -> 86b3ccca8
[OPENMEETINGS-1638] base layout + choose user dialog
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/86b3ccca
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/86b3ccca
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/86b3ccca
Branch: refs/heads/master
Commit: 86b3ccca8c244f5fef155e65432ec1a58e2ba77a
Parents: af26500
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Mon Aug 28 19:19:19 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Mon Aug 28 19:19:19 2017 +0700
----------------------------------------------------------------------
.../web/room/sidebar/RoomClientPanel.html | 2 +-
.../web/room/wb/AbstractWbPanel.java | 27 +++++++++++
.../web/room/wb/InterviewWbPanel.html | 17 +++++++
.../openmeetings/web/room/wb/WbPanel.java | 51 ++++++++------------
.../openmeetings/web/room/wb/interviewwb.js | 34 ++++++++++++-
openmeetings-web/src/main/webapp/css/room.css | 24 +++++++++
6 files changed, 122 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/86b3ccca/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html
index 4df4dcd..c1d2d3b 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomClientPanel.html
@@ -24,7 +24,7 @@
<span wicket:id="refresh"></span>
<div wicket:id="name" class="user name"></div>
<span class="ui-icon align-right typing-activity big"></span>
- <span class="ui-icon align-right clickable audio-activity" wicket:message="title:372"></span>
+ <span class="ui-icon clickable audio-activity" wicket:message="title:372"></span>
<div wicket:id="actions" class="user actions">
<span wicket:id="icons"></span>
<span wicket:id="kick"></span>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/86b3ccca/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 77a463b..ce4b7a3 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
@@ -20,20 +20,47 @@ package org.apache.openmeetings.web.room.wb;
import org.apache.openmeetings.db.entity.file.FileItem;
import org.apache.openmeetings.web.room.RoomPanel;
+import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
+import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
import org.apache.wicket.markup.html.panel.Panel;
public abstract class AbstractWbPanel extends Panel {
private static final long serialVersionUID = 1L;
protected final RoomPanel rp;
+ protected boolean inited = false;
+ private final AbstractDefaultAjaxBehavior wbLoad = new AbstractDefaultAjaxBehavior() {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void respond(AjaxRequestTarget target) {
+ StringBuilder sb = new StringBuilder("WbArea.init();");
+ internalWbLoad(sb);
+ target.appendJavaScript(sb);
+ inited = true;
+ }
+ };
public AbstractWbPanel(String id, RoomPanel rp) {
super(id);
this.rp = rp;
+ setOutputMarkupId(true);
+ add(wbLoad);
}
public abstract AbstractWbPanel update(IPartialPageRequestHandler handler);
+ void internalWbLoad(StringBuilder sb) {
+ }
+
public void sendFileToWb(final FileItem fi, boolean clean) {
}
+
+ @Override
+ public void renderHead(IHeaderResponse response) {
+ super.renderHead(response);
+ response.render(OnDomReadyHeaderItem.forScript(wbLoad.getCallbackScript()));
+ }
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/86b3ccca/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 e16b265..7351eb8 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,5 +20,22 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
<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>
+ </div>
+ <div class="pod-container">
+ <div class="pod">
+ <a 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>
+ <input type="hidden" class="pod-name"/>
+ </div>
</wicket:panel>
</html>
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/86b3ccca/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 862aceb..0c6d346 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
@@ -82,7 +82,6 @@ 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.OnDomReadyHeaderItem;
import org.apache.wicket.markup.head.PriorityHeaderItem;
import org.apache.wicket.markup.html.list.ListItem;
import org.apache.wicket.markup.html.list.ListView;
@@ -110,7 +109,6 @@ public class WbPanel extends AbstractWbPanel {
private final static ResourceReference FABRIC_JS_REFERENCE = new JavaScriptResourceReference(WbPanel.class, "fabric.js");
private final Long roomId;
private long wb2save = -1;
- private boolean inited = false;
private final Map<Long, Deque<UndoObject>> undoList = new HashMap<>();
private final AbstractDefaultAjaxBehavior wbAction = new AbstractDefaultAjaxBehavior() {
private static final long serialVersionUID = 1L;
@@ -368,38 +366,10 @@ public class WbPanel extends AbstractWbPanel {
return Application.getString("203");
}
};
- private final AbstractDefaultAjaxBehavior wbLoad = new AbstractDefaultAjaxBehavior() {
- private static final long serialVersionUID = 1L;
-
- @Override
- protected void respond(AjaxRequestTarget target) {
- StringBuilder sb = new StringBuilder("WbArea.init();");
- Whiteboards wbs = WhiteboardCache.get(roomId);
- for (Entry<Long, Whiteboard> entry : WhiteboardCache.list(roomId, rp.getClient().getUser().getLanguageId())) {
- Whiteboard wb = entry.getValue();
- sb.append(new StringBuilder("WbArea.create(").append(getAddWbJson(wb)).append(");"));
- JSONArray arr = new JSONArray();
- for (JSONObject o : wb.list()) {
- arr.put(addFileUrl(wbs.getUid(), o));
- }
- sb.append("WbArea.load(").append(getObjWbJson(entry.getKey(), arr).toString(new NullStringer())).append(");");
- }
- JSONObject wbj = getWbJson(wbs.getActiveWb());
- sb.append("WbArea.activateWb(").append(wbj).append(");");
- Whiteboard wb = wbs.get(wbs.getActiveWb());
- if (wb != null) {
- sb.append("WbArea.setSlide(").append(wbj.put("slide", wb.getSlide())).append(");");
- }
- target.appendJavaScript(sb);
- inited = true;
- }
- };
public WbPanel(String id, RoomPanel rp) {
super(id, rp);
this.roomId = rp.getRoom().getId();
- setOutputMarkupId(true);
- add(wbLoad);
if (rp.getRoom().isHidden(RoomElement.Whiteboard)) {
setVisible(false);
} else {
@@ -422,7 +392,26 @@ public class WbPanel extends AbstractWbPanel {
super.renderHead(response);
response.render(JavaScriptHeaderItem.forReference(FABRIC_JS_REFERENCE));
response.render(new PriorityHeaderItem(getNamedFunction(FUNC_ACTION, wbAction, explicit(PARAM_ACTION), explicit(PARAM_OBJ))));
- response.render(OnDomReadyHeaderItem.forScript(wbLoad.getCallbackScript()));
+ }
+
+ @Override
+ void internalWbLoad(StringBuilder sb) {
+ Whiteboards wbs = WhiteboardCache.get(roomId);
+ for (Entry<Long, Whiteboard> entry : WhiteboardCache.list(roomId, rp.getClient().getUser().getLanguageId())) {
+ Whiteboard wb = entry.getValue();
+ sb.append(new StringBuilder("WbArea.create(").append(getAddWbJson(wb)).append(");"));
+ JSONArray arr = new JSONArray();
+ for (JSONObject o : wb.list()) {
+ arr.put(addFileUrl(wbs.getUid(), o));
+ }
+ sb.append("WbArea.load(").append(getObjWbJson(entry.getKey(), arr).toString(new NullStringer())).append(");");
+ }
+ JSONObject wbj = getWbJson(wbs.getActiveWb());
+ sb.append("WbArea.activateWb(").append(wbj).append(");");
+ Whiteboard wb = wbs.get(wbs.getActiveWb());
+ if (wb != null) {
+ sb.append("WbArea.setSlide(").append(wbj.put("slide", wb.getSlide())).append(");");
+ }
}
private static JSONObject getAddWbJson(Whiteboard wb) {
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/86b3ccca/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 54a29f4..1d9a883 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
@@ -17,11 +17,43 @@
* under the License.
*/
var WbArea = (function() {
- var container, area, self = {}, _inited = false;
+ var container, area, self = {}, choose, _inited = false;
self.init = function() {
container = $(".room.wb.area");
area = container.find(".wb-area");
+ $('.pod-row .pod-container .pod a')
+ .button()
+ .click(function() {
+ choose.dialog('open');
+ let sel = choose.find('.users').html('');
+ let users = $('.user.list .user');
+ 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)));
+ }
+ choose.find('.pod-name').val($(this).data('pod'));
+ });
+ choose = $('#interview-choose-video');
+ choose.dialog({
+ modal: true
+ , autoOpen: false
+ , buttons: [
+ {
+ text: choose.data('btn-ok')
+ , click: function() {
+ //okHandler();
+ $(this).dialog('close');
+ }
+ }
+ , {
+ text: choose.data('btn-cancel')
+ , click: function() {
+ $(this).dialog('close');
+ }
+ }
+ ]
+ });
_inited = true;
};
self.destroy = function() {
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/86b3ccca/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 d7a9cd0..f8e6536 100644
--- a/openmeetings-web/src/main/webapp/css/room.css
+++ b/openmeetings-web/src/main/webapp/css/room.css
@@ -125,12 +125,14 @@
background-size: 40px 40px;
background-repeat: no-repeat;
background-position: 2px 2px;
+ position: relative;
}
.room.sidebar.left .user.list .user.name {
line-height: 18px;
height: 18px;
padding: 0;
padding-left: 44px;
+ margin-right: 20px;
overflow: hidden;
}
.room.holder.small .room.sidebar.left .user.list .user.name {
@@ -142,6 +144,7 @@
padding: 0;
padding-left: 44px;
visibility: hidden;
+ padding-right: 20px;
}
.room.sidebar.left .user.list .user:hover .user.actions {
visibility: visible;
@@ -153,6 +156,11 @@
.room.sidebar.left .user.list .user .ui-icon {
background-size: 16px;
}
+.room.sidebar.left .user.list .user .ui-icon.audio-activity {
+ position: absolute;
+ bottom: 0px;
+ right: 3px;
+}
.room.sidebar.left .user.list .user .ui-icon.big {
background-size: 32px;
}
@@ -393,6 +401,22 @@
min-height: 30px;
overflow: hidden;
}
+.pod-row {
+ text-align: center;
+ padding-top: 30px;
+}
+.pod-row .pod-container, .pod-row .pod-container .pod {
+ display: inline-block;
+ width: 320px;
+}
+.pod-row .pod-container .pod {
+ min-height: 260px;
+ border: 1px solid #CCCCCC;
+}
+.pod-row .pod-container .pod a {
+ margin-top:30%;
+ margin-bottom:30%;
+}
@media screen and (max-width: 1280px) {
.room.sidebar.left {
width: 150px;