You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/04/30 17:29:34 UTC

[22/50] [abbrv] openmeetings git commit: [OPENMEETINGS-551] several minor issues are fixed

[OPENMEETINGS-551] several minor issues are fixed


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/4e2f1275
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/4e2f1275
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/4e2f1275

Branch: refs/heads/master
Commit: 4e2f1275d0e782ca9f3e4dc569635d4745e2f231
Parents: 8599b3d
Author: Maxim Solodovnik <so...@apache.org>
Authored: Tue Apr 11 17:00:26 2017 +0000
Committer: Maxim Solodovnik <so...@apache.org>
Committed: Tue Apr 11 17:00:26 2017 +0000

----------------------------------------------------------------------
 .../openmeetings/core/remote/MobileService.java |  3 ++
 .../apache/openmeetings/web/pages/HashPage.java | 36 +++++++++++---------
 .../apache/openmeetings/web/pages/MainPage.java | 11 +++---
 .../org/apache/openmeetings/web/room/wb/wb.js   | 34 +++++++++++++-----
 4 files changed, 54 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4e2f1275/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
----------------------------------------------------------------------
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
index cd13329..e2976c4 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/MobileService.java
@@ -393,6 +393,9 @@ public class MobileService {
 	}
 
 	public void sendChatMessage(Client c, ChatMessage m, FastDateFormat fmt) {
+		if (c == null) {
+			return;
+		}
 		Map<String, Object> hsm = new HashMap<>();
 		hsm.put("client", c);
 		hsm.put("message", Arrays.asList("chat", encodeChatMessage(m, fmt)));

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4e2f1275/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
index 7c98592..8fa58ff 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/HashPage.java
@@ -66,8 +66,27 @@ public class HashPage extends BaseInitedPage implements IUpdatable {
 	private boolean error = true;
 	private MainPanel mp = null;
 	private RoomPanel rp = null;
+	private final PageParameters p;
 
 	public HashPage(PageParameters p) {
+		this.p = p;
+	}
+
+	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) {
+			rp = new RoomPanel(CHILD_ID, room);
+			mp = new MainPanel(PANEL_MAIN, rp);
+			replace(mp);
+		}
+	}
+
+	@Override
+	protected void onInitialize() {
+		super.onInitialize();
 		StringValue secure = p.get(HASH);
 		StringValue invitation = p.get(INVITATION_HASH);
 
@@ -124,23 +143,6 @@ public class HashPage extends BaseInitedPage implements IUpdatable {
 		}
 		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) {
-			rp = new RoomPanel(CHILD_ID, room);
-			mp = new MainPanel(PANEL_MAIN, rp);
-			replace(mp);
-		}
-	}
-
-	@Override
-	protected void onInitialize() {
-		super.onInitialize();
 		remove(urlParametersReceivingBehavior);
 		add(new MessageDialog("access-denied", getString("invalid.hash"), getString(errorKey), DialogButtons.OK,
 				DialogIcon.ERROR) {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4e2f1275/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java
index 8e16e17..cdbd0e0 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/MainPage.java
@@ -41,12 +41,13 @@ import org.apache.wicket.util.time.Duration;
 @AuthorizeInstantiation({"Admin", "Dashboard", "Room"})
 public class MainPage extends BaseInitedPage {
 	private static final long serialVersionUID = 1L;
-	private final AbstractAjaxTimerBehavior areaBehavior;
+	private AbstractAjaxTimerBehavior areaBehavior;
 	private final MainPanel main = new MainPanel("main");
-	private final InviteUserToRoomDialog inviteUser;
+	private InviteUserToRoomDialog inviteUser;
 
-	public MainPage() {
-		super();
+	@Override
+	protected void onInitialize() {
+		super.onInitialize();
 		getHeader().setVisible(false);
 		add(main, inviteUser = new InviteUserToRoomDialog("invite-to-room"));
 		//load preselected content
@@ -68,7 +69,7 @@ public class MainPage extends BaseInitedPage {
 			protected void respond(AjaxRequestTarget target) {
 				inviteUser.open(target, getParam(getComponent(), PARAM_USER_ID).toLong());
 			}
-			
+
 			@Override
 			public void renderHead(Component component, IHeaderResponse response) {
 				super.renderHead(component, response);

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/4e2f1275/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
index f580f19..61f1c0c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
@@ -154,6 +154,7 @@ var APointer = function(wb) {
 	}
 	pointer.activate = function() {
 		wb.eachCanvas(function(canvas) {
+			canvas.selection = false;
 			canvas.on('mouse:up', pointer.mouseUp);
 		});
 		pointer.user = $('.room.sidebar.left .user.list .current .name').text();
@@ -681,13 +682,16 @@ var Wb = function() {
 	}
 	function _modifyHandler(_o) {
 		_removeHandler(_o);
-		canvases[_o.slide].add(_o);
+		var canvas = canvases[_o.slide];
+		_o.selectable = canvas.selection;
+		canvas.add(_o);
 	}
 	function _createHandler(_o) {
 		switch (_o.fileType) {
 			case 'Video':
 			case 'Recording':
 			{
+				var canvas = canvases[_o.slide];
 				var vid = $('<video>').hide().attr('id', 'video-' + _o.uid).attr('poster', _o._poster + '&preview=true')
 					.attr("width", _o.width).attr("height", _o.height)
 					.append($('<source>').attr('type', 'video/mp4').attr('src', _o._src))
@@ -696,7 +700,8 @@ var Wb = function() {
 					left: _o.left
 					, top: _o.top
 				});
-				canvases[_o.slide].add(vImg);
+				vImg.selectable = canvas.selection;
+				canvas.add(vImg);
 				//console.log(vImg.toJSON(['uid', 'fileId', 'fileType']));
 			}
 				break;
@@ -726,7 +731,11 @@ var Wb = function() {
 			}
 				break;
 			default:
-				canvases[_o.slide].add(_o);
+			{
+				var canvas = canvases[_o.slide];
+				_o.selectable = canvas.selection;
+				canvas.add(_o);
+			}
 				break;
 		}
 	}
@@ -754,6 +763,8 @@ var Wb = function() {
 	}
 	//events
 	function wbObjCreatedHandler(o) {
+		if (readOnly && o.type != 'pointer') return;
+
 		var json = {};
 		switch(o.type) {
 			case 'pointer':
@@ -778,10 +789,15 @@ var Wb = function() {
 				o.slide = this.slide;
 				wbObjCreatedHandler(o);
 				break;
+			default:
+				o.selectable = this.selection;
+				break;
 		}
 	};
 	function objModifiedHandler(e) {
 		var o = e.target;
+		if (readOnly && o.type != 'pointer') return;
+
 		o.includeDefaultValues = false;
 		wbAction('modifyObj', JSON.stringify({
 			wbId: wb.id
@@ -838,25 +854,25 @@ var Wb = function() {
 		console.log('Text Changed', obj);
 	};*/
 	function setHandlers(canvas) {
+		canvas.on({
+			'wb:object:created': wbObjCreatedHandler
+			, 'object:modified': objModifiedHandler
+		});
 		if (readOnly) {
 			canvas.off({
 				'object:added': objAddedHandler
-				, 'object:modified': objModifiedHandler
 				, 'object:selected': objSelectedHandler
 				, 'path:created': pathCreatedHandler
 				//, 'text:editing:exited': textEditedHandler
 				//, 'text:changed': textChangedHandler
-				, 'wb:object:created': wbObjCreatedHandler
 			});
 		} else {
 			canvas.on({
 				'object:added': objAddedHandler
-				, 'object:modified': objModifiedHandler
 				, 'object:selected': objSelectedHandler
 				, 'path:created': pathCreatedHandler
 				//, 'text:editing:exited': textEditedHandler
 				//, 'text:changed': textChangedHandler
-				, 'wb:object:created': wbObjCreatedHandler
 			});
 		}
 	}
@@ -865,7 +881,9 @@ var Wb = function() {
 		var cid = 'can-' + a.attr('id') + '-slide-' + sl;
 		var c = $('<canvas></canvas>').attr('id', cid);
 		a.find('.canvases').append(c);
-		var canvas = new fabric.Canvas(c.attr('id'));
+		var canvas = new fabric.Canvas(c.attr('id'), {
+			preserveObjectStacking: true
+		});
 		canvas.wbId = wb.id;
 		canvas.slide = sl;
 		canvases.push(canvas);