front-ui-admin 1.1.13 → 1.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14216,7 +14216,7 @@ input.install = function (Vue) {
14216
14216
  "click": this.handleClick
14217
14217
  }
14218
14218
  }, [this.$slots.default, this.closable && h("i", {
14219
- "class": "p-tag__close el-icon-close",
14219
+ "class": "p-tag__close p-icon-close",
14220
14220
  "on": {
14221
14221
  "click": this.handleClose
14222
14222
  }
@@ -14258,8 +14258,8 @@ tag.install = function (Vue) {
14258
14258
  Vue.component(tag.name, tag);
14259
14259
  };
14260
14260
  /* harmony default export */ var p_tag = (tag);
14261
- // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"75b11e11-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/package-admin/p-select/src/select.vue?vue&type=template&id=5cd02054
14262
- var selectvue_type_template_id_5cd02054_render = function render() {
14261
+ // CONCATENATED MODULE: ./node_modules/cache-loader/dist/cjs.js?{"cacheDirectory":"node_modules/.cache/vue-loader","cacheIdentifier":"75b11e11-vue-loader-template"}!./node_modules/cache-loader/dist/cjs.js??ref--13-0!./node_modules/babel-loader/lib!./node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!./node_modules/cache-loader/dist/cjs.js??ref--1-0!./node_modules/vue-loader/lib??vue-loader-options!./src/package-admin/p-select/src/select.vue?vue&type=template&id=39142a1a
14262
+ var selectvue_type_template_id_39142a1a_render = function render() {
14263
14263
  var _vm = this,
14264
14264
  _c = _vm._self._c;
14265
14265
  return _c('div', {
@@ -14284,7 +14284,34 @@ var selectvue_type_template_id_5cd02054_render = function render() {
14284
14284
  'max-width': _vm.inputWidth - 32 + 'px',
14285
14285
  width: '100%'
14286
14286
  }
14287
- }, [_vm.collapseTags && _vm.selected.length ? _c('span', [_c('p-tag', {
14287
+ }, [_vm.adaptiveCollapse && _vm.selected.length ? [_c('transition-group', {
14288
+ on: {
14289
+ "after-leave": _vm.resetInputHeight
14290
+ }
14291
+ }, _vm._l(_vm.selected.slice(0, _vm.visibleTagCount), function (item) {
14292
+ return _c('p-tag', {
14293
+ key: _vm.getValueKey(item),
14294
+ attrs: {
14295
+ "closable": !_vm.selectDisabled,
14296
+ "size": _vm.collapseTagSize,
14297
+ "hit": item.hitState,
14298
+ "type": "info",
14299
+ "disable-transitions": ""
14300
+ },
14301
+ on: {
14302
+ "close": function ($event) {
14303
+ return _vm.deleteTag($event, item);
14304
+ }
14305
+ }
14306
+ }, [_c('span', {
14307
+ staticClass: "el-select__tags-text"
14308
+ }, [_vm._v(_vm._s(item.currentLabel))])]);
14309
+ }), 1), _vm.collapsedTagCount > 0 ? _c('div', {
14310
+ staticClass: "p-tag p-tag--info",
14311
+ class: [_vm.collapseTagSize ? `p-tag--${_vm.collapseTagSize}` : '']
14312
+ }, [_c('span', {
14313
+ staticClass: "el-select__tags-text"
14314
+ }, [_vm._v("+ " + _vm._s(_vm.collapsedTagCount))])]) : _vm._e()] : _vm.collapseTags && _vm.selected.length ? _c('span', [_c('p-tag', {
14288
14315
  attrs: {
14289
14316
  "closable": !_vm.selectDisabled,
14290
14317
  "size": _vm.collapseTagSize,
@@ -14308,7 +14335,7 @@ var selectvue_type_template_id_5cd02054_render = function render() {
14308
14335
  }
14309
14336
  }, [_c('span', {
14310
14337
  staticClass: "el-select__tags-text"
14311
- }, [_vm._v("+ " + _vm._s(_vm.selected.length - 1))])]) : _vm._e()], 1) : _vm._e(), !_vm.collapseTags ? _c('transition-group', {
14338
+ }, [_vm._v("+ " + _vm._s(_vm.selected.length - 1))])]) : _vm._e()], 1) : _vm._e(), !_vm.collapseTags && !_vm.adaptiveCollapse ? _c('transition-group', {
14312
14339
  on: {
14313
14340
  "after-leave": _vm.resetInputHeight
14314
14341
  }
@@ -14391,7 +14418,7 @@ var selectvue_type_template_id_5cd02054_render = function render() {
14391
14418
  _vm.query = $event.target.value;
14392
14419
  }, _vm.debouncedQueryChange]
14393
14420
  }
14394
- }) : _vm._e()], 1) : _vm._e(), _c('p-input', {
14421
+ }) : _vm._e()], 2) : _vm._e(), _c('p-input', {
14395
14422
  ref: "reference",
14396
14423
  class: {
14397
14424
  'is-focus': _vm.visible
@@ -14515,9 +14542,9 @@ var selectvue_type_template_id_5cd02054_render = function render() {
14515
14542
  staticClass: "el-select-dropdown__empty"
14516
14543
  }, [_vm._v(" " + _vm._s(_vm.emptyText) + " ")])] : _vm._e()], 2)], 1)], 1);
14517
14544
  };
14518
- var selectvue_type_template_id_5cd02054_staticRenderFns = [];
14545
+ var selectvue_type_template_id_39142a1a_staticRenderFns = [];
14519
14546
 
14520
- // CONCATENATED MODULE: ./src/package-admin/p-select/src/select.vue?vue&type=template&id=5cd02054
14547
+ // CONCATENATED MODULE: ./src/package-admin/p-select/src/select.vue?vue&type=template&id=39142a1a
14521
14548
 
14522
14549
  // CONCATENATED MODULE: ./src/mixins/focus.js
14523
14550
  /* harmony default export */ var mixins_focus = (function (ref) {
@@ -15031,6 +15058,10 @@ var es_iterator_every = __webpack_require__("d866");
15031
15058
  default: 'value'
15032
15059
  },
15033
15060
  collapseTags: Boolean,
15061
+ adaptiveCollapse: {
15062
+ type: Boolean,
15063
+ default: false
15064
+ },
15034
15065
  popperAppendToBody: {
15035
15066
  type: Boolean,
15036
15067
  default: true
@@ -15062,6 +15093,39 @@ var es_iterator_every = __webpack_require__("d866");
15062
15093
  isSilentBlur: false
15063
15094
  };
15064
15095
  },
15096
+ computed: {
15097
+ // 计算可见的 tag 数量(自适应模式)
15098
+ visibleTagCount() {
15099
+ if (!this.adaptiveCollapse || !this.selected || this.selected.length === 0) {
15100
+ return this.selected ? this.selected.length : 0;
15101
+ }
15102
+
15103
+ // 如果容器宽度还没有初始化,返回所有 tag
15104
+ if (this.inputWidth <= 0) {
15105
+ return this.selected.length;
15106
+ }
15107
+
15108
+ // 简化计算:根据容器宽度估算可显示的 tag 数量
15109
+ const containerWidth = Math.max(100, this.inputWidth - 50); // 减去箭头等元素的宽度
15110
+ const avgTagWidth = 80; // 平均每个 tag 的宽度
15111
+ const collapseTagWidth = 50; // 折叠标签的宽度
15112
+
15113
+ // 计算可显示的 tag 数量
15114
+ const availableWidth = containerWidth - collapseTagWidth;
15115
+ const maxVisibleTags = Math.floor(availableWidth / avgTagWidth);
15116
+
15117
+ // 确保至少显示 1 个 tag,最多显示所有 tag
15118
+ const visibleCount = Math.max(1, Math.min(maxVisibleTags, this.selected.length));
15119
+ return visibleCount;
15120
+ },
15121
+ // 计算折叠的 tag 数量
15122
+ collapsedTagCount() {
15123
+ if (!this.adaptiveCollapse) {
15124
+ return this.collapseTags && this.selected ? this.selected.length - 1 : 0;
15125
+ }
15126
+ return this.selected ? Math.max(0, this.selected.length - this.visibleTagCount) : 0;
15127
+ }
15128
+ },
15065
15129
  watch: {
15066
15130
  selectDisabled() {
15067
15131
  this.$nextTick(() => {
@@ -15340,7 +15404,7 @@ var es_iterator_every = __webpack_require__("d866");
15340
15404
  this.resetInputHeight();
15341
15405
  },
15342
15406
  resetInputHeight() {
15343
- if (this.collapseTags && !this.filterable) return;
15407
+ if (this.collapseTags && !this.filterable && !this.adaptiveCollapse) return;
15344
15408
  this.$nextTick(() => {
15345
15409
  if (!this.$refs.reference) return;
15346
15410
  let inputChildNodes = this.$refs.reference.$el.childNodes;
@@ -15354,6 +15418,14 @@ var es_iterator_every = __webpack_require__("d866");
15354
15418
  }
15355
15419
  });
15356
15420
  },
15421
+ // 重新计算可见的 tag 数量(自适应模式)
15422
+ recalculateVisibleTags() {
15423
+ if (!this.adaptiveCollapse) return;
15424
+ this.$nextTick(() => {
15425
+ // 强制重新计算计算属性
15426
+ this.$forceUpdate();
15427
+ });
15428
+ },
15357
15429
  resetHoverIndex() {
15358
15430
  setTimeout(() => {
15359
15431
  if (!this.multiple) {
@@ -15478,7 +15550,10 @@ var es_iterator_every = __webpack_require__("d866");
15478
15550
  },
15479
15551
  handleResize() {
15480
15552
  this.resetInputWidth();
15481
- if (this.multiple) this.resetInputHeight();
15553
+ if (this.multiple) {
15554
+ this.resetInputHeight();
15555
+ this.recalculateVisibleTags();
15556
+ }
15482
15557
  },
15483
15558
  checkDefaultFirstOption() {
15484
15559
  this.hoverIndex = -1;
@@ -15575,8 +15650,8 @@ var es_iterator_every = __webpack_require__("d866");
15575
15650
 
15576
15651
  var select_component = normalizeComponent(
15577
15652
  src_selectvue_type_script_lang_js,
15578
- selectvue_type_template_id_5cd02054_render,
15579
- selectvue_type_template_id_5cd02054_staticRenderFns,
15653
+ selectvue_type_template_id_39142a1a_render,
15654
+ selectvue_type_template_id_39142a1a_staticRenderFns,
15580
15655
  false,
15581
15656
  null,
15582
15657
  null,