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/03/23 05:07:08 UTC

svn commit: r1788173 - in /openmeetings/application/trunk/openmeetings-web/src/main: java/org/apache/openmeetings/web/room/ java/org/apache/openmeetings/web/room/wb/ webapp/css/ webapp/css/images/ webapp/css/images/forms/

Author: solomax
Date: Thu Mar 23 05:07:07 2017
New Revision: 1788173

URL: http://svn.apache.org/viewvc?rev=1788173&view=rev
Log:
[OPENMEETINGS-551] object delete is implemented

Added:
    openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/disk.png
      - copied unchanged from r1788172, openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/forms/disk.png
    openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/plus_icon.png
      - copied unchanged from r1788172, openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/forms/plus_icon.png
    openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/plus_icon_disabled.png
      - copied unchanged from r1788172, openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/forms/plus_icon_disabled.png
Removed:
    openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/arrow_down.png
    openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/arrow_right.png
    openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/images/forms/
Modified:
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
    openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
    openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/forms.css

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js?rev=1788173&r1=1788172&r2=1788173&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js Thu Mar 23 05:07:07 2017
@@ -108,6 +108,9 @@ function roomLoad() {
 function roomUnload() {
 	$(window).off('resize.openmeetings');
 	Wicket.Event.unsubscribe("/websocket/closed", roomClosed);
+	if (!!WbArea) {
+		WbArea.destroy();
+	}
 }
 function startPrivateChat(el) {
 	Chat.addTab('chatTab-u' + el.parent().parent().data("userid"), el.parent().parent().find('.user.name').text());

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html?rev=1788173&r1=1788172&r2=1788173&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.html Thu Mar 23 05:07:07 2017
@@ -22,7 +22,7 @@
 <wicket:panel>
 	<div class="tabs">
 		<div class="wb-tabbar ui-corner-all ui-widget-header">
-			<div class="add om-icon big"></div>
+			<div class="add clickable om-icon big"></div>
 			<div class="scroll-container"><ul class="scrollable"></ul></div>
 		</div>
 	</div>
@@ -49,7 +49,7 @@
 		
 		<div id="wb-area">
 			<canvas></canvas>
-			<div class="tools ui-state-active vertical clear" style="display: none; position: absolute; top: 20px; right: 0px;">
+			<div class="tools ui-state-active vertical clear" style="position: absolute; top: 20px; right: 0px;">
 				<div class="bumper"></div>
 				<div wicket:message="title:72" class="ui-widget-header clickable om-icon big pointer"></div>
 				<div wicket:message="title:557" class="ui-widget-header clickable om-icon big apointer"></div>

Modified: openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js?rev=1788173&r1=1788172&r2=1788173&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js Thu Mar 23 05:07:07 2017
@@ -425,7 +425,7 @@ var Clipart = function(canvas, btn) {
 }
 var Wb = function() {
 	const ACTIVE = 'active';
-	var a, t, s, canvas, mode;
+	var wbId, a, t, s, canvas, mode;
 
 	function getBtn(m) {
 		return t.find(".om-icon." + (m || mode));
@@ -472,7 +472,7 @@ var Wb = function() {
 		});
 	}
 	function internalInit(t) {
-		t.show().draggable({
+		t.draggable({
 			snap: "parent"
 			, containment: "parent"
 			, scroll: false
@@ -487,7 +487,7 @@ var Wb = function() {
 			}
 		});
 		initToolBtn('pointer', true, Pointer(canvas, s));
-		initToolBtn('apointer', true, APointer(canvas, 'TEST USER')); //FIXME TODO
+		initToolBtn('apointer', false, APointer(canvas, 'TEST USER')); //FIXME TODO
 		initToolBtn('text', false, Text(canvas, s));
 		initToolBtn('paint', false, Paint(canvas, s));
 		initToolBtn('line', false, Line(canvas, s));
@@ -563,25 +563,14 @@ var Wb = function() {
 				}
 			}
 		});
-		/* TODO
-		$(window).keydown(function(e) {
-			switch (e.keyCode) {
-				case 46: // delete
-					var obj = canvas.getActiveObject(); //TODO iterate canvas.getActiveGroup()
-					canvas.remove(obj);
-					canvas.renderAll();
-					return false;
-			}
-			return; //using "return" other attached events will execute
-		});
-		*/
 	}
 
 	return {
-		init: function(id) {
-			a = $('#' + id);
+		init: function(_wbId, tid) {
+			wbId = _wbId;
+			a = $('#' + tid);
 			t = a.find('.tools'), c = a.find('canvas'), s = a.find(".wb-settings");
-			c.attr('id', 'can-' + id);
+			c.attr('id', 'can-' + tid);
 			canvas = new fabric.Canvas(c.attr('id'));
 			internalInit(t);
 			setRoomSizes();
@@ -598,6 +587,9 @@ var Wb = function() {
 			canvas.setWidth(w);
 			canvas.setHeight(h);
 		}
+		, getCanvas: function() {
+			return canvas;
+		}
 	};
 };
 var WbArea = (function() {
@@ -606,6 +598,36 @@ var WbArea = (function() {
 	function refreshTabs() {
 		tabs.tabs("refresh").find('ul').removeClass('ui-corner-all').removeClass('ui-widget-header');
 	}
+	function getActive() {
+		var idx = tabs.tabs("option", 'active');
+		if (idx > -1) {
+			var href = tabs.find('a')[idx];
+			if (!!href) {
+				var wb = $($(href).attr('href'));
+				return wb.data('getCanvas')();
+			}
+		}
+		return null;
+	}
+	function deleteHandler(e) {
+		var canvas = getActive();
+		switch (e.which) {
+			case 8:  // backspace
+			case 46: // delete
+				if (!!canvas) {
+					if (canvas.getActiveGroup()) {
+						canvas.getActiveGroup().forEachObject(function(o){ canvas.remove(o) });
+						canvas.discardActiveGroup().renderAll();
+					} else {
+						var obj = canvas.getActiveObject();
+						if (!!obj) {
+							canvas.remove(obj).renderAll();
+						}
+					}
+					return false;
+				}
+		}
+	}
 	self.init = function() {
 		tabs = $('.room.wb.area .tabs').tabs();
 		tabs.find( ".ui-tabs-nav" ).sortable({
@@ -616,7 +638,11 @@ var WbArea = (function() {
 		});
 		container = $(".room.wb.area");
 		area = container.find(".wb-area");
+		$(window).keyup(deleteHandler);
 	}
+	self.destroy = function() {
+		$(window).off('keyup', deleteHandler);
+	};
 	self.add = function(id, name) {
 		var tid = "wb-tab-" + id
 			, li = $('#wb-area-tab').clone().attr('id', '').data('wb-id', id)
@@ -633,7 +659,7 @@ var WbArea = (function() {
 				return false;
 			}
 		});
-		wb.data(Wb()).data('init')(tid);
+		wb.data(Wb()).data('init')(id, tid);
 	}
 	self.resize = function(w, h) {
 		if (!container) return;

Modified: openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/forms.css
URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/forms.css?rev=1788173&r1=1788172&r2=1788173&view=diff
==============================================================================
--- openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/forms.css (original)
+++ openmeetings/application/trunk/openmeetings-web/src/main/webapp/css/forms.css Thu Mar 23 05:07:07 2017
@@ -32,7 +32,7 @@ div.formSaveBar {
 	vertical-align: super;
 }
 div.formSaveButton input {
-	background: url(images/forms/disk.png) no-repeat;
+	background: url(images/disk.png) no-repeat;
 	float: left;
 	cursor: pointer;
 	width: 18px;
@@ -42,13 +42,13 @@ div.formSaveButton input {
 	margin-top: 2px;
 }
 .addButton {
-	background: url(images/forms/plus_icon.png) no-repeat;
+	background: url(images/plus_icon.png) no-repeat;
 }
 .delButton {
-	background: url(images/forms/cancel_icon.png) no-repeat;
+	background: url(images/cancel_icon.png) no-repeat;
 }
 .formNewButton {
-	background: url(images/forms/plus_icon.png) no-repeat;
+	background: url(images/plus_icon.png) no-repeat;
 	float: left;
 	cursor: pointer;
 	width: 18px;
@@ -58,10 +58,10 @@ div.formSaveButton input {
 	margin-top: 2px;
 }
 .formNewButton.disabled {
-	background: url(images/forms/plus_icon_disabled.png) no-repeat;
+	background: url(images/plus_icon_disabled.png) no-repeat;
 }
 div.formRefreshButton input {
-	background: url(images/forms/arrow_refresh_small.png) no-repeat;
+	background: url(images/arrow_refresh_small.png) no-repeat;
 	float: left;
 	cursor: pointer;
 	width: 18px;
@@ -71,7 +71,7 @@ div.formRefreshButton input {
 	margin-top: 2px;
 }
 .formCancelButton {
-	background: url(images/forms/cancel_icon.png) no-repeat;
+	background: url(images/cancel_icon.png) no-repeat;
 	display: inline-block;
 	float: left;
 	cursor: pointer;