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/07/05 08:49:45 UTC
openmeetings git commit: no jira: multiuser room enter is improved,
hidden WB is displayed as expected
Repository: openmeetings
Updated Branches:
refs/heads/master 29274d1dd -> dd6fddbf1
no jira: multiuser room enter is improved, hidden WB is displayed as expected
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/dd6fddbf
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/dd6fddbf
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/dd6fddbf
Branch: refs/heads/master
Commit: dd6fddbf1a8b76d10c806802029663289dd2bdbc
Parents: 29274d1
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Wed Jul 5 15:49:37 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Wed Jul 5 15:49:37 2017 +0700
----------------------------------------------------------------------
.../openmeetings/web/common/MainPanel.java | 57 ++++++++++----------
.../apache/openmeetings/web/pages/MainPage.java | 9 ++--
.../apache/openmeetings/web/room/RoomPanel.java | 2 +
.../openmeetings/web/room/wb/WbPanel.java | 8 ++-
.../org/apache/openmeetings/web/room/wb/wb.js | 17 +++++-
5 files changed, 56 insertions(+), 37 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dd6fddbf/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/MainPanel.java
----------------------------------------------------------------------
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 edd8c9f..3202b79 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
@@ -102,11 +102,11 @@ public class MainPanel extends Panel {
private static final WebMarkupContainer EMPTY = new WebMarkupContainer(CHILD_ID);
public static final String PARAM_USER_ID = "userId";
private String uid = null;
- private final MenuPanel menu = new MenuPanel("menu", getMainMenu());
+ private final MenuPanel menu;
private final WebMarkupContainer topControls = new WebMarkupContainer("topControls");
private final WebMarkupContainer topLinks = new WebMarkupContainer("topLinks");
- private final MarkupContainer contents = new WebMarkupContainer("contents");
- private final ChatPanel chat = new ChatPanel("chatPanel");
+ private final MarkupContainer contents;
+ private final ChatPanel chat;
private final MessageDialog newMessage;
private final UserInfoDialog userInfo;
private BasePanel panel;
@@ -128,27 +128,10 @@ public class MainPanel extends Panel {
super(id);
this.panel = _panel;
setOutputMarkupId(true);
- add(chat);
- add(newMessage = new MessageDialog("newMessageDialog", new CompoundPropertyModel<>(new PrivateMessage())) {
- private static final long serialVersionUID = 1L;
-
- @Override
- public void onClose(IPartialPageRequestHandler handler, DialogButton button) {
- BasePanel bp = getCurrentPanel();
- if (send.equals(button) && bp != null) {
- bp.onNewMessageClose(handler);
- }
- }
- });
- add(userInfo = new UserInfoDialog("userInfoDialog", newMessage));
- add(new OmAjaxClientInfoBehavior());
- }
-
- @Override
- protected void onInitialize() {
- super.onInitialize();
add(topControls.setOutputMarkupPlaceholderTag(true).setMarkupId("topControls"));
- add(contents.add(getClient() == null ? EMPTY : panel).setOutputMarkupId(true).setMarkupId("contents"));
+ menu = new MenuPanel("menu", getMainMenu());
+ contents = new WebMarkupContainer("contents");
+ add(contents.add(getClient() == null || _panel == null ? EMPTY : _panel).setOutputMarkupId(true).setMarkupId("contents"));
topControls.add(menu.setVisible(false), topLinks.setVisible(false).setOutputMarkupPlaceholderTag(true).setMarkupId("topLinks"));
topLinks.add(new AjaxLink<Void>("messages") {
private static final long serialVersionUID = 1L;
@@ -175,21 +158,24 @@ public class MainPanel extends Panel {
about.open(target);
}
});
- add(about);
if (getApplication().getDebugSettings().isDevelopmentUtilitiesEnabled()) {
add(new DebugBar("dev").setOutputMarkupId(true));
} else {
add(new EmptyPanel("dev").setVisible(false));
}
- topLinks.add(new ConfirmableAjaxBorder("logout", getString("310"), getString("634")) {
+ add(about, chat = new ChatPanel("chatPanel"));
+ add(newMessage = new MessageDialog("newMessageDialog", new CompoundPropertyModel<>(new PrivateMessage())) {
private static final long serialVersionUID = 1L;
@Override
- protected void onSubmit(AjaxRequestTarget target) {
- getSession().invalidate();
- setResponsePage(Application.get().getSignInPageClass());
+ public void onClose(IPartialPageRequestHandler handler, DialogButton button) {
+ BasePanel bp = getCurrentPanel();
+ if (send.equals(button) && bp != null) {
+ bp.onNewMessageClose(handler);
+ }
}
});
+ add(userInfo = new UserInfoDialog("userInfoDialog", newMessage));
add(new AbstractDefaultAjaxBehavior() {
private static final long serialVersionUID = 1L;
@@ -284,6 +270,21 @@ public class MainPanel extends Panel {
}
}
});
+ add(new OmAjaxClientInfoBehavior());
+ }
+
+ @Override
+ protected void onInitialize() {
+ super.onInitialize();
+ topLinks.add(new ConfirmableAjaxBorder("logout", getString("310"), getString("634")) {
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target) {
+ getSession().invalidate();
+ setResponsePage(Application.get().getSignInPageClass());
+ }
+ });
}
private static int getLevel() {
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dd6fddbf/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java
----------------------------------------------------------------------
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 cdbd0e0..12f8b8f 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
@@ -41,13 +41,12 @@ import org.apache.wicket.util.time.Duration;
@AuthorizeInstantiation({"Admin", "Dashboard", "Room"})
public class MainPage extends BaseInitedPage {
private static final long serialVersionUID = 1L;
- private AbstractAjaxTimerBehavior areaBehavior;
+ private final AbstractAjaxTimerBehavior areaBehavior;
private final MainPanel main = new MainPanel("main");
- private InviteUserToRoomDialog inviteUser;
+ private final InviteUserToRoomDialog inviteUser;
- @Override
- protected void onInitialize() {
- super.onInitialize();
+ public MainPage() {
+ super();
getHeader().setVisible(false);
add(main, inviteUser = new InviteUserToRoomDialog("invite-to-room"));
//load preselected content
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dd6fddbf/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
----------------------------------------------------------------------
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 f3550ac..f64d9f6 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
@@ -27,6 +27,7 @@ import static org.apache.openmeetings.web.app.Application.getOnlineClient;
import static org.apache.openmeetings.web.app.Application.getRoomClients;
import static org.apache.openmeetings.web.app.WebSession.getDateFormat;
import static org.apache.openmeetings.web.app.WebSession.getUserId;
+import static org.apache.openmeetings.web.room.wb.WbPanel.WB_JS_REFERENCE;
import java.util.Calendar;
import java.util.List;
@@ -581,6 +582,7 @@ public class RoomPanel extends BasePanel {
super.renderHead(response);
response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forReference(new JavaScriptResourceReference(RoomPanel.class, "jquery.dialogextend.js"))));
response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forReference(new JavaScriptResourceReference(RoomPanel.class, "room.js"))));
+ response.render(JavaScriptHeaderItem.forReference(WB_JS_REFERENCE));
WebSession ws = WebSession.get();
if (!Strings.isEmpty(r.getRedirectURL()) && (ws.getSoapLogin() != null || ws.getInvitation() != null)) {
response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dd6fddbf/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 85424fb..d542e45 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
@@ -95,11 +95,12 @@ public class WbPanel extends Panel {
public static final String FUNC_ACTION = "wbAction";
public static final String PARAM_ACTION = "action";
public static final String PARAM_OBJ = "obj";
- private final static ResourceReference WB_JS_REFERENCE = new JavaScriptResourceReference(WbPanel.class, "wb.js");
+ public final static ResourceReference WB_JS_REFERENCE = new JavaScriptResourceReference(WbPanel.class, "wb.js");
private final static ResourceReference FABRIC_JS_REFERENCE = new JavaScriptResourceReference(WbPanel.class, "fabric.js");
private final Long roomId;
private final RoomPanel rp;
private long wb2save = -1;
+ private boolean inited = false;
private enum Action {
createWb
, removeWb
@@ -125,6 +126,9 @@ public class WbPanel extends Panel {
@Override
protected void respond(AjaxRequestTarget target) {
+ if (!inited) {
+ return;
+ }
try {
Action a = Action.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTION).toString());
StringValue sv = getRequest().getRequestParameters().getParameterValue(PARAM_OBJ);
@@ -335,6 +339,7 @@ public class WbPanel extends Panel {
}
sb.append("WbArea.activateWb({wbId: ").append(wbs.getActiveWb()).append("});");
target.appendJavaScript(sb);
+ inited = true;
}
};
@@ -365,7 +370,6 @@ public class WbPanel extends Panel {
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.render(JavaScriptHeaderItem.forReference(FABRIC_JS_REFERENCE));
- response.render(JavaScriptHeaderItem.forReference(WB_JS_REFERENCE));
response.render(new PriorityHeaderItem(getNamedFunction(FUNC_ACTION, wbAction, explicit(PARAM_ACTION), explicit(PARAM_OBJ))));
response.render(OnDomReadyHeaderItem.forScript(wbLoad.getCallbackScript()));
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/dd6fddbf/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
index 4cf6481..d10581c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
@@ -1103,7 +1103,7 @@ var Wb = function() {
return wb;
};
var WbArea = (function() {
- var container, area, tabs, scroll, role = NONE, self = {};
+ var container, area, tabs, scroll, role = NONE, self = {}, _inited = false;
function refreshTabs() {
tabs.tabs("refresh").find('ul').removeClass('ui-corner-all').removeClass('ui-widget-header');
@@ -1192,6 +1192,7 @@ var WbArea = (function() {
return self.getWb(id).getCanvas();
};
self.setRole = function(_role) {
+ if (!_inited) return;
role = _role;
var tabsNav = tabs.find(".ui-tabs-nav");
tabsNav.sortable(role === PRESENTER ? "enable" : "disable");
@@ -1251,12 +1252,14 @@ var WbArea = (function() {
refreshTabs();
}
});
+ _inited = true;
self.setRole(role);
};
self.destroy = function() {
$(window).off('keyup', deleteHandler);
};
self.create = function(obj) {
+ if (!_inited) return;
var tid = self.getWbTabId(obj.wbId)
, li = $('#wb-area-tab').clone().attr('id', '').data('wb-id', obj.wbId)
, wb = $('#wb-area').clone().attr('id', tid);
@@ -1273,43 +1276,53 @@ var WbArea = (function() {
_resizeWbs();
}
self.createWb = function(obj) {
+ if (!_inited) return;
self.create(obj);
self.setRole(role);
_activateTab(obj.wbId);
};
self.activateWb = function(obj) {
+ if (!_inited) return;
_activateTab(obj.wbId);
}
self.load = function(json) {
+ if (!_inited) return;
self.getWb(json.wbId).load(json.obj);
};
self.setSlide = function(json) {
+ if (!_inited) return;
self.getWb(json.wbId).setSlide(json.slide);
};
self.createObj = function(json) {
+ if (!_inited) return;
self.getWb(json.wbId).createObj(json.obj);
};
self.modifyObj = function(json) {
+ if (!_inited) return;
self.getWb(json.wbId).modifyObj(json.obj);
};
self.deleteObj = function(json) {
+ if (!_inited) return;
self.getWb(json.wbId).removeObj(json.obj);
};
self.clearAll = function(json) {
+ if (!_inited) return;
self.getWb(json.wbId).clearAll();
setRoomSizes();
};
self.clearSlide = function(json) {
+ if (!_inited) return;
self.getWb(json.wbId).clearSlide(json.slide);
};
self.removeWb = function(obj) {
+ if (!_inited) return;
var tabId = self.getWbTabId(obj.wbId);
tabs.find('li[aria-controls="' + tabId + '"]').remove();
$("#" + tabId).remove();
refreshTabs();
};
self.resize = function(posX, w, h) {
- if (!container) return;
+ if (!container || !_inited) return;
var hh = h - 5;
container.width(w).height(h).css('left', posX + "px");
area.width(w).height(hh);