Skip to content
This repository was archived by the owner on Feb 2, 2025. It is now read-only.

Commit f11f15c

Browse files
committed
Scroller plugin no longer works #147
1 parent 59686b1 commit f11f15c

File tree

3 files changed

+34
-6
lines changed

3 files changed

+34
-6
lines changed

dist/angular-datatables.js

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1513,7 +1513,7 @@ function dtPromiseRenderer($timeout, DTRenderer, DTRendererService) {
15131513
dtPromiseRenderer.$inject = ['$timeout', 'DTRenderer', 'DTRendererService'];
15141514

15151515
/* @ngInject */
1516-
function dtAjaxRenderer(DTRenderer, DTRendererService, DT_DEFAULT_OPTIONS) {
1516+
function dtAjaxRenderer($timeout, DTRenderer, DTRendererService, DT_DEFAULT_OPTIONS) {
15171517
/**
15181518
* Renderer for displaying with Ajax
15191519
* @param options the options
@@ -1565,12 +1565,26 @@ function dtAjaxRenderer(DTRenderer, DTRendererService, DT_DEFAULT_OPTIONS) {
15651565
var ajaxUrl = options.sAjaxSource || options.ajax.url || options.ajax;
15661566
oTable.ajax.url(ajaxUrl).load();
15671567
} else {
1568-
oTable = DTRendererService.renderDataTableAndEmitEvent($elem, options, $scope);
1568+
if (_shouldDeferRender(options)) {
1569+
$timeout(function () {
1570+
oTable = DTRendererService.renderDataTableAndEmitEvent($elem, options, $scope);
1571+
}, 0, false);
1572+
} else {
1573+
oTable = DTRendererService.renderDataTableAndEmitEvent($elem, options, $scope);
1574+
}
1575+
}
1576+
}
1577+
// See https://github.com/l-lin/angular-datatables/issues/147
1578+
function _shouldDeferRender(options) {
1579+
if (angular.isDefined(options) && angular.isDefined(options.sDom)) {
1580+
// S for scroller plugin
1581+
return options.sDom.indexOf('S') >= 0;
15691582
}
1583+
return false;
15701584
}
15711585
}
15721586
}
1573-
dtAjaxRenderer.$inject = ['DTRenderer', 'DTRendererService', 'DT_DEFAULT_OPTIONS'];
1587+
dtAjaxRenderer.$inject = ['$timeout', 'DTRenderer', 'DTRendererService', 'DT_DEFAULT_OPTIONS'];
15741588

15751589
/* @ngInject */
15761590
function dtRendererFactory(DTDefaultRenderer, DTNGRenderer, DTPromiseRenderer, DTAjaxRenderer) {

0 commit comments

Comments
 (0)