You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/09/10 07:37:43 UTC
openmeetings git commit: [OPENMEETINGS-1641] rewind on click is added
Repository: openmeetings
Updated Branches:
refs/heads/master 057719dec -> f8f2799cb
[OPENMEETINGS-1641] rewind on click is added
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/f8f2799c
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/f8f2799c
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/f8f2799c
Branch: refs/heads/master
Commit: f8f2799cb1b3a225998d3887f9468070d4d0a2e7
Parents: 057719d
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Sun Sep 10 14:37:35 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Sun Sep 10 14:37:35 2017 +0700
----------------------------------------------------------------------
.../org/apache/openmeetings/web/room/wb/wb.js | 29 ++++++++++++++------
1 file changed, 20 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/f8f2799c/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
index f33c81d..4edf5c1 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
@@ -49,17 +49,17 @@ var Player = (function() {
return props.reduce((result, key) => { result[key] = _o[key]; return result; }, {});
}
- player.create = function(canvas, _o) {
+ player.create = function(canvas, _o, _role) {
let vid = $('<video>').hide().attr('class', 'wb-video slide-' + canvas.slide).attr('id', 'wb-video-' + _o.uid)
.attr("width", _o.width).attr("height", _o.height)
.append($('<source>').attr('type', 'video/mp4').attr('src', _o._src));
- $('body').append(vid);
+ $('#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;
- let paused = true;
+ let paused = true, playable = false;
let trg = new fabric.Triangle({
left: 2.7 * rad
, top: _o.height - 2.5 * rad
@@ -131,8 +131,10 @@ var Player = (function() {
};
cProgress.on({
'mousedown': function (evt) {
- video.getElement().currentTime = (evt.e.offsetX - evt.target.aCoords.bl.x - cProgress.aCoords.bl.x)
- * video.getElement().duration / cProgress.width;
+ let _ptr = canvas.getPointer(evt.e)
+ , ptr = canvas._normalizePointer(group, _ptr)
+ , l = (group.width / 2 + ptr.x) * canvas.getZoom() - cProgress.aCoords.bl.x;
+ video.getElement().currentTime = l * video.getElement().duration / cProgress.width;
updateProgress();
}
});
@@ -212,9 +214,9 @@ var Player = (function() {
group.on({
'mouseover': function() {
- play.visible = true;
- cProgress.visible = true;
- progress.visible = true;
+ play.visible = playable;
+ cProgress.visible = playable;
+ progress.visible = playable;
canvas.renderAll();
}
, 'mouseout': function() {
@@ -224,6 +226,10 @@ var Player = (function() {
canvas.renderAll();
}
});
+ group.setPlayable = function(_r) {
+ playable = _r !== NONE;
+ };
+ group.setPlayable(_role);
canvas.add(group);
canvas.renderAll();
player.modify(group, _o);
@@ -1294,6 +1300,11 @@ var Wb = function() {
t = a.find('.tools'), s = a.find(".wb-settings");
wb.eachCanvas(function(canvas) {
setHandlers(canvas);
+ canvas.forEachObject(function(__o) { //TODO reduce iterations
+ if (!!__o && __o.omType === 'Video') {
+ __o.setPlayable(role);
+ }
+ });
});
internalInit();
}
@@ -1350,7 +1361,7 @@ var Wb = function() {
APointer().create(canvases[o.slide], o);
break;
case 'video':
- Player.create(canvases[o.slide], o);
+ Player.create(canvases[o.slide], o, role);
break;
default:
var __o = _findObject(o);