![]() 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/PathMenu.js ***/ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("../css/pathmenu.css"); var _ACore = _interopRequireWildcard(require("../ACore")); var _QuickMenu = _interopRequireDefault(require("./QuickMenu")); var _AElement = _interopRequireDefault(require("absol/src/HTML5/AElement")); /*** * @extends AElement * @constructor */ function PathMenu() { this._path = []; this.$items = []; } PathMenu.tag = 'PathMenu'.toLowerCase(); PathMenu.render = function () { return (0, _ACore._)({ attr: { tabindex: '1' }, extendEvent: ['press', 'change'], class: 'as-path-menu' }); }; PathMenu.prototype._makeItem = function (data, idx) { var self = this; var button = (0, _ACore._)({ class: ['as-ribbon-split-button', 'as-path-menu-item'], 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', child: { text: (data.name || data.text || '') + '' } } }, { tag: 'button', attr: { 'tabindex': '-1' }, class: 'as-ribbon-split-button-extend', child: ['span.mdi.mdi-chevron-right'] }] } }); button.on('mouseenter', function () { if (document.activeElement && _AElement.default.prototype.isDescendantOf.call(document.activeElement, self) && self.hasClass('as-opening-item')) { if (button.quickMenu) button.quickMenu.open(); } }); var extendIconElt = (0, _ACore.$)('.as-ribbon-split-button-extend .mdi', button); var primaryBtn = (0, _ACore.$)('.as-ribbon-split-button-primary', button).on('click', function () { self.emit('press', { target: self, pathItem: data, index: idx }, self); }); //as-ribbon-split-button-icon var icon = null; if (data.icon) { icon = (0, _ACore._)(data.icon); } else if (data.iconSrc) { icon = (0, _ACore._)({ tag: 'img', props: { src: data.iconSrc } }); } if (icon) { if (icon.parentElement) icon = (0, _ACore.$)(icon.cloneNode(true)); icon.addClass('as-ribbon-split-button-icon'); primaryBtn.addChildBefore(icon, primaryBtn.firstChild); } var quickTrigger = (0, _ACore.$)('.as-ribbon-split-button-extend', button); if (data.items && data.items.length > 0) { button.quickMenu = _QuickMenu.default.toggleWhenClick(quickTrigger, { getMenuProps: function () { return { items: data.items.map(function (it, menuIndex) { if (typeof it === "string") return it; if (typeof it === "object") { if (it.icon || it.iconSrc || it.name || it.text) { return { text: it.name || it.text, menuIndex: menuIndex, icon: it.iconSrc ? { tag: 'img', props: { src: it.iconSrc } } : it.icon || undefined, extendStyle: it.extendStyle || {}, extendClass: it.extendClass || [] }; } } return it; }) }; }, anchor: [1, 6, 0, 7], onOpen: function () { self.addClass('as-opening-item'); extendIconElt.addClass('mdi-rotate-90'); }, onClose: function () { self.removeClass('as-opening-item'); extendIconElt.removeClass('mdi-rotate-90'); }, onSelect: function (item) { var dataItem = data.items[item.menuIndex]; self.emit('change', { target: self, pathItem: data, item: dataItem, index: idx }, self); button.removeClass('as-open'); } }); } else { button.addClass('as-has-no-item'); } return button; }; PathMenu.property = {}; PathMenu.property.path = { set: function (path) { this._path = path || []; this.$items.forEach(elt => elt.remove()); this.$items = this._path.map((it, i) => this._makeItem(it, i)); this.addChild(this.$items); }, get: function () { return this._path; } }; _ACore.default.install(PathMenu); var _default = PathMenu; exports.default = _default;