Repository: openmeetings
Updated Branches:
  refs/heads/4.0.x efcb62909 -> 870ca9f9a


[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/870ca9f9
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/870ca9f9
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/870ca9f9

Branch: refs/heads/4.0.x
Commit: 870ca9f9a6c832604d103b80a294e71f977f7719
Parents: efcb629
Author: Maxim Solodovnik <[email protected]>
Authored: Sat Nov 4 20:18:57 2017 +0700
Committer: Maxim Solodovnik <[email protected]>
Committed: Sat Nov 4 20:18:57 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/870ca9f9/openmeetings-web/pom.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/pom.xml b/openmeetings-web/pom.xml
index 1ff54b1..63d2fad 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/870ca9f9/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/870ca9f9/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/870ca9f9/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/870ca9f9/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/870ca9f9/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/870ca9f9/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/870ca9f9/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/870ca9f9/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/870ca9f9/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/870ca9f9/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/870ca9f9/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 93de5e3..306d418 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 _updateZoomPanel() {
@@ -263,7 +263,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/870ca9f9/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;

Reply via email to