Skip to content

Commit f36bedd

Browse files
committed
Update pageResize plugin. Add paging parameter to pass it to the draw function call inside pageResize plugin. Add callback which called before draw and provides cancel ability and ability to override the draw paging parameter.
1 parent dfb3959 commit f36bedd

File tree

2 files changed

+25
-13
lines changed

2 files changed

+25
-13
lines changed

features/pageResize/dataTables.pageResize.js

Lines changed: 18 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -63,19 +63,21 @@
6363
'use strict';
6464

6565

66-
var PageResize = function ( dt, pageResizeManualDelta )
66+
var PageResize = function ( dt, pageResizeManualDelta, pageResizeDrawPagingParameter, pageResizePreDrawCallback )
6767
{
6868
var table = dt.table();
6969

7070
this.s = {
71-
dt: dt,
72-
host: $(table.container()).parent(),
73-
header: $(table.header()),
74-
footer: $(table.footer()),
75-
body: $(table.body()),
76-
container: $(table.container()),
77-
table: $(table.node()),
78-
delta: pageResizeManualDelta
71+
dt: dt,
72+
host: $(table.container()).parent(),
73+
header: $(table.header()),
74+
footer: $(table.footer()),
75+
body: $(table.body()),
76+
container: $(table.container()),
77+
table: $(table.node()),
78+
delta: pageResizeManualDelta,
79+
drawPagingParameter: pageResizeDrawPagingParameter,
80+
preDrawCallback: pageResizePreDrawCallback
7981
};
8082

8183
var host = this.s.host;
@@ -99,7 +101,9 @@ PageResize.prototype = {
99101
var rowHeight = rows.eq( rows.length > 1 ? 1 : 0 ).height(); // Attempt to use the second row if poss, for top and bottom border
100102
var availableHeight = settings.host.height();
101103
var scrolling = t.header().parentNode !== t.body().parentNode;
102-
var delta = settings.delta;
104+
var delta = settings.delta;
105+
var pagingObject = { paging: settings.drawPagingParameter };
106+
var preDrawCallback = settings.preDrawCallback;
103107

104108
// Subtract the height of the header, footer and the elements
105109
// surrounding the table
@@ -122,9 +126,10 @@ PageResize.prototype = {
122126

123127
if ( drawRows !== Infinity && drawRows !== -Infinity &&
124128
! isNaN( drawRows ) && drawRows > 0 &&
125-
drawRows !== dt.page.len()
129+
drawRows !== dt.page.len() &&
130+
( !preDrawCallback || preDrawCallback( drawRows, dt.page.len(), pagingObject ) !== false )
126131
) {
127-
dt.page.len( drawRows ).draw();
132+
dt.page.len( drawRows ).draw( pagingObject.paging );
128133
}
129134
},
130135

@@ -182,7 +187,7 @@ $(document).on( 'init.dt', function ( e, settings ) {
182187
settings.oInit.pageResize ||
183188
$.fn.dataTable.defaults.pageResize )
184189
{
185-
new PageResize( api, settings.oInit.pageResizeManualDelta );
190+
new PageResize( api, settings.oInit.pageResizeManualDelta, settings.oInit.pageResizeDrawPagingParameter, settings.oInit.pageResizePreDrawCallback );
186191
}
187192
} );
188193

features/slidingChild/dataTables.slidingChild.min.js

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)