[Libreoffice-commits] online.git: 4 commits - loleaflet/debug loleaflet/dist loleaflet/src

Mihai Varga mihai.varga at collabora.com
Wed Jul 15 05:13:11 PDT 2015


 loleaflet/debug/document/document_simple_example.html |    2 
 loleaflet/dist/leaflet.css                            |   36 +++++++++++++-
 loleaflet/src/control/Control.Parts.js                |   44 +++++++++++++++++-
 loleaflet/src/control/Parts.js                        |    6 ++
 loleaflet/src/layer/tile/TileLayer.js                 |   17 +++++-
 5 files changed, 97 insertions(+), 8 deletions(-)

New commits:
commit 70d47f8d8340ce3ba04c9c78d74db732aa4a48db
Author: Mihai Varga <mihai.varga at collabora.com>
Date:   Wed Jul 15 15:12:44 2015 +0300

    loleaflet: spreadsheet tab control

diff --git a/loleaflet/src/control/Control.Parts.js b/loleaflet/src/control/Control.Parts.js
index 4278abe..9a566f6 100644
--- a/loleaflet/src/control/Control.Parts.js
+++ b/loleaflet/src/control/Control.Parts.js
@@ -22,6 +22,8 @@ L.Control.Parts = L.Control.extend({
 				partName + '-next', container, this._nextPart);
 		this._previewInitialized = false;
 		this._previewTiles = {};
+		this._tabsInitialized = false;
+		this._spreadsheetTabs = {};
 
 		map.on('updateparts', this._updateDisabled, this);
 		map.on('tilepreview', this._updatePreview, this);
@@ -91,6 +93,38 @@ L.Control.Parts = L.Control.extend({
 			}
 			this._previewInitialized = true;
 		}
+		if (docType === 'spreadsheet') {
+			if (!this._tabsInitialized) {
+				// make room for the preview
+				var docContainer = L.DomUtil.get('document-container');
+				L.DomUtil.setStyle(docContainer, 'bottom', '20px');
+				setTimeout(L.bind(function () {
+					this._map.invalidateSize();
+					$("#scroll-container").mCustomScrollbar('update');
+				}, this), 500);
+				var container = L.DomUtil.get('spreadsheet-tab');
+				for (var i = 0; i < parts; i++) {
+					var id = 'spreadsheet-tab' + i;
+					var tab = L.DomUtil.create('li', '', container);
+					tab.innerHTML = 'Sheet ' + (i + 1);
+					tab.id = id;
+					L.DomEvent
+						.on(tab, 'click', L.DomEvent.stopPropagation)
+						.on(tab, 'click', L.DomEvent.stop)
+						.on(tab, 'click', this._setPart, this)
+						.on(tab, 'click', this._refocusOnMap, this);
+					this._spreadsheetTabs[id] = tab;
+				}
+				this._tabsInitialized = true;
+			}
+			for (key in this._spreadsheetTabs) {
+				var part =  parseInt(key.match(/\d+/g)[0]);
+				L.DomUtil.removeClass(this._spreadsheetTabs[key], "selected");
+				if (part === currentPart) {
+					L.DomUtil.addClass(this._spreadsheetTabs[key], "selected");
+				}
+			}
+		}
 	},
 
 	_setPart: function (e) {
diff --git a/loleaflet/src/control/Parts.js b/loleaflet/src/control/Parts.js
index 0067894..6f8c143 100644
--- a/loleaflet/src/control/Parts.js
+++ b/loleaflet/src/control/Parts.js
@@ -20,7 +20,11 @@ L.Map.include({
 		else {
 			return;
 		}
-		this.fire('updateparts', {currentPart : docLayer._currentPart, parts : docLayer._parts});
+		this.fire('updateparts', {
+			currentPart: docLayer._currentPart,
+			parts: docLayer._parts,
+			docType: docLayer._docType
+		});
 		docLayer._update();
 		docLayer._pruneTiles();
 		docLayer._clearSelections();
commit 70ff91775208409b1126c62b1a89db8cf3cad3b7
Author: Mihai Varga <mihai.varga at collabora.com>
Date:   Wed Jul 15 15:11:39 2015 +0300

    loleaflet: spreadsheet tabs html/css

diff --git a/loleaflet/debug/document/document_simple_example.html b/loleaflet/debug/document/document_simple_example.html
index 8ca9c6d..d5cf836 100644
--- a/loleaflet/debug/document/document_simple_example.html
+++ b/loleaflet/debug/document/document_simple_example.html
@@ -40,6 +40,8 @@
             </div>
         </div>
     </div>
+    <div id="spreadsheet-tab" class="spreadsheet-tab">
+    </div>
 
 	<script>
 
diff --git a/loleaflet/dist/leaflet.css b/loleaflet/dist/leaflet.css
index 939d63b..a3d1ca5 100644
--- a/loleaflet/dist/leaflet.css
+++ b/loleaflet/dist/leaflet.css
@@ -664,7 +664,7 @@ a.leaflet-control-buttons:hover {
 	position: absolute;
 	top: 100px;
 	bottom: 0px;
-	width: 195px;
+	max-width: 195px;
 }
 
 .preview-frame {
@@ -684,3 +684,33 @@ a.leaflet-control-buttons:hover {
 	max-width: 180px;
 	cursor: pointer;
 	}
+
+.spreadsheet-tab {
+	margin: 0;
+	padding: 0;
+	bottom: 0;
+	position: absolute;
+	cursor: pointer;
+	}
+
+.spreadsheet-tab li {
+	float: left;
+	list-style: none;
+	margin: 0;
+	padding: 0;
+	margin-left: 2px;
+	}
+
+.spreadsheet-tab li {
+	display: block;
+	border: #B9B9B9 1px solid;
+	background: #A8A8A8;
+	color: #FFFFFF;
+	text-decoration: none;
+	}
+
+.spreadsheet-tab li.selected {
+	background: #FFFFFF;
+	color: #7E7E7E;
+	border-top: #FFF 1px solid;
+	}
commit 242d66feeab3becc9f2ef28b79bf3d0902192485
Author: Mihai Varga <mihai.varga at collabora.com>
Date:   Wed Jul 15 10:23:03 2015 +0300

    loleaflet: make use of 'type' parameter from the status command
    
    And only load the preview if type === 'presentation'

diff --git a/loleaflet/src/control/Control.Parts.js b/loleaflet/src/control/Control.Parts.js
index b4212a8..4278abe 100644
--- a/loleaflet/src/control/Control.Parts.js
+++ b/loleaflet/src/control/Control.Parts.js
@@ -55,6 +55,7 @@ L.Control.Parts = L.Control.extend({
 		var className = 'leaflet-disabled';
 		var parts = e.parts;
 		var currentPart = e.currentPart;
+		var docType = e.docType;
 		if (currentPart === 0) {
 			L.DomUtil.addClass(this._prevPartButton, className);
 		} else {
@@ -65,7 +66,7 @@ L.Control.Parts = L.Control.extend({
 		} else {
 			L.DomUtil.removeClass(this._nextPartButton, className);
 		}
-		if (!this._previewInitialized && parts > 1) {
+		if (!this._previewInitialized && docType === 'presentation') {
 			// make room for the preview
 			var docContainer = L.DomUtil.get('document-container');
 			L.DomUtil.setStyle(docContainer, 'left', '200px');
diff --git a/loleaflet/src/layer/tile/TileLayer.js b/loleaflet/src/layer/tile/TileLayer.js
index 2ed3c78..c991465 100644
--- a/loleaflet/src/layer/tile/TileLayer.js
+++ b/loleaflet/src/layer/tile/TileLayer.js
@@ -392,11 +392,16 @@ L.TileLayer = L.GridLayer.extend({
 			if (command.width && command.height && this._documentInfo !== textMsg) {
 				this._docWidthTwips = command.width;
 				this._docHeightTwips = command.height;
+				this._docType = command.type;
 				this._updateMaxBounds(true);
 				this._documentInfo = textMsg;
 				this._parts = command.parts;
 				this._currentPart = command.currentPart;
-				this._map.fire('updateparts', {currentPart : this._currentPart, parts: this._parts});
+				this._map.fire('updateparts', {
+					currentPart: this._currentPart,
+					parts: this._parts,
+					docType: this._docType
+				});
 				this._update();
 				if (!this._tilesPreFetcher) {
 					this._tilesPreFetcher = setInterval(L.bind(this._preFetchTiles, this), 2000);
@@ -435,7 +440,8 @@ L.TileLayer = L.GridLayer.extend({
 					id: command.id,
 					width: command.width,
 					height: command.height,
-					part: command.part
+					part: command.part,
+					docType: this._docType
 				});
 			}
 			else if (tile) {
@@ -561,7 +567,12 @@ L.TileLayer = L.GridLayer.extend({
 				command.currentPart = parseInt(tokens[i].substring(8));
 			}
 			else if (tokens[i].substring(0, 3) === 'id=') {
-				command.id = parseInt(tokens[i].substring(3));
+				// remove newline characters
+				command.id = tokens[i].substring(3).replace(/(\r\n|\n|\r)/gm, '');
+			}
+			else if (tokens[i].substring(0, 5) === 'type=') {
+				// remove newline characters
+				command.type = tokens[i].substring(5).replace(/(\r\n|\n|\r)/gm, '');
 			}
 		}
 		if (command.tileWidth && command.tileHeight) {
commit 27b9e4438607baa80856d7210d2bf45a69b5d462
Author: Mihai Varga <mihai.varga at collabora.com>
Date:   Wed Jul 15 09:34:37 2015 +0300

    loleaflet: dynamicaly make room for the preview in the left

diff --git a/loleaflet/dist/leaflet.css b/loleaflet/dist/leaflet.css
index c84148d..939d63b 100644
--- a/loleaflet/dist/leaflet.css
+++ b/loleaflet/dist/leaflet.css
@@ -546,10 +546,10 @@ a.leaflet-control-buttons:hover {
 #document-container {
 	background: #DFDFDF;
 	position: absolute;
-	top: 120px;
+	top: 100px;
 	bottom: 0px;
 	right: 0px;
-	left: 200px;
+	left: 0px;
 }
 
 #map
diff --git a/loleaflet/src/control/Control.Parts.js b/loleaflet/src/control/Control.Parts.js
index 8118efd..b4212a8 100644
--- a/loleaflet/src/control/Control.Parts.js
+++ b/loleaflet/src/control/Control.Parts.js
@@ -66,6 +66,13 @@ L.Control.Parts = L.Control.extend({
 			L.DomUtil.removeClass(this._nextPartButton, className);
 		}
 		if (!this._previewInitialized && parts > 1) {
+			// make room for the preview
+			var docContainer = L.DomUtil.get('document-container');
+			L.DomUtil.setStyle(docContainer, 'left', '200px');
+			setTimeout(L.bind(function () {
+				this._map.invalidateSize();
+				$("#scroll-container").mCustomScrollbar('update');
+			}, this), 500);
 			var container = L.DomUtil.get('parts-preview');
 			for (var i = 0; i < parts; i++) {
 				var id = 'preview-tile' + i;


More information about the Libreoffice-commits mailing list