util.js 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.isOption = isOption;
  6. exports.getOptionConfig = getOptionConfig;
  7. exports.createOption = createOption;
  8. exports.destroyOption = destroyOption;
  9. exports.assemOption = assemOption;
  10. var _xeUtils = _interopRequireDefault(require("xe-utils"));
  11. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  12. function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  13. function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  14. function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  15. var OptionConfig = /*#__PURE__*/function () {
  16. function OptionConfig($xeselect, _vm) {
  17. _classCallCheck(this, OptionConfig);
  18. Object.assign(this, {
  19. value: _vm.value,
  20. label: _vm.label,
  21. visible: _vm.visible,
  22. disabled: _vm.disabled
  23. });
  24. }
  25. _createClass(OptionConfig, [{
  26. key: "update",
  27. value: function update(name, value) {
  28. this[name] = value;
  29. }
  30. }]);
  31. return OptionConfig;
  32. }();
  33. function isOption(option) {
  34. return option instanceof OptionConfig;
  35. }
  36. function getOptionConfig($xeselect, _vm, options) {
  37. return isOption(_vm) ? _vm : new OptionConfig($xeselect, _vm, options);
  38. }
  39. function createOption($xeselect, _vm) {
  40. return getOptionConfig($xeselect, _vm);
  41. }
  42. function destroyOption(_vm) {
  43. var $xeselect = _vm.$xeselect,
  44. optionConfig = _vm.optionConfig;
  45. var matchObj = _xeUtils.default.findTree($xeselect.collectOption, function (option) {
  46. return option === optionConfig;
  47. });
  48. if (matchObj) {
  49. matchObj.items.splice(matchObj.index, 1);
  50. }
  51. }
  52. function assemOption(_vm) {
  53. var $el = _vm.$el,
  54. $xeselect = _vm.$xeselect,
  55. $xeoptgroup = _vm.$xeoptgroup,
  56. optionConfig = _vm.optionConfig;
  57. var groupConfig = $xeoptgroup ? $xeoptgroup.optionConfig : null;
  58. optionConfig.slots = _vm.$scopedSlots;
  59. if (groupConfig) {
  60. if (!groupConfig.options) {
  61. groupConfig.options = [];
  62. }
  63. groupConfig.options.splice([].indexOf.call($xeoptgroup.$el.children, $el), 0, optionConfig);
  64. } else {
  65. $xeselect.collectOption.splice([].indexOf.call($xeselect.$refs.hideOption.children, $el), 0, optionConfig);
  66. }
  67. }