![]() 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/UserFileInputBox.js ***/ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _OOP = _interopRequireDefault(require("absol/src/HTML5/OOP")); var _TutorNameManager = _interopRequireDefault(require("./TutorNameManager")); var _TACData = _interopRequireDefault(require("./TACData")); var _UserBaseAction = _interopRequireDefault(require("./UserBaseAction")); /*** * @extends UserBaseAction * @constructor */ function UserFileInputBox() { _UserBaseAction.default.apply(this, arguments); } _OOP.default.mixClass(UserFileInputBox, _UserBaseAction.default); UserFileInputBox.prototype._verifyInput = function (elt) { if (!elt.containsClass || !elt.containsClass('as-file-input-box')) { throw new Error('Type error: not a FileInputBox'); } else if (!elt.allowUpload) { throw new Error('Element error: element is not allow upload(allowUpload=false)'); } }; UserFileInputBox.prototype._waitFile = function () { var self = this; var elt = this.elt; return new Promise(function (resolve, reject) { self.highlightElt(elt); self.onlyClickTo(elt); if (self.hadWrongAction && self.args.wrongMessage) { self.showTooltip(elt, self.args.wrongMessage); } var timeout = -1; function onClick() { self.highlightElt(null); self.onlyClickTo(null); timeout = setTimeout(waitFocus, 500); } elt.once('click', onClick); function waitFocus() { if (document.hasFocus()) { if (self.elt.value) { resolve(true); } else { resolve(false); } } else { timeout = setTimeout(waitFocus, 500); } } self._rejectCb = function () { elt.off('click', onClick); reject(); }; }).then(function (ok) { if (!ok) { self.hadWrongAction = true; return self._waitFile(); } return true; }); }; UserFileInputBox.prototype.requestUserAction = function () { this.elt = this.tutor.findNode(this.args.eltPath); this.assignTarget(this.elt); this._verifyInput(this.elt); return this._waitFile(); }; UserFileInputBox.attachEnv = function (tutor, env) { env.userFileInputBox = function (eltPath, message, wrongMessage) { return new UserFileInputBox(tutor, { eltPath: eltPath, message: message, wrongMessage: wrongMessage }).exec(); }; }; _TutorNameManager.default.addAsync('userFileInputBox'); _TACData.default.define('userFileInputBox', { type: 'function', args: [{ name: 'eltPath', type: '(string|AElement)' }, { name: 'message', type: 'string' }, { name: 'wrongMessage', type: 'string' }] }); var _default = UserFileInputBox; exports.default = _default;