Файловый менеджер - Редактировать - /var/www/axolotl/data/www/axolotls.ru/www/bitrix/js/main/core/resize_observer/resize_observer.js
Назад
;(function() { 'use strict'; BX.namespace('BX'); var canUseNative = ( BX.type.isFunction(window.ResizeObserver) && BX.type.isFunction(window.ResizeObserverEntry) ); if (canUseNative) { BX.ResizeObserver = window.ResizeObserver; return; } /** * Implements ResizeObserver interface * @see https://wicg.github.io/ResizeObserver/#resize-observer-interface * * @param {function} callback * @constructor */ BX.ResizeObserver = function(callback) { this.callback = callback; this.targets = new BX.ResizeObserverItemCollection(); BX.ResizeObserver.observers.push(this); }; /** * Observers collection * @static * @type {BX.ResizeObserverCollection} */ BX.ResizeObserver.observers = new BX.ResizeObserverCollection(); /** * Broadcasts observations * @static * @private */ BX.ResizeObserver.broadcastObservation = function() { BX.ResizeObserver.observers.forEach(function(observer) { var activeTargets = observer.targets.getActive(); if (activeTargets.length) { clearTimeout(observer.timeout); observer.timeout = setTimeout(function() { observer.callback(activeTargets); }, 400); } }); BX.ResizeObserver.setFrameWait(BX.ResizeObserver.broadcastObservation); }; /** * @static * @private * @param callback */ BX.ResizeObserver.setFrameWait = function(callback) { setTimeout(function() { if (typeof window.requestAnimationFrame === 'function') { window.requestAnimationFrame(callback); } else { callback(); } }, 200); }; /** * Starts wait * @static * @private */ BX.ResizeObserver.run = function() { BX.ResizeObserver.setFrameWait(BX.ResizeObserver.broadcastObservation); }; BX.ResizeObserver.prototype = { /** * Adds target to the list of observed elements. * @param {HTMLElement} element */ observe: function(element) { if (!this.targets.hasTarget(element)) { this.targets.push(new BX.ResizeObserverItem(element)); } }, /** * Removes target from the list of observed elements. * @param {HTMLElement} element */ unobserve: function(element) { this.targets.removeTarget(element); }, /** * Clear observation targets list */ disconnect: function() { this.targets = new BX.ResizeObserverItemCollection(); } }; BX.ResizeObserver.run(); })();
| ver. 1.4 |
Github
|
.
| PHP 7.4.8 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка