![]() 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/RibbonSplitButton.js ***/ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("../css/ribbonsplitbutton.css"); var _ACore = _interopRequireDefault(require("../ACore")); var _QuickMenu = _interopRequireDefault(require("./QuickMenu")); var _utils = require("./utils"); var _AElement = _interopRequireDefault(require("absol/src/HTML5/AElement")); var _ = _ACore.default._; var $ = _ACore.default.$; /*** * @extends AElement * @constructor */ function RibbonSplitButton() { this.$icon = null; this._icon = null; this.$text = $('.as-ribbon-split-button-text', this); this.$primaryBtn = $('.as-ribbon-split-button-primary', this).on('click', this.eventHandler.clickPrimaryBtn); this.$extendBtn = $('.as-ribbon-split-button-extend', this); this.$extendText = $('.as-ribbon-split-button-text', this.$extendBtn); //for big style this._menuHolder = null; } RibbonSplitButton.tag = 'RibbonSplitButton'.toLowerCase(); RibbonSplitButton.render = function () { return _({ extendEvent: ['press', 'select'], attr: { 'tabindex': '0' }, class: ['as-ribbon-split-button', 'as-no-dropdown'], child: { class: 'as-ribbon-split-button-content', child: [{ tag: 'button', attr: { 'tabindex': '-1' }, class: 'as-ribbon-split-button-primary', child: { tag: 'span', class: 'as-ribbon-split-button-text' } }, { tag: 'button', attr: { 'tabindex': '-1' }, class: 'as-ribbon-split-button-extend', child: ['span.as-ribbon-split-button-text', 'span.mdi.mdi-chevron-down.as-ribbon-dropdown-icon'] }] } }); }; RibbonSplitButton.property = {}; RibbonSplitButton.property.items = { set: function (items) { var thisB = this; this._items = items || []; if (this._items && this._items.length > 0) { if (!this._menuHolder) { this.removeClass('as-no-dropdown'); this._menuHolder = _QuickMenu.default.toggleWhenClick(this.$extendBtn || this, { getMenuProps: function () { return { extendStyle: { 'min-width': thisB.getBoundingClientRect().width + 'px' }, items: thisB._items }; }, getFlowedElement: function () { return thisB; }, anchor: [1, 2, 6, 5], onSelect: function (item) { thisB.emit('select', { item: (0, _utils.cleanMenuItemProperty)(item), type: 'select', target: thisB }); } }); } } else { if (this._menuHolder) { this.addClass('as-no-dropdown'); this._menuHolder.remove(); this._menuHolder = null; } } }, get: function () { return this._items; } }; RibbonSplitButton.property.text = { set: function (value) { value = value || ''; this.$text.attr('data-text', value); if (this.$extendText) this.$extendText.attr('data-text', value); }, get: function () { return this.$text.attr('data-text') | ''; } }; RibbonSplitButton.property.icon = { set: function (icon) { icon = icon || null; this._icon = icon; if (this.$icon) this.$primaryBtn.removeChild(this.$icon); if (icon) { this.$icon = _(icon); this.$primaryBtn.addChildBefore(this.$icon, this.$text); if (this.$icon.addClass) this.$icon.addClass('as-ribbon-split-button-icon'); } else { this.$icon = null; } }, get: function () { return this._icon; } }; RibbonSplitButton.eventHandler = {}; RibbonSplitButton.eventHandler.clickPrimaryBtn = function () { this.emit('press', { type: 'press', target: this, item: (0, _utils.cleanMenuItemProperty)(this) }); }; _ACore.default.install(RibbonSplitButton); var _default = RibbonSplitButton; exports.default = _default;