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 2016/12/27 04:10:30 UTC
svn commit: r1776086 - in /openmeetings/application:
branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/
branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/
branches/3.2.x/openmeetings-web/src/ma...
Author: solomax
Date: Tue Dec 27 04:10:30 2016
New Revision: 1776086
URL: http://svn.apache.org/viewvc?rev=1776086&view=rev
Log:
[OPENMEETINGS-1505] password is checked for the room invitation
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.html
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.html
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html?rev=1776086&r1=1776085&r2=1776086&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html Tue Dec 27 04:10:30 2016
@@ -9,7 +9,7 @@
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
-
+
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -25,10 +25,9 @@
<div wicket:id="info"></div>
<div wicket:id="player"></div>
</div>
- <div wicket:id="i-pass"></div>
</div>
+ <div wicket:id="i-pass"></div>
<div wicket:id="panel-main" style="width: 100%; height: 100%;"></div>
<div wicket:id="access-denied"></div>
</wicket:extend>
</html>
-
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java?rev=1776086&r1=1776085&r2=1776086&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java Tue Dec 27 04:10:30 2016
@@ -64,6 +64,8 @@ public class HashPage extends BaseInited
private final VideoPlayer vp = new VideoPlayer("player", null);
private String errorKey = "invalid.hash";
private boolean error = true;
+ private MainPanel mp = null;
+ private RoomPanel rp = null;
public HashPage(PageParameters p) {
StringValue secure = p.get(HASH);
@@ -95,6 +97,10 @@ public class HashPage extends BaseInited
Room r = i.getRoom();
if (r != null) {
createRoom(r.getId());
+ if (i.isPasswordProtected() && rp != null) {
+ mp.getChat().setVisible(false);
+ rp.setOutputMarkupPlaceholderTag(true).setVisible(false);
+ }
}
}
} else if (!secure.isEmpty()) {
@@ -117,7 +123,7 @@ public class HashPage extends BaseInited
error = false;
}
add(recContainer.add(vi.setShowShare(false).setOutputMarkupPlaceholderTag(true),
- vp.setOutputMarkupPlaceholderTag(true), new InvitationPasswordDialog("i-pass", this)));
+ vp.setOutputMarkupPlaceholderTag(true)), new InvitationPasswordDialog("i-pass", this));
}
private void createRoom(Long roomId) {
@@ -126,7 +132,9 @@ public class HashPage extends BaseInited
// need to re-fetch Room object to initialize all collections
Room room = getBean(RoomDao.class).get(roomId);
if (room != null) {
- replace(new MainPanel(PANEL_MAIN, new RoomPanel(CHILD_ID, room)));
+ rp = new RoomPanel(CHILD_ID, room);
+ mp = new MainPanel(PANEL_MAIN, rp);
+ replace(mp);
}
}
@@ -158,8 +166,12 @@ public class HashPage extends BaseInited
@Override
public void update(AjaxRequestTarget target) {
Invitation i = WebSession.get().getInvitation();
- target.add(vi.update(target, i.getRecording()).setVisible(true)
- , vp.update(target, i.getRecording()).setVisible(true));
+ if (i.getRoom() != null && rp != null) {
+ rp.show(target);
+ } else if (i.getRecording() != null) {
+ target.add(vi.update(target, i.getRecording()).setVisible(true)
+ , vp.update(target, i.getRecording()).setVisible(true));
+ }
}
@Override
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.html
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.html?rev=1776086&r1=1776085&r2=1776086&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.html (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.html Tue Dec 27 04:10:30 2016
@@ -9,7 +9,7 @@
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
-
+
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -23,7 +23,8 @@
<form wicket:id="form">
<div wicket:id="feedback"></div>
<label wicket:for="password"><wicket:message key="536"/></label>
- <input wicket:id="password" type="password"/>
+ <input wicket:id="password" type="password" autofocus="autofocus"/>
+ <input type="submit" wicket:id="submit" class="invisible-form-component"/>
</form>
</wicket:panel>
</html>
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java?rev=1776086&r1=1776085&r2=1776086&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java Tue Dec 27 04:10:30 2016
@@ -27,6 +27,7 @@ import org.apache.openmeetings.web.app.A
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.IUpdatable;
import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.PasswordTextField;
@@ -63,6 +64,22 @@ public class InvitationPasswordDialog ex
}
});
add(form.add(password, feedback.setOutputMarkupId(true)));
+ AjaxButton ab = new AjaxButton("submit", form) { //FAKE button so "submit-on-enter" works as expected
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
+ InvitationPasswordDialog.this.onSubmit(target);
+ InvitationPasswordDialog.this.close(target, null);
+ }
+
+ @Override
+ protected void onError(AjaxRequestTarget target, Form<?> form) {
+ InvitationPasswordDialog.this.onError(target);
+ }
+ };
+ form.add(ab);
+ form.setDefaultButton(ab);
}
@Override
@@ -76,6 +93,11 @@ public class InvitationPasswordDialog ex
}
@Override
+ public boolean isDefaultCloseEventEnabled() {
+ return false;
+ }
+
+ @Override
protected void onOpen(IPartialPageRequestHandler handler) {
password.setModelObject(null);
}
@@ -104,5 +126,4 @@ public class InvitationPasswordDialog ex
protected void onSubmit(AjaxRequestTarget target) {
comp.update(target);
}
-
}
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1776086&r1=1776085&r2=1776086&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Tue Dec 27 04:10:30 2016
@@ -386,7 +386,7 @@ public class RoomPanel extends BasePanel
String uid = ((TextRoomMessage)m).getText();
if (getClient().getUid().equals(uid)) {
handler.add(room.setVisible(false));
- //FIXME TODO chat still available for the client being kicked
+ getMainPanel().getChat().toggle(handler, false);
clientKicked.open(handler);
}
}
@@ -466,23 +466,33 @@ public class RoomPanel extends BasePanel
public BasePanel onMenuPanelLoad(IPartialPageRequestHandler handler) {
getBasePage().getHeader().setVisible(false);
getMainPanel().getTopControls().setVisible(false);
- if (r.isHidden(RoomElement.Chat)) {
+ if (r.isHidden(RoomElement.Chat) || !isVisible()) {
getMainPanel().getChat().toggle(handler, false);
}
if (handler != null) {
handler.add(getBasePage().getHeader(), getMainPanel().getTopControls());
- handler.appendJavaScript("roomLoad();");
+ if (isVisible()) {
+ handler.appendJavaScript("roomLoad();");
+ }
}
return this;
}
+ public void show(IPartialPageRequestHandler handler) {
+ if (!r.isHidden(RoomElement.Chat)) {
+ getMainPanel().getChat().toggle(handler, true);
+ }
+ handler.add(this.setVisible(true));
+ handler.appendJavaScript("roomLoad();");
+ }
+
@Override
public void cleanup(IPartialPageRequestHandler handler) {
handler.add(getBasePage().getHeader().setVisible(true), getMainPanel().getTopControls().setVisible(true));
if (r.isHidden(RoomElement.Chat)) {
getMainPanel().getChat().toggle(handler, true);
}
- handler.appendJavaScript("roomUnload();");
+ handler.appendJavaScript("if (typeof roomUnload == 'function') { roomUnload(); }");
RoomMenuPanel.roomExit(getClient());
getMainPanel().getChat().roomExit(r, handler);
}
@@ -490,7 +500,7 @@ public class RoomPanel extends BasePanel
private static ResourceReference newResourceReference() {
return new JavaScriptResourceReference(RoomPanel.class, "room.js");
}
-
+
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js?rev=1776086&r1=1776085&r2=1776086&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js Tue Dec 27 04:10:30 2016
@@ -36,6 +36,7 @@ function roomReload(event, ui) {
function roomClosed(jqEvent, msg) {
roomUnload();
$(".room.container").remove();
+ $("#chatPanel").remove();
var dlg = $('#disconnected-dlg');
dlg.dialog({
modal: true
Modified: openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java?rev=1776086&r1=1776085&r2=1776086&view=diff
==============================================================================
--- openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java (original)
+++ openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/ChatPanel.java Tue Dec 27 04:10:30 2016
@@ -217,7 +217,7 @@ public class ChatPanel extends BasePanel
if (r.isHidden(RoomElement.Chat)) {
return;
}
- handler.appendJavaScript(String.format("removeChatTab('%1$s%2$d');", ID_ROOM_PREFIX, r.getId()));
+ handler.appendJavaScript(String.format("if (typeof removeChatTab == 'function') { removeChatTab('%1$s%2$d'); }", ID_ROOM_PREFIX, r.getId()));
if (!showDashboardChat) {
StringBuilder sb = new StringBuilder();
sb.append("$(function() {");
@@ -231,7 +231,9 @@ public class ChatPanel extends BasePanel
setVisible(visible);
if (handler != null) {
handler.add(this);
- handler.appendJavaScript("reinit();");
+ if (visible) {
+ handler.appendJavaScript("reinit();");
+ }
}
}
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html?rev=1776086&r1=1776085&r2=1776086&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.html Tue Dec 27 04:10:30 2016
@@ -9,7 +9,7 @@
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
-
+
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -25,10 +25,9 @@
<div wicket:id="info"></div>
<div wicket:id="player"></div>
</div>
- <div wicket:id="i-pass"></div>
</div>
+ <div wicket:id="i-pass"></div>
<div wicket:id="panel-main" style="width: 100%; height: 100%;"></div>
<div wicket:id="access-denied"></div>
</wicket:extend>
</html>
-
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=1776086&r1=1776085&r2=1776086&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 Tue Dec 27 04:10:30 2016
@@ -64,6 +64,8 @@ public class HashPage extends BaseInited
private final VideoPlayer vp = new VideoPlayer("player", null);
private String errorKey = "invalid.hash";
private boolean error = true;
+ private MainPanel mp = null;
+ private RoomPanel rp = null;
public HashPage(PageParameters p) {
StringValue secure = p.get(HASH);
@@ -95,6 +97,10 @@ public class HashPage extends BaseInited
Room r = i.getRoom();
if (r != null) {
createRoom(r.getId());
+ if (i.isPasswordProtected() && rp != null) {
+ mp.getChat().setVisible(false);
+ rp.setOutputMarkupPlaceholderTag(true).setVisible(false);
+ }
}
}
} else if (!secure.isEmpty()) {
@@ -117,7 +123,7 @@ public class HashPage extends BaseInited
error = false;
}
add(recContainer.add(vi.setShowShare(false).setOutputMarkupPlaceholderTag(true),
- vp.setOutputMarkupPlaceholderTag(true), new InvitationPasswordDialog("i-pass", this)));
+ vp.setOutputMarkupPlaceholderTag(true)), new InvitationPasswordDialog("i-pass", this));
}
private void createRoom(Long roomId) {
@@ -126,7 +132,9 @@ public class HashPage extends BaseInited
// need to re-fetch Room object to initialize all collections
Room room = getBean(RoomDao.class).get(roomId);
if (room != null) {
- replace(new MainPanel(PANEL_MAIN, new RoomPanel(CHILD_ID, room)));
+ rp = new RoomPanel(CHILD_ID, room);
+ mp = new MainPanel(PANEL_MAIN, rp);
+ replace(mp);
}
}
@@ -158,8 +166,12 @@ public class HashPage extends BaseInited
@Override
public void update(AjaxRequestTarget target) {
Invitation i = WebSession.get().getInvitation();
- target.add(vi.update(target, i.getRecording()).setVisible(true)
- , vp.update(target, i.getRecording()).setVisible(true));
+ if (i.getRoom() != null && rp != null) {
+ rp.show(target);
+ } else if (i.getRecording() != null) {
+ target.add(vi.update(target, i.getRecording()).setVisible(true)
+ , vp.update(target, i.getRecording()).setVisible(true));
+ }
}
@Override
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.html
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.html?rev=1776086&r1=1776085&r2=1776086&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.html (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.html Tue Dec 27 04:10:30 2016
@@ -9,7 +9,7 @@
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
-
+
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -23,7 +23,8 @@
<form wicket:id="form">
<div wicket:id="feedback"></div>
<label wicket:for="password"><wicket:message key="536"/></label>
- <input wicket:id="password" type="password"/>
+ <input wicket:id="password" type="password" autofocus="autofocus"/>
+ <input type="submit" wicket:id="submit" class="invisible-form-component"/>
</form>
</wicket:panel>
</html>
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java?rev=1776086&r1=1776085&r2=1776086&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/InvitationPasswordDialog.java Tue Dec 27 04:10:30 2016
@@ -27,6 +27,7 @@ import org.apache.openmeetings.web.app.A
import org.apache.openmeetings.web.app.WebSession;
import org.apache.openmeetings.web.common.IUpdatable;
import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.ajax.markup.html.form.AjaxButton;
import org.apache.wicket.core.request.handler.IPartialPageRequestHandler;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.PasswordTextField;
@@ -63,6 +64,22 @@ public class InvitationPasswordDialog ex
}
});
add(form.add(password, feedback.setOutputMarkupId(true)));
+ AjaxButton ab = new AjaxButton("submit", form) { //FAKE button so "submit-on-enter" works as expected
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
+ InvitationPasswordDialog.this.onSubmit(target);
+ InvitationPasswordDialog.this.close(target, null);
+ }
+
+ @Override
+ protected void onError(AjaxRequestTarget target, Form<?> form) {
+ InvitationPasswordDialog.this.onError(target);
+ }
+ };
+ form.add(ab);
+ form.setDefaultButton(ab);
}
@Override
@@ -76,6 +93,11 @@ public class InvitationPasswordDialog ex
}
@Override
+ public boolean isDefaultCloseEventEnabled() {
+ return false;
+ }
+
+ @Override
protected void onOpen(IPartialPageRequestHandler handler) {
password.setModelObject(null);
}
@@ -104,5 +126,4 @@ public class InvitationPasswordDialog ex
protected void onSubmit(AjaxRequestTarget target) {
comp.update(target);
}
-
}
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=1776086&r1=1776085&r2=1776086&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 Tue Dec 27 04:10:30 2016
@@ -389,7 +389,7 @@ public class RoomPanel extends BasePanel
String uid = ((TextRoomMessage)m).getText();
if (getClient().getUid().equals(uid)) {
handler.add(room.setVisible(false));
- //FIXME TODO chat still available for the client being kicked
+ getMainPanel().getChat().toggle(handler, false);
clientKicked.open(handler);
}
}
@@ -469,23 +469,33 @@ public class RoomPanel extends BasePanel
public BasePanel onMenuPanelLoad(IPartialPageRequestHandler handler) {
getBasePage().getHeader().setVisible(false);
getMainPanel().getTopControls().setVisible(false);
- if (r.isHidden(RoomElement.Chat)) {
+ if (r.isHidden(RoomElement.Chat) || !isVisible()) {
getMainPanel().getChat().toggle(handler, false);
}
if (handler != null) {
handler.add(getBasePage().getHeader(), getMainPanel().getTopControls());
- handler.appendJavaScript("roomLoad();");
+ if (isVisible()) {
+ handler.appendJavaScript("roomLoad();");
+ }
}
return this;
}
+ public void show(IPartialPageRequestHandler handler) {
+ if (!r.isHidden(RoomElement.Chat)) {
+ getMainPanel().getChat().toggle(handler, true);
+ }
+ handler.add(this.setVisible(true));
+ handler.appendJavaScript("roomLoad();");
+ }
+
@Override
public void cleanup(IPartialPageRequestHandler handler) {
handler.add(getBasePage().getHeader().setVisible(true), getMainPanel().getTopControls().setVisible(true));
if (r.isHidden(RoomElement.Chat)) {
getMainPanel().getChat().toggle(handler, true);
}
- handler.appendJavaScript("roomUnload();");
+ handler.appendJavaScript("if (typeof roomUnload == 'function') { roomUnload(); }");
RoomMenuPanel.roomExit(getClient());
getMainPanel().getChat().roomExit(r, handler);
}
@@ -493,7 +503,7 @@ public class RoomPanel extends BasePanel
private static ResourceReference newResourceReference() {
return new JavaScriptResourceReference(RoomPanel.class, "room.js");
}
-
+
@Override
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js?rev=1776086&r1=1776085&r2=1776086&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js Tue Dec 27 04:10:30 2016
@@ -76,6 +76,7 @@ function roomReload(event, ui) {
function roomClosed(jqEvent, msg) {
roomUnload();
$(".room.container").remove();
+ $("#chatPanel").remove();
var dlg = $('#disconnected-dlg');
dlg.dialog({
modal: true
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=1776086&r1=1776085&r2=1776086&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 Tue Dec 27 04:10:30 2016
@@ -217,7 +217,7 @@ public class ChatPanel extends BasePanel
if (r.isHidden(RoomElement.Chat)) {
return;
}
- handler.appendJavaScript(String.format("removeChatTab('%1$s%2$d');", ID_ROOM_PREFIX, r.getId()));
+ handler.appendJavaScript(String.format("if (typeof removeChatTab == 'function') { removeChatTab('%1$s%2$d'); }", ID_ROOM_PREFIX, r.getId()));
if (!showDashboardChat) {
StringBuilder sb = new StringBuilder();
sb.append("$(function() {");
@@ -231,7 +231,9 @@ public class ChatPanel extends BasePanel
setVisible(visible);
if (handler != null) {
handler.add(this);
- handler.appendJavaScript("reinit();");
+ if (visible) {
+ handler.appendJavaScript("reinit();");
+ }
}
}