| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /**
- * DevExtreme (integration/angular/components.js)
- * Version: 19.1.16
- * 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/
- */
- "use strict";
- var Callbacks = require("../../core/utils/callbacks");
- var ngModule = require("./module");
- ngModule.service("dxDigestCallbacks", ["$rootScope", function($rootScope) {
- var begin = Callbacks();
- var prioritizedEnd = Callbacks();
- var 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)
- }
- }
- }]);
|