devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
51 lines (48 loc) • 1.32 kB
JavaScript
var inArray = require("../core/utils/array").inArray;
var hideCallback = function () {
/* jshint laxcomma:true */
var callbacks = [];
return {
add: function add(callback) {
var indexOfCallback = inArray(callback, callbacks);
if (indexOfCallback === -1) {
callbacks.push(callback);
}
},
remove: function remove(callback) {
var indexOfCallback = inArray(callback, callbacks);
if (indexOfCallback !== -1) {
callbacks.splice(indexOfCallback, 1);
}
},
fire: function fire() {
var callback = callbacks.pop(),
result = !!callback;
if (result) {
callback();
}
return result;
},
hasCallback: function hasCallback() {
return callbacks.length > 0;
}
///#DEBUG
, reset: function reset() {
callbacks = [];
}
///#ENDDEBUG
};
}();
/**
* @name hideTopOverlay
* @publicName hideTopOverlay()
* @return Boolean
* @module mobile/hide_top_overlay
* @namespace DevExpress
* @export default
*/
module.exports = function () {
return hideCallback.fire();
};
module.exports.hideCallback = hideCallback;
;