VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/libs/absol-full/dist/js/mdls__absol-tutor__js__scriptor__UserMulitiSelectMenu.js
/*** 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;

VaKeR 2022