devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
40 lines (39 loc) • 1.16 kB
JavaScript
/**
* DevExtreme (esm/mobile/hide_callback.js)
* Version: 21.1.4
* Build date: Mon Jun 21 2021
*
* Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
import {
inArray
} from "../core/utils/array";
export var hideCallback = function() {
var callbacks = [];
return {
add: function(callback) {
var indexOfCallback = inArray(callback, callbacks);
if (-1 === indexOfCallback) {
callbacks.push(callback)
}
},
remove: function(callback) {
var indexOfCallback = inArray(callback, callbacks);
if (-1 !== indexOfCallback) {
callbacks.splice(indexOfCallback, 1)
}
},
fire: function() {
var callback = callbacks.pop();
var result = !!callback;
if (result) {
callback()
}
return result
},
hasCallback: function() {
return callbacks.length > 0
}
}
}();