From: Michael M Slusarz Date: Fri, 20 Nov 2009 22:22:49 +0000 (-0700) Subject: Add ViewPort.currentViewableRange() X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=8472b7a832695bde935f9663a0dc8ecdb2a96c02;p=horde.git Add ViewPort.currentViewableRange() --- diff --git a/imp/js/DimpBase.js b/imp/js/DimpBase.js index 3cb4214a5..5a45a6e2b 100644 --- a/imp/js/DimpBase.js +++ b/imp/js/DimpBase.js @@ -1301,12 +1301,12 @@ var DimpBase = { setMessageListTitle: function() { - var offset, + var range, rows = this.viewport.getMetaData('total_rows'); - if (rows > 0) { - offset = this.viewport.currentOffset(); - $('msgHeader').update(DIMP.text.messages + ' ' + (offset + 1) + ' - ' + (Math.min(offset + this.viewport.getPageSize(), rows)) + ' ' + DIMP.text.of + ' ' + rows); + if (rows) { + range = this.viewport.currentViewableRange(); + $('msgHeader').update(DIMP.text.messages + ' ' + range.first + ' - ' + range.last + ' ' + DIMP.text.of + ' ' + rows); } else { $('msgHeader').update(DIMP.text.nomessages); } diff --git a/imp/js/ViewPort.js b/imp/js/ViewPort.js index 52812199b..517b49f83 100644 --- a/imp/js/ViewPort.js +++ b/imp/js/ViewPort.js @@ -911,6 +911,18 @@ var ViewPort = Class.create({ return this.scroller.currentOffset(); }, + // return: (object) The current viewable range of the viewport. + // first: Top-most row offset + // last: Bottom-most row offset + currentViewableRange: function() + { + var offset = this.currentOffset(); + return { + first: offset + 1, + last: Math.min(offset + this.getPageSize(), this.getMetaData('total_rows')) + }; + }, + _getLineHeight: function() { var mode = this.pane_mode || 'horiz';