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/08 07:26:16 UTC
openmeetings git commit: [OPENMEETINGS-1641] file drop and clear
slide are improved
Repository: openmeetings
Updated Branches:
refs/heads/master c0f1ac792 -> ed0a54860
[OPENMEETINGS-1641] file drop and clear slide are improved
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/ed0a5486
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/ed0a5486
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/ed0a5486
Branch: refs/heads/master
Commit: ed0a548606cc9a60d77b5016a0ef59520145463c
Parents: c0f1ac7
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Fri Sep 8 14:26:08 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Fri Sep 8 14:26:08 2017 +0700
----------------------------------------------------------------------
.../openmeetings/db/dto/room/Whiteboard.java | 3 ++-
.../openmeetings/web/room/wb/WbPanel.java | 8 ++------
.../org/apache/openmeetings/web/room/wb/wb.js | 20 ++++++++++----------
3 files changed, 14 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ed0a5486/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java
index b95bcc9..3e4172c 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java
@@ -112,7 +112,8 @@ public class Whiteboard implements Serializable {
public JSONArray clearSlide(int slide) {
JSONArray arr = new JSONArray();
roomItems.entrySet().removeIf(e -> {
- boolean match = new JSONObject(e.getValue()).optInt("slide", -1) == slide;
+ JSONObject o = new JSONObject(e.getValue());
+ boolean match = !"Presentation".equals(o.optString("fileType")) && o.optInt("slide", -1) == slide;
if (match) {
arr.put(e);
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ed0a5486/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
index fcd1a34..060fd88 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
@@ -472,7 +472,6 @@ public class WbPanel extends AbstractWbPanel {
Whiteboards wbs = WhiteboardCache.get(roomId);
String wuid = UUID.randomUUID().toString();
Whiteboard wb = wbs.get(wbs.getActiveWb());
- final boolean[] updated = {false};
switch (fi.getType()) {
case Folder:
//do nothing
@@ -484,7 +483,7 @@ public class WbPanel extends AbstractWbPanel {
try (BufferedReader br = Files.newBufferedReader(f.toPath())) {
JSONArray arr = getArray(new JSONObject(new JSONTokener(br)), (o) -> {
wb.put(o.getString("uid"), o);
- updated[0] = true;
+ WhiteboardCache.update(roomId, wb);
return addFileUrl(wbs.getUid(), o, _f -> {
updateWbSize(wb, _f);
});
@@ -519,15 +518,12 @@ public class WbPanel extends AbstractWbPanel {
}
wb.put(wuid, file);
updateWbSize(wb, fi);
- updated[0] = true;
+ WhiteboardCache.update(roomId, wb);
sendWbAll(WbAction.setSize, getAddWbJson(wb));
WbWebSocketHelper.sendWbFile(roomId, wb.getId(), ruid, file, fi);
}
break;
}
- if (updated[0]) {
- WhiteboardCache.update(roomId, wb);
- }
}
}
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/ed0a5486/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 898cf59..afe37ea 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
@@ -824,7 +824,7 @@ var Wb = function() {
case 'Recording':
{
let canvas = canvases[_o.slide];
- let vid = $('<video>').hide().attr('class', 'wb-video').attr('id', 'wb-video-' + _o.uid)
+ 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))
let mainColor = '#ff6600';
@@ -1006,8 +1006,10 @@ var Wb = function() {
default:
{
let canvas = canvases[_o.slide];
- _o.selectable = canvas.selection;
- canvas.add(_o);
+ if (!!canvas) {
+ _o.selectable = canvas.selection;
+ canvas.add(_o);
+ }
}
break;
}
@@ -1172,10 +1174,6 @@ var Wb = function() {
canvas.wbId = wb.id;
canvas.slide = sl;
canvases.push(canvas);
- fabric.util.requestAnimFrame(function render() {
- canvas.renderAll();
- fabric.util.requestAnimFrame(render);
- });
var cc = $('#' + cid).closest('.canvas-container');
if (role === NONE) {
if (sl == slide) {
@@ -1346,12 +1344,14 @@ var Wb = function() {
};
wb.clearSlide = function(_sl) {
if (canvases.length > _sl) {
- var canvas = canvases[_sl];
+ let canvas = canvases[_sl];
canvas.renderOnAddRemove = false;
- var arr = canvas.getObjects();
+ let arr = canvas.getObjects();
while (arr.length > 0) {
- arr[arr.length - 1].remove();
+ canvas.remove(arr[arr.length - 1]);
+ arr = canvas.getObjects();
}
+ $('.room.wb.area .wb-video.slide-' + _sl).remove();
canvas.renderOnAddRemove = true;
canvas.renderAll();
}