loleaflet/src/control/Control.ColumnHeader.js |  116 +++++++++++++-------------
 1 file changed, 61 insertions(+), 55 deletions(-)

New commits:
commit 61648fa8affa30083534e33ec8eef6bba3e62f98
Author: Henry Castro <hcas...@collabora.com>
Date:   Sun Nov 15 19:21:17 2015 -0400

    loleaflet: update column headers to modified css styles

diff --git a/loleaflet/src/control/Control.ColumnHeader.js 
b/loleaflet/src/control/Control.ColumnHeader.js
index b38fee1..17d9082 100644
--- a/loleaflet/src/control/Control.ColumnHeader.js
+++ b/loleaflet/src/control/Control.ColumnHeader.js
@@ -3,71 +3,77 @@
 */
 
 L.Control.ColumnHeader = L.Control.extend({
-       onAdd: function () {
-               var docContainer = L.DomUtil.get('document-container');
-               var divHeader = L.DomUtil.create('div', 
'spreadsheet-container-column', docContainer.parentElement);
-               var tableContainer =  L.DomUtil.create('table', 
'spreadsheet-container-table', divHeader);
-               var tbodyContainer = L.DomUtil.create('tbody', '', 
tableContainer);
-               var trContainer = L.DomUtil.create('tr', '', tbodyContainer);
-               L.DomUtil.create('th', 'spreadsheet-container-th-corner', 
trContainer);
-               var thColumns = L.DomUtil.create('th', 
'spreadsheet-container-th-column', trContainer);
-               var divInner = L.DomUtil.create('div', 
'spreadsheet-container-column-inner', thColumns);
-               this._table = L.DomUtil.create('table', '', divInner);
-               this._table.id = 'spreadsheet-table-column';
-               L.DomUtil.create('tbody', '', this._table);
-               this._columns = L.DomUtil.create('tr', '', 
this._table.firstChild);
+    onAdd: function () {
+       var docContainer = L.DomUtil.get('document-container');
+       var divHeader = L.DomUtil.create('div', 'spreadsheet-container-column', 
docContainer.parentElement);
+       var tableContainer =  L.DomUtil.create('table', 
'spreadsheet-container-table', divHeader);
+       var trContainer = L.DomUtil.create('tr', '', tableContainer);
+       var thCorner = L.DomUtil.create('th', 
'spreadsheet-container-th-corner', trContainer);
+       var tableCorner = L.DomUtil.create('table', 'spreadsheet-table-corner', 
thCorner);
+       var trCorner = L.DomUtil.create('tr', '', tableCorner);
+       L.DomUtil.create('th', '', trCorner);
 
-               this._position = 0;
+       var thColumns = L.DomUtil.create('th', 
'spreadsheet-container-th-column', trContainer);
+       this._table = L.DomUtil.create('table', 'spreadsheet-table-column', 
thColumns);
+       this._columns = L.DomUtil.create('tr', '', this._table);
 
-               // dummy initial header
-               L.DomUtil.create('th', 'spreadsheet-table-column-cell', 
this._columns);
+       this._position = 0;
+       this._totalWidth = 0;
+       this._viewPort = 0;
 
-               return document.createElement('div');
-       },
+       // dummy initial header
+       var dummy = L.DomUtil.create('th', 'spreadsheet-table-column-cell', 
this._columns);
+       L.DomUtil.create('div', 'spreadsheet-table-column-cell-text', dummy);
 
-       clearColumns : function () {
-               L.DomUtil.remove(this._columns);
-               this._columns = L.DomUtil.create('tr', '', 
this._table.firstChild);
-       },
+       return document.createElement('div');
+        },
 
+        clearColumns : function () {
+           L.DomUtil.remove(this._columns);
+           this._columns = L.DomUtil.create('tr', '', this._table);
+        },
 
-       setScrollPosition: function (position) {
-               this._position = position;
-               L.DomUtil.setStyle(this._table, 'left', this._position + 'px');
-       },
+        setViewPort: function(totalWidth, viewPort) {
+           this._viewPort = viewPort;
+           this._totalWidth = totalWidth;
+        },
 
-       offsetScrollPosition: function (offset) {
-               this._position = this._position - offset;
-               L.DomUtil.setStyle(this._table, 'left', this._position + 'px');
-       },
+        setScrollPosition: function (position) {
+           this._position = Math.min(0, position);
+           L.DomUtil.setStyle(this._table, 'left', this._position + 'px');
+        },
 
-       fillColumns: function (columns, converter, context) {
-               var twip, width, column;
+        offsetScrollPosition: function (offset) {
+           this._position = Math.min(0,
+                                     Math.max(this._position - offset,
+                                              -(this._totalWidth - 
this._viewPort - 4)));
+           L.DomUtil.setStyle(this._table, 'left', this._position + 'px');
+        },
 
-               this.clearColumns();
-               var totalWidth = -1; // beginning offset 1 due to lack of 
previous column
-               for (var iterator = 0; iterator < columns.length; iterator++) {
-                       twip = new L.Point(parseInt(columns[iterator].size), 
parseInt(columns[iterator].size));
-                       width =  Math.round(converter.call(context, twip).x) - 
2 - totalWidth;
-                       column = L.DomUtil.create('th', 
'spreadsheet-table-column-cell', this._columns);
-                       column.innerHTML = columns[iterator].text;
-                       column.twipWidth = columns[iterator].size;
-                       column.width = width + 'px';
-                       totalWidth += width + 1;
-               }
-       },
+        fillColumns: function (columns, converter, context) {
+           var iterator, twip, width, column, text;
 
-       updateColumns: function (converter, context) {
-               var iterator, twip, width, column;
-               var totalWidth = -1;
-               for (iterator = 0; iterator < this._columns.childNodes.length; 
iterator++) {
-                       column = this._columns.childNodes[iterator];
-                       twip = new L.Point(parseInt(column.twipWidth), 
parseInt(column.twipWidth));
-                       width =  Math.round(converter.call(context, twip).x) - 
2 - totalWidth;
-                       column.width = width + 'px';
-                       totalWidth += width + 1;
-               }
-       }
+           this.clearColumns();
+           for (iterator = 0; iterator < columns.length; iterator++) {
+               width = columns[iterator].size - (iterator > 0 ? 
columns[iterator - 1].size : 0);
+               twip = new L.Point(width, width);
+               column = L.DomUtil.create('th', 
'spreadsheet-table-column-cell', this._columns);
+               text = L.DomUtil.create('div', 
'spreadsheet-table-column-cell-text', column);
+               text.innerHTML = columns[iterator].text;
+               column.width = Math.round(converter.call(context, twip).x) - 1 
+ 'px';
+           }
+        },
+
+        updateColumns: function (columns, converter, context) {
+           var iterator, twip, width, column;
+
+           for (iterator = 0; iterator < this._columns.childNodes.length; 
iterator++) {
+               column = this._columns.childNodes[iterator];
+               width = columns[iterator].size - (iterator > 0 ? 
columns[iterator - 1].size : 0);
+               twip = new L.Point(width, width);
+               column.width = Math.round(converter.call(context, twip).x) - 1 
+ 'px';
+           }
+        }
 });
 
 L.control.columnHeader = function (options) {
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to