![]() 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-tutor/js/scriptor/UserMulitiSelectMenu.js ***/ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _TACData = _interopRequireDefault(require("./TACData")); var _UserBaseAction = _interopRequireDefault(require("./UserBaseAction")); var _OOP = _interopRequireDefault(require("absol/src/HTML5/OOP")); var _TutorNameManager = _interopRequireDefault(require("./TutorNameManager")); var _UserSelectMenu = _interopRequireDefault(require("./UserSelectMenu")); var _MultiSelectMenu = _interopRequireDefault(require("absol-acomp/js/MultiSelectMenu")); /*** * @extends UserBaseAction * @constructor */ function UserMultiSelectMenu() { _UserBaseAction.default.apply(this, arguments); } _OOP.default.mixClass(UserMultiSelectMenu, _UserBaseAction.default); UserMultiSelectMenu.prototype._verifyMultiSelectMenu = function (elt) { if (!elt.containsClass || !elt.containsClass("as-multi-select-menu")) { throw new Error("Type error: not a MultiSelectMenu(SelectBox)"); } }; UserMultiSelectMenu.prototype._afterOpenList = _UserSelectMenu.default.prototype._afterOpenList; UserMultiSelectMenu.prototype._afterCloseList = _UserSelectMenu.default.prototype._afterCloseList; UserMultiSelectMenu.prototype._afterDelete = function (itemElt) {}; /*** * * @param {MultiSelectMenu} elt * @param values * @param wrongMessage * @param searchMessage * @returns {Promise} * @private */ UserMultiSelectMenu.prototype._afterSelect = function (elt, values, wrongMessage, searchMessage) { this.onlyClickTo(elt); }; /*** * * @param {MultiSelectMenu} elt * @param values * @param wrongMessage * @param searchMessage * @returns {Promise} * @private */ UserMultiSelectMenu.prototype._afterChanged = function (elt, values, wrongMessage, searchMessage) { var thisC = this; this.highlightElt(elt); if (this.hadWrongAction) { if (wrongMessage) thisC.showTooltip(elt, wrongMessage); } this._clickCb = function () { if (wrongMessage) thisC.showTooltip(elt, wrongMessage); }; var valueDict = values.reduce(function (ac, cr) { ac[cr] = (ac[cr] || 0) + 1; return ac; }, {}); var wrongItem = undefined; var cValues = elt.values.slice(); for (var i = 0; i < cValues.length; ++i) { if (valueDict[cValues[i]]) { wrongItem = cValues[i]; break; } } if (wrongItem === undefined) {} else {} }; UserMultiSelectMenu.prototype.requestUserAction = function () { var elt = this.tutor.findNode(this.args.eltPath); this._verifyMultiSelectMenu(elt); var values = this.args.values.slice(); values.sort(); if (elt.$selectlistBox && elt.$selectlistBox.findItemsByValue) { values.forEach(function (value) { var items = elt.$selectlistBox.findItemsByValue(value); if (!items || items.length === 0) { throw new Error("Not found value=" + (JSON.stringify(value) || value) + ' in SelectMenu'); } }); } var wrongMessage = this.args.wrongMessage; var searchMessage = this.args.searchMessage; return this._afterChanged(elt, values, wrongMessage, searchMessage); }; UserMultiSelectMenu.attachEnv = function (tutor, env) { env.userMultiSelectMenu = function (eltPath, values, message, wrongMessage, searchMessage) { return new UserMultiSelectMenu(tutor, { eltPath: eltPath, values: values, message: message, wrongMessage: wrongMessage, searchMessage: searchMessage }).exec(); }; }; _TutorNameManager.default.addAsync('userMultiSelectMenu'); _TACData.default.define('userMultiSelectMenu', { type: 'function', args: [{ name: 'eltPath', type: '(string|AElement)' }, { name: 'values', type: '(string|value)[]' }, { name: 'message', type: 'string' }, { name: 'wrongMessage', type: 'string' }, { name: 'searchMessage', type: 'string' }] }); var _default = UserMultiSelectMenu; exports.default = _default;