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 <[email protected]>
Authored: Mon Nov 6 01:09:16 2017 +0700
Committer: Maxim Solodovnik <[email protected]>
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);

Reply via email to