bkui-vue 0.0.2-beta.106 → 0.0.2-beta.107

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.
@@ -797,9 +797,29 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
797
797
  var selectedStyle = (0,external_vue_namespaceObject.computed)(function () {
798
798
  return select === null || select === void 0 ? void 0 : select.selectedStyle;
799
799
  });
800
+ var isShowAll = (0,external_vue_namespaceObject.computed)(function () {
801
+ return select === null || select === void 0 ? void 0 : select.isShowAll;
802
+ });
803
+ var allOptionId = (0,external_vue_namespaceObject.computed)(function () {
804
+ return select === null || select === void 0 ? void 0 : select.allOptionId;
805
+ });
806
+ var isDisabled = (0,external_vue_namespaceObject.computed)(function () {
807
+ var _select$selected2;
808
+ if (!isShowAll.value || optionID.value === allOptionId.value) return disabled.value;
809
+ // 全部选项需要禁用掉其他选项
810
+ var exitAllOptionId = select === null || select === void 0 || (_select$selected2 = select.selected) === null || _select$selected2 === void 0 ? void 0 : _select$selected2.some(function (item) {
811
+ return (0,isEqual_namespaceObject["default"])(item.value, allOptionId.value);
812
+ });
813
+ return disabled.value || isShowAll.value && exitAllOptionId;
814
+ });
800
815
  var handleOptionClick = function handleOptionClick() {
801
- if (disabled.value) return;
802
- select === null || select === void 0 ? void 0 : select.handleOptionSelected(proxy);
816
+ if (isDisabled.value) return;
817
+ if (isShowAll.value && allOptionId.value === optionID.value) {
818
+ // 全部选项
819
+ select === null || select === void 0 ? void 0 : select.handleToggleAll();
820
+ } else {
821
+ select === null || select === void 0 ? void 0 : select.handleOptionSelected(proxy);
822
+ }
803
823
  };
804
824
  var handleMouseEnter = function handleMouseEnter() {
805
825
  select.activeOptionValue = optionID.value;
@@ -822,6 +842,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
822
842
  selectedStyle: selectedStyle,
823
843
  optionName: optionName,
824
844
  optionID: optionID,
845
+ isDisabled: isDisabled,
825
846
  handleOptionClick: handleOptionClick,
826
847
  handleMouseEnter: handleMouseEnter,
827
848
  resolveClassName: resolveClassName
@@ -831,7 +852,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
831
852
  var _this$$slots$default, _this$$slots$default2, _this$$slots;
832
853
  var selectItemClass = (0,external_shared_namespaceObject.classes)(_defineProperty({
833
854
  'is-selected': this.selected,
834
- 'is-disabled': this.disabled,
855
+ 'is-disabled': this.isDisabled,
835
856
  'is-multiple': this.multiple,
836
857
  'is-hover': this.isHover,
837
858
  'is-checkbox': this.selectedStyle === external_shared_namespaceObject.SelectedTypeEnum.CHECKBOX
@@ -841,7 +862,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
841
862
  "onClick": this.handleOptionClick,
842
863
  "onMouseenter": this.handleMouseEnter
843
864
  }, [this.showSelectedIcon && this.selectedStyle === external_shared_namespaceObject.SelectedTypeEnum.CHECKBOX && (0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject["default"], {
844
- "disabled": this.disabled,
865
+ "disabled": this.isDisabled,
845
866
  "class": this.resolveClassName('select-checkbox'),
846
867
  "modelValue": this.selected
847
868
  }, null), (_this$$slots$default = (_this$$slots$default2 = (_this$$slots = this.$slots)["default"]) === null || _this$$slots$default2 === void 0 ? void 0 : _this$$slots$default2.call(_this$$slots)) !== null && _this$$slots$default !== void 0 ? _this$$slots$default : (0,external_vue_namespaceObject.createVNode)("span", {
@@ -1300,6 +1321,7 @@ function select_objectSpread(target) { for (var i = 1; i < arguments.length; i++
1300
1321
 
1301
1322
 
1302
1323
 
1324
+
1303
1325
  /* harmony default export */ const src_select = ((0,external_vue_namespaceObject.defineComponent)({
1304
1326
  name: 'Select',
1305
1327
  directives: {
@@ -1315,6 +1337,8 @@ function select_objectSpread(target) { for (var i = 1; i < arguments.length; i++
1315
1337
  filterable: external_shared_namespaceObject.PropTypes.bool.def(false),
1316
1338
  remoteMethod: external_shared_namespaceObject.PropTypes.func,
1317
1339
  scrollHeight: external_shared_namespaceObject.PropTypes.number.def(200),
1340
+ showAll: external_shared_namespaceObject.PropTypes.bool.def(false),
1341
+ allOptionId: external_shared_namespaceObject.PropTypes.oneOfType([external_shared_namespaceObject.PropTypes.number, external_shared_namespaceObject.PropTypes.string]),
1318
1342
  showSelectAll: external_shared_namespaceObject.PropTypes.bool.def(false),
1319
1343
  popoverMinWidth: external_shared_namespaceObject.PropTypes.number.def(0),
1320
1344
  showOnInit: external_shared_namespaceObject.PropTypes.bool.def(false),
@@ -1372,6 +1396,8 @@ function select_objectSpread(target) { for (var i = 1; i < arguments.length; i++
1372
1396
  inputSearch = _toRefs.inputSearch,
1373
1397
  enableVirtualRender = _toRefs.enableVirtualRender,
1374
1398
  showSelectAll = _toRefs.showSelectAll,
1399
+ showAll = _toRefs.showAll,
1400
+ allOptionId = _toRefs.allOptionId,
1375
1401
  scrollHeight = _toRefs.scrollHeight,
1376
1402
  list = _toRefs.list,
1377
1403
  displayKey = _toRefs.displayKey,
@@ -1531,6 +1557,9 @@ function select_objectSpread(target) { for (var i = 1; i < arguments.length; i++
1531
1557
  var isShowSelectAll = (0,external_vue_namespaceObject.computed)(function () {
1532
1558
  return multiple.value && showSelectAll.value && (!searchKey.value || !filterable.value);
1533
1559
  });
1560
+ var isShowAll = (0,external_vue_namespaceObject.computed)(function () {
1561
+ return multiple.value && showAll.value;
1562
+ });
1534
1563
  // 虚拟滚动高度 12 上下边距,32 显示全选时的高度
1535
1564
  var virtualHeight = (0,external_vue_namespaceObject.computed)(function () {
1536
1565
  return scrollHeight.value - 12 - (isShowSelectAll.value ? 32 : 0);
@@ -1759,11 +1788,11 @@ function select_objectSpread(target) { for (var i = 1; i < arguments.length; i++
1759
1788
  emit('clear', multiple.value ? [] : '');
1760
1789
  hidePopover();
1761
1790
  };
1762
- // 全选/取消全选
1763
1791
  var handleSelectedAllOptionMouseEnter = function handleSelectedAllOptionMouseEnter() {
1764
1792
  activeOptionValue.value = '';
1765
1793
  };
1766
- var handleToggleAll = function handleToggleAll() {
1794
+ // 全选/取消全选
1795
+ var handleToggleSelectAll = function handleToggleSelectAll() {
1767
1796
  if (isAllSelected.value) {
1768
1797
  selected.value = [];
1769
1798
  } else {
@@ -1788,6 +1817,25 @@ function select_objectSpread(target) { for (var i = 1; i < arguments.length; i++
1788
1817
  }));
1789
1818
  focusInput();
1790
1819
  };
1820
+ // 全部/取消全部
1821
+ var handleToggleAll = function handleToggleAll() {
1822
+ if (!isShowAll.value) return;
1823
+ var index = selected.value.findIndex(function (item) {
1824
+ return item.value === allOptionId.value;
1825
+ });
1826
+ if (index > -1) {
1827
+ selected.value = [];
1828
+ } else {
1829
+ selected.value = [{
1830
+ value: allOptionId.value,
1831
+ label: t.value.all
1832
+ }];
1833
+ }
1834
+ emitChange(selected.value.map(function (item) {
1835
+ return item.value;
1836
+ }));
1837
+ focusInput();
1838
+ };
1791
1839
  // 滚动事件
1792
1840
  var handleScroll = function handleScroll(e) {
1793
1841
  var _e$target = e.target,
@@ -1928,13 +1976,16 @@ function select_objectSpread(target) { for (var i = 1; i < arguments.length; i++
1928
1976
  selected: selected,
1929
1977
  activeOptionValue: activeOptionValue,
1930
1978
  showSelectedIcon: showSelectedIcon,
1979
+ isShowAll: isShowAll,
1980
+ allOptionId: allOptionId,
1931
1981
  selectedStyle: selectedStyle,
1932
1982
  register: register,
1933
1983
  unregister: unregister,
1934
1984
  registerGroup: registerGroup,
1935
1985
  unregisterGroup: unregisterGroup,
1936
1986
  handleOptionSelected: handleOptionSelected,
1937
- handleGetLabelByValue: handleGetLabelByValue
1987
+ handleGetLabelByValue: handleGetLabelByValue,
1988
+ handleToggleAll: handleToggleAll
1938
1989
  }));
1939
1990
  (0,external_vue_namespaceObject.onMounted)(function () {
1940
1991
  handleSetSelectedData();
@@ -1944,6 +1995,7 @@ function select_objectSpread(target) { for (var i = 1; i < arguments.length; i++
1944
1995
  });
1945
1996
  });
1946
1997
  return {
1998
+ t: t,
1947
1999
  selected: selected,
1948
2000
  isInput: isInput,
1949
2001
  options: options,
@@ -1967,11 +2019,13 @@ function select_objectSpread(target) { for (var i = 1; i < arguments.length; i++
1967
2019
  curContentText: curContentText,
1968
2020
  isGroup: isGroup,
1969
2021
  searchKey: searchKey,
2022
+ isShowAll: isShowAll,
1970
2023
  isShowSelectAll: isShowSelectAll,
1971
2024
  virtualHeight: virtualHeight,
1972
2025
  virtualList: virtualList,
1973
2026
  isCollapseTags: isCollapseTags,
1974
2027
  popoverConfig: popoverConfig,
2028
+ isAllSelected: isAllSelected,
1975
2029
  focusInput: focusInput,
1976
2030
  setHover: setHover,
1977
2031
  cancelHover: cancelHover,
@@ -1981,7 +2035,7 @@ function select_objectSpread(target) { for (var i = 1; i < arguments.length; i++
1981
2035
  handleClear: handleClear,
1982
2036
  hidePopover: hidePopover,
1983
2037
  showPopover: showPopover,
1984
- handleToggleAll: handleToggleAll,
2038
+ handleToggleSelectAll: handleToggleSelectAll,
1985
2039
  handleOptionSelected: handleOptionSelected,
1986
2040
  handleClickOutside: handleClickOutside,
1987
2041
  handleScroll: handleScroll,
@@ -2034,6 +2088,28 @@ function select_objectSpread(target) { for (var i = 1; i < arguments.length; i++
2034
2088
  return (_this$$slots$prefix = (_this$$slots = _this.$slots).prefix) === null || _this$$slots$prefix === void 0 ? void 0 : _this$$slots$prefix.call(_this$$slots);
2035
2089
  } : undefined;
2036
2090
  };
2091
+ // 全选
2092
+ var renderSelectAll = function renderSelectAll() {
2093
+ if (!_this.isShowSelectAll) return;
2094
+ return (0,external_vue_namespaceObject.createVNode)("li", {
2095
+ "class": _this.resolveClassName('select-option'),
2096
+ "onMouseenter": _this.handleSelectedAllOptionMouseEnter,
2097
+ "onClick": _this.handleToggleSelectAll
2098
+ }, [_this.selectedStyle === 'checkbox' && (0,external_vue_namespaceObject.createVNode)(external_checkbox_namespaceObject["default"], {
2099
+ "class": _this.resolveClassName('select-checkbox'),
2100
+ "modelValue": _this.isAllSelected,
2101
+ "indeterminate": !_this.isAllSelected && !!_this.selected.length
2102
+ }, null), _this.t.selectAll]);
2103
+ };
2104
+ // 全部
2105
+ var renderAll = function renderAll() {
2106
+ // 全选和全部是互斥的,只能选一个
2107
+ if (_this.isShowSelectAll || !_this.isShowAll) return;
2108
+ return (0,external_vue_namespaceObject.createVNode)(src_option, {
2109
+ "id": _this.allOptionId,
2110
+ "name": _this.t.all
2111
+ }, null);
2112
+ };
2037
2113
  var renderTriggerInput = function renderTriggerInput() {
2038
2114
  if (_this.multipleMode === 'tag') {
2039
2115
  return (0,external_vue_namespaceObject.createVNode)(selectTagInput, {
@@ -2140,11 +2216,7 @@ function select_objectSpread(target) { for (var i = 1; i < arguments.length; i++
2140
2216
  "onScroll": _this.handleScroll
2141
2217
  }, [(0,external_vue_namespaceObject.withDirectives)((0,external_vue_namespaceObject.createVNode)("ul", {
2142
2218
  "class": _this.resolveClassName('select-options')
2143
- }, [_this.isShowSelectAll && (0,external_vue_namespaceObject.createVNode)("li", {
2144
- "class": _this.resolveClassName('select-option'),
2145
- "onMouseenter": _this.handleSelectedAllOptionMouseEnter,
2146
- "onClick": _this.handleToggleAll
2147
- }, [_this.localSelectAllText]), _this.enableVirtualRender ? (0,external_vue_namespaceObject.createVNode)(external_virtual_render_namespaceObject["default"], {
2219
+ }, [renderSelectAll(), renderAll(), _this.enableVirtualRender ? (0,external_vue_namespaceObject.createVNode)(external_virtual_render_namespaceObject["default"], {
2148
2220
  "list": _this.virtualList,
2149
2221
  "height": _this.virtualHeight,
2150
2222
  "lineHeight": 32,
@@ -23,6 +23,7 @@ declare const _default: import("vue").DefineComponent<{
23
23
  selectedStyle: import("vue").ComputedRef<SelectedTypeEnum>;
24
24
  optionName: import("vue").ComputedRef<string | number>;
25
25
  optionID: import("vue").ComputedRef<unknown>;
26
+ isDisabled: import("vue").ComputedRef<boolean>;
26
27
  handleOptionClick: () => void;
27
28
  handleMouseEnter: () => void;
28
29
  resolveClassName: (cls: string) => string;
@@ -38,6 +38,12 @@ declare const _default: import("vue").DefineComponent<{
38
38
  } & {
39
39
  default: number;
40
40
  };
41
+ showAll: import("vue-types").VueTypeValidableDef<boolean> & {
42
+ default: boolean;
43
+ } & {
44
+ default: boolean;
45
+ };
46
+ allOptionId: import("vue-types").VueTypeDef<string | number>;
41
47
  showSelectAll: import("vue-types").VueTypeValidableDef<boolean> & {
42
48
  default: boolean;
43
49
  } & {
@@ -291,6 +297,15 @@ declare const _default: import("vue").DefineComponent<{
291
297
  type: FunctionConstructor;
292
298
  };
293
299
  }, {
300
+ t: import("vue").ComputedRef<{
301
+ noData: string;
302
+ noMatchedData: string;
303
+ loading: string;
304
+ pleaseSelect: string;
305
+ enterKeywords: string;
306
+ all: string;
307
+ selectAll: string;
308
+ }>;
294
309
  selected: import("vue").Ref<{
295
310
  value: string;
296
311
  label: string | number;
@@ -523,6 +538,7 @@ declare const _default: import("vue").DefineComponent<{
523
538
  curContentText: import("vue").ComputedRef<string>;
524
539
  isGroup: import("vue").ComputedRef<boolean>;
525
540
  searchKey: import("vue").Ref<string>;
541
+ isShowAll: import("vue").ComputedRef<boolean>;
526
542
  isShowSelectAll: import("vue").ComputedRef<boolean>;
527
543
  virtualHeight: import("vue").ComputedRef<number>;
528
544
  virtualList: import("vue").ComputedRef<any[]>;
@@ -655,6 +671,7 @@ declare const _default: import("vue").DefineComponent<{
655
671
  default: boolean;
656
672
  };
657
673
  }>>>>;
674
+ isAllSelected: import("vue").ComputedRef<boolean>;
658
675
  focusInput: () => void;
659
676
  setHover: () => void;
660
677
  cancelHover: () => void;
@@ -664,7 +681,7 @@ declare const _default: import("vue").DefineComponent<{
664
681
  handleClear: (e: Event) => void;
665
682
  hidePopover: () => void;
666
683
  showPopover: () => void;
667
- handleToggleAll: () => void;
684
+ handleToggleSelectAll: () => void;
668
685
  handleOptionSelected: (option: OptionInstanceType) => void;
669
686
  handleClickOutside: ({ event }: {
670
687
  event: any;
@@ -718,6 +735,12 @@ declare const _default: import("vue").DefineComponent<{
718
735
  } & {
719
736
  default: number;
720
737
  };
738
+ showAll: import("vue-types").VueTypeValidableDef<boolean> & {
739
+ default: boolean;
740
+ } & {
741
+ default: boolean;
742
+ };
743
+ allOptionId: import("vue-types").VueTypeDef<string | number>;
721
744
  showSelectAll: import("vue-types").VueTypeValidableDef<boolean> & {
722
745
  default: boolean;
723
746
  } & {
@@ -1005,6 +1028,7 @@ declare const _default: import("vue").DefineComponent<{
1005
1028
  displayKey: string;
1006
1029
  idKey: string;
1007
1030
  remoteMethod: (...args: any[]) => any;
1031
+ showAll: boolean;
1008
1032
  showSelectAll: boolean;
1009
1033
  multipleMode: string;
1010
1034
  autoHeight: boolean;
@@ -15,12 +15,15 @@ export interface ISelectContext {
15
15
  activeOptionValue: any;
16
16
  showSelectedIcon: boolean;
17
17
  selectedStyle: SelectedTypeEnum;
18
+ isShowAll: Boolean;
19
+ allOptionId: any;
18
20
  register(key: any, option: OptionInstanceType): any;
19
21
  unregister(key: any): any;
20
22
  registerGroup(key: any, option: GroupInstanceType): any;
21
23
  unregisterGroup(key: any): any;
22
24
  handleOptionSelected(option: OptionInstanceType): void;
23
25
  handleGetLabelByValue(value: any): string | number;
26
+ handleToggleAll(): void;
24
27
  }
25
28
  export interface IOptionGroupContext {
26
29
  disabled: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bkui-vue",
3
- "version": "0.0.2-beta.106",
3
+ "version": "0.0.2-beta.107",
4
4
  "workspaces": {
5
5
  "packages": [
6
6
  "packages/!(**.bak)*",