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

Henry Castro hcastro at collabora.com
Sun Nov 15 15:25:53 PST 2015


 loleaflet/src/control/Control.RowHeader.js |  108 +++++++++++++++--------------
 1 file changed, 58 insertions(+), 50 deletions(-)

New commits:
commit 7ed35f810e50471aee8958d1f23b9bc000d32706
Author: Henry Castro <hcastro at collabora.com>
Date:   Sun Nov 15 19:25:50 2015 -0400

    loleaflet: update row headers to modified css styles

diff --git a/loleaflet/src/control/Control.RowHeader.js b/loleaflet/src/control/Control.RowHeader.js
index 45bfb17..c4fab2a 100644
--- a/loleaflet/src/control/Control.RowHeader.js
+++ b/loleaflet/src/control/Control.RowHeader.js
@@ -3,67 +3,75 @@
 */
 
 L.Control.RowHeader = L.Control.extend({
-	onAdd: function () {
-		var docContainer = L.DomUtil.get('document-container');
-		var divRowHeader = L.DomUtil.create('div', 'spreadsheet-container-row', docContainer.parentElement);
-		var divRowInner = L.DomUtil.create('div', 'spreadsheet-container-row-inner', divRowHeader);
-		this._table = L.DomUtil.create('table', '', divRowInner);
-		this._table.id = 'spreadsheet-table-row';
-		this._rows = L.DomUtil.create('tbody', '', this._table);
+    onAdd: function () {
+	var docContainer = L.DomUtil.get('document-container');
+	var divRowHeader = L.DomUtil.create('div', 'spreadsheet-container-row', docContainer.parentElement);
+	this._table = L.DomUtil.create('table', 'spreadsheet-table-row', divRowHeader);
+	this._rows = L.DomUtil.create('tbody', '', this._table);
 
-		this._position = 0;
+	this._position = 0;
+	this._totalHeight = 0;
+	this._viewPort = 0;
 
-		// dummy initial row header
-		var row = L.DomUtil.create('tr', '', this._rows);
-		L.DomUtil.create('th', 'spreadsheet-table-row-cell', row);
+	// dummy initial row header
+	var trRow = L.DomUtil.create('tr', '', this._rows);
+	var thRow = L.DomUtil.create('th', 'spreadsheet-table-row-cell', trRow);
+	L.DomUtil.create('div', 'spreadsheet-table-row-cell-text', thRow);
 
-		return document.createElement('div');
-	},
+	return document.createElement('div');
+    },
 
-	clearRows: function () {
-		L.DomUtil.remove(this._rows);
-		this._rows = L.DomUtil.create('tbody', '', this._table);
-	},
+    clearRows: function () {
+	L.DomUtil.remove(this._rows);
+	this._rows = L.DomUtil.create('tbody', '', this._table);
+    },
 
-	setScrollPosition: function (position) {
-		this._position = position;
-		L.DomUtil.setStyle(this._table, 'top', this._position + 'px');
-	},
+    setViewPort: function(totalHeight, viewPort) {
+	this._viewPort = viewPort;
+	this._totalHeight = totalHeight;
+    },
 
-	offsetScrollPosition: function (offset) {
-		this._position = this._position - offset;
-		L.DomUtil.setStyle(this._table, 'top', this._position + 'px');
-	},
+    setScrollPosition: function (position) {
+	this._position = Math.min(0, position);
+	L.DomUtil.setStyle(this._table, 'top', this._position + 'px');
+    },
 
-	fillRows: function (rows, converter, context) {
-		var iterator, twip, height, row, cell;
+    offsetScrollPosition: function (offset) {
+	this._position = Math.min(0,
+	Math.max(this._position - offset,
+		-(this._totalHeight - this._viewPort - 4)));
+	L.DomUtil.setStyle(this._table, 'top', this._position + 'px');
+    },
 
-		this.clearRows();
-		var totalHeight = -1;
-		for (iterator = 0; iterator < rows.length; iterator++) {
-			twip = new L.Point(parseInt(rows[iterator].size), parseInt(rows[iterator].size));
-			height =  Math.round(converter.call(context, twip).y) - 2 - totalHeight;
-			row  = L.DomUtil.create('tr', '', this._rows);
-			cell = L.DomUtil.create('th', 'spreadsheet-table-row-cell', row);
-			cell.innerHTML  = rows[iterator].text;
-			cell.twipHeight = rows[iterator].size;
-			cell.height = height + 'px';
-			totalHeight += height + 1;
-		}
-	},
+    fillRows: function (rows, converter, context) {
+	var iterator, twip, height, row, cell, text;
 
-	updateRows: function (converter, context) {
-		var iterator, twip, height, row;
+	this.clearRows();
+	for (iterator = 0; iterator < rows.length; iterator++) {
+		height = rows[iterator].size - (iterator > 0 ? rows[iterator - 1].size : 0);
+		twip = new L.Point(height, height);
+		row  = L.DomUtil.create('tr', '', this._rows);
+		cell = L.DomUtil.create('th', 'spreadsheet-table-row-cell', row);
+		text = L.DomUtil.create('div', 'spreadsheet-table-row-cell-text', cell);
+		text.innerHTML  = rows[iterator].text;
+		height = Math.round(converter.call(context, twip).y) - (iterator > 0 ? 1 : 0) + 'px';
+		L.DomUtil.setStyle(text, 'line-height', height);
+		L.DomUtil.setStyle(text, 'height', height);
+	}
+    },
+
+    updateRows: function (rows, converter, context) {
+	var iterator, twip, height, text;
 
-		var totalHeight = -1;
-		for (iterator = 0; iterator < this._rows.childNodes.length; iterator++) {
-			row  = this._rows.childNodes[iterator].firstChild;
-			twip = new L.Point(parseInt(row.twipHeight), parseInt(row.twipHeight));
-			height =  Math.round(converter.call(context, twip).y) - 2 - totalHeight;
-			row.height = height + 'px';
-			totalHeight += height + 1;
-		}
+	for (iterator = 0; iterator < this._rows.childNodes.length; iterator++) {
+		text  = this._rows.childNodes[iterator].firstChild.firstChild;
+		height = rows[iterator].size - (iterator > 0 ? rows[iterator - 1].size : 0);
+		twip = new L.Point(height, height);
+		height = Math.round(converter.call(context, twip).y) - (iterator > 0 ? 1 : 0) + 'px';
+		L.DomUtil.setStyle(text, 'line-height', height);
+		L.DomUtil.setStyle(text, 'height', height);
 	}
+    }
 });
 
 L.control.rowHeader = function (options) {


More information about the Libreoffice-commits mailing list