loleaflet/src/layer/tile/CalcTileLayer.js | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-)
New commits: commit 0883cd6d914b5da2cde44344ee44d349dbddd98a Author: Henry Castro <hcas...@collabora.com> Date: Sun Nov 15 19:28:38 2015 -0400 loleaflet: fix row/header last item, scroll offset diff --git a/loleaflet/src/layer/tile/CalcTileLayer.js b/loleaflet/src/layer/tile/CalcTileLayer.js index 8b0396c..227050a 100644 --- a/loleaflet/src/layer/tile/CalcTileLayer.js +++ b/loleaflet/src/layer/tile/CalcTileLayer.js @@ -14,6 +14,7 @@ L.CalcTileLayer = L.TileLayer.extend({ map.on('scrolloffset', this._onScrollOffset, this); map.on('updatescrolloffset', this._onUpdateScrollOffset, this); map.on('zoomend', this._onZoomRowColumns, this); + map.on('resize', this._onUpdateViewPort, this); }, _onInvalidateTilesMsg: function (textMsg) { @@ -123,8 +124,21 @@ L.CalcTileLayer = L.TileLayer.extend({ }, _onZoomRowColumns: function () { - this._columns.updateColumns(this._twipsToPixels, this); - this._rows.updateRows(this._twipsToPixels, this); + this._isZoomend = true; + L.Socket.sendMessage('commandvalues command=.uno:ViewRowColumnHeaders'); + }, + + _onUpdateViewPort: function () { + var hscroll = L.DomUtil.get('mCSB_1_scrollbar_horizontal'); + var width = parseInt(L.DomUtil.getStyle(hscroll, 'width')); + if (!isNaN(width)) { + this._columns.setViewPort(this._docPixelSize.x, width); + } + var vscroll = L.DomUtil.get('mCSB_1_scrollbar_vertical'); + var height = parseInt(L.DomUtil.getStyle(vscroll, 'height')); + if (!isNaN(height)) { + this._rows.setViewPort(this._docPixelSize.y, height); + } }, _onStatusMsg: function (textMsg) { @@ -161,8 +175,16 @@ L.CalcTileLayer = L.TileLayer.extend({ _onCommandValuesMsg: function (textMsg) { if (textMsg.match('.uno:ViewRowColumnHeaders')) { var data = JSON.parse(textMsg.substring(textMsg.indexOf('{'))); - this._columns.fillColumns(data.columns, this._twipsToPixels, this); - this._rows.fillRows(data.rows, this._twipsToPixels, this); + if (this._isZoomend) { + this._columns.updateColumns(data.columns, this._twipsToPixels, this); + this._rows.updateRows(data.rows, this._twipsToPixels, this); + this._isZoomend = false; + } + else { + this._columns.fillColumns(data.columns, this._twipsToPixels, this); + this._rows.fillRows(data.rows, this._twipsToPixels, this); + } + this._onUpdateViewPort(); } else { L.TileLayer.prototype._onCommandValuesMsg.call(this, textMsg); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits