Author: solomax
Date: Mon Dec 26 10:08:10 2016
New Revision: 1776050
URL: http://svn.apache.org/viewvc?rev=1776050&view=rev
Log:
[OPENMEETINGS-1459] close handler and redirect URL are implemented
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
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/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
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
Modified:
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
URL:
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html?rev=1776050&r1=1776049&r2=1776050&view=diff
==============================================================================
---
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
(original)
+++
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
Mon Dec 26 10:08:10 2016
@@ -19,28 +19,26 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
-<wicket:head>
- <script type="text/javascript">
- Wicket.Event.subscribe("/websocket/closed", function(jqEvent,
msg) {
- //FIXME add Error dialog should be displayed
- });
- </script>
-</wicket:head>
<wicket:panel>
- <div wicket:id="roomContainer" style="height: 100%">
- <div class="room menu" wicket:id="menu"></div>
- <div class="room sidebar left" wicket:id="sidebar"></div>
- <div wicket:id="wb-area" class="room wb area">
- <div class="wb-drop-area"></div>
- <div class="wb" wicket:id="whiteboard"></div>
+ <div class="room container">
+ <div wicket:id="roomContainer" style="height: 100%">
+ <div class="room menu" wicket:id="menu"></div>
+ <div class="room sidebar left"
wicket:id="sidebar"></div>
+ <div wicket:id="wb-area" class="room wb area">
+ <div class="wb-drop-area"></div>
+ <div class="wb" wicket:id="whiteboard"></div>
+ </div>
+ <div wicket:id="activities"></div>
</div>
- <div wicket:id="activities"></div>
+ <div wicket:id="event-details"></div>
+ <div wicket:id="access-denied"></div>
+ <div wicket:id="room-closed"></div>
+ <div wicket:id="wait-for-recording"></div>
+ <div wicket:id="nickname"></div>
+ <div wicket:id="client-kicked"></div>
+ </div>
+ <div id="disconnected-dlg" wicket:message="title:204, data-reload:753"
style="display:none">
+ <wicket:message key="556"/>
</div>
- <div wicket:id="event-details"></div>
- <div wicket:id="access-denied"></div>
- <div wicket:id="room-closed"></div>
- <div wicket:id="wait-for-recording"></div>
- <div wicket:id="nickname"></div>
- <div wicket:id="client-kicked"></div>
</wicket:panel>
</html>
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=1776050&r1=1776049&r2=1776050&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
Mon Dec 26 10:08:10 2016
@@ -31,6 +31,7 @@ import static org.apache.wicket.ajax.att
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Calendar;
+import java.util.UUID;
import org.apache.directory.api.util.Strings;
import org.apache.openmeetings.core.remote.ConferenceLibrary;
@@ -481,7 +482,7 @@ public class RoomPanel extends BasePanel
if (r.isHidden(RoomElement.Chat)) {
getMainPanel().getChat().toggle(handler, true);
}
-
handler.appendJavaScript("$(window).off('resize.openmeetings');");
+ handler.appendJavaScript("roomUnload();");
RoomMenuPanel.roomExit(getClient());
getMainPanel().getChat().roomExit(r, handler);
}
@@ -494,6 +495,12 @@ public class RoomPanel extends BasePanel
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.render(new
PriorityHeaderItem(JavaScriptHeaderItem.forReference(newResourceReference())));
+ WebSession ws = WebSession.get();
+ if (!Strings.isEmpty(r.getRedirectURL()) && (ws.getSoapLogin()
!= null || ws.getInvitation() != null)) {
+ response.render(new
PriorityHeaderItem(JavaScriptHeaderItem.forScript(
+ String.format("function
roomReload(event, ui) {window.location.href='%s';}", r.getRedirectURL())
+ , String.format("room-reload-%s",
UUID.randomUUID()))));
+ }
if (room.isVisible()) {
response.render(OnDomReadyHeaderItem.forScript(aab.getCallbackScript()));
response.render(new
PriorityHeaderItem(getNamedFunction("setActiveWbId", activeWb,
explicit(PARAM_WB_ID))));
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=1776050&r1=1776049&r2=1776050&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
Mon Dec 26 10:08:10 2016
@@ -30,6 +30,27 @@ function alignBlocks() {
$(".room.wb.area").width(w);
$(".room.wb.area .wb").width(w);
}
+function roomReload(event, ui) {
+ window.location.reload();
+}
+function roomClosed(jqEvent, msg) {
+ roomUnload();
+ $(".room.container").remove();
+ var dlg = $('#disconnected-dlg');
+ dlg.dialog({
+ modal: true
+ , close: roomReload
+ , buttons: [
+ {
+ text: dlg.data('reload')
+ , icons: {primary: "ui-icon-refresh"}
+ , click: function() {
+ $(this).dialog("close");
+ }
+ }
+ ]
+ });
+}
function roomLoad() {
$(".room.sidebar.left").ready(function() {
alignBlocks();
@@ -45,6 +66,11 @@ function roomLoad() {
alignBlocks();
}
});
+ Wicket.Event.subscribe("/websocket/closed", roomClosed);
+}
+function roomUnload() {
+ $(window).off('resize.openmeetings');
+ Wicket.Event.unsubscribe("/websocket/closed", roomClosed);
}
function startPrivateChat(el) {
addChatTab('chatTab-u' + el.parent().parent().data("userid"),
el.parent().parent().find('.user.name').text());
Modified:
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
URL:
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html?rev=1776050&r1=1776049&r2=1776050&view=diff
==============================================================================
---
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
(original)
+++
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
Mon Dec 26 10:08:10 2016
@@ -19,28 +19,26 @@
-->
<html xmlns:wicket="http://wicket.apache.org">
-<wicket:head>
- <script type="text/javascript">
- Wicket.Event.subscribe("/websocket/closed", function(jqEvent,
msg) {
- //FIXME add Error dialog should be displayed
- });
- </script>
-</wicket:head>
<wicket:panel>
- <div wicket:id="roomContainer" style="height: 100%">
- <div class="room menu" wicket:id="menu"></div>
- <div class="room sidebar left" wicket:id="sidebar"></div>
- <div wicket:id="wb-area" class="room wb area">
- <div class="wb-drop-area"></div>
- <div class="wb" wicket:id="whiteboard"></div>
+ <div class="room container">
+ <div wicket:id="roomContainer" style="height: 100%">
+ <div class="room menu" wicket:id="menu"></div>
+ <div class="room sidebar left"
wicket:id="sidebar"></div>
+ <div wicket:id="wb-area" class="room wb area">
+ <div class="wb-drop-area"></div>
+ <div class="wb" wicket:id="whiteboard"></div>
+ </div>
+ <div wicket:id="activities"></div>
</div>
- <div wicket:id="activities"></div>
+ <div wicket:id="event-details"></div>
+ <div wicket:id="access-denied"></div>
+ <div wicket:id="room-closed"></div>
+ <div wicket:id="wait-for-recording"></div>
+ <div wicket:id="nickname"></div>
+ <div wicket:id="client-kicked"></div>
+ </div>
+ <div id="disconnected-dlg" wicket:message="title:204, data-reload:753"
style="display:none">
+ <wicket:message key="556"/>
</div>
- <div wicket:id="event-details"></div>
- <div wicket:id="access-denied"></div>
- <div wicket:id="room-closed"></div>
- <div wicket:id="wait-for-recording"></div>
- <div wicket:id="nickname"></div>
- <div wicket:id="client-kicked"></div>
</wicket:panel>
</html>
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=1776050&r1=1776049&r2=1776050&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
Mon Dec 26 10:08:10 2016
@@ -29,6 +29,7 @@ import static org.apache.openmeetings.we
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Calendar;
+import java.util.UUID;
import org.apache.directory.api.util.Strings;
import org.apache.openmeetings.core.remote.ConferenceLibrary;
@@ -484,7 +485,7 @@ public class RoomPanel extends BasePanel
if (r.isHidden(RoomElement.Chat)) {
getMainPanel().getChat().toggle(handler, true);
}
-
handler.appendJavaScript("$(window).off('resize.openmeetings');");
+ handler.appendJavaScript("roomUnload();");
RoomMenuPanel.roomExit(getClient());
getMainPanel().getChat().roomExit(r, handler);
}
@@ -497,6 +498,12 @@ public class RoomPanel extends BasePanel
public void renderHead(IHeaderResponse response) {
super.renderHead(response);
response.render(new
PriorityHeaderItem(JavaScriptHeaderItem.forReference(newResourceReference())));
+ WebSession ws = WebSession.get();
+ if (!Strings.isEmpty(r.getRedirectURL()) && (ws.getSoapLogin()
!= null || ws.getInvitation() != null)) {
+ response.render(new
PriorityHeaderItem(JavaScriptHeaderItem.forScript(
+ String.format("function
roomReload(event, ui) {window.location.href='%s';}", r.getRedirectURL())
+ , String.format("room-reload-%s",
UUID.randomUUID()))));
+ }
if (room.isVisible()) {
response.render(OnDomReadyHeaderItem.forScript(aab.getCallbackScript()));
}
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=1776050&r1=1776049&r2=1776050&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
Mon Dec 26 10:08:10 2016
@@ -60,31 +60,57 @@ function setHeight() {
var h = $(window).height() - $('#menu').height();
$(".room.sidebar.left").height(h);
var p = $(".room.sidebar.left .tabs");
- p.height(h - 5); //FIXME hacks
- $(".user.list", p).height(h - $("ul", p).height() - 15); //FIXME hacks
+ p.height(h - 5);
+ $(".user.list", p).height(h - $("ul", p).height() - $(".user.header",
p).height() - 10);
$(".room.wb.area").height(h);
$(".room.wb.area .wb").height(h);
}
-
-$(document).ready(function() {
+function alignBlocks() {
+ var w = $(window).width() - $(".room.sidebar.left").width() - 5;
+ $(".room.wb.area").width(w);
+ $(".room.wb.area .wb").width(w);
+}
+function roomReload(event, ui) {
+ window.location.reload();
+}
+function roomClosed(jqEvent, msg) {
+ roomUnload();
+ $(".room.container").remove();
+ var dlg = $('#disconnected-dlg');
+ dlg.dialog({
+ modal: true
+ , close: roomReload
+ , buttons: [
+ {
+ text: dlg.data('reload')
+ , icons: {primary: "ui-icon-refresh"}
+ , click: function() {
+ $(this).dialog("close");
+ }
+ }
+ ]
+ });
+}
+function roomLoad() {
+ $(".room.sidebar.left").ready(function() {
+ alignBlocks();
+ setHeight();
+ });
$(window).on('resize.openmeetings', function() {
- roomWidth = $(window).width();
+ alignBlocks();
setHeight();
});
-});
-
-var roomWidth = $(window).width();
-function roomLoad() {
$(".room.sidebar.left").resizable({
handles: "e"
, stop: function(event, ui) {
- //TODO not really works, need to be investigated
- var w = roomWidth - $(this).width() - 5;
- $(".room.wb.area").width(w);
- $(".room.wb.area .wb").width(w);
+ alignBlocks();
}
});
- setHeight();
+ Wicket.Event.subscribe("/websocket/closed", roomClosed);
+}
+function roomUnload() {
+ $(window).off('resize.openmeetings');
+ Wicket.Event.unsubscribe("/websocket/closed", roomClosed);
}
function startPrivateChat(el) {
addChatTab('chatTab-u' + el.parent().parent().data("userid"),
el.parent().parent().find('.user.name').text());