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__FollowerToggler.js
/*** module: node_modules/absol-acomp/js/FollowerToggler.js ***/
"use strict";

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

var _EventEmitter = _interopRequireDefault(require("absol/src/HTML5/EventEmitter"));

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

var _AElement = _interopRequireDefault(require("absol/src/HTML5/AElement"));


var _ = _ACore.default._;
var $ = _ACore.default.$;
/***
 * @extends AElement
 * @constructor
 */

function FollowerToggler() {
  this.defineEvent(['close', 'open', 'preopen']);
  this.on('click', this.eventHandler.click);
  this.addClass('as-follower-trigger');
  this.$follower = null;
  this._opened = false;
}

FollowerToggler.tag = 'FollowerToggler'.toLowerCase();

FollowerToggler.render = function () {
  return _('div');
};

FollowerToggler.prototype.toggle = function () {
  if (this._opened) this.close();else this.open();
};

FollowerToggler.prototype.open = function () {
  if (this._opened) return;
  this._opened = true;
  this.addClass('as-follower-trigger-open');
  if (!this.$follower) return;
  this.emit('preopen', {
    name: 'preopen',
    target: this
  }, this);
  var thisTg = this;
  setTimeout(function () {
    thisTg.$follower.refollow();
    thisTg.$follower.removeClass('absol-follower-hidden');
    document.body.addEventListener('click', thisTg.eventHandler.clickBody);
    thisTg.emit('open', {
      name: 'open',
      target: this
    }, this);
  }, 1);
};

FollowerToggler.prototype.close = function () {
  if (!this._opened) return;
  this._opened = false;
  this.removeClass('as-follower-trigger-open');
  if (!this.$follower) return;
  this.$follower.unfollow();
  this.$follower.addClass('absol-follower-hidden');
  document.body.removeEventListener('click', this.eventHandler.clickBody);
  this.emit('close', {
    name: 'close',
    target: this
  }, this);
};

FollowerToggler.prototype.bindFollower = function (elt) {
  if (this.$follower) {
    this.$follower.followTarget = null;
  }

  if (elt && elt.refollow) {
    if (this._opened) elt.removeClass('absol-follower-hidden');else elt.addClass('absol-follower-hidden');
    elt.followTarget = this;
    elt.sponsorElement = this;
    this.$follower = elt;
  } else {
    throw new Error("Must be a follower!");
  }
};

FollowerToggler.eventHandler = {};

FollowerToggler.eventHandler.clickBody = function (event) {
  if (_EventEmitter.default.hitElement(this, event) || _EventEmitter.default.hitElement(this.$follower, event)) return;
  this.close();
};

FollowerToggler.eventHandler.click = function () {
  this.toggle();
};

_ACore.default.install(FollowerToggler);

var _default = FollowerToggler;
exports.default = _default;

VaKeR 2022