UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

40 lines (39 loc) 1.16 kB
/** * 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 } } }();