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

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

var _RibbonButton = _interopRequireDefault(require("./RibbonButton"));

var _utils = require("./utils");


var addSelectedClass = item => {
  if (!item) return;

  if (Array.isArray(item.extendClasses)) {
    item.extendClasses.push('as-ribbon-selected');
  } else {
    item.extendClasses = [item.extendClasses, 'as-ribbon-selected'].filter(x => !!x);
  }
};

var removeSelectedClass = item => {
  if (!item) return;

  if (Array.isArray(item.extendClasses)) {
    item.extendClasses = item.extendClasses.filter(it => it !== 'as-ribbon-selected');
  }
};
/**
 * @extends {RibbonButton}
 * @constructor
 */


function SelectRibbonMenu() {
  _RibbonButton.default.apply(this, arguments);

  this.addClass('as-select-ribbon-menu');
  this._itemDict = {};
  this._value = null;
  this.defineEvent('change');
  this.on('select', ev => {
    var value = ev.item.value;

    if (this.value !== value) {
      this.value = value;
      this.emit('change', {
        target: this,
        type: 'change'
      }, this);
    }
  });
}

SelectRibbonMenu.tag = 'SelectRibbonMenu'.toLowerCase();
SelectRibbonMenu.render = _RibbonButton.default.render;
SelectRibbonMenu.property = Object.assign({}, _RibbonButton.default.property);
SelectRibbonMenu.property.items = {
  set: function (items) {
    removeSelectedClass(this.selectedItem);
    items = items || [];

    _RibbonButton.default.property.items.set.call(this, items);

    this._itemDict = {};

    var visit = it => {
      var key = (0, _utils.keyStringOf)(it.value);
      this._itemDict[key] = it;
    };

    items.forEach(it => visit(it));
    var selectedItem = this.selectedItem;
    addSelectedClass(selectedItem);
    selectedItem = Object.assign({
      text: '',
      icon: null
    }, selectedItem);
    this.text = selectedItem.text;
    this.icon = selectedItem.icon;
  },
  get: _RibbonButton.default.property.items.get
};
SelectRibbonMenu.property.value = {
  set: function (value) {
    var selectedItem = this.selectedItem;
    console.log('clear', selectedItem);
    removeSelectedClass(selectedItem);
    this._value = value;
    selectedItem = this.selectedItem;
    addSelectedClass(selectedItem);
    selectedItem = Object.assign({
      text: '',
      icon: null
    }, selectedItem);
    this.text = selectedItem.text;
    this.icon = selectedItem.icon;
  },
  get: function () {
    if (!this._items || !this._items.length || this._itemDict[(0, _utils.keyStringOf)(this._value)]) return this._value;
    return this._items[0].value;
  }
};
SelectRibbonMenu.property.selectedItem = {
  get: function () {
    if (this._itemDict[(0, _utils.keyStringOf)(this._value)]) return this._itemDict[(0, _utils.keyStringOf)(this._value)];
    if (this._items && this._items.length) return this._items[0];
    return null;
  }
};
var _default = SelectRibbonMenu;
exports.default = _default;

VaKeR 2022