Repository: openmeetings Updated Branches: refs/heads/master c648c9d77 -> 2f472369f
[OPENMEETINGS-1743] Tool props are disabled for APointer, Clipart Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/435c350a Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/435c350a Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/435c350a Branch: refs/heads/master Commit: 435c350a97fda4c3c6d1d498a9b977828a4c0784 Parents: c87bf51 Author: Maxim Solodovnik <[email protected]> Authored: Sat Nov 4 20:18:57 2017 +0700 Committer: Maxim Solodovnik <[email protected]> Committed: Sat Nov 4 20:19:22 2017 +0700 ---------------------------------------------------------------------- openmeetings-web/pom.xml | 1 + .../openmeetings/web/room/wb/tool-apointer.js | 3 +- .../openmeetings/web/room/wb/tool-arrow.js | 2 +- .../openmeetings/web/room/wb/tool-clipart.js | 9 ++++-- .../openmeetings/web/room/wb/tool-line.js | 2 +- .../openmeetings/web/room/wb/tool-paint.js | 2 +- .../openmeetings/web/room/wb/tool-pointer.js | 5 +-- .../openmeetings/web/room/wb/tool-rect.js | 2 +- .../openmeetings/web/room/wb/tool-shape-base.js | 21 ------------- .../openmeetings/web/room/wb/tool-text.js | 2 +- .../openmeetings/web/room/wb/tool-util.js | 32 ++++++++++++++++++++ .../apache/openmeetings/web/room/wb/wb-board.js | 4 +-- openmeetings-web/src/main/webapp/css/wb.css | 1 + 13 files changed, 50 insertions(+), 36 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/openmeetings/blob/435c350a/openmeetings-web/pom.xml ---------------------------------------------------------------------- diff --git a/openmeetings-web/pom.xml b/openmeetings-web/pom.xml index 079f416..2189b86 100644 --- a/openmeetings-web/pom.xml +++ b/openmeetings-web/pom.xml @@ -153,6 +153,7 @@ <jsSourceFile>wb-all.js</jsSourceFile> <jsSourceFile>uuid.js</jsSourceFile> <jsSourceFile>player.js</jsSourceFile> + <jsSourceFile>tool-util.js</jsSourceFile> <jsSourceFile>tool-base.js</jsSourceFile> <jsSourceFile>tool-pointer.js</jsSourceFile> <jsSourceFile>tool-apointer.js</jsSourceFile> http://git-wip-us.apache.org/repos/asf/openmeetings/blob/435c350a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-apointer.js ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-apointer.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-apointer.js index 50498ca..7947ed9 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-apointer.js +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-apointer.js @@ -1,5 +1,5 @@ /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ -var APointer = function(wb) { +var APointer = function(wb, s) { const pointer = Base(); pointer.user = ''; pointer.create = function(canvas, o) { @@ -85,6 +85,7 @@ var APointer = function(wb) { canvas.selection = false; canvas.on('mouse:up', pointer.mouseUp); }); + ToolUtil.disableAllProps(s); } pointer.deactivate = function() { wb.eachCanvas(function(canvas) { http://git-wip-us.apache.org/repos/asf/openmeetings/blob/435c350a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-arrow.js ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-arrow.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-arrow.js index b3e6366..b7315f8 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-arrow.js +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-arrow.js @@ -50,7 +50,7 @@ var Arrow = function(wb, s) { }); }; arrow.internalActivate = function() { - arrow.enableAllProps(s); + ToolUtil.enableAllProps(s, arrow); }; return arrow; }; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/435c350a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-clipart.js ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-clipart.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-clipart.js index dd3d189..70257d2 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-clipart.js +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-clipart.js @@ -1,5 +1,5 @@ /* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ -var Clipart = function(wb, btn) { +var Clipart = function(wb, btn, s) { const art = Shape(wb); art.add2Canvas = function(canvas) {} art.createShape = function(canvas) { @@ -17,7 +17,7 @@ var Clipart = function(wb, btn) { }); canvas.add(art.obj); }); - } + }; art.updateShape = function(pointer) { if (!art.obj) { return; // not ready @@ -29,6 +29,9 @@ var Clipart = function(wb, btn) { , height: art.orig.height * d / art.orig.width , angle: Math.atan2(dy, dx) * 180 / Math.PI }); - } + }; + art.internalActivate = function() { + ToolUtil.disableAllProps(s); + }; return art; }; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/435c350a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-line.js ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-line.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-line.js index 3c946e5..a8b8b2a 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-line.js +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-line.js @@ -11,7 +11,7 @@ var Line = function(wb, s) { return line.obj; }; line.internalActivate = function() { - line.enableLineProps(s); + ToolUtil.enableLineProps(s, line); }; line.updateShape = function(pointer) { line.obj.set({ x2: pointer.x, y2: pointer.y }); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/435c350a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-paint.js ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-paint.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-paint.js index cd91871..75d6530 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-paint.js +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-paint.js @@ -8,7 +8,7 @@ var Paint = function(wb, s) { canvas.freeDrawingBrush.color = paint.stroke.color; canvas.freeDrawingBrush.opacity = paint.opacity; //TODO not working }); - paint.enableLineProps(s).o.prop('disabled', true); //TODO not working + ToolUtil.enableLineProps(s, paint).o.prop('disabled', true); //TODO not working }; paint.deactivate = function() { wb.eachCanvas(function(canvas) { http://git-wip-us.apache.org/repos/asf/openmeetings/blob/435c350a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-pointer.js ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-pointer.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-pointer.js index d69dd96..02abb51 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-pointer.js +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-pointer.js @@ -8,10 +8,7 @@ var Pointer = function(wb, s) { o.selectable = true; }); }); - s.find('[class^="wb-prop"]').prop('disabled', true); - if (!!s.find('.wb-prop-b').button("instance")) { - s.find('.wb-prop-b, .wb-prop-i, .wb-prop-lock-color, .wb-prop-lock-fill').button("disable"); - } + ToolUtil.disableAllProps(s); } , deactivate: function() { wb.eachCanvas(function(canvas) { http://git-wip-us.apache.org/repos/asf/openmeetings/blob/435c350a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-rect.js ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-rect.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-rect.js index 041e599..f26a450 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-rect.js +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-rect.js @@ -14,7 +14,7 @@ var Rect = function(wb, s) { return rect.obj; }; rect.internalActivate = function() { - rect.enableAllProps(s); + ToolUtil.enableAllProps(s, rect); }; rect.updateShape = function(pointer) { if (rect.orig.x > pointer.x) { http://git-wip-us.apache.org/repos/asf/openmeetings/blob/435c350a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-shape-base.js ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-shape-base.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-shape-base.js index 0eaf276..8347521 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-shape-base.js +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-shape-base.js @@ -4,26 +4,5 @@ var ShapeBase = function() { base.fill = {enabled: true, color: '#FFFF33'}; base.stroke = {enabled: true, color: '#FF6600', width: 5}; base.opacity = 1; - base.enableLineProps = function(s) { - const c = s.find('.wb-prop-color'), w = s.find('.wb-prop-width'), o = s.find('.wb-prop-opacity'); - s.find('.wb-prop-fill').prop('disabled', true); - s.find('.wb-prop-b, .wb-prop-i, .wb-prop-lock-color, .wb-prop-lock-fill').button("disable"); - c.val(base.stroke.color).prop('disabled', false); - w.val(base.stroke.width).prop('disabled', false); - o.val(100 * base.opacity).prop('disabled', false); - return {c: c, w: w, o: o}; - }; - base.enableAllProps = function(s) { - const c = s.find('.wb-prop-color'), w = s.find('.wb-prop-width') - , o = s.find('.wb-prop-opacity'), f = s.find('.wb-prop-fill') - , lc = s.find('.wb-prop-lock-color'), lf = s.find('.wb-prop-lock-fill'); - s.find('.wb-prop-b, .wb-prop-i').button("disable"); - lc.button("enable").button('option', 'icon', base.stroke.enabled ? 'ui-icon-unlocked' : 'ui-icon-locked'); - lf.button("enable").button('option', 'icon', base.fill.enabled ? 'ui-icon-unlocked' : 'ui-icon-locked'); - c.val(base.stroke.color).prop('disabled', !base.stroke.enabled); - w.val(base.stroke.width).prop('disabled', false); - o.val(100 * base.opacity).prop('disabled', false); - f.val(base.fill.color).prop('disabled', !base.fill.enabled); - }; return base; }; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/435c350a/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 9705324..45f3928 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 @@ -44,7 +44,7 @@ var Text = function(wb, s) { } }); }); - text.enableAllProps(s); + ToolUtil.enableAllProps(s, text); const b = s.find('.wb-prop-b').button("enable"); if (text.style.bold) { b.addClass('ui-state-active selected'); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/435c350a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-util.js ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-util.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-util.js new file mode 100644 index 0000000..538b31c --- /dev/null +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-util.js @@ -0,0 +1,32 @@ +/* Licensed under the Apache License, Version 2.0 (the "License") http://www.apache.org/licenses/LICENSE-2.0 */ +var ToolUtil = (function() { + return { + enableLineProps: function(s, base) { + const c = s.find('.wb-prop-color'), w = s.find('.wb-prop-width'), o = s.find('.wb-prop-opacity'); + s.find('.wb-prop-fill').prop('disabled', true); + s.find('.wb-prop-b, .wb-prop-i, .wb-prop-lock-color, .wb-prop-lock-fill').button("disable"); + c.val(base.stroke.color).prop('disabled', false); + w.val(base.stroke.width).prop('disabled', false); + o.val(100 * base.opacity).prop('disabled', false); + return {c: c, w: w, o: o}; + } + , enableAllProps: function(s, base) { + const c = s.find('.wb-prop-color'), w = s.find('.wb-prop-width') + , o = s.find('.wb-prop-opacity'), f = s.find('.wb-prop-fill') + , lc = s.find('.wb-prop-lock-color'), lf = s.find('.wb-prop-lock-fill'); + s.find('.wb-prop-b, .wb-prop-i').button("disable"); + lc.button("enable").button('option', 'icon', base.stroke.enabled ? 'ui-icon-unlocked' : 'ui-icon-locked'); + lf.button("enable").button('option', 'icon', base.fill.enabled ? 'ui-icon-unlocked' : 'ui-icon-locked'); + c.val(base.stroke.color).prop('disabled', !base.stroke.enabled); + w.val(base.stroke.width).prop('disabled', false); + o.val(100 * base.opacity).prop('disabled', false); + f.val(base.fill.color).prop('disabled', !base.fill.enabled); + } + , disableAllProps: function(s) { + s.find('[class^="wb-prop"]').prop('disabled', true); + if (!!s.find('.wb-prop-b').button("instance")) { + s.find('.wb-prop-b, .wb-prop-i, .wb-prop-lock-color, .wb-prop-lock-fill').button("disable"); + } + } + }; +})(); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/435c350a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-board.js ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-board.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-board.js index c827f11..9ee6b04 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-board.js +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-board.js @@ -47,7 +47,7 @@ var Wb = function() { c.find('ul li').prepend(old); c.find('a').prepend(cur); }); - initToolBtn(cur.data('mode'), false, Clipart(wb, cur)); + initToolBtn(cur.data('mode'), false, Clipart(wb, cur, s)); }); } function confirmDlg(_id, okHandler) { @@ -285,7 +285,7 @@ var Wb = function() { })); }); _setSize(); - initToolBtn('apointer', _firstToolItem, APointer(wb)); + initToolBtn('apointer', _firstToolItem, APointer(wb, s)); } } function _findObject(o) { http://git-wip-us.apache.org/repos/asf/openmeetings/blob/435c350a/openmeetings-web/src/main/webapp/css/wb.css ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/webapp/css/wb.css b/openmeetings-web/src/main/webapp/css/wb.css index 6f3f038..e9af380 100644 --- a/openmeetings-web/src/main/webapp/css/wb.css +++ b/openmeetings-web/src/main/webapp/css/wb.css @@ -131,6 +131,7 @@ } .wb-settings { position: absolute; + z-index: 95; } .wb-settings, .wb-settings .tab.props { display: inline-block;
