Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java?rev=1757594&r1=1757593&r2=1757594&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java Thu Aug 25 03:07:48 2016 @@ -19,24 +19,30 @@ package org.apache.openmeetings.web.pages; import static org.apache.openmeetings.web.app.Application.getBean; -import static org.apache.openmeetings.web.app.WebSession.WICKET_ROOM_ID; import static org.apache.openmeetings.web.app.WebSession.getRecordingId; import static org.apache.openmeetings.web.room.SwfPanel.SWF; import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_NETWORK; import static org.apache.openmeetings.web.room.SwfPanel.SWF_TYPE_SETTINGS; +import static org.apache.openmeetings.web.util.OmUrlFragment.CHILD_ID; import org.apache.openmeetings.db.dao.record.RecordingDao; +import org.apache.openmeetings.db.dao.room.RoomDao; import org.apache.openmeetings.db.entity.record.Recording; import org.apache.openmeetings.db.entity.room.Invitation; import org.apache.openmeetings.db.entity.room.Invitation.Valid; import org.apache.openmeetings.db.entity.room.Room; import org.apache.openmeetings.web.app.WebSession; import org.apache.openmeetings.web.common.IUpdatable; +import org.apache.openmeetings.web.common.MainPanel; +import org.apache.openmeetings.web.room.RoomPanel; import org.apache.openmeetings.web.room.SwfPanel; import org.apache.openmeetings.web.user.record.VideoInfo; import org.apache.openmeetings.web.user.record.VideoPlayer; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.core.request.handler.IPartialPageRequestHandler; +import org.apache.wicket.markup.head.CssHeaderItem; +import org.apache.wicket.markup.head.IHeaderResponse; +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; @@ -52,13 +58,15 @@ import com.googlecode.wicket.jquery.ui.w public class HashPage extends BaseInitedPage implements IUpdatable { private static final long serialVersionUID = 1L; public static final String SECURE_HASH = "secureHash"; + public static final String PANEL_MAIN = "panel-main"; public static final String INVITATION_HASH = "invitationHash"; private static final String HASH = "hash"; private final WebMarkupContainer recContainer = new WebMarkupContainer("panel-recording"); private final VideoInfo vi = new VideoInfo("info", null); private final VideoPlayer vp = new VideoPlayer("player", null); private String errorKey = "invalid.hash"; - private boolean error = true;; + private boolean error = true; + private Long roomId; public HashPage(PageParameters p) { StringValue secure = p.get(SECURE_HASH); @@ -71,7 +79,7 @@ public class HashPage extends BaseInited ws.checkHashes(secure, invitation); recContainer.setVisible(false); - add(new EmptyPanel("panel-swf").setVisible(false)); + add(new EmptyPanel(PANEL_MAIN).setVisible(false)); if (!invitation.isEmpty()) { Invitation i = ws.getInvitation(); if (i == null) { @@ -91,13 +99,12 @@ public class HashPage extends BaseInited } Room r = i.getRoom(); if (r != null) { - replace(new SwfPanel("panel-swf", new PageParameters(p).add(WICKET_ROOM_ID, r.getId()))); + createRoom(r.getId()); } - error = false; } } else if (!secure.isEmpty()) { - Long recId = getRecordingId(); - if (recId == null && ws.getRoomId() == null) { + Long recId = getRecordingId(), roomId = ws.getRoomId(); + if (recId == null && roomId == null) { errorKey = "1599"; } else if (recId != null) { recContainer.setVisible(true); @@ -106,25 +113,36 @@ public class HashPage extends BaseInited vp.update(null, rec); error = false; } else { - replace(new SwfPanel("panel-swf", new PageParameters(p).add(WICKET_ROOM_ID, ws.getRoomId()))); - error = false; + createRoom(roomId); } } StringValue swf = p.get(SWF); if (!swf.isEmpty() && (SWF_TYPE_NETWORK.equals(swf.toString()) || SWF_TYPE_SETTINGS.equals(swf.toString()))) { - replace(new SwfPanel("panel-swf", p)); + replace(new SwfPanel(PANEL_MAIN, p)); error = false; } - add(recContainer - .add(vi.setShowShare(false).setOutputMarkupPlaceholderTag(true) - , vp.setOutputMarkupPlaceholderTag(true) - , new InvitationPasswordDialog("i-pass", this))); + add(recContainer.add(vi.setShowShare(false).setOutputMarkupPlaceholderTag(true), + vp.setOutputMarkupPlaceholderTag(true), new InvitationPasswordDialog("i-pass", this))); + } + + private void createRoom(Long roomId) { + error = false; + getHeader().setVisible(false); + // need to re-fetch Room object to initialize all collections + Room room = getBean(RoomDao.class).get(roomId); + if (room != null) { + this.roomId = roomId; + RoomPanel rp = new RoomPanel(CHILD_ID, room); + replace(new MainPanel(PANEL_MAIN, rp)); + rp.onMenuPanelLoad(null); + } } @Override protected void onInitialize() { super.onInitialize(); - add(new MessageDialog("access-denied", getString("invalid.hash"), getString(errorKey), DialogButtons.OK, DialogIcon.ERROR) { + add(new MessageDialog("access-denied", getString("invalid.hash"), getString(errorKey), DialogButtons.OK, + DialogIcon.ERROR) { private static final long serialVersionUID = 1L; @Override @@ -151,4 +169,13 @@ public class HashPage extends BaseInited target.add(vi.update(target, i.getRecording()).setVisible(true) , vp.update(target, i.getRecording()).setVisible(true)); } + + @Override + public void renderHead(IHeaderResponse response) { + super.renderHead(response); + response.render(CssHeaderItem.forCSS(".invite.om-icon{display: none !important;}", "no-invite-to-room")); + if (roomId != null) { + response.render(OnDomReadyHeaderItem.forScript("roomLoad();")); + } + } }
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.html URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.html?rev=1757594&r1=1757593&r2=1757594&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.html (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.html Thu Aug 25 03:07:48 2016 @@ -30,31 +30,7 @@ </script> </wicket:head> <wicket:extend> - <script type="text/javascript"> - $(function() { - Wicket.Event.subscribe('/ajax/call/failure', hideBusyIndicator); - Wicket.Event.subscribe('/ajax/call/before', showBusyIndicator); - Wicket.Event.subscribe('/ajax/call/success', hideBusyIndicator); - Wicket.Event.subscribe('/ajax/call/complete', hideBusyIndicator); - }); - </script> - <div wicket:id="topControls"> - <div wicket:id="topLinks"><span - id="contactsAndMessages"><a wicket:id="messages"><wicket:message key="1188"/></a></span><span - id="profile"><a wicket:id="profile"><wicket:message key="5"/></a></span><span - id="logout"><a wicket:id="logout" href="#"><wicket:message key="310"/></a></span><span - id="reportBug"><a target="_blank" href="https://issues.apache.org/jira/browse/OPENMEETINGS"><wicket:message key="284"/></a></span><span><a - wicket:id="about"><wicket:message key="1549"/></a></span> - </div> - <div id="busy_indicator" class="ui-widget-header"><span><wicket:message key="1554"/></span></div> - <div wicket:id="menu"></div> - </div> - <div wicket:id="dev" id="devMenu"/> - <div wicket:id="contents"><div wicket:id="child"></div></div> - <div wicket:id="chatPanel"></div> - <div wicket:id="aboutDialog"></div> - <div wicket:id="userInfoDialog"></div> - <div wicket:id="newMessageDialog"></div> - <div wicket:id="inviteUserDialog"></div> + <div wicket:id="main"/> + <div wicket:id="invite-to-room"></div> </wicket:extend> </html> Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java?rev=1757594&r1=1757593&r2=1757594&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java Thu Aug 25 03:07:48 2016 @@ -18,228 +18,48 @@ */ package org.apache.openmeetings.web.pages; -import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey; -import static org.apache.openmeetings.web.app.Application.addOnlineUser; -import static org.apache.openmeetings.web.app.Application.getBean; -import static org.apache.openmeetings.web.app.Application.removeOnlineUser; -import static org.apache.openmeetings.web.app.WebSession.getUserId; import static org.apache.openmeetings.web.util.CallbackFunctionHelper.getNamedFunction; import static org.apache.openmeetings.web.util.CallbackFunctionHelper.getParam; -import static org.apache.openmeetings.web.util.OmUrlFragment.CHILD_ID; -import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_EDIT; -import static org.apache.openmeetings.web.util.OmUrlFragment.PROFILE_MESSAGES; -import static org.apache.openmeetings.web.util.OmUrlFragment.getPanel; import static org.apache.wicket.ajax.attributes.CallbackParameter.explicit; +import static org.apache.openmeetings.web.common.MainPanel.PARAM_USER_ID; -import java.util.ArrayList; -import java.util.List; - -import org.apache.openmeetings.db.dao.basic.NavigationDao; -import org.apache.openmeetings.db.entity.basic.Naviglobal; -import org.apache.openmeetings.db.entity.basic.Navimain; -import org.apache.openmeetings.db.entity.user.PrivateMessage; -import org.apache.openmeetings.db.util.AuthLevelUtil; -import org.apache.openmeetings.web.app.Application; -import org.apache.openmeetings.web.app.Client; import org.apache.openmeetings.web.app.WebSession; -import org.apache.openmeetings.web.common.BasePanel; -import org.apache.openmeetings.web.common.ConfirmableAjaxBorder; -import org.apache.openmeetings.web.common.menu.MainMenuItem; -import org.apache.openmeetings.web.common.menu.MenuItem; -import org.apache.openmeetings.web.common.menu.MenuPanel; -import org.apache.openmeetings.web.room.RoomPanel; -import org.apache.openmeetings.web.room.menu.RoomMenuPanel; -import org.apache.openmeetings.web.user.AboutDialog; -import org.apache.openmeetings.web.user.ChatPanel; +import org.apache.openmeetings.web.common.MainPanel; import org.apache.openmeetings.web.user.InviteUserToRoomDialog; -import org.apache.openmeetings.web.user.MessageDialog; -import org.apache.openmeetings.web.user.UserInfoDialog; -import org.apache.openmeetings.web.util.ContactsHelper; import org.apache.openmeetings.web.util.OmUrlFragment; import org.apache.wicket.Component; -import org.apache.wicket.MarkupContainer; import org.apache.wicket.ajax.AbstractAjaxTimerBehavior; import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior; import org.apache.wicket.ajax.AjaxRequestTarget; -import org.apache.wicket.ajax.markup.html.AjaxLink; import org.apache.wicket.authroles.authorization.strategies.role.annotations.AuthorizeInstantiation; 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.JavaScriptHeaderItem; import org.apache.wicket.markup.head.PriorityHeaderItem; -import org.apache.wicket.markup.html.WebMarkupContainer; -import org.apache.wicket.markup.html.form.Form; -import org.apache.wicket.markup.html.panel.EmptyPanel; -import org.apache.wicket.model.CompoundPropertyModel; -import org.apache.wicket.protocol.ws.api.WebSocketBehavior; -import org.apache.wicket.protocol.ws.api.message.AbortedMessage; -import org.apache.wicket.protocol.ws.api.message.AbstractClientMessage; -import org.apache.wicket.protocol.ws.api.message.ClosedMessage; -import org.apache.wicket.protocol.ws.api.message.ConnectedMessage; import org.apache.wicket.request.IRequestParameters; import org.apache.wicket.util.time.Duration; -import org.red5.logging.Red5LoggerFactory; -import org.slf4j.Logger; -import org.wicketstuff.urlfragment.UrlFragment; - -import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton; -import com.googlecode.wicket.jquery.ui.widget.menu.IMenuItem; @AuthorizeInstantiation({"Admin", "Dashboard", "Room"}) public class MainPage extends BaseInitedPage { private static final long serialVersionUID = 1L; - private static final Logger log = Red5LoggerFactory.getLogger(MainPage.class, webAppRootKey); - private final static String PARAM_USER_ID = "userId"; - private Client client; - private final MenuPanel menu; - private final WebMarkupContainer topControls = new WebMarkupContainer("topControls"); - private final WebMarkupContainer topLinks = new WebMarkupContainer("topLinks"); - private final MarkupContainer contents; private final AbstractAjaxTimerBehavior areaBehavior; - private final Component dev; - private final ChatPanel chat; - private final MessageDialog newMessage; - private final UserInfoDialog userInfo; + private final MainPanel main = new MainPanel("main"); private final InviteUserToRoomDialog inviteUser; - + public MainPage() { super(); - client = new Client(getSession().getId(), getUserId()); getHeader().setVisible(false); - add(topControls.setOutputMarkupPlaceholderTag(true).setMarkupId("topControls")); - menu = new MenuPanel("menu", getMainMenu()); - contents = new WebMarkupContainer("contents"); - add(contents.add(new WebMarkupContainer(CHILD_ID)).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; - - @Override - public void onClick(AjaxRequestTarget target) { - updateContents(PROFILE_MESSAGES, target); - } - }); - topLinks.add(new ConfirmableAjaxBorder("logout", getString("310"), getString("634")) { - private static final long serialVersionUID = 1L; - - @Override - protected void onSubmit(AjaxRequestTarget target, Form<?> form) { - getSession().invalidate(); - setResponsePage(Application.get().getSignInPageClass()); - } - }); - topLinks.add(new AjaxLink<Void>("profile") { - private static final long serialVersionUID = 1L; - - @Override - public void onClick(AjaxRequestTarget target) { - updateContents(PROFILE_EDIT, target); - } - }); - final AboutDialog about = new AboutDialog("aboutDialog"); - topLinks.add(new AjaxLink<Void>("about") { - private static final long serialVersionUID = 1L; - - @Override - public void onClick(AjaxRequestTarget target) { - about.open(target); - } - }); - add(about); - if (getApplication().getDebugSettings().isDevelopmentUtilitiesEnabled()) { - add(dev = new DebugBar("dev")); - dev.setOutputMarkupId(true); - } else { - dev = null; - add(new EmptyPanel("dev").setVisible(false)); - } - - add(chat = new ChatPanel("chatPanel")); - add(newMessage = new MessageDialog("newMessageDialog", new CompoundPropertyModel<PrivateMessage>(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(inviteUser = new InviteUserToRoomDialog("inviteUserDialog")); - add(new AbstractDefaultAjaxBehavior() { - private static final long serialVersionUID = 1L; - - @Override - protected void respond(AjaxRequestTarget target) { - userInfo.open(target, getParam(getComponent(), PARAM_USER_ID).toLong()); - } - - @Override - public void renderHead(Component component, IHeaderResponse response) { - super.renderHead(component, response); - response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction("showUserInfo", this, explicit(PARAM_USER_ID)), "showUserInfo"))); - } - }); - add(new AbstractDefaultAjaxBehavior() { - private static final long serialVersionUID = 1L; - - @Override - protected void respond(AjaxRequestTarget target) { - ContactsHelper.addUserToContactList(getParam(getComponent(), PARAM_USER_ID).toLong()); - } - - @Override - public void renderHead(Component component, IHeaderResponse response) { - super.renderHead(component, response); - response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction("addContact", this, explicit(PARAM_USER_ID)), "addContact"))); - } - }); - add(new AbstractDefaultAjaxBehavior() { - private static final long serialVersionUID = 1L; - - @Override - protected void respond(AjaxRequestTarget target) { - newMessage.reset(true).open(target, getParam(getComponent(), PARAM_USER_ID).toOptionalLong()); - } - - @Override - public void renderHead(Component component, IHeaderResponse response) { - super.renderHead(component, response); - response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction("privateMessage", this, explicit(PARAM_USER_ID)), "privateMessage"))); - } - }); - add(new WebSocketBehavior() { + add(main, inviteUser = new InviteUserToRoomDialog("invite-to-room")); + //load preselected content + add(areaBehavior = new AbstractAjaxTimerBehavior(Duration.ONE_SECOND) { private static final long serialVersionUID = 1L; @Override - protected void onConnect(ConnectedMessage message) { - super.onConnect(message); - addOnlineUser(client.setPageId(message.getKey())); - log.debug("WebSocketBehavior::onConnect [uid: {}, session: {}, key: {}]", client.getUid(), message.getSessionId(), message.getKey()); - } - - @Override - protected void onAbort(AbortedMessage message) { - super.onAbort(message); - closeHandler(message); - } - - @Override - protected void onClose(ClosedMessage message) { - super.onClose(message); - closeHandler(message); - } - - private void closeHandler(AbstractClientMessage message) { - if (MainPage.this.getCurrentPanel() instanceof RoomPanel) { - RoomPanel rp = (RoomPanel)MainPage.this.getCurrentPanel(); - RoomMenuPanel.roomExit(rp); - } - removeOnlineUser(client); - log.debug("WebSocketBehavior::closeHandler [uid: {}, session: {}, key: {}]", client.getUid(), message.getSessionId(), message.getKey()); + protected void onTimer(AjaxRequestTarget target) { + OmUrlFragment area = WebSession.get().getArea(); + main.updateContents(area == null ? OmUrlFragment.get() : area, target); + stop(target); + WebSession.get().setArea(null); } }); add(new AbstractDefaultAjaxBehavior() { @@ -256,104 +76,23 @@ public class MainPage extends BaseInited response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(getNamedFunction("inviteUser", this, explicit(PARAM_USER_ID)), "inviteUser"))); } }); - //load preselected content - add(areaBehavior = new AbstractAjaxTimerBehavior(Duration.ONE_SECOND) { - private static final long serialVersionUID = 1L; - - @Override - protected void onTimer(AjaxRequestTarget target) { - OmUrlFragment area = WebSession.get().getArea(); - updateContents(area == null ? OmUrlFragment.get() : area, target); - stop(target); - WebSession.get().setArea(null); - } - }); } - - private List<IMenuItem> getMainMenu() { - List<IMenuItem> menu = new ArrayList<>(); - for (Naviglobal gl : getBean(NavigationDao.class).getMainMenu(AuthLevelUtil.hasAdminLevel(WebSession.getRights()))) { - List<IMenuItem> l = new ArrayList<>(); - for (Navimain nm : gl.getMainnavi()) { - l.add(new MainMenuItem(nm) { - private static final long serialVersionUID = 1L; - @Override - public void onClick(AjaxRequestTarget target) { - onClick(MainPage.this, target); - } - }); - } - menu.add(new MenuItem(Application.getString(gl.getLabelId()), l)); - } - return menu; - } - public void updateContents(OmUrlFragment f, IPartialPageRequestHandler handler) { - updateContents(f, handler, true); - } - - private BasePanel getCurrentPanel() { - Component prev = contents.get(CHILD_ID); - if (prev != null && prev instanceof BasePanel) { - return (BasePanel)prev; - } - return null; + main.updateContents(f, handler); } - - public void updateContents(OmUrlFragment f, IPartialPageRequestHandler handler, boolean updateFragment) { - BasePanel panel = getPanel(f.getArea(), f.getType()); - if (panel != null) { - BasePanel prev = getCurrentPanel(); - if (prev != null) { - prev.cleanup(handler); - } - handler.add(contents.replace(panel)); - if (updateFragment) { - UrlFragment uf = new UrlFragment(handler); - uf.set(f.getArea().name(), f.getType()); - } - panel.onMenuPanelLoad(handler); - } - /* FIXME commented until wicket 7.2.0 will be released - TODO check if this call is necessary - if (dev != null){ - target.add(dev); - } - */ + + @Override + protected boolean isMainPage() { + return true; } - + @Override protected void onParameterArrival(IRequestParameters params, AjaxRequestTarget target) { OmUrlFragment uf = getUrlFragment(params); if (uf != null) { areaBehavior.stop(target); - updateContents(uf, target, false); + main.updateContents(uf, target, false); } } - - public MenuPanel getMenu() { - return menu; - } - - public WebMarkupContainer getTopLinks() { - return topLinks; - } - - public WebMarkupContainer getTopControls() { - return topControls; - } - - public ChatPanel getChat() { - return chat; - } - - @Override - protected boolean isMainPage() { - return true; - } - - public Client getClient() { - return client; - } } Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1757594&r1=1757593&r2=1757594&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Thu Aug 25 03:07:48 2016 @@ -126,7 +126,7 @@ public class RoomPanel extends BasePanel .toString() )); broadcast(new RoomMessage(r.getId(), getUserId(), RoomMessage.Type.roomEnter)); - getMainPage().getChat().roomEnter(r, target); + getMainPanel().getChat().roomEnter(r, target); } catch (MalformedURLException e) { log.error("Error while constructing room parameters", e); } @@ -409,25 +409,30 @@ public class RoomPanel extends BasePanel } } } - + @Override - public void onMenuPanelLoad(IPartialPageRequestHandler handler) { - handler.add(getMainPage().getHeader().setVisible(false), getMainPage().getTopControls().setVisible(false)); + public BasePanel onMenuPanelLoad(IPartialPageRequestHandler handler) { + getBasePage().getHeader().setVisible(false); + getMainPanel().getTopControls().setVisible(false); if (r.isHidden(RoomElement.Chat)) { - getMainPage().getChat().toggle(handler, false); + getMainPanel().getChat().toggle(handler, false); + } + if (handler != null) { + handler.add(getBasePage().getHeader(), getMainPanel().getTopControls()); + handler.appendJavaScript("roomLoad();"); } - handler.appendJavaScript("roomLoad();"); + return this; } - + @Override public void cleanup(IPartialPageRequestHandler handler) { - handler.add(getMainPage().getHeader().setVisible(true), getMainPage().getTopControls().setVisible(true)); + handler.add(getBasePage().getHeader().setVisible(true), getMainPanel().getTopControls().setVisible(true)); if (r.isHidden(RoomElement.Chat)) { - getMainPage().getChat().toggle(handler, true); + getMainPanel().getChat().toggle(handler, true); } handler.appendJavaScript("$(window).off('resize.openmeetings');"); RoomMenuPanel.roomExit(this); - getMainPage().getChat().roomExit(r, handler); + getMainPanel().getChat().roomExit(r, handler); } private static ResourceReference newResourceReference() { @@ -502,7 +507,7 @@ public class RoomPanel extends BasePanel } public Client getClient() { - return getMainPage().getClient(); + return getMainPanel().getClient(); } public boolean screenShareAllowed() { Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java?rev=1757594&r1=1757593&r2=1757594&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java Thu Aug 25 03:07:48 2016 @@ -321,7 +321,7 @@ public class RoomMenuPanel extends Panel public void exit(IPartialPageRequestHandler handler) { if (WebSession.getRights().contains(User.Right.Dashboard)) { roomExit(room, false); - room.getMainPage().updateContents(ROOMS_PUBLIC, handler); + room.getMainPanel().updateContents(ROOMS_PUBLIC, handler); } else { String url = getBean(ConfigurationDao.class).getConfValue(CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY, String.class, ""); if (Strings.isEmpty(url)) { Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java?rev=1757594&r1=1757593&r2=1757594&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java Thu Aug 25 03:07:48 2016 @@ -205,19 +205,22 @@ public class ChatPanel extends BasePanel sb.append("});"); target.appendJavaScript(sb); } - + public void roomExit(Room r, IPartialPageRequestHandler handler) { if (r.isHidden(RoomElement.Chat)) { return; } handler.appendJavaScript(String.format("removeChatTab('%1$s%2$d');", ID_ROOM_PREFIX, r.getId())); } - + public void toggle(IPartialPageRequestHandler handler, boolean visible) { - handler.add(setVisible(visible)); - handler.appendJavaScript("reinit();"); + setVisible(visible); + if (handler != null) { + handler.add(this); + handler.appendJavaScript("reinit();"); + } } - + @Override public void renderHead(IHeaderResponse response) { super.renderHead(response); Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java?rev=1757594&r1=1757593&r2=1757594&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/calendar/CalendarPanel.java Thu Aug 25 03:07:48 2016 @@ -70,25 +70,20 @@ public class CalendarPanel extends UserP } }; private Calendar calendar; - - @Override - public void onMenuPanelLoad(IPartialPageRequestHandler handler) { - super.onMenuPanelLoad(handler); - } @Override public void cleanup(IPartialPageRequestHandler handler) { refreshTimer.stop(handler); } - + private static AppointmentDao getDao() { return getBean(AppointmentDao.class); } - + public void refresh(IPartialPageRequestHandler handler) { calendar.refresh(handler); } - + Calendar getCalendar() { return calendar; } Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css?rev=1757594&r1=1757593&r2=1757594&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css (original) +++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/room.css Thu Aug 25 03:07:48 2016 @@ -66,6 +66,7 @@ height: 30px; background-repeat: no-repeat; background-position: 5px 5px; + background-size: 22px; float: right; padding: 0; }
