![]() 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 : |
/*** 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;