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

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

require("../../css/objectmergetool.css");

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

var _OMTBaseType = _interopRequireDefault(require("./type/OMTBaseType"));

require("./type/OMTStruct");

require("./type/OMTString");

require("./type/OMTImage");

require("./type/OMTEnum");

require("./type/OMTArray");

require("./type/OMTEnumSet");

require("./type/OMTFile");

require("./type/OMTFileArray");

require("./type/OMTColor");

require("./type/OMTBool");

require("./type/OMTHtml");

require("./type/OMDateTime");

require("./type/OMDate");

require("./type/OMTEnumOfPair");




/***
 * @extends AElement
 * @constructor
 */
function ObjectMergeTool() {
  this._descriptors = null;
  this._objects = null;
  this.root = null;
  this.$body = (0, _ACore.$)('.as-omt-body', this).on('mouseover', this.eventHandler.mouseOverNode);
  this.hoveringNode = null;
  /**
   * @type {Object[]}
   * @memberOf ObjectMergeTool#
   * @name objects
   */

  /**
   * @type {Object}
   * @memberOf ObjectMergeTool#
   * @name descriptors
   */
}

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

ObjectMergeTool.render = function () {
  return (0, _ACore._)({
    class: 'as-omt',
    extendEvent: ['change'],
    child: [{
      class: 'as-omt-body'
    }]
  });
};

ObjectMergeTool.prototype._tryFlushData = function () {
  if (this.root && this.objects && this.objects.length > 0) {
    this.root.assign(this.objects[0]);
  }
};

ObjectMergeTool.prototype._findNode = function (targetElt) {
  while (targetElt && targetElt !== this) {
    if (targetElt.omtNode) return targetElt.omtNode;
    targetElt = targetElt.parentElement;
  }

  return null;
};

ObjectMergeTool.prototype.notifyChange = function () {
  this.emit('change', {
    type: 'change',
    target: this
  }, this);
};

ObjectMergeTool.property = {};
ObjectMergeTool.property.descriptor = {
  set: function (value) {
    this._descriptor = value || {};
    this.$body.clearChild();
    this.root = _OMTBaseType.default.make(this, null, this._descriptor);
    this.$body.addChild(this.root.elt);

    this._tryFlushData();
  },
  get: function () {
    return this._descriptor;
  }
};
ObjectMergeTool.property.objects = {
  set: function (value) {
    this._objects = value || [];

    this._tryFlushData();
  },
  get: function () {
    return this._objects;
  }
};
ObjectMergeTool.property.data = {
  get: function () {
    if (this.root) {
      return this.root.export();
    }

    if (this._objects && this.objects.length > 0) return this._objects[0];
    return null;
  }
};
/***
 * @type {{}}
 * @memberOf ObjectMergeTool#
 */

ObjectMergeTool.eventHandler = {};
/***
 * @this ObjectMergeTool
 * @param {MouseEvent} event
 */

ObjectMergeTool.eventHandler.mouseOverNode = function (event) {
  var node = this._findNode(event.target);

  if (this.hoveringNode === node) return;

  if (this.hoveringNode) {
    this.hoveringNode.elt.removeClass('as-hover');
  }

  this.hoveringNode = node;

  if (this.hoveringNode) {
    this.hoveringNode.elt.addClass('as-hover');
  }
};

_ACore.default.install(ObjectMergeTool);

var _default = ObjectMergeTool;
exports.default = _default;

VaKeR 2022