Skip to content

Commit fe17b7d

Browse files
committed
fix(resize): Fix possible max digest cycle cause by resizeSensor imprecisions
Close angular-gantt#664
1 parent 890085c commit fe17b7d

File tree

4 files changed

+20
-8
lines changed

4 files changed

+20
-8
lines changed

assets/angular-gantt-plugins.js

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

assets/angular-gantt-resizeSensor-plugin.js

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

demo/dist/scripts/vendor.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54918,8 +54918,11 @@ Github: https://github.com/angular-gantt/angular-gantt.git
5491854918
function buildSensor() {
5491954919
var ganttElement = element.parent().parent().parent()[0].querySelectorAll('div.gantt')[0];
5492054920
return new ResizeSensor(ganttElement, function() {
54921-
ganttCtrl.gantt.$scope.ganttElementWidth = ganttElement.clientWidth;
54922-
ganttCtrl.gantt.$scope.$apply();
54921+
// See issue #664
54922+
if (Math.abs(ganttElement.clientWidth - ganttCtrl.gantt.$scope.ganttElementWidth) > 1) {
54923+
ganttCtrl.gantt.$scope.ganttElementWidth = ganttElement.clientWidth;
54924+
ganttCtrl.gantt.$scope.$apply();
54925+
}
5492354926
});
5492454927
}
5492554928

src/plugins/resizeSensor.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,11 @@
2626
function buildSensor() {
2727
var ganttElement = element.parent().parent().parent()[0].querySelectorAll('div.gantt')[0];
2828
return new ResizeSensor(ganttElement, function() {
29-
ganttCtrl.gantt.$scope.ganttElementWidth = ganttElement.clientWidth;
30-
ganttCtrl.gantt.$scope.$apply();
29+
// See issue #664
30+
if (Math.abs(ganttElement.clientWidth - ganttCtrl.gantt.$scope.ganttElementWidth) > 1) {
31+
ganttCtrl.gantt.$scope.ganttElementWidth = ganttElement.clientWidth;
32+
ganttCtrl.gantt.$scope.$apply();
33+
}
3134
});
3235
}
3336

0 commit comments

Comments
 (0)