Repository: openmeetings Updated Branches: refs/heads/master be226490a -> 445e51e09
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/445e51e0/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/player.js ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/player.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/player.js index 7659eba..56adc13 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/player.js +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/player.js @@ -23,196 +23,193 @@ var Player = (function() { .append($('<source>').attr('type', 'video/mp4').attr('src', _o._src)); $('#wb-tab-' + canvas.wbId).append(vid); new fabric.Image.fromURL(_o._poster, function(poster) { - new fabric.Image(vid[0], {}, function (video) { - video.visible = false; - poster.width = _o.width; - poster.height = _o.height; - if (typeof(_o.status) === 'undefined') { - _o.status = {paused: true}; - } - let playable = false; - const trg = new fabric.Triangle({ - left: 2.7 * rad - , top: _o.height - 2.5 * rad - , visible: _o.status.paused - , angle: 90 - , width: rad - , height: rad - , stroke: mainColor - , fill: mainColor - }); - const rectPause1 = new fabric.Rect({ - left: 1.6 * rad - , top: _o.height - 2.5 * rad - , visible: !_o.status.paused - , width: rad / 3 - , height: rad - , stroke: mainColor - , fill: mainColor - }); - const rectPause2 = new fabric.Rect({ - left: 2.1 * rad - , top: _o.height - 2.5 * rad - , visible: !_o.status.paused - , width: rad / 3 - , height: rad - , stroke: mainColor - , fill: mainColor - }); - const play = new fabric.Group([ - new fabric.Circle({ - left: rad - , top: _o.height - 3 * rad - , radius: rad - , stroke: mainColor - , strokeWidth: 2 - , fill: null - }) - , trg, rectPause1, rectPause2] - , { - objectCaching: false - , visible: false - }); - const cProgress = new fabric.Rect({ - left: 3.5 * rad - , top: _o.height - 1.5 * rad - , visible: false - , width: _o.width - 5 * rad - , height: rad / 2 - , stroke: mainColor - , fill: null - , rx: 5 - , ry: 5 - }); - const isDone = function() { - return video.getElement().currentTime === video.getElement().duration; - }; - const updateProgress = function() { - progress.set('width', (video.getElement().currentTime * cProgress.width) / video.getElement().duration); - canvas.renderAll(); - }; - const progress = new fabric.Rect({ - left: 3.5 * rad - , top: _o.height - 1.5 * rad + poster.scaleX = poster.scaleY = _o.width / poster.getOriginalSize().width; + const video = new fabric.Image(vid[0], {visible: false}); + if (typeof(_o.status) === 'undefined') { + _o.status = {paused: true}; + } + let playable = false; + const trg = new fabric.Triangle({ + left: 2.7 * rad + , top: _o.height - 2.5 * rad + , visible: _o.status.paused + , angle: 90 + , width: rad + , height: rad + , stroke: mainColor + , fill: mainColor + }); + const rectPause1 = new fabric.Rect({ + left: 1.6 * rad + , top: _o.height - 2.5 * rad + , visible: !_o.status.paused + , width: rad / 3 + , height: rad + , stroke: mainColor + , fill: mainColor + }); + const rectPause2 = new fabric.Rect({ + left: 2.1 * rad + , top: _o.height - 2.5 * rad + , visible: !_o.status.paused + , width: rad / 3 + , height: rad + , stroke: mainColor + , fill: mainColor + }); + const play = new fabric.Group([ + new fabric.Circle({ + left: rad + , top: _o.height - 3 * rad + , radius: rad + , stroke: mainColor + , strokeWidth: 2 + , fill: null + }) + , trg, rectPause1, rectPause2] + , { + objectCaching: false , visible: false - , width: 0 - , height: rad / 2 - , stroke: mainColor - , fill: mainColor - , rx: 5 - , ry: 5 }); - let request; + const cProgress = new fabric.Rect({ + left: 3.5 * rad + , top: _o.height - 1.5 * rad + , visible: false + , width: _o.width - 5 * rad + , height: rad / 2 + , stroke: mainColor + , fill: null + , rx: 5 + , ry: 5 + }); + const isDone = function() { + return video.getElement().currentTime === video.getElement().duration; + }; + const updateProgress = function() { + progress.set('width', (video.getElement().currentTime * cProgress.width) / video.getElement().duration); + canvas.requestRenderAll(); + }; + const progress = new fabric.Rect({ + left: 3.5 * rad + , top: _o.height - 1.5 * rad + , visible: false + , width: 0 + , height: rad / 2 + , stroke: mainColor + , fill: mainColor + , rx: 5 + , ry: 5 + }); + let request; - const opts = $.extend({ - subTargetCheck: true - , objectCaching: false - , omType: 'Video' - , selectable: canvas.selection - }, _filter(_o, ['fileId', 'fileType', 'slide', 'uid', '_poster', '_src', 'width', 'height', 'status'])); - const group = new fabric.Group([video, poster, play, progress, cProgress], opts); + const opts = $.extend({ + subTargetCheck: true + , objectCaching: false + , omType: 'Video' + , selectable: canvas.selection + }, _filter(_o, ['fileId', 'fileType', 'slide', 'uid', '_poster', '_src', 'width', 'height', 'status'])); + const group = new fabric.Group([video, poster, play, progress, cProgress], opts); - const updateControls = function() { - video.visible = true; - poster.visible = false; + const updateControls = function() { + video.visible = true; + poster.visible = false; - trg.visible = group.status.paused; - rectPause1.visible = !group.status.paused; - rectPause2.visible = !group.status.paused; - canvas.renderAll(); - }; - const render = function () { - if (isDone()) { - _sendStatus(group, true, video.getElement().duration); - updateControls(); - } - updateProgress(); - if (group.status.paused) { - cancelAnimationFrame(request); - canvas.renderAll(); - } else { - request = fabric.util.requestAnimFrame(render); - } - }; - cProgress.on({ - 'mousedown': function (evt) { - const _ptr = canvas.getPointer(evt.e, true) - , ptr = canvas._normalizePointer(group, _ptr) - , l = ptr.x - cProgress.aCoords.bl.x + group.width / 2; - _sendStatus(group, group.status.paused, l * video.getElement().duration / cProgress.width) - } - }); - play.on({ - /* - * https://github.com/kangax/fabric.js/issues/4115 - * - 'mouseover': function() { - circle1.set({strokeWidth: 4}); - canvas.renderAll(); - } - , 'mouseout': function() { - circle1.set({ - left: pos.left - , top: pos.top - , strokeWidth: 2 - }); - canvas.renderAll(); - } - , */'mousedown': function () { - play.set({ - left: pos.left + 3 - , top: pos.top + 3 - }); - canvas.renderAll(); - } - , 'mouseup': function () { - play.set({ - left: pos.left - , top: pos.top - }); - if (!group.status.paused && isDone()) { - video.getElement().currentTime = 0; - } - _sendStatus(group, !group.status.paused, video.getElement().currentTime) - updateControls(); - } - }); - group.on({ - 'mouseover': function() { - play.visible = playable; - cProgress.visible = playable; - progress.visible = playable; - canvas.renderAll(); - } - , 'mouseout': function() { - play.visible = false; - cProgress.visible = false; - progress.visible = false; - canvas.renderAll(); - } - }); - group.setPlayable = function(_r) { - playable = _r !== NONE; - }; - group.videoStatus = function(_status) { - group.status = _status; + trg.visible = group.status.paused; + rectPause1.visible = !group.status.paused; + rectPause2.visible = !group.status.paused; + canvas.requestRenderAll(); + }; + const render = function () { + if (isDone()) { + _sendStatus(group, true, video.getElement().duration); updateControls(); - video.getElement().currentTime = group.status.pos; - updateProgress(); - if (group.status.paused) { - video.getElement().pause(); - } else { - video.getElement().play(); - fabric.util.requestAnimFrame(render); + } + updateProgress(); + if (group.status.paused) { + cancelAnimationFrame(request); + canvas.requestRenderAll(); + } else { + request = fabric.util.requestAnimFrame(render); + } + }; + cProgress.on({ + 'mousedown': function (evt) { + const _ptr = canvas.getPointer(evt.e, true) + , ptr = canvas._normalizePointer(group, _ptr) + , l = ptr.x - cProgress.aCoords.bl.x + group.width / 2; + _sendStatus(group, group.status.paused, l * video.getElement().duration / cProgress.width) + } + }); + play.on({ + /* + * https://github.com/kangax/fabric.js/issues/4115 + * + 'mouseover': function() { + circle1.set({strokeWidth: 4}); + canvas.requestRenderAll(); + } + , 'mouseout': function() { + circle1.set({ + left: pos.left + , top: pos.top + , strokeWidth: 2 + }); + canvas.requestRenderAll(); + } + , */'mousedown': function () { + play.set({ + left: pos.left + 3 + , top: pos.top + 3 + }); + canvas.requestRenderAll(); + } + , 'mouseup': function () { + play.set({ + left: pos.left + , top: pos.top + }); + if (!group.status.paused && isDone()) { + video.getElement().currentTime = 0; } + _sendStatus(group, !group.status.paused, video.getElement().currentTime) + updateControls(); + } + }); + group.on({ + 'mouseover': function() { + play.visible = playable; + cProgress.visible = playable; + progress.visible = playable; + canvas.requestRenderAll(); + } + , 'mouseout': function() { + play.visible = false; + cProgress.visible = false; + progress.visible = false; + canvas.requestRenderAll(); } - group.setPlayable(wb.getRole()); - canvas.add(group); - canvas.renderAll(); - player.modify(group, _o); - - const pos = {left: play.left, top: play.top}; }); + group.setPlayable = function(_r) { + playable = _r !== NONE; + }; + group.videoStatus = function(_status) { + group.status = _status; + updateControls(); + video.getElement().currentTime = group.status.pos; + updateProgress(); + if (group.status.paused) { + video.getElement().pause(); + } else { + video.getElement().play(); + fabric.util.requestAnimFrame(render); + } + } + group.setPlayable(wb.getRole()); + canvas.add(group); + canvas.requestRenderAll(); + player.modify(group, _o); + + const pos = {left: play.left, top: play.top}; }); }; player.modify = function(g, _o) { @@ -224,7 +221,7 @@ var Player = (function() { , top: 10 }, _filter(_o, ['angle', 'left', 'scaleX', 'scaleY', 'top'])); g.set(opts); - g.canvas.renderAll(); + g.canvas.requestRenderAll(); }; return player; })(); http://git-wip-us.apache.org/repos/asf/openmeetings/blob/445e51e0/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-shape.js ---------------------------------------------------------------------- diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-shape.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-shape.js index cde5b89..875dfd8 100644 --- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-shape.js +++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/tool-shape.js @@ -21,7 +21,7 @@ var Shape = function(wb) { if (!shape.isDown) return; const pointer = canvas.getPointer(o.e); shape.updateShape(pointer); - canvas.renderAll(); + canvas.requestRenderAll(); }; shape.updateCreated = function(o) { return o; @@ -31,7 +31,7 @@ var Shape = function(wb) { shape.isDown = false; shape.obj.setCoords(); shape.obj.selectable = false; - canvas.renderAll(); + canvas.requestRenderAll(); shape.objectCreated(shape.obj, canvas); }; shape.internalActivate = function() {}; http://git-wip-us.apache.org/repos/asf/openmeetings/blob/445e51e0/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 85a5b8d..775ba77 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 @@ -25,22 +25,12 @@ var DrawWbArea = function() { return true; } const arr = []; - if (!!canvas.getActiveGroup()) { - canvas.getActiveGroup().forEachObject(function(o) { - arr.push({ - uid: o.uid - , slide: o.slide - }); + canvas.getActiveObjects().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 http://git-wip-us.apache.org/repos/asf/openmeetings/blob/445e51e0/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 9bc70fb..417db27 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 @@ -281,7 +281,7 @@ var Wb = function() { if (!!__o) { const cnvs = canvases[o.slide]; if (!!cnvs) { - cnvs.discardActiveGroup(); + cnvs.discardActiveObject(); if ('Video' === __o.omType) { $('#wb-video-' + __o.uid).remove(); } @@ -345,7 +345,7 @@ var Wb = function() { wb.eachCanvas(function(canvas) { canvas.renderOnAddRemove = true; - canvas.renderAll(); + canvas.requestRenderAll(); }); }); }; @@ -360,7 +360,7 @@ var Wb = function() { return r; } //events - function wbObjCreatedHandler(o) { + function objCreatedHandler(o) { if (role === NONE && o.type !== 'pointer') return; let json; @@ -385,7 +385,7 @@ var Wb = function() { case 'i-text': o.uid = UUID.generate(); o.slide = this.slide; - wbObjCreatedHandler(o); + objCreatedHandler(o); break; default: o.selectable = this.selection; @@ -397,7 +397,7 @@ var Wb = function() { if (role === NONE && o.type !== 'pointer') return; o.includeDefaultValues = false; - if ("group" === o.type && o.omType !== 'Video') { + if ("activeSelection" === o.type) { o.clone(function(_o) { // ungrouping _o.includeDefaultValues = false; @@ -424,7 +424,7 @@ var Wb = function() { function pathCreatedHandler(o) { o.path.uid = UUID.generate(); o.path.slide = this.slide; - wbObjCreatedHandler(o.path); + objCreatedHandler(o.path); }; function scrollHandler() { $(this).find('.canvas-container').each(function(idx) { @@ -462,7 +462,7 @@ var Wb = function() { function setHandlers(canvas) { // off everything first to prevent duplicates canvas.off({ - 'wb:object:created': wbObjCreatedHandler + 'wb:object:created': objCreatedHandler , 'object:modified': objModifiedHandler , 'object:added': objAddedHandler , 'object:selected': objSelectedHandler @@ -471,7 +471,7 @@ var Wb = function() { //, 'text:changed': textChangedHandler }); canvas.on({ - 'wb:object:created': wbObjCreatedHandler + 'wb:object:created': objCreatedHandler , 'object:modified': objModifiedHandler }); if (role !== NONE) { @@ -702,7 +702,7 @@ var Wb = function() { } $('.room.wb.area .wb-video.slide-' + _sl).remove(); canvas.renderOnAddRemove = true; - canvas.renderAll(); + canvas.requestRenderAll(); } }; wb.getCanvas = function() {
