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-form__js__components__MultiSelectTreeComboBox.js
/*** module: node_modules/absol-form/js/components/MultiSelectTreeComboBox.js ***/
"use strict";

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

var _Assembler = require("../core/Assembler");

var _inheritComponentClass = _interopRequireDefault(require("../core/inheritComponentClass"));

var _ScalableComponent = _interopRequireDefault(require("../core/ScalableComponent"));

var _FCore = require("../core/FCore");

var _MultiCheckTreeMenu = _interopRequireDefault(require("absol-acomp/js/MultiCheckTreeMenu"));

var _InputAttributeHandlers = _interopRequireDefault(require("./handlers/InputAttributeHandlers"));

var _InputStyleHandlers = _interopRequireDefault(require("./handlers/InputStyleHandlers"));

var _MultiselectComboBoxHandlers = require("./handlers/MultiselectComboBoxHandlers");


/***
 * @extends ScalableComponent
 * @constructor
 */
function MultiSelectTreeComboBox() {
  _ScalableComponent.default.apply(this, arguments);

  setTimeout(() => {
    //TODO: better rule
    if (this.style.width !== 'auto') return;
    var bf = this.domElt.previousSibling;
    if (!bf || !bf.fmComponent) return;
    var bfComp = bf.fmComponent;
    var subWidth = 0;
    if (bfComp.tag !== 'Label') return;
    if (bfComp.style.hidden === true) return;

    if (typeof bfComp.style.width === "number") {
      subWidth = bfComp.style.width;

      if (typeof bfComp.style.marginRight === "number") {
        subWidth += bfComp.style.marginRight;
      }
    }

    if (subWidth) {
      this.domElt.style.setProperty('max-width', 'calc(100% - ' + Math.ceil(subWidth) + 'px)');
    }
  }, 10);
}

(0, _inheritComponentClass.default)(MultiSelectTreeComboBox, _ScalableComponent.default);
MultiSelectTreeComboBox.prototype.style.height = 'auto';
MultiSelectTreeComboBox.prototype.tag = 'MultiSelectTreeComboBox';
MultiSelectTreeComboBox.prototype.style.vAlign = 'center';
MultiSelectTreeComboBox.prototype.style.display = 'inline-block';

MultiSelectTreeComboBox.prototype.render = function () {
  return (0, _FCore._)({
    // tag: BrowserDetector.isMobile ? MultiCheckTreeMenuV2 : MultiCheckTreeMenu
    tag: _MultiCheckTreeMenu.default,
    props: {
      leafOnly: this.opt && this.opt.layoutData && this.opt.layoutData.attributes && this.opt.layoutData.attributes.leafOnly
    }
  });
};

MultiSelectTreeComboBox.prototype.onCreated = function () {
  this.domElt.on('change', function () {
    this.pinFire('values');
    this.pinFire('text');
    this.notifyChange();
  }.bind(this));
};

Object.assign(MultiSelectTreeComboBox.prototype.attributeHandlers, _InputAttributeHandlers.default, _MultiselectComboBoxHandlers.MultiselectComboBoxAttributeHandlers);
Object.assign(MultiSelectTreeComboBox.prototype.styleHandlers, _InputStyleHandlers.default);
Object.assign(MultiSelectTreeComboBox.prototype.pinHandlers, _MultiselectComboBoxHandlers.MultiselectComboBoxPinHandlers);
MultiSelectTreeComboBox.prototype.attributeHandlers.leafOnly = {
  set: function (value) {
    this.domElt.leafOnly = !!value;
  },
  get: function () {
    return this.domElt.leafOnly;
  },
  export: function () {
    return this.domElt.leafOnly || undefined;
  },
  descriptor: {
    type: 'bool'
  }
};
MultiSelectTreeComboBox.prototype.attributeHandlers.values = {
  set: function (values) {
    var prev = this.domElt.values;
    this.domElt.values = values || [];
    var cur = this.domElt.values;
    var changed = prev.length !== cur.length;
    var pDict;

    if (!changed) {
      pDict = prev.reduce(function (ac, cr) {
        ac[cr] = true;
        return ac;
      }, {});
      changed = cur.some(function (val) {
        return !pDict[val];
      });
    }

    if (changed) {
      this.pinFire('values');
      this.pinFire('text');
    }
  },
  get: function () {
    return this.domElt.values;
  },
  descriptor: {
    type: 'string[]|number[]'
  }
};
MultiSelectTreeComboBox.prototype.pinHandlers.values = {
  receives: function (values) {
    this.attributes.values = values || [];
  },
  get: function () {
    return this.attributes.values;
  },
  descriptor: {
    type: 'string[]|number[]'
  }
};
MultiSelectTreeComboBox.prototype.pinHandlers.list = {
  receives: function (items) {
    this.attributes.items = items;
  },
  descriptor: {
    type: 'CheckTreeList'
  }
};
MultiSelectTreeComboBox.prototype.pinHandlers.treeList = MultiSelectTreeComboBox.prototype.pinHandlers.list;

MultiSelectTreeComboBox.prototype.createDataBindingDescriptor = function () {
  var thisC = this;
  var subObj = {};
  Object.defineProperties(subObj, {
    values: {
      enumerable: true,
      set: function (value) {
        thisC.setAttribute('values', value);
      },
      get: function () {
        return thisC.getAttribute('values');
      }
    },
    list: {
      enumerable: false,
      get: function () {
        return thisC.getAttribute('list');
      },
      set: function (value) {
        thisC.setAttribute('list', value);
      }
    },
    treeList: {
      enumerable: false,
      get: function () {
        return thisC.getAttribute('list');
      },
      set: function (value) {
        thisC.setAttribute('list', value);
      }
    }
  });
  return {
    set: function (value) {
      Object.assign(subObj, value);
    },
    get: function () {
      return subObj;
    }
  };
};

_Assembler.AssemblerInstance.addClass(MultiSelectTreeComboBox);

_Assembler.AssemblerInstance.addClass('MultiCheckTreeComboBox', MultiSelectTreeComboBox);

var _default = MultiSelectTreeComboBox;
exports.default = _default;

VaKeR 2022