Repository: openmeetings Updated Branches: refs/heads/master f60c88e4a -> 1aea2d13a
[OPENMEETINGS-1753] del/backspace keys are fixed for WB text Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/1aea2d13 Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/1aea2d13 Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/1aea2d13 Branch: refs/heads/master Commit: 1aea2d13aae3232354493e809e80e0e58537f85b Parents: f60c88e Author: Maxim Solodovnik <[email protected]> Authored: Fri Nov 10 15:57:58 2017 +0700 Committer: Maxim Solodovnik <[email protected]> Committed: Fri Nov 10 15:58:22 2017 +0700 ---------------------------------------------------------------------- .../openmeetings/web/room/wb/interview-area.js | 2 + .../openmeetings/web/room/wb/tool-text.js | 2 + .../apache/openmeetings/web/room/wb/wb-area.js | 75 +++++++++++--------- 3 files changed, 46 insertions(+), 33 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1aea2d13/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/interview-area.js ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/interview-area.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/interview-area.js index f018bcc..c1081a6 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/interview-area.js +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/interview-area.js @@ -84,5 +84,7 @@ var InterviewWbArea = function() { self.resize = _resize; self.setRecStartEnabled = _setRecStartEnabled; self.setRecStopEnabled = _setRecStopEnabled; + self.addDeleteHandler = function() {}; + self.removeDeleteHandler = function() {}; return self; }; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1aea2d13/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-text.js ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-text.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-text.js index 45f3928..0d707f6 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-text.js +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-text.js @@ -57,6 +57,7 @@ var Text = function(wb, s) { } else { i.removeClass('ui-state-active selected'); } + WbArea.removeDeleteHandler(); }; text.deactivate = function() { wb.eachCanvas(function(canvas) { @@ -68,6 +69,7 @@ var Text = function(wb, s) { } }); }); + WbArea.addDeleteHandler(); }; return text; }; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/1aea2d13/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 4da8f4f..768ec5f 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 @@ -18,39 +18,40 @@ var DrawWbArea = function() { } return null; } - function deleteHandler(e) { + function _performDelete() { + const wb = getActive().data() + , canvas = wb.getCanvas(); + if (role !== PRESENTER || !canvas) { + return true; + } + const arr = []; + if (!!canvas.getActiveGroup()) { + canvas.getActiveGroup().forEachObject(function(o) { + arr.push({ + uid: o.uid + , slide: o.slide + }); + }); + } else { + const o = canvas.getActiveObject(); + if (!!o) { + arr.push({ + uid: o.uid + , slide: o.slide + }); + } + } + wbAction('deleteObj', JSON.stringify({ + wbId: wb.id + , obj: arr + })); + return false; + } + function _deleteHandler(e) { switch (e.which) { case 8: // backspace case 46: // delete - { - const wb = getActive().data() - , canvas = wb.getCanvas(); - if (!!canvas) { - const arr = []; - if (!!canvas.getActiveGroup()) { - canvas.getActiveGroup().forEachObject(function(o) { - arr.push({ - uid: o.uid - , slide: o.slide - }); - }); - } else { - const o = canvas.getActiveObject(); - if (!!o) { - arr.push({ - uid: o.uid - , slide: o.slide - }); - } - } - wbAction('deleteObj', JSON.stringify({ - wbId: wb.id - , obj: arr - })); - return false; - } - } - break; + return _performDelete(); } } function _getWbTab(wbId) { @@ -145,7 +146,7 @@ var DrawWbArea = function() { const li = $(this); _addCloseBtn(li); }); - $(window).keyup(deleteHandler); + self.addDeleteHandler(); } } else { if (prev.length > 0) { @@ -153,7 +154,7 @@ var DrawWbArea = function() { next.parent().remove(); tabsNav.find('li button').remove(); } - $(window).off('keyup', deleteHandler); + self.removeDeleteHandler(); } tabs.find(".ui-tabs-panel").each(function() { $(this).data().setRole(role); @@ -190,7 +191,7 @@ var DrawWbArea = function() { }); }; self.destroy = function() { - $(window).off('keyup', deleteHandler); + self.removeDeleteHandler(); }; self.create = function(obj) { if (!_inited) return; @@ -323,6 +324,14 @@ var DrawWbArea = function() { wbAction('loadVideos'); }; self.initVideos = _initVideos; + self.addDeleteHandler = function() { + if (role === PRESENTER) { + $(window).keyup(_deleteHandler); + } + }; + self.removeDeleteHandler = function() { + $(window).off('keyup', _deleteHandler); + }; return self; }; $(function() {
