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();");
+ }
}
}