Skip to content

Commit 6d89935

Browse files
Restored l-lin#302
Restored the fix in l-lin#302
1 parent 113323c commit 6d89935

File tree

5 files changed

+49
-45
lines changed

5 files changed

+49
-45
lines changed

dist/angular-datatables.js

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -928,7 +928,9 @@ function dtNGRenderer($log, $q, $compile, $timeout, DTRenderer, DTRendererServic
928928

929929
_parentScope.$watchCollection(_ngRepeatAttr, function() {
930930
if (_oTable && _alreadyRendered) {
931-
_destroyAndCompile();
931+
if (!angular.equals(newValue, _newValue)) {
932+
_destroyAndCompile();
933+
}
932934
}
933935
$timeout(function() {
934936
_alreadyRendered = true;
@@ -1166,21 +1168,21 @@ function dtAjaxRenderer($q, $timeout, DTRenderer, DTRendererService, DT_DEFAULT_
11661168
}
11671169

11681170
function _doRender(options, $elem) {
1169-
var defer = $q.defer();
1170-
// Set it to true in order to be able to redraw the dataTable
1171-
options.bDestroy = true;
1172-
DTRendererService.hideLoading($elem);
1173-
// Condition to refresh the dataTable
1174-
if (_shouldDeferRender(options)) {
1175-
$timeout(function() {
1176-
defer.resolve(DTRendererService.renderDataTable($elem, options));
1177-
}, 0, false);
1178-
} else {
1171+
var defer = $q.defer();
1172+
// Set it to true in order to be able to redraw the dataTable
1173+
options.bDestroy = true;
1174+
DTRendererService.hideLoading($elem);
1175+
// Condition to refresh the dataTable
1176+
if (_shouldDeferRender(options)) {
1177+
$timeout(function() {
11791178
defer.resolve(DTRendererService.renderDataTable($elem, options));
1180-
}
1181-
return defer.promise;
1179+
}, 0, false);
1180+
} else {
1181+
defer.resolve(DTRendererService.renderDataTable($elem, options));
11821182
}
1183-
// See https://github.com/l-lin/angular-datatables/issues/147
1183+
return defer.promise;
1184+
}
1185+
// See https://github.com/l-lin/angular-datatables/issues/147
11841186
function _shouldDeferRender(options) {
11851187
if (angular.isDefined(options) && angular.isDefined(options.dom)) {
11861188
// S for scroller plugin

dist/angular-datatables.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/plugins/bootstrap/angular-datatables.bootstrap.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -354,15 +354,15 @@ function dtBootstrap(DTBootstrapTableTools, DTBootstrapColVis, DTBootstrapDefaul
354354
}
355355

356356
function _setDom(options) {
357-
if (!options.dom || options.dom === DT_DEFAULT_OPTIONS.dom) {
358-
return DTBootstrapDefaultOptions.getOptions().dom;
359-
}
360-
return options.dom;
357+
if (!options.dom || options.dom === DT_DEFAULT_OPTIONS.dom) {
358+
return DTBootstrapDefaultOptions.getOptions().dom;
361359
}
362-
/**
363-
* Integrate Bootstrap
364-
* @param options the datatables options
365-
*/
360+
return options.dom;
361+
}
362+
/**
363+
* Integrate Bootstrap
364+
* @param options the datatables options
365+
*/
366366
function integrate(options) {
367367
_init(options.bootstrap);
368368
DTBootstrapTableTools.integrate(options.bootstrap);

src/angular-datatables.renderer.js

Lines changed: 16 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,9 @@ function dtNGRenderer($log, $q, $compile, $timeout, DTRenderer, DTRendererServic
184184

185185
_parentScope.$watchCollection(_ngRepeatAttr, function() {
186186
if (_oTable && _alreadyRendered) {
187-
_destroyAndCompile();
187+
if (!angular.equals(newValue, _newValue)) {
188+
_destroyAndCompile();
189+
}
188190
}
189191
$timeout(function() {
190192
_alreadyRendered = true;
@@ -420,21 +422,21 @@ function dtAjaxRenderer($q, $timeout, DTRenderer, DTRendererService, DT_DEFAULT_
420422
}
421423

422424
function _doRender(options, $elem) {
423-
var defer = $q.defer();
424-
// Set it to true in order to be able to redraw the dataTable
425-
options.bDestroy = true;
426-
DTRendererService.hideLoading($elem);
427-
// Condition to refresh the dataTable
428-
if (_shouldDeferRender(options)) {
429-
$timeout(function() {
430-
defer.resolve(DTRendererService.renderDataTable($elem, options));
431-
}, 0, false);
432-
} else {
425+
var defer = $q.defer();
426+
// Set it to true in order to be able to redraw the dataTable
427+
options.bDestroy = true;
428+
DTRendererService.hideLoading($elem);
429+
// Condition to refresh the dataTable
430+
if (_shouldDeferRender(options)) {
431+
$timeout(function() {
433432
defer.resolve(DTRendererService.renderDataTable($elem, options));
434-
}
435-
return defer.promise;
433+
}, 0, false);
434+
} else {
435+
defer.resolve(DTRendererService.renderDataTable($elem, options));
436436
}
437-
// See https://github.com/l-lin/angular-datatables/issues/147
437+
return defer.promise;
438+
}
439+
// See https://github.com/l-lin/angular-datatables/issues/147
438440
function _shouldDeferRender(options) {
439441
if (angular.isDefined(options) && angular.isDefined(options.dom)) {
440442
// S for scroller plugin

src/plugins/bootstrap/angular-datatables.bootstrap.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -307,15 +307,15 @@ function dtBootstrap(DTBootstrapTableTools, DTBootstrapColVis, DTBootstrapDefaul
307307
}
308308

309309
function _setDom(options) {
310-
if (!options.dom || options.dom === DT_DEFAULT_OPTIONS.dom) {
311-
return DTBootstrapDefaultOptions.getOptions().dom;
312-
}
313-
return options.dom;
310+
if (!options.dom || options.dom === DT_DEFAULT_OPTIONS.dom) {
311+
return DTBootstrapDefaultOptions.getOptions().dom;
314312
}
315-
/**
316-
* Integrate Bootstrap
317-
* @param options the datatables options
318-
*/
313+
return options.dom;
314+
}
315+
/**
316+
* Integrate Bootstrap
317+
* @param options the datatables options
318+
*/
319319
function integrate(options) {
320320
_init(options.bootstrap);
321321
DTBootstrapTableTools.integrate(options.bootstrap);

0 commit comments

Comments
 (0)