devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
46 lines (45 loc) • 1.35 kB
JavaScript
/**
* DevExtreme (integration/angular/components.js)
* Version: 18.2.18
* Build date: Tue Oct 18 2022
*
* Copyright (c) 2012 - 2022 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
var Callbacks = require("../../core/utils/callbacks"),
ngModule = require("./module");
ngModule.service("dxDigestCallbacks", ["$rootScope", function($rootScope) {
var begin = Callbacks(),
prioritizedEnd = Callbacks(),
end = Callbacks();
var digestPhase = false;
$rootScope.$watch(function() {
if (digestPhase) {
return
}
digestPhase = true;
begin.fire();
$rootScope.$$postDigest(function() {
digestPhase = false;
prioritizedEnd.fire();
end.fire()
})
});
return {
begin: {
add: function(callback) {
if (digestPhase) {
callback()
}
begin.add(callback)
},
remove: begin.remove.bind(begin)
},
end: {
add: end.add.bind(end),
addPrioritized: prioritizedEnd.add.bind(prioritizedEnd),
remove: end.remove.bind(end)
}
}
}]);