VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/libs/absol-full/dist/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/libs/absol-full/dist/js/mdls__absol-acomp__js__PositionTracker.js
/*** module: node_modules/absol-acomp/js/PositionTracker.js ***/
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

var _ACore = _interopRequireWildcard(require("../ACore"));

var _Element = _interopRequireDefault(require("absol/src/HTML5/Element"));




/***
 * @extends {AElement}
 * @constructor
 */
function PositionTracker() {
  this.defineEvent('positionchange');
  this.$trackScrollParents = [];
  this._scrollTrackEventHandler = this.notifyPositionChange.bind(this);
}

PositionTracker.tag = 'PositionTracker'.toLowerCase();
/***
 *
 * @return {AElement}
 */

PositionTracker.render = function () {
  return (0, _ACore._)('div');
};

PositionTracker.prototype.notifyPositionChange = function (event) {
  this.emit('positionchange', {
    type: 'positionchange',
    originEvent: event
  });
};

PositionTracker.prototype.startTrackPosition = function () {
  if (this.$trackScrollParents.length > 0) this.stopTrackPosition();
  var trackElt = this;

  while (trackElt) {
    if (trackElt.addEventListener) trackElt.addEventListener('scroll', this._scrollTrackEventHandler, false);else trackElt.attachEvent('onscroll', this._scrollTrackEventHandler, false);
    this.$trackScrollParents.push(trackElt);
    trackElt = trackElt.parentElement;
  }

  if (document.addEventListener) {
    document.addEventListener('scroll', this._scrollTrackEventHandler, false);
  } else {
    document.attachEvent('onscroll', this._scrollTrackEventHandler, false);
  }

  this.$trackScrollParents.push(document);
};

PositionTracker.prototype.stopTrackPosition = function () {
  var trackElt;

  for (var i = 0; i < this.$trackScrollParents.length; ++i) {
    trackElt = this.$trackScrollParents[i];
    if (trackElt.removeEventListener) trackElt.removeEventListener('scroll', this._scrollTrackEventHandler, false);else trackElt.dettachEvent('onscroll', this._scrollTrackEventHandler, false);
  }

  this.$trackScrollParents = [];
};

_ACore.default.install(PositionTracker);

var _default = PositionTracker;
exports.default = _default;

VaKeR 2022