@sdata/web-vue 3.21.0 → 3.22.0
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.
- package/dist/sd.css +1 -0
- package/dist/sd.min.css +1 -1
- package/es/cascader/cascader-option.js +7 -3
- package/es/cascader/cascader-panel.vue.d.ts +1 -0
- package/es/cascader/cascader-panel.vue_vue_type_script_setup_true_lang.js +7 -2
- package/es/cascader/cascader.vue.d.ts +1 -0
- package/es/cascader/cascader.vue_vue_type_script_setup_true_lang.js +6 -1
- package/es/cascader/context.d.ts +1 -0
- package/es/cascader/style/index.css +1 -0
- package/es/cascader/style/index.scss +1 -0
- package/es/cascader/types.d.ts +2 -0
- package/es/index.css +1 -0
- package/es/select/index.d.ts +15 -0
- package/es/select/interface.d.ts +1 -0
- package/es/select/select.d.ts +9 -0
- package/es/select/select.js +13 -2
- package/es/tree-select/interface.d.ts +1 -0
- package/es/tree-select/panel.d.ts +1 -0
- package/es/tree-select/panel.js +5 -0
- package/es/tree-select/tree-select.vue.d.ts +9 -0
- package/es/tree-select/tree-select.vue_vue_type_script_setup_true_lang.js +18 -4
- package/json/vetur-attributes.json +6 -0
- package/json/vetur-tags.json +3 -1
- package/json/web-types.json +17 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { getPrefixCls } from "../_utils/global-config.js";
|
|
2
2
|
import { isFunction } from "../_utils/is.js";
|
|
3
3
|
import IconLoading from "../icon/icon-loading/index.js";
|
|
4
|
-
import { PerformantEllipsis } from "../ellipsis/index.js";
|
|
4
|
+
import Ellipsis, { PerformantEllipsis } from "../ellipsis/index.js";
|
|
5
5
|
import IconRight from "../icon/icon-right/index.js";
|
|
6
6
|
import Checkbox from "../checkbox/index.js";
|
|
7
7
|
import Radio from "../radio/index.js";
|
|
@@ -82,15 +82,19 @@ var cascader_option_default = /* @__PURE__ */ defineComponent({
|
|
|
82
82
|
}
|
|
83
83
|
return getCheckedStatus(props.option, cascaderCtx.valueMap);
|
|
84
84
|
});
|
|
85
|
+
const renderEllipsis = (label) => {
|
|
86
|
+
if (cascaderCtx.ellipsis === false) return label;
|
|
87
|
+
return createVNode(cascaderCtx.ellipsis === "performant-ellipsis" ? PerformantEllipsis : Ellipsis, null, _isSlot(label) ? label : { default: () => [label] });
|
|
88
|
+
};
|
|
85
89
|
const renderLabelContent = () => {
|
|
86
90
|
var _cascaderCtx$slots;
|
|
87
91
|
if (props.pathLabel) {
|
|
88
92
|
var _cascaderCtx$formatLa, _cascaderCtx$formatLa2;
|
|
89
93
|
const label = (_cascaderCtx$formatLa = cascaderCtx === null || cascaderCtx === void 0 || (_cascaderCtx$formatLa2 = cascaderCtx.formatLabel) === null || _cascaderCtx$formatLa2 === void 0 ? void 0 : _cascaderCtx$formatLa2.call(cascaderCtx, props.option.path.map((item) => item.raw))) !== null && _cascaderCtx$formatLa !== void 0 ? _cascaderCtx$formatLa : getOptionLabel(props.option, { separator: cascaderCtx.separator });
|
|
90
|
-
return
|
|
94
|
+
return renderEllipsis(label);
|
|
91
95
|
}
|
|
92
96
|
if ((_cascaderCtx$slots = cascaderCtx.slots) === null || _cascaderCtx$slots === void 0 ? void 0 : _cascaderCtx$slots.option) return cascaderCtx.slots.option({ data: props.option });
|
|
93
|
-
return
|
|
97
|
+
return renderEllipsis(props.option.label);
|
|
94
98
|
};
|
|
95
99
|
const renderIcon = () => {
|
|
96
100
|
if (isLoading.value) return createVNode(IconLoading, null, null);
|
|
@@ -12,6 +12,7 @@ declare const __VLS_base: import("vue").DefineComponent<CascaderPanelProps, {},
|
|
|
12
12
|
"onUpdate:modelValue"?: ((value: CascaderModelValue) => any) | undefined;
|
|
13
13
|
}>, {
|
|
14
14
|
options: CascaderOption[];
|
|
15
|
+
ellipsis: boolean | "performant-ellipsis";
|
|
15
16
|
multiple: boolean;
|
|
16
17
|
valueKey: string;
|
|
17
18
|
expandTrigger: import("./types").CascaderExpandTrigger;
|
|
@@ -18,6 +18,10 @@ var cascader_panel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
|
|
|
18
18
|
type: Boolean,
|
|
19
19
|
default: false
|
|
20
20
|
},
|
|
21
|
+
ellipsis: {
|
|
22
|
+
type: [Boolean, String],
|
|
23
|
+
default: true
|
|
24
|
+
},
|
|
21
25
|
modelValue: {},
|
|
22
26
|
defaultValue: {},
|
|
23
27
|
options: { default: () => [] },
|
|
@@ -45,7 +49,7 @@ var cascader_panel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
|
|
|
45
49
|
if (pathMode) return;
|
|
46
50
|
return "";
|
|
47
51
|
};
|
|
48
|
-
const { options, checkStrictly, loadMore, modelValue, valueKey, expandChild, expandTrigger, multiple, pathMode } = toRefs(props);
|
|
52
|
+
const { options, checkStrictly, loadMore, modelValue, valueKey, expandChild, expandTrigger, multiple, ellipsis, pathMode } = toRefs(props);
|
|
49
53
|
const _value = ref((_props$defaultValue = props.defaultValue) !== null && _props$defaultValue !== void 0 ? _props$defaultValue : getDefaultValue(props.multiple, props.pathMode));
|
|
50
54
|
watch(modelValue, (nextModelValue) => {
|
|
51
55
|
if (isUndefined(nextModelValue) || isNull(nextModelValue)) _value.value = getDefaultValue(props.multiple, props.pathMode);
|
|
@@ -148,7 +152,8 @@ var cascader_panel_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ d
|
|
|
148
152
|
addLazyLoadOptions,
|
|
149
153
|
slots,
|
|
150
154
|
valueMap: computedValueMap,
|
|
151
|
-
expandTrigger: expandTrigger.value
|
|
155
|
+
expandTrigger: expandTrigger.value,
|
|
156
|
+
ellipsis: ellipsis.value
|
|
152
157
|
}));
|
|
153
158
|
const handleKeyDown = getKeyDownHandler(/* @__PURE__ */ new Map([
|
|
154
159
|
[KEYBOARD_KEY.ENTER, (_ev) => {
|
|
@@ -54,6 +54,7 @@ declare const __VLS_base: import("vue").DefineComponent<CascaderProps, {}, {}, {
|
|
|
54
54
|
onShowChange?: ((visible: boolean) => any) | undefined;
|
|
55
55
|
}>, {
|
|
56
56
|
options: CascaderOption[];
|
|
57
|
+
ellipsis: boolean | "performant-ellipsis";
|
|
57
58
|
separator: string;
|
|
58
59
|
multiple: boolean;
|
|
59
60
|
disabled: boolean;
|
|
@@ -35,6 +35,10 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
35
35
|
type: Boolean,
|
|
36
36
|
default: false
|
|
37
37
|
},
|
|
38
|
+
ellipsis: {
|
|
39
|
+
type: [Boolean, String],
|
|
40
|
+
default: true
|
|
41
|
+
},
|
|
38
42
|
modelValue: {},
|
|
39
43
|
defaultValue: {},
|
|
40
44
|
options: { default: () => [] },
|
|
@@ -149,7 +153,7 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
149
153
|
if (pathMode) return;
|
|
150
154
|
return "";
|
|
151
155
|
};
|
|
152
|
-
const { options, checkStrictly, loadMore, formatLabel, modelValue, disabled, valueKey, expandTrigger, expandChild, pathMode, multiple, popupVisible, show, defaultPopupVisible, defaultShow, error, size, placeholder, loading, spinProps, maxTagCount, tagNowrap, popupContainer, floatingOptions, searchOptionOnlyLabel } = toRefs(props);
|
|
156
|
+
const { options, checkStrictly, loadMore, formatLabel, modelValue, disabled, valueKey, expandTrigger, expandChild, pathMode, multiple, ellipsis, popupVisible, show, defaultPopupVisible, defaultShow, error, size, placeholder, loading, spinProps, maxTagCount, tagNowrap, popupContainer, floatingOptions, searchOptionOnlyLabel } = toRefs(props);
|
|
153
157
|
const resolvedSpinProps = computed(() => _objectSpread2(_objectSpread2({}, configCtx === null || configCtx === void 0 ? void 0 : configCtx.cascaderSpinProps), spinProps.value));
|
|
154
158
|
const _value = ref((_props$defaultValue = props.defaultValue) !== null && _props$defaultValue !== void 0 ? _props$defaultValue : getDefaultValue(props.multiple, props.pathMode));
|
|
155
159
|
const _inputValue = ref(props.defaultInputValue);
|
|
@@ -405,6 +409,7 @@ var cascader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineC
|
|
|
405
409
|
setSelectedPath,
|
|
406
410
|
loadMore,
|
|
407
411
|
expandTrigger,
|
|
412
|
+
ellipsis,
|
|
408
413
|
addLazyLoadOptions,
|
|
409
414
|
formatLabel,
|
|
410
415
|
separator: props.separator,
|
package/es/cascader/context.d.ts
CHANGED
|
@@ -136,6 +136,7 @@ $cascader-prefix-cls: string.unquote('#{theme.$prefix}-cascader');
|
|
|
136
136
|
color: $cascader-color-item-text;
|
|
137
137
|
font-size: $cascader-font-item-size;
|
|
138
138
|
line-height: $cascader-size-item-height;
|
|
139
|
+
text-align: left;
|
|
139
140
|
background-color: transparent;
|
|
140
141
|
cursor: pointer;
|
|
141
142
|
|
package/es/cascader/types.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export interface CascaderTriggerSlotProps {
|
|
|
20
20
|
export interface CascaderProps extends FitWidthProps {
|
|
21
21
|
pathMode?: boolean;
|
|
22
22
|
multiple?: boolean;
|
|
23
|
+
ellipsis?: boolean | 'performant-ellipsis';
|
|
23
24
|
modelValue?: CascaderModelValue;
|
|
24
25
|
defaultValue?: CascaderModelValue;
|
|
25
26
|
options?: CascaderOption[];
|
|
@@ -76,6 +77,7 @@ export type CascaderEmits = {
|
|
|
76
77
|
export interface CascaderPanelProps {
|
|
77
78
|
pathMode?: boolean;
|
|
78
79
|
multiple?: boolean;
|
|
80
|
+
ellipsis?: boolean | 'performant-ellipsis';
|
|
79
81
|
modelValue?: CascaderModelValue;
|
|
80
82
|
defaultValue?: CascaderModelValue;
|
|
81
83
|
options?: CascaderOption[];
|
package/es/index.css
CHANGED
|
@@ -17783,6 +17783,7 @@ body.sd-tour-active .sd-tour-popover * {
|
|
|
17783
17783
|
color: var(--sd-color-text-1);
|
|
17784
17784
|
font-size: 14px;
|
|
17785
17785
|
line-height: 36px;
|
|
17786
|
+
text-align: left;
|
|
17786
17787
|
background-color: transparent;
|
|
17787
17788
|
cursor: pointer;
|
|
17788
17789
|
}
|
package/es/select/index.d.ts
CHANGED
|
@@ -116,6 +116,10 @@ declare const Select: {
|
|
|
116
116
|
type: import("vue").PropType<import("./interface").SelectOption[]>;
|
|
117
117
|
default: () => never[];
|
|
118
118
|
};
|
|
119
|
+
ellipsis: {
|
|
120
|
+
type: import("vue").PropType<boolean | "performant-ellipsis">;
|
|
121
|
+
default: boolean;
|
|
122
|
+
};
|
|
119
123
|
virtualListProps: {
|
|
120
124
|
type: import("vue").PropType<import("../_components/virtual-list/interface").VirtualListProps>;
|
|
121
125
|
};
|
|
@@ -197,6 +201,7 @@ declare const Select: {
|
|
|
197
201
|
}, import("vue").PublicProps, {
|
|
198
202
|
options: import("./interface").SelectOption[];
|
|
199
203
|
show: boolean;
|
|
204
|
+
ellipsis: boolean | "performant-ellipsis";
|
|
200
205
|
scrollbar: boolean | import("..").ScrollbarProps;
|
|
201
206
|
multiple: boolean;
|
|
202
207
|
disabled: boolean;
|
|
@@ -1474,6 +1479,10 @@ declare const Select: {
|
|
|
1474
1479
|
type: import("vue").PropType<import("./interface").SelectOption[]>;
|
|
1475
1480
|
default: () => never[];
|
|
1476
1481
|
};
|
|
1482
|
+
ellipsis: {
|
|
1483
|
+
type: import("vue").PropType<boolean | "performant-ellipsis">;
|
|
1484
|
+
default: boolean;
|
|
1485
|
+
};
|
|
1477
1486
|
virtualListProps: {
|
|
1478
1487
|
type: import("vue").PropType<import("../_components/virtual-list/interface").VirtualListProps>;
|
|
1479
1488
|
};
|
|
@@ -1540,6 +1549,7 @@ declare const Select: {
|
|
|
1540
1549
|
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
|
|
1541
1550
|
options: import("./interface").SelectOption[];
|
|
1542
1551
|
show: boolean;
|
|
1552
|
+
ellipsis: boolean | "performant-ellipsis";
|
|
1543
1553
|
scrollbar: boolean | import("..").ScrollbarProps;
|
|
1544
1554
|
multiple: boolean;
|
|
1545
1555
|
disabled: boolean;
|
|
@@ -1691,6 +1701,10 @@ declare const Select: {
|
|
|
1691
1701
|
type: import("vue").PropType<import("./interface").SelectOption[]>;
|
|
1692
1702
|
default: () => never[];
|
|
1693
1703
|
};
|
|
1704
|
+
ellipsis: {
|
|
1705
|
+
type: import("vue").PropType<boolean | "performant-ellipsis">;
|
|
1706
|
+
default: boolean;
|
|
1707
|
+
};
|
|
1694
1708
|
virtualListProps: {
|
|
1695
1709
|
type: import("vue").PropType<import("../_components/virtual-list/interface").VirtualListProps>;
|
|
1696
1710
|
};
|
|
@@ -1772,6 +1786,7 @@ declare const Select: {
|
|
|
1772
1786
|
}, string, {
|
|
1773
1787
|
options: import("./interface").SelectOption[];
|
|
1774
1788
|
show: boolean;
|
|
1789
|
+
ellipsis: boolean | "performant-ellipsis";
|
|
1775
1790
|
scrollbar: boolean | import("..").ScrollbarProps;
|
|
1776
1791
|
multiple: boolean;
|
|
1777
1792
|
disabled: boolean;
|
package/es/select/interface.d.ts
CHANGED
|
@@ -56,6 +56,7 @@ export type FilterOption = boolean | ((inputValue: string, option: SelectOptionD
|
|
|
56
56
|
export type SelectFallbackOption = (value: SelectOptionValue) => SelectOptionData;
|
|
57
57
|
export interface SelectProps extends FitWidthProps {
|
|
58
58
|
options?: SelectOption[];
|
|
59
|
+
ellipsis?: boolean | 'performant-ellipsis';
|
|
59
60
|
multiple?: boolean;
|
|
60
61
|
value?: SelectModelValue;
|
|
61
62
|
modelValue?: SelectModelValue;
|
package/es/select/select.d.ts
CHANGED
|
@@ -121,6 +121,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
121
121
|
type: PropType<SelectOption[]>;
|
|
122
122
|
default: () => never[];
|
|
123
123
|
};
|
|
124
|
+
ellipsis: {
|
|
125
|
+
type: PropType<boolean | "performant-ellipsis">;
|
|
126
|
+
default: boolean;
|
|
127
|
+
};
|
|
124
128
|
virtualListProps: {
|
|
125
129
|
type: PropType<VirtualListProps>;
|
|
126
130
|
};
|
|
@@ -298,6 +302,10 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
298
302
|
type: PropType<SelectOption[]>;
|
|
299
303
|
default: () => never[];
|
|
300
304
|
};
|
|
305
|
+
ellipsis: {
|
|
306
|
+
type: PropType<boolean | "performant-ellipsis">;
|
|
307
|
+
default: boolean;
|
|
308
|
+
};
|
|
301
309
|
virtualListProps: {
|
|
302
310
|
type: PropType<VirtualListProps>;
|
|
303
311
|
};
|
|
@@ -364,6 +372,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
364
372
|
}>, {
|
|
365
373
|
options: SelectOption[];
|
|
366
374
|
show: boolean;
|
|
375
|
+
ellipsis: boolean | "performant-ellipsis";
|
|
367
376
|
scrollbar: boolean | ScrollbarProps;
|
|
368
377
|
multiple: boolean;
|
|
369
378
|
disabled: boolean;
|
package/es/select/select.js
CHANGED
|
@@ -13,6 +13,7 @@ import Tooltip from "../tooltip/index.js";
|
|
|
13
13
|
import { getKeyFromValue, hasEmptyStringKey, isGroupOptionInfo, isValidOption } from "./utils.js";
|
|
14
14
|
import { useSelect } from "./hooks/use-select.js";
|
|
15
15
|
import select_dropdown_default from "./select-dropdown.js";
|
|
16
|
+
import Ellipsis, { PerformantEllipsis } from "../ellipsis/index.js";
|
|
16
17
|
import { debounce } from "../_utils/debounce.js";
|
|
17
18
|
import select_view_default from "../_components/select-view/select-view.js";
|
|
18
19
|
import { useAllowSearch } from "../_hooks/use-allow-search.js";
|
|
@@ -169,6 +170,14 @@ var select_default = /* @__PURE__ */ defineComponent({
|
|
|
169
170
|
type: Array,
|
|
170
171
|
default: () => []
|
|
171
172
|
},
|
|
173
|
+
/**
|
|
174
|
+
* @zh 是否使用 Ellipsis 组件渲染选项。传入 `performant-ellipsis` 时使用高性能省略实现
|
|
175
|
+
* @en Whether to render options with the Ellipsis component. Use `performant-ellipsis` for the performant implementation
|
|
176
|
+
*/
|
|
177
|
+
ellipsis: {
|
|
178
|
+
type: [Boolean, String],
|
|
179
|
+
default: true
|
|
180
|
+
},
|
|
172
181
|
virtualListProps: { type: Object },
|
|
173
182
|
triggerProps: { type: Object },
|
|
174
183
|
floatingOptions: { type: Object },
|
|
@@ -478,8 +487,10 @@ var select_default = /* @__PURE__ */ defineComponent({
|
|
|
478
487
|
return props.multiple ? labels : (_labels$ = labels[0]) !== null && _labels$ !== void 0 ? _labels$ : "";
|
|
479
488
|
});
|
|
480
489
|
const triggerSelectedOptions = computed(() => selectViewValue.value.map((item) => item.option).filter((option) => Boolean(option)));
|
|
481
|
-
const
|
|
482
|
-
|
|
490
|
+
const renderOptionEllipsis = (label) => {
|
|
491
|
+
if (props.ellipsis === false) return label;
|
|
492
|
+
return createVNode(props.ellipsis === "performant-ellipsis" ? PerformantEllipsis : Ellipsis, null, _isSlot(label) ? label : { default: () => [label] });
|
|
493
|
+
};
|
|
483
494
|
const getOptionContentFunc = (optionInfo) => {
|
|
484
495
|
if (isFunction(slots.option)) return () => {
|
|
485
496
|
var _slots$option;
|
|
@@ -47,6 +47,7 @@ export interface TreeSelectProps extends FitWidthProps {
|
|
|
47
47
|
fieldNames: TreeFieldNames | undefined;
|
|
48
48
|
data: TreeNodeData[];
|
|
49
49
|
options: TreeNodeData[] | undefined;
|
|
50
|
+
ellipsis: TreeProps['ellipsis'] | undefined;
|
|
50
51
|
labelInValue: boolean;
|
|
51
52
|
treeCheckable: boolean;
|
|
52
53
|
checkable: boolean | undefined;
|
|
@@ -4,6 +4,7 @@ import { ScrollbarProps } from '../scrollbar';
|
|
|
4
4
|
import { TreeProps, TreeNodeKey } from '../tree/interface';
|
|
5
5
|
type TreeSelectPanelComponent = DefineComponent<{
|
|
6
6
|
treeProps: Partial<TreeProps> | undefined;
|
|
7
|
+
ellipsis: TreeProps['ellipsis'];
|
|
7
8
|
selectedKeys: TreeNodeKey[] | undefined;
|
|
8
9
|
showCheckable: boolean;
|
|
9
10
|
treeSlots: Slots;
|
package/es/tree-select/panel.js
CHANGED
|
@@ -16,6 +16,10 @@ var panel_default = /* @__PURE__ */ defineComponent({
|
|
|
16
16
|
type: Object,
|
|
17
17
|
default: () => ({})
|
|
18
18
|
},
|
|
19
|
+
ellipsis: {
|
|
20
|
+
type: [Boolean, String],
|
|
21
|
+
default: false
|
|
22
|
+
},
|
|
19
23
|
selectedKeys: { type: Array },
|
|
20
24
|
showCheckable: { type: Boolean },
|
|
21
25
|
treeSlots: {
|
|
@@ -54,6 +58,7 @@ var panel_default = /* @__PURE__ */ defineComponent({
|
|
|
54
58
|
};
|
|
55
59
|
const renderTree = () => {
|
|
56
60
|
return createVNode(Tree, mergeProps({ "ref": refTree }, computedTreeProps.value, {
|
|
61
|
+
"ellipsis": props.ellipsis,
|
|
57
62
|
"onSelect": onSelect,
|
|
58
63
|
"onCheck": onCheck
|
|
59
64
|
}), props.treeSlots);
|
|
@@ -111,6 +111,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
111
111
|
options: {
|
|
112
112
|
type: PropType<TreeNodeData[]>;
|
|
113
113
|
};
|
|
114
|
+
ellipsis: {
|
|
115
|
+
type: PropType<TreeProps["ellipsis"]>;
|
|
116
|
+
default: undefined;
|
|
117
|
+
};
|
|
114
118
|
labelInValue: {
|
|
115
119
|
type: BooleanConstructor;
|
|
116
120
|
};
|
|
@@ -302,6 +306,10 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
302
306
|
options: {
|
|
303
307
|
type: PropType<TreeNodeData[]>;
|
|
304
308
|
};
|
|
309
|
+
ellipsis: {
|
|
310
|
+
type: PropType<TreeProps["ellipsis"]>;
|
|
311
|
+
default: undefined;
|
|
312
|
+
};
|
|
305
313
|
labelInValue: {
|
|
306
314
|
type: BooleanConstructor;
|
|
307
315
|
};
|
|
@@ -420,6 +428,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
|
|
|
420
428
|
"onPopup-visible-change"?: ((_visible: boolean) => any) | undefined;
|
|
421
429
|
}>, {
|
|
422
430
|
show: boolean;
|
|
431
|
+
ellipsis: import("../tree/interface").TreeEllipsis;
|
|
423
432
|
separator: string;
|
|
424
433
|
scrollbar: boolean | ScrollbarProps;
|
|
425
434
|
border: boolean;
|
|
@@ -167,6 +167,14 @@ var tree_select_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
|
|
|
167
167
|
* */
|
|
168
168
|
options: { type: Array },
|
|
169
169
|
/**
|
|
170
|
+
* @zh 是否使用 Ellipsis 组件渲染选项。传入 `performant-ellipsis` 时使用高性能省略实现
|
|
171
|
+
* @en Whether to render options with the Ellipsis component. Use `performant-ellipsis` for the performant implementation
|
|
172
|
+
*/
|
|
173
|
+
ellipsis: {
|
|
174
|
+
type: [Boolean, String],
|
|
175
|
+
default: void 0
|
|
176
|
+
},
|
|
177
|
+
/**
|
|
170
178
|
* @zh 设置value格式。默认是string,设置为true时候,value格式为: { label: string, value: string }
|
|
171
179
|
* @en Set the value format. The default is string, when set to true, the value format is: {label: string, value: string}
|
|
172
180
|
* */
|
|
@@ -439,8 +447,8 @@ var tree_select_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
|
|
|
439
447
|
});
|
|
440
448
|
const { mergedAllowClear } = useAllowClear(computed(() => props.allowClear || props.clearable));
|
|
441
449
|
const { mergedDropdownVirtualListProps } = useDropdownVirtualListProps(computed(() => {
|
|
442
|
-
var _props$virtualListPro, _treeProps$value;
|
|
443
|
-
return (_props$virtualListPro = props.virtualListProps) !== null && _props$virtualListPro !== void 0 ? _props$virtualListPro : (_treeProps$value = treeProps.value) === null || _treeProps$value === void 0 ? void 0 : _treeProps$value.virtualListProps;
|
|
450
|
+
var _ref, _props$virtualListPro, _treeProps$value;
|
|
451
|
+
return (_ref = (_props$virtualListPro = props.virtualListProps) !== null && _props$virtualListPro !== void 0 ? _props$virtualListPro : (_treeProps$value = treeProps.value) === null || _treeProps$value === void 0 ? void 0 : _treeProps$value.virtualListProps) !== null && _ref !== void 0 ? _ref : props.virtualScroll === true ? {} : void 0;
|
|
444
452
|
}));
|
|
445
453
|
const TreeSelectEmpty = configCtx === null || configCtx === void 0 || (_configCtx$slots$empt = (_configCtx$slots = configCtx.slots).empty) === null || _configCtx$slots$empt === void 0 || (_configCtx$slots$empt = _configCtx$slots$empt.call(_configCtx$slots, { component: "tree-select" })) === null || _configCtx$slots$empt === void 0 ? void 0 : _configCtx$slots$empt[0];
|
|
446
454
|
const mergedModelValue = computed(() => modelValue.value);
|
|
@@ -454,9 +462,13 @@ var tree_select_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
|
|
|
454
462
|
return (_checkStrategy$value = checkStrategy.value) !== null && _checkStrategy$value !== void 0 ? _checkStrategy$value : props.treeCheckedStrategy;
|
|
455
463
|
});
|
|
456
464
|
const mergedTreeProps = computed(() => {
|
|
465
|
+
var _ref3, _props$ellipsis2, _treeProps$value3;
|
|
457
466
|
const resolvedVirtualListProps = resolveDropdownVirtualListProps(mergedDropdownVirtualListProps.value, props.triggerProps);
|
|
458
|
-
if (virtualScroll.value !== false)
|
|
459
|
-
|
|
467
|
+
if (virtualScroll.value !== false) {
|
|
468
|
+
var _ref2, _props$ellipsis, _treeProps$value2;
|
|
469
|
+
return _objectSpread2(_objectSpread2({}, treeProps.value), {}, { ellipsis: (_ref2 = (_props$ellipsis = props.ellipsis) !== null && _props$ellipsis !== void 0 ? _props$ellipsis : (_treeProps$value2 = treeProps.value) === null || _treeProps$value2 === void 0 ? void 0 : _treeProps$value2.ellipsis) !== null && _ref2 !== void 0 ? _ref2 : true }, resolvedVirtualListProps ? { virtualListProps: resolvedVirtualListProps } : {});
|
|
470
|
+
}
|
|
471
|
+
const nextTreeProps = _objectSpread2(_objectSpread2({}, treeProps.value), {}, { ellipsis: (_ref3 = (_props$ellipsis2 = props.ellipsis) !== null && _props$ellipsis2 !== void 0 ? _props$ellipsis2 : (_treeProps$value3 = treeProps.value) === null || _treeProps$value3 === void 0 ? void 0 : _treeProps$value3.ellipsis) !== null && _ref3 !== void 0 ? _ref3 : true });
|
|
460
472
|
delete nextTreeProps.virtualListProps;
|
|
461
473
|
return nextTreeProps;
|
|
462
474
|
});
|
|
@@ -672,6 +684,7 @@ var tree_select_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
|
|
|
672
684
|
"selected-keys": unref(selectedKeys),
|
|
673
685
|
"show-checkable": mergedTreeCheckable.value,
|
|
674
686
|
scrollbar: __props.scrollbar,
|
|
687
|
+
ellipsis: mergedTreeProps.value.ellipsis,
|
|
675
688
|
"tree-props": _objectSpread2(_objectSpread2({
|
|
676
689
|
actionOnNodeClick: unref(selectable) === "leaf" ? "expand" : void 0,
|
|
677
690
|
blockNode: true
|
|
@@ -694,6 +707,7 @@ var tree_select_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defi
|
|
|
694
707
|
"selected-keys",
|
|
695
708
|
"show-checkable",
|
|
696
709
|
"scrollbar",
|
|
710
|
+
"ellipsis",
|
|
697
711
|
"tree-props",
|
|
698
712
|
"tree-slots"
|
|
699
713
|
])),
|
|
@@ -2986,6 +2986,9 @@
|
|
|
2986
2986
|
"description": "Whether it is read-only",
|
|
2987
2987
|
"type": "boolean|string"
|
|
2988
2988
|
},
|
|
2989
|
+
"sd-select/ellipsis": {
|
|
2990
|
+
"description": "Whether to render options with the Ellipsis component. Use `performant-ellipsis` for the performant implementation"
|
|
2991
|
+
},
|
|
2989
2992
|
"sd-sender-header/open": {
|
|
2990
2993
|
"description": "Whether the header is expanded",
|
|
2991
2994
|
"type": "boolean"
|
|
@@ -4309,6 +4312,9 @@
|
|
|
4309
4312
|
"sd-tree-select/options": {
|
|
4310
4313
|
"description": "Data, Naive compatibility alias"
|
|
4311
4314
|
},
|
|
4315
|
+
"sd-tree-select/ellipsis": {
|
|
4316
|
+
"description": "Whether to render options with the Ellipsis component. Use `performant-ellipsis` for the performant implementation"
|
|
4317
|
+
},
|
|
4312
4318
|
"sd-tree-select/label-in-value": {
|
|
4313
4319
|
"description": "Set the value format. The default is string, when set to true, the value format is: {label: string, value: string}",
|
|
4314
4320
|
"type": "boolean"
|
package/json/vetur-tags.json
CHANGED
|
@@ -1211,7 +1211,8 @@
|
|
|
1211
1211
|
"fit-width",
|
|
1212
1212
|
"max-wfull",
|
|
1213
1213
|
"spin-props",
|
|
1214
|
-
"readonly"
|
|
1214
|
+
"readonly",
|
|
1215
|
+
"ellipsis"
|
|
1215
1216
|
]
|
|
1216
1217
|
},
|
|
1217
1218
|
"sd-selectable-card": {
|
|
@@ -1726,6 +1727,7 @@
|
|
|
1726
1727
|
"field-names",
|
|
1727
1728
|
"data",
|
|
1728
1729
|
"options",
|
|
1730
|
+
"ellipsis",
|
|
1729
1731
|
"label-in-value",
|
|
1730
1732
|
"tree-checkable",
|
|
1731
1733
|
"checkable",
|
package/json/web-types.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
|
|
3
3
|
"framework": "vue",
|
|
4
4
|
"name": "@sdata/web-vue",
|
|
5
|
-
"version": "3.
|
|
5
|
+
"version": "3.21.0",
|
|
6
6
|
"contributions": {
|
|
7
7
|
"html": {
|
|
8
8
|
"types-syntax": "typescript",
|
|
@@ -7277,6 +7277,14 @@
|
|
|
7277
7277
|
"type": "boolean|string",
|
|
7278
7278
|
"kind": "expression"
|
|
7279
7279
|
}
|
|
7280
|
+
},
|
|
7281
|
+
{
|
|
7282
|
+
"name": "ellipsis",
|
|
7283
|
+
"description": "Whether to render options with the Ellipsis component. Use `performant-ellipsis` for the performant implementation",
|
|
7284
|
+
"value": {
|
|
7285
|
+
"type": "boolean | 'performant-ellipsis'",
|
|
7286
|
+
"kind": "expression"
|
|
7287
|
+
}
|
|
7280
7288
|
}
|
|
7281
7289
|
],
|
|
7282
7290
|
"events": [],
|
|
@@ -10407,6 +10415,14 @@
|
|
|
10407
10415
|
"kind": "expression"
|
|
10408
10416
|
}
|
|
10409
10417
|
},
|
|
10418
|
+
{
|
|
10419
|
+
"name": "ellipsis",
|
|
10420
|
+
"description": "Whether to render options with the Ellipsis component. Use `performant-ellipsis` for the performant implementation",
|
|
10421
|
+
"value": {
|
|
10422
|
+
"type": "TreeProps['ellipsis']",
|
|
10423
|
+
"kind": "expression"
|
|
10424
|
+
}
|
|
10425
|
+
},
|
|
10410
10426
|
{
|
|
10411
10427
|
"name": "label-in-value",
|
|
10412
10428
|
"description": "Set the value format. The default is string, when set to true, the value format is: {label: string, value: string}",
|