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/11/05 18:09:26 UTC

openmeetings git commit: [OPENMEETINGS-1744] basic rename is implemented

Repository: openmeetings
Updated Branches:
  refs/heads/4.0.x 62fce4043 -> 6b0fdc17b


[OPENMEETINGS-1744] basic rename is implemented


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

Branch: refs/heads/4.0.x
Commit: 6b0fdc17b04301b5b5b7bc8e843997c34228e445
Parents: 62fce40
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Mon Nov 6 01:09:16 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Mon Nov 6 01:09:16 2017 +0700

----------------------------------------------------------------------
 .../openmeetings/db/dto/room/Whiteboard.java    |  3 +-
 .../openmeetings/web/room/wb/WbAction.java      |  1 +
 .../openmeetings/web/room/wb/WbPanel.html       |  2 +-
 .../openmeetings/web/room/wb/WbPanel.java       | 19 ++++++++---
 .../apache/openmeetings/web/room/wb/wb-area.js  | 34 +++++++++++++++++++-
 5 files changed, 52 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/6b0fdc17/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java
index 8fbdf20..6b80349 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java
@@ -158,8 +158,9 @@ public class Whiteboard implements Serializable {
 		return name;
 	}
 
-	public void setName(String name) {
+	public Whiteboard setName(String name) {
 		this.name = name;
+		return this;
 	}
 
 	public int getSlide() {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/6b0fdc17/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbAction.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbAction.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbAction.java
index dc3eef1..3a65411 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbAction.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbAction.java
@@ -22,6 +22,7 @@ public enum WbAction {
 	createWb
 	, removeWb
 	, activateWb
+	, renameWb
 	, setSlide
 	, createObj
 	, modifyObj

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/6b0fdc17/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
index 9a4309d..27d943f 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
@@ -35,7 +35,7 @@
 			<div class="next clickable om-icon big"></div>
 		</div>
 		<ul><li id="wb-area-tab">
-			<a>[title]</a>
+			<a><span>[title]</span></a>
 		</li></ul>
 		<button id="wb-tab-close" type="button" class="ui-button ui-corner-all ui-widget ui-button-icon-only ui-dialog-titlebar-close" wicket:message="title:85">
 			<span class="ui-button-icon ui-icon ui-icon-closethick"></span>

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/6b0fdc17/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
index fb3d537..d42b153 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
@@ -304,12 +304,23 @@ public class WbPanel extends AbstractWbPanel {
 					}
 				}
 					break;
+				case renameWb:
+				{
+					Whiteboard wb = WhiteboardCache.get(roomId).get(obj.optLong("wbId", -1));
+					if (wb != null) {
+						WhiteboardCache.update(roomId, wb.setName(obj.getString("name")));
+						sendWbAll(WbAction.renameWb, obj);
+					}
+				}
+					break;
 				case setSlide:
 				{
-					Whiteboard wb = WhiteboardCache.get(roomId).get(obj.getLong("wbId"));
-					wb.setSlide(obj.optInt("slide", 0));
-					WhiteboardCache.update(roomId, wb);
-					sendWbOthers(WbAction.setSlide, obj);
+					Whiteboard wb = WhiteboardCache.get(roomId).get(obj.optLong("wbId", -1));
+					if (wb != null) {
+						wb.setSlide(obj.optInt("slide", 0));
+						WhiteboardCache.update(roomId, wb);
+						sendWbOthers(WbAction.setSlide, obj);
+					}
 				}
 					break;
 				case clearAll:

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/6b0fdc17/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-area.js
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-area.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-area.js
index eb5f3ab..71cc2d4 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-area.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-area.js
@@ -62,6 +62,18 @@ var DrawWbArea = function() {
 			}
 		});
 	}
+	function _setTabName(li, name) {
+		return li.find('a').attr('title', name)
+			.find('span').text(name)
+	}
+	function _renameTab(obj) {
+		container.find('.wb-tabbar li').each(function(idx) {
+			if (obj.wbId === 1 * $(this).data('wb-id')) {
+				_setTabName($(this), obj.name)
+				return false;
+			}
+		});
+	}
 	function _resizeWbs() {
 		const w = area.width(), hh = area.height()
 			, wbTabs = area.find(".tabs.ui-tabs")
@@ -184,7 +196,23 @@ var DrawWbArea = function() {
 		const tid = self.getWbTabId(obj.wbId)
 			, li = $('#wb-area-tab').clone().attr('id', '').data('wb-id', obj.wbId)
 			, wb = $('#wb-area').clone().attr('id', tid);
-		li.find('a').text(obj.name).attr('title', obj.name).attr('href', "#" + tid);
+		li.find('a').attr('href', "#" + tid);
+		_setTabName(li, obj.name)
+			.dblclick(function() {
+				if (role !== PRESENTER) {
+					return;
+				}
+				const editor = $('<input name="newName" type="text" style="color: black;"/>')
+					, name = $(this).hide().after(editor.val(obj.name));
+				editor.focus().blur(function() {
+					const newName = $(this).val();
+					if (newName !== "") {
+						wbAction('renameWb', JSON.stringify({wbId: obj.wbId, name: newName}));
+					}
+					$(this).remove();
+					name.show();
+				});
+			});
 
 		tabs.find(".ui-tabs-nav").append(li);
 		tabs.append(wb);
@@ -206,6 +234,10 @@ var DrawWbArea = function() {
 		if (!_inited) return;
 		_activateTab(obj.wbId);
 	}
+	self.renameWb = function(obj) {
+		if (!_inited) return;
+		_renameTab(obj);
+	}
 	self.load = function(json) {
 		if (!_inited) return;
 		self.getWb(json.wbId).load(json.obj);