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

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

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

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

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

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

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

var _DomSignal = _interopRequireDefault(require("absol/src/HTML5/DomSignal"));

var _BrowserDetector = _interopRequireDefault(require("absol/src/Detector/BrowserDetector"));

var _MSelectMenu = _interopRequireDefault(require("absol-mobile/js/dom/MSelectMenu"));

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

var _ComboBoxHandlers = require("./handlers/ComboBoxHandlers");

var _FNode = require("../core/FNode");




var _ = _FCore.default._;
/***
 * @extends ScalableComponent
 * @constructor
 */

function ComboBox() {
  _ScalableComponent.default.call(this);
}

(0, _inheritComponentClass.default)(ComboBox, _ScalableComponent.default);
ComboBox.prototype.tag = "ComboBox";
ComboBox.prototype.menuIcon = 'span.mdi.mdi-arrow-down-drop-circle-outline';
Object.assign(ComboBox.prototype.attributeHandlers, _InputAttributeHandlers.default, _ComboBoxHandlers.ComboBoxAttributeHandlers);
Object.assign(ComboBox.prototype.styleHandlers, _InputStyleHandlers.default);
ComboBox.prototype.style.vAlign = 'center';
ComboBox.prototype.style.display = 'inline-block';
ComboBox.prototype.styleHandlers.dropdownIcon = {
  set: function (value) {
    if (value) {
      this.domElt.addClass('as-keep-dropdown-icon');
    } else {
      this.domElt.removeClass('as-keep-dropdown-icon');
    }
  },
  get: function () {
    return this.domElt.hasClass('as-keep-dropdown-icon');
  },
  export: function () {
    return this.style.dropdownIcon || undefined;
  },
  descriptor: {
    type: 'bool'
  }
};
Object.assign(ComboBox.prototype.pinHandlers, _ComboBoxHandlers.ComboBoxPinHandlers); //
// ComboBox.prototype.pinHandlers.value = {
//     receives: function (value) {
//         this.attributes.value = value;
//     },
//     get: function () {
//         return this.domElt.value;
//     },
//     descriptor: {
//         type: 'text|number'
//     }
// };

ComboBox.prototype.pinHandlers.onClick = {
  get: function () {
    return {
      sender: this
    };
  }
};

ComboBox.prototype.onCreate = function () {
  _ScalableComponent.default.prototype.onCreate.call(this);
};

ComboBox.prototype.onCreated = function () {
  _ScalableComponent.default.prototype.onCreated.call(this);

  var self = this;
  this.domElt.on('minwidthchange', function (event) {
    if (!(self.style.width > event.value)) {
      self.setStyle('width', event.value);
    }
  }).on('change', function () {
    // self.attributes.value = this.value;
    self.notifyUnion();
    self.pinFire('value');
    self.pinFire('text');
    self.notifyChange();
  }).on('click', function (event) {
    if (this.readOnly) self.pinFire('onClick');
  });
};

ComboBox.prototype.onResume = function () {
  _ScalableComponent.default.prototype.onResume.apply(this, arguments);

  this.notifyUnion();
};

ComboBox.prototype.render = function () {
  return _(_BrowserDetector.default.isMobile ? _MSelectMenu.default.tag : 'selectmenu');
};

ComboBox.prototype.measureMinSize = function () {
  var minWidthStyle = this.domElt ? parseFloat(this.domElt.getComputedStyleValue('min-width').replace('px')) : 24;
  return {
    width: Math.max(minWidthStyle, 24),
    height: 25
  };
};

ComboBox.prototype.createDataBindingDescriptor = function () {
  var thisC = this;
  var subObj = {};
  Object.defineProperties(subObj, {
    value: {
      configurable: true,
      enumerable: true,
      set: function (value) {
        thisC.setAttribute('value', value);
      },
      get: function () {
        return thisC.getAttribute('value');
      }
    },
    list: {
      enumerable: false,
      configurable: true,
      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;
    }
  };
};

ComboBox.prototype.verify = function () {
  if (!this.attributes.required) return {
    completed: true
  };
  var value = this.attributes.value;

  if (value === null) {
    return {
      completed: false,
      comp: this
    };
  }
};

ComboBox.prototype.notifyUnion = function () {
  var fragment = this.fragment;
  var name = this.attributes.name;
  var value = this.attributes.value + '';
  if (!fragment || !fragment.view) return;
  (0, _FNode.traversal)(fragment.view, path => {
    var node = path.node;
    var unionValues;

    if (node.attributes.union === name) {
      unionValues = node.attributes.unionValues;

      if (unionValues && unionValues.length > 0) {
        node.attributes.disembark = !unionValues.some(val => val + '' === value);
      } else {
        node.attributes.disembark = true;
      }
    }

    if (node.fragment !== fragment) path.skipChildren();
  });
};

_Assembler.AssemblerInstance.addClass(ComboBox);

var _default = ComboBox;
exports.default = _default;

VaKeR 2022