persagy-vant 0.0.46 → 0.0.48
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/es/cell/Cell.d.ts +12 -1
- package/es/cell/Cell.mjs +41 -9
- package/es/cell/index.css +1 -1
- package/es/cell/index.d.ts +5 -1
- package/es/cell/index.less +26 -0
- package/es/collapse-item/CollapseItem.d.ts +4 -0
- package/es/collapse-item/index.d.ts +3 -0
- package/es/field/Field.d.ts +4 -0
- package/es/field/index.d.ts +3 -0
- package/es/index.d.ts +1 -1
- package/es/index.mjs +1 -1
- package/es/label/Label.d.ts +2 -2
- package/es/label/index.d.ts +2 -2
- package/es/material-add/MaterialAdd.d.ts +13 -0
- package/es/material-add/MaterialAdd.mjs +2 -0
- package/es/material-add/index.d.ts +9 -0
- package/es/tree-select-panel/TreeSelectPanel.d.ts +13 -0
- package/es/tree-select-panel/TreeSelectPanel.mjs +25 -7
- package/es/tree-select-panel/index.css +1 -1
- package/es/tree-select-panel/index.d.ts +9 -0
- package/es/tree-select-panel/index.less +2 -0
- package/lib/cell/Cell.d.ts +12 -1
- package/lib/cell/Cell.js +40 -8
- package/lib/cell/index.css +1 -1
- package/lib/cell/index.d.ts +5 -1
- package/lib/cell/index.less +26 -0
- package/lib/collapse-item/CollapseItem.d.ts +4 -0
- package/lib/collapse-item/index.d.ts +3 -0
- package/lib/field/Field.d.ts +4 -0
- package/lib/field/index.d.ts +3 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/label/Label.d.ts +2 -2
- package/lib/label/index.d.ts +2 -2
- package/lib/material-add/MaterialAdd.d.ts +13 -0
- package/lib/material-add/MaterialAdd.js +2 -0
- package/lib/material-add/index.d.ts +9 -0
- package/lib/tree-select-panel/TreeSelectPanel.d.ts +13 -0
- package/lib/tree-select-panel/TreeSelectPanel.js +24 -6
- package/lib/tree-select-panel/index.css +1 -1
- package/lib/tree-select-panel/index.d.ts +9 -0
- package/lib/tree-select-panel/index.less +2 -0
- package/lib/vant.cjs.js +67 -15
- package/lib/vant.es.js +67 -15
- package/lib/vant.js +67 -15
- package/lib/vant.min.js +1 -1
- package/lib/web-types.json +1 -1
- package/package.json +1 -1
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -248,7 +248,7 @@ __reExport(stdin_exports, require("./uploader"), module.exports);
|
|
|
248
248
|
__reExport(stdin_exports, require("./video-preview"), module.exports);
|
|
249
249
|
__reExport(stdin_exports, require("./work-order-card"), module.exports);
|
|
250
250
|
__reExport(stdin_exports, require("./work-order-filter"), module.exports);
|
|
251
|
-
const version = "0.0.
|
|
251
|
+
const version = "0.0.48";
|
|
252
252
|
function install(app) {
|
|
253
253
|
const components = [
|
|
254
254
|
import_action_bar.ActionBar,
|
package/lib/label/Label.d.ts
CHANGED
|
@@ -126,7 +126,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
126
126
|
type: PropType<LabelMedia[]>;
|
|
127
127
|
default: () => never[];
|
|
128
128
|
};
|
|
129
|
-
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "
|
|
129
|
+
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "long-press" | "click-media")[], "click" | "long-press" | "click-media", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<ExtractPropTypes<{
|
|
130
130
|
label: {
|
|
131
131
|
type: PropType<string>;
|
|
132
132
|
default: string;
|
|
@@ -183,8 +183,8 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
183
183
|
};
|
|
184
184
|
}>> & {
|
|
185
185
|
onClick?: ((...args: any[]) => any) | undefined;
|
|
186
|
-
"onClick-media"?: ((...args: any[]) => any) | undefined;
|
|
187
186
|
"onLong-press"?: ((...args: any[]) => any) | undefined;
|
|
187
|
+
"onClick-media"?: ((...args: any[]) => any) | undefined;
|
|
188
188
|
}, {
|
|
189
189
|
type: LabelType;
|
|
190
190
|
label: string;
|
package/lib/label/index.d.ts
CHANGED
|
@@ -53,7 +53,7 @@ export declare const Label: import("../utils").WithInstall<import("vue").DefineC
|
|
|
53
53
|
type: import("vue").PropType<import("./Label").LabelMedia[]>;
|
|
54
54
|
default: () => never[];
|
|
55
55
|
};
|
|
56
|
-
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "
|
|
56
|
+
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("click" | "long-press" | "click-media")[], "click" | "long-press" | "click-media", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
|
|
57
57
|
label: {
|
|
58
58
|
type: import("vue").PropType<string>;
|
|
59
59
|
default: string;
|
|
@@ -110,8 +110,8 @@ export declare const Label: import("../utils").WithInstall<import("vue").DefineC
|
|
|
110
110
|
};
|
|
111
111
|
}>> & {
|
|
112
112
|
onClick?: ((...args: any[]) => any) | undefined;
|
|
113
|
-
"onClick-media"?: ((...args: any[]) => any) | undefined;
|
|
114
113
|
"onLong-press"?: ((...args: any[]) => any) | undefined;
|
|
114
|
+
"onClick-media"?: ((...args: any[]) => any) | undefined;
|
|
115
115
|
}, {
|
|
116
116
|
type: import("./Label").LabelType;
|
|
117
117
|
label: string;
|
|
@@ -54,6 +54,10 @@ declare const materialAddProps: {
|
|
|
54
54
|
type: PropType<string>;
|
|
55
55
|
default: string;
|
|
56
56
|
};
|
|
57
|
+
max: {
|
|
58
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
59
|
+
default: number;
|
|
60
|
+
};
|
|
57
61
|
search: PropType<MaterialAddSearch>;
|
|
58
62
|
searchDebounce: {
|
|
59
63
|
type: (NumberConstructor | StringConstructor)[];
|
|
@@ -115,6 +119,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
115
119
|
type: PropType<string>;
|
|
116
120
|
default: string;
|
|
117
121
|
};
|
|
122
|
+
max: {
|
|
123
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
124
|
+
default: number;
|
|
125
|
+
};
|
|
118
126
|
search: PropType<MaterialAddSearch>;
|
|
119
127
|
searchDebounce: {
|
|
120
128
|
type: (NumberConstructor | StringConstructor)[];
|
|
@@ -174,6 +182,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
174
182
|
type: PropType<string>;
|
|
175
183
|
default: string;
|
|
176
184
|
};
|
|
185
|
+
max: {
|
|
186
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
187
|
+
default: number;
|
|
188
|
+
};
|
|
177
189
|
search: PropType<MaterialAddSearch>;
|
|
178
190
|
searchDebounce: {
|
|
179
191
|
type: (NumberConstructor | StringConstructor)[];
|
|
@@ -187,6 +199,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
187
199
|
"onSearch-error"?: ((...args: any[]) => any) | undefined;
|
|
188
200
|
}, {
|
|
189
201
|
title: string;
|
|
202
|
+
max: string | number;
|
|
190
203
|
modelValue: number[];
|
|
191
204
|
show: boolean;
|
|
192
205
|
confirmText: string;
|
|
@@ -377,6 +377,7 @@ const materialAddProps = {
|
|
|
377
377
|
allTabText: (0, import_utils.makeStringProp)("\u5168\u90E8\u7269\u6599"),
|
|
378
378
|
materialTabText: (0, import_utils.makeStringProp)("\u7269\u8D44"),
|
|
379
379
|
toolTabText: (0, import_utils.makeStringProp)("\u5DE5\u5177"),
|
|
380
|
+
max: (0, import_utils.makeNumericProp)(Infinity),
|
|
380
381
|
search: Function,
|
|
381
382
|
searchDebounce: (0, import_utils.makeNumericProp)(300)
|
|
382
383
|
};
|
|
@@ -600,6 +601,7 @@ var stdin_default = (0, import_vue.defineComponent)({
|
|
|
600
601
|
"key": item.id,
|
|
601
602
|
"item": item,
|
|
602
603
|
"modelValue": quantities.value[index],
|
|
604
|
+
"max": props.max,
|
|
603
605
|
"keyword": searching.value ? keyword.value : "",
|
|
604
606
|
"selected": selected,
|
|
605
607
|
"onDetail": openDetail,
|
|
@@ -52,6 +52,10 @@ export declare const MaterialAdd: import("../utils").WithInstall<import("vue").D
|
|
|
52
52
|
type: import("vue").PropType<string>;
|
|
53
53
|
default: string;
|
|
54
54
|
};
|
|
55
|
+
max: {
|
|
56
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
57
|
+
default: number;
|
|
58
|
+
};
|
|
55
59
|
search: import("vue").PropType<import("./types").MaterialAddSearch>;
|
|
56
60
|
searchDebounce: {
|
|
57
61
|
type: (NumberConstructor | StringConstructor)[];
|
|
@@ -111,6 +115,10 @@ export declare const MaterialAdd: import("../utils").WithInstall<import("vue").D
|
|
|
111
115
|
type: import("vue").PropType<string>;
|
|
112
116
|
default: string;
|
|
113
117
|
};
|
|
118
|
+
max: {
|
|
119
|
+
type: (NumberConstructor | StringConstructor)[];
|
|
120
|
+
default: number;
|
|
121
|
+
};
|
|
114
122
|
search: import("vue").PropType<import("./types").MaterialAddSearch>;
|
|
115
123
|
searchDebounce: {
|
|
116
124
|
type: (NumberConstructor | StringConstructor)[];
|
|
@@ -124,6 +132,7 @@ export declare const MaterialAdd: import("../utils").WithInstall<import("vue").D
|
|
|
124
132
|
"onSearch-error"?: ((...args: any[]) => any) | undefined;
|
|
125
133
|
}, {
|
|
126
134
|
title: string;
|
|
135
|
+
max: string | number;
|
|
127
136
|
modelValue: number[];
|
|
128
137
|
show: boolean;
|
|
129
138
|
confirmText: string;
|
|
@@ -26,6 +26,10 @@ declare const treeSelectPanelProps: {
|
|
|
26
26
|
default: true;
|
|
27
27
|
};
|
|
28
28
|
searchPlaceholder: StringConstructor;
|
|
29
|
+
showSearchParentPath: {
|
|
30
|
+
type: BooleanConstructor;
|
|
31
|
+
default: true;
|
|
32
|
+
};
|
|
29
33
|
lazy: BooleanConstructor;
|
|
30
34
|
loading: BooleanConstructor;
|
|
31
35
|
finished: BooleanConstructor;
|
|
@@ -76,6 +80,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
76
80
|
default: true;
|
|
77
81
|
};
|
|
78
82
|
searchPlaceholder: StringConstructor;
|
|
83
|
+
showSearchParentPath: {
|
|
84
|
+
type: BooleanConstructor;
|
|
85
|
+
default: true;
|
|
86
|
+
};
|
|
79
87
|
lazy: BooleanConstructor;
|
|
80
88
|
loading: BooleanConstructor;
|
|
81
89
|
finished: BooleanConstructor;
|
|
@@ -124,6 +132,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
124
132
|
default: true;
|
|
125
133
|
};
|
|
126
134
|
searchPlaceholder: StringConstructor;
|
|
135
|
+
showSearchParentPath: {
|
|
136
|
+
type: BooleanConstructor;
|
|
137
|
+
default: true;
|
|
138
|
+
};
|
|
127
139
|
lazy: BooleanConstructor;
|
|
128
140
|
loading: BooleanConstructor;
|
|
129
141
|
finished: BooleanConstructor;
|
|
@@ -177,5 +189,6 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
177
189
|
expandedKeys: Numeric[];
|
|
178
190
|
selectableParent: boolean;
|
|
179
191
|
showParentSelect: boolean;
|
|
192
|
+
showSearchParentPath: boolean;
|
|
180
193
|
}>;
|
|
181
194
|
export default _default;
|
|
@@ -46,6 +46,7 @@ const treeSelectPanelProps = {
|
|
|
46
46
|
showSelectLevels: Array,
|
|
47
47
|
searchable: import_utils.truthProp,
|
|
48
48
|
searchPlaceholder: String,
|
|
49
|
+
showSearchParentPath: import_utils.truthProp,
|
|
49
50
|
lazy: Boolean,
|
|
50
51
|
loading: Boolean,
|
|
51
52
|
finished: Boolean,
|
|
@@ -58,11 +59,15 @@ const treeSelectPanelProps = {
|
|
|
58
59
|
clearSelectedText: (0, import_utils.makeStringProp)("\u6E05\u7A7A\u5DF2\u9009"),
|
|
59
60
|
confirmText: (0, import_utils.makeStringProp)("\u786E\u5B9A")
|
|
60
61
|
};
|
|
61
|
-
const findMatchingLeaves = (items, keyword) => items.flatMap((item) => {
|
|
62
|
+
const findMatchingLeaves = (items, keyword, parentPath = []) => items.flatMap((item) => {
|
|
62
63
|
var _a;
|
|
63
|
-
if ((_a = item.children) == null ? void 0 : _a.length)
|
|
64
|
-
return findMatchingLeaves(item.children, keyword);
|
|
65
|
-
|
|
64
|
+
if ((_a = item.children) == null ? void 0 : _a.length) {
|
|
65
|
+
return findMatchingLeaves(item.children, keyword, [...parentPath, item.text]);
|
|
66
|
+
}
|
|
67
|
+
return item.text.toLocaleLowerCase().includes(keyword) ? [{
|
|
68
|
+
item,
|
|
69
|
+
parentPath
|
|
70
|
+
}] : [];
|
|
66
71
|
});
|
|
67
72
|
const flattenItems = (items) => items.flatMap((item) => [item, ...item.children ? flattenItems(item.children) : []]);
|
|
68
73
|
var stdin_default = (0, import_vue.defineComponent)({
|
|
@@ -75,7 +80,10 @@ var stdin_default = (0, import_vue.defineComponent)({
|
|
|
75
80
|
const keyword = (0, import_vue.ref)("");
|
|
76
81
|
const expandedSelected = (0, import_vue.ref)(false);
|
|
77
82
|
const normalizedKeyword = (0, import_vue.computed)(() => keyword.value.trim().toLocaleLowerCase());
|
|
78
|
-
const
|
|
83
|
+
const searchResults = (0, import_vue.computed)(() => normalizedKeyword.value ? findMatchingLeaves(props.items, normalizedKeyword.value) : []);
|
|
84
|
+
const filteredItems = (0, import_vue.computed)(() => normalizedKeyword.value ? searchResults.value.map(({
|
|
85
|
+
item
|
|
86
|
+
}) => item) : props.items);
|
|
79
87
|
const selectedItems = (0, import_vue.computed)(() => flattenItems(props.items).filter((item) => props.modelValue.includes(item.id)));
|
|
80
88
|
const close = () => emit("update:show", false);
|
|
81
89
|
const updateSelected = (value) => {
|
|
@@ -130,7 +138,17 @@ var stdin_default = (0, import_vue.defineComponent)({
|
|
|
130
138
|
title: ({
|
|
131
139
|
item,
|
|
132
140
|
hasChildren
|
|
133
|
-
}) =>
|
|
141
|
+
}) => {
|
|
142
|
+
if (hasChildren || !normalizedKeyword.value)
|
|
143
|
+
return item.text;
|
|
144
|
+
const result = searchResults.value.find((result2) => result2.item.id === item.id);
|
|
145
|
+
if (!result || !props.showSearchParentPath || !result.parentPath.length) {
|
|
146
|
+
return renderHighlightedTitle(item.text);
|
|
147
|
+
}
|
|
148
|
+
return (0, import_vue.createVNode)(import_vue.Fragment, null, [result.parentPath.join("/"), (0, import_vue.createVNode)("span", {
|
|
149
|
+
"class": bem("path-separator")
|
|
150
|
+
}, [(0, import_vue.createTextVNode)("/")]), renderHighlightedTitle(item.text)]);
|
|
151
|
+
}
|
|
134
152
|
})]);
|
|
135
153
|
};
|
|
136
154
|
return () => (0, import_vue.createVNode)(import_action_sheet.ActionSheet, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.van-tree-select-panel{box-sizing:border-box;display:flex;height:calc(100% - 96px);max-height:calc(100% - 96px);overflow:hidden;background:var(--van-gray-1)}.van-tree-select-panel .van-action-sheet__content,.van-tree-select-panel__content{display:flex;flex:1;flex-direction:column;min-height:0;padding:0;overflow:hidden;background:var(--van-gray-1)}.van-tree-select-panel__nav{flex:none;--van-nav-bar-background-color: var(--van-gray-1)}.van-tree-select-panel__nav .van-nav-bar__left--slot{padding:0}.van-tree-select-panel__nav .van-nav-bar__left--slot{left:var(--van-padding-md)}.van-tree-select-panel__search-wrapper{margin:0 var(--van-padding-md) 6px}.van-tree-select-panel__body{flex:1;min-height:0;padding:0 var(--van-padding-md) var(--van-padding-md);overflow-y:auto}.van-tree-select-panel__footer{position:relative;flex:none;background:var(--van-white);box-shadow:0 -2px 5px rgba(27,33,41,.1)}.van-tree-select-panel__footer .van-bottom-action-bar{box-shadow:none}.van-tree-select-panel__selected-panel{position:absolute;right:0;bottom:60px;left:0;display:flex;flex-direction:column;max-height:min(340px,calc(100vh - 156px));overflow:hidden;background:var(--van-white);box-shadow:0 -2px 5px rgba(27,33,41,.1)}.van-tree-select-panel__selected-header{display:flex;flex:none;align-items:center;justify-content:space-between;padding:12px var(--van-padding-md) 4px}.van-tree-select-panel__clear,.van-tree-select-panel__collapse{display:inline-flex;align-items:center;padding:0;font:inherit;font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);background:transparent;border:0}.van-tree-select-panel__clear{color:var(--van-primary-color)}.van-tree-select-panel__collapse,.van-tree-select-panel__remove,.van-tree-select-panel__collapse .van-icon,.van-tree-select-panel__remove .van-icon{color:var(--van-gray-6)}.van-tree-select-panel__collapse{gap:2px}.van-tree-select-panel__selected-list{display:flex;flex:0 1 auto;flex-direction:column;gap:6px;min-height:0;padding:var(--van-padding-xs) var(--van-padding-md);overflow-y:auto;overscroll-behavior:contain}.van-tree-select-panel__selected-item{flex:none;min-height:44px;padding:11px var(--van-padding-md);background:var(--van-gray-1);border-radius:8px}.van-tree-select-panel__remove{display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:0}.van-tree-select-panel__card{overflow:hidden;background:var(--van-white);border-radius:var(--van-border-radius-lg)}.van-tree-select-panel__match{color:var(--van-primary-color)}.van-tree-select-panel .van-list{min-height:100%}
|
|
1
|
+
.van-tree-select-panel{box-sizing:border-box;display:flex;height:calc(100% - 96px);max-height:calc(100% - 96px);overflow:hidden;background:var(--van-gray-1)}.van-tree-select-panel .van-action-sheet__content,.van-tree-select-panel__content{display:flex;flex:1;flex-direction:column;min-height:0;padding:0;overflow:hidden;background:var(--van-gray-1)}.van-tree-select-panel__nav{flex:none;--van-nav-bar-background-color: var(--van-gray-1)}.van-tree-select-panel__nav .van-nav-bar__left--slot{padding:0}.van-tree-select-panel__nav .van-nav-bar__left--slot{left:var(--van-padding-md)}.van-tree-select-panel__search-wrapper{margin:0 var(--van-padding-md) 6px}.van-tree-select-panel__body{flex:1;min-height:0;padding:0 var(--van-padding-md) var(--van-padding-md);overflow-y:auto}.van-tree-select-panel__footer{position:relative;flex:none;background:var(--van-white);box-shadow:0 -2px 5px rgba(27,33,41,.1)}.van-tree-select-panel__footer .van-bottom-action-bar{box-shadow:none}.van-tree-select-panel__selected-panel{position:absolute;right:0;bottom:60px;left:0;display:flex;flex-direction:column;max-height:min(340px,calc(100vh - 156px));overflow:hidden;background:var(--van-white);box-shadow:0 -2px 5px rgba(27,33,41,.1)}.van-tree-select-panel__selected-header{display:flex;flex:none;align-items:center;justify-content:space-between;padding:12px var(--van-padding-md) 4px}.van-tree-select-panel__clear,.van-tree-select-panel__collapse{display:inline-flex;align-items:center;padding:0;font:inherit;font-size:var(--van-font-size-md);line-height:var(--van-line-height-lg);background:transparent;border:0}.van-tree-select-panel__clear{color:var(--van-primary-color)}.van-tree-select-panel__collapse,.van-tree-select-panel__remove,.van-tree-select-panel__collapse .van-icon,.van-tree-select-panel__remove .van-icon{color:var(--van-gray-6)}.van-tree-select-panel__collapse{gap:2px}.van-tree-select-panel__selected-list{display:flex;flex:0 1 auto;flex-direction:column;gap:6px;min-height:0;padding:var(--van-padding-xs) var(--van-padding-md);overflow-y:auto;overscroll-behavior:contain}.van-tree-select-panel__selected-item{flex:none;min-height:44px;padding:11px var(--van-padding-md);background:var(--van-gray-1);border-radius:8px}.van-tree-select-panel__remove{display:inline-flex;align-self:flex-start;align-items:center;justify-content:center;width:22px;height:22px;padding:0;background:transparent;border:0}.van-tree-select-panel__card{overflow:hidden;background:var(--van-white);border-radius:var(--van-border-radius-lg)}.van-tree-select-panel__match{color:var(--van-primary-color)}.van-tree-select-panel__path-separator{color:var(--van-text-color-2)}.van-tree-select-panel .van-list{min-height:100%}
|
|
@@ -23,6 +23,10 @@ export declare const TreeSelectPanel: import("../utils").WithInstall<import("vue
|
|
|
23
23
|
default: true;
|
|
24
24
|
};
|
|
25
25
|
searchPlaceholder: StringConstructor;
|
|
26
|
+
showSearchParentPath: {
|
|
27
|
+
type: BooleanConstructor;
|
|
28
|
+
default: true;
|
|
29
|
+
};
|
|
26
30
|
lazy: BooleanConstructor;
|
|
27
31
|
loading: BooleanConstructor;
|
|
28
32
|
finished: BooleanConstructor;
|
|
@@ -71,6 +75,10 @@ export declare const TreeSelectPanel: import("../utils").WithInstall<import("vue
|
|
|
71
75
|
default: true;
|
|
72
76
|
};
|
|
73
77
|
searchPlaceholder: StringConstructor;
|
|
78
|
+
showSearchParentPath: {
|
|
79
|
+
type: BooleanConstructor;
|
|
80
|
+
default: true;
|
|
81
|
+
};
|
|
74
82
|
lazy: BooleanConstructor;
|
|
75
83
|
loading: BooleanConstructor;
|
|
76
84
|
finished: BooleanConstructor;
|
|
@@ -124,6 +132,7 @@ export declare const TreeSelectPanel: import("../utils").WithInstall<import("vue
|
|
|
124
132
|
expandedKeys: import("../utils").Numeric[];
|
|
125
133
|
selectableParent: boolean;
|
|
126
134
|
showParentSelect: boolean;
|
|
135
|
+
showSearchParentPath: boolean;
|
|
127
136
|
}>>;
|
|
128
137
|
export default TreeSelectPanel;
|
|
129
138
|
export type { TreeSelectPanelProps } from './TreeSelectPanel';
|
|
@@ -103,5 +103,7 @@
|
|
|
103
103
|
}
|
|
104
104
|
&__card { overflow: hidden; background: var(--van-white); border-radius: var(--van-border-radius-lg); }
|
|
105
105
|
&__match { color: var(--van-primary-color); }
|
|
106
|
+
|
|
107
|
+
&__path-separator { color: var(--van-text-color-2); }
|
|
106
108
|
.van-list { min-height: 100%; }
|
|
107
109
|
}
|
package/lib/vant.cjs.js
CHANGED
|
@@ -3178,6 +3178,7 @@ const cellSharedProps = {
|
|
|
3178
3178
|
showTitleCollapseIcon: Boolean,
|
|
3179
3179
|
defaultMultiLineNotesCollapsed: Boolean,
|
|
3180
3180
|
threeLine: Boolean,
|
|
3181
|
+
threeLineEllipsis: Boolean,
|
|
3181
3182
|
labelSize: numericProp,
|
|
3182
3183
|
avatar: String,
|
|
3183
3184
|
showAvatar: {
|
|
@@ -3280,13 +3281,39 @@ const cellProps = extend({}, cellSharedProps, routeProps);
|
|
|
3280
3281
|
var stdin_default$1M = vue.defineComponent({
|
|
3281
3282
|
name: name$1D,
|
|
3282
3283
|
props: cellProps,
|
|
3283
|
-
emits: ["click", "click-label", "click-description", "click-note", "click-title-icon", "update:leftSelect", "update:rightSelect", "update:multiLineNotesCollapsed"],
|
|
3284
|
+
emits: ["click", "click-label", "click-description", "click-note", "click-title-icon", "long-press", "update:leftSelect", "update:rightSelect", "update:multiLineNotesCollapsed"],
|
|
3284
3285
|
setup(props2, {
|
|
3285
3286
|
slots,
|
|
3286
3287
|
emit
|
|
3287
3288
|
}) {
|
|
3288
3289
|
var _a, _b;
|
|
3290
|
+
let longPressTimer;
|
|
3289
3291
|
const config = vue.inject(CONFIG_PROVIDER_KEY, null);
|
|
3292
|
+
const clearLongPress = () => {
|
|
3293
|
+
if (longPressTimer !== void 0) {
|
|
3294
|
+
clearTimeout(longPressTimer);
|
|
3295
|
+
longPressTimer = void 0;
|
|
3296
|
+
}
|
|
3297
|
+
};
|
|
3298
|
+
const startLongPress = (target, text) => {
|
|
3299
|
+
if (!props2.threeLine || !props2.threeLineEllipsis || !isDef(text))
|
|
3300
|
+
return;
|
|
3301
|
+
clearLongPress();
|
|
3302
|
+
longPressTimer = setTimeout(() => {
|
|
3303
|
+
longPressTimer = void 0;
|
|
3304
|
+
const payload = {
|
|
3305
|
+
target,
|
|
3306
|
+
text: String(text)
|
|
3307
|
+
};
|
|
3308
|
+
emit("long-press", payload);
|
|
3309
|
+
}, 500);
|
|
3310
|
+
};
|
|
3311
|
+
const longPressEvents = (target, text) => ({
|
|
3312
|
+
onPointerdown: () => startLongPress(target, text),
|
|
3313
|
+
onPointerup: clearLongPress,
|
|
3314
|
+
onPointercancel: clearLongPress,
|
|
3315
|
+
onPointerleave: clearLongPress
|
|
3316
|
+
});
|
|
3290
3317
|
const route2 = useRoute();
|
|
3291
3318
|
const vm = vue.getCurrentInstance().proxy;
|
|
3292
3319
|
const leftSelectState = vue.ref((_a = props2.leftSelect) != null ? _a : false);
|
|
@@ -3333,7 +3360,7 @@ var stdin_default$1M = vue.defineComponent({
|
|
|
3333
3360
|
const showLabel = slots.label || isDef(props2.label);
|
|
3334
3361
|
const showLabelIcon = (_a2 = props2.showLabelIcon) != null ? _a2 : !!(slots["label-icon"] || props2.labelIcon);
|
|
3335
3362
|
if (showLabel) {
|
|
3336
|
-
return vue.createVNode("div", {
|
|
3363
|
+
return vue.createVNode("div", vue.mergeProps({
|
|
3337
3364
|
"class": [bem$1z("label", {
|
|
3338
3365
|
clickable: props2.labelClickable
|
|
3339
3366
|
}), props2.labelClass],
|
|
@@ -3348,19 +3375,21 @@ var stdin_default$1M = vue.defineComponent({
|
|
|
3348
3375
|
event.stopPropagation();
|
|
3349
3376
|
emit("click-label", event);
|
|
3350
3377
|
}
|
|
3351
|
-
}, [showLabelIcon && slots["label-icon"] ? vue.createVNode("span", {
|
|
3378
|
+
}, longPressEvents("label", props2.label)), [showLabelIcon && slots["label-icon"] ? vue.createVNode("span", {
|
|
3352
3379
|
"class": bem$1z("label-icon")
|
|
3353
3380
|
}, [slots["label-icon"]()]) : showLabelIcon ? vue.createVNode(Icon, {
|
|
3354
3381
|
"name": props2.labelIcon || "location-o",
|
|
3355
3382
|
"class": bem$1z("label-icon"),
|
|
3356
3383
|
"classPrefix": props2.iconPrefix
|
|
3357
|
-
}, null) : null, vue.createVNode("span",
|
|
3384
|
+
}, null) : null, vue.createVNode("span", {
|
|
3385
|
+
"class": bem$1z("label-content")
|
|
3386
|
+
}, [slots.label ? slots.label() : props2.label])]);
|
|
3358
3387
|
}
|
|
3359
3388
|
};
|
|
3360
3389
|
const renderDescription = () => {
|
|
3361
3390
|
const showDescription = slots.description || isDef(props2.description);
|
|
3362
3391
|
if (showDescription) {
|
|
3363
|
-
return vue.createVNode("div", {
|
|
3392
|
+
return vue.createVNode("div", vue.mergeProps({
|
|
3364
3393
|
"class": bem$1z("description", {
|
|
3365
3394
|
clickable: props2.descriptionClickable
|
|
3366
3395
|
}),
|
|
@@ -3372,7 +3401,7 @@ var stdin_default$1M = vue.defineComponent({
|
|
|
3372
3401
|
event.stopPropagation();
|
|
3373
3402
|
emit("click-description", event);
|
|
3374
3403
|
}
|
|
3375
|
-
}, [slots.description ? slots.description() : props2.description]);
|
|
3404
|
+
}, longPressEvents("description", props2.description)), [slots.description ? slots.description() : props2.description]);
|
|
3376
3405
|
}
|
|
3377
3406
|
};
|
|
3378
3407
|
const renderMultiLineNotes = () => {
|
|
@@ -3417,7 +3446,9 @@ var stdin_default$1M = vue.defineComponent({
|
|
|
3417
3446
|
"class": bem$1z("title-collapse-icon", {
|
|
3418
3447
|
collapsed: multiLineNotesCollapsed.value
|
|
3419
3448
|
})
|
|
3420
|
-
}, null)]),
|
|
3449
|
+
}, null)]), vue.createVNode("span", vue.mergeProps({
|
|
3450
|
+
"class": bem$1z("title-content")
|
|
3451
|
+
}, longPressEvents("title", props2.title)), [slots.title ? slots.title() : props2.title]), renderTitleTag(), renderTags(), renderTitleIcon()]), renderWrapTags(), renderLabel(), props2.threeLine && renderDescription(), !multiLineNotesCollapsed.value && renderMultiLineNotes()]);
|
|
3421
3452
|
}
|
|
3422
3453
|
};
|
|
3423
3454
|
const renderValue = () => {
|
|
@@ -3429,7 +3460,7 @@ var stdin_default$1M = vue.defineComponent({
|
|
|
3429
3460
|
"class": [bem$1z("value", {
|
|
3430
3461
|
alone: !hasTitle
|
|
3431
3462
|
}), props2.valueClass]
|
|
3432
|
-
}, [slot ? slot() : vue.createVNode("span",
|
|
3463
|
+
}, [slot ? slot() : vue.createVNode("span", longPressEvents("value", props2.value), [props2.value])]);
|
|
3433
3464
|
}
|
|
3434
3465
|
};
|
|
3435
3466
|
const renderLeftIcon = () => {
|
|
@@ -3702,6 +3733,7 @@ var stdin_default$1M = vue.defineComponent({
|
|
|
3702
3733
|
clickable,
|
|
3703
3734
|
borderless: !border,
|
|
3704
3735
|
"three-line": threeLine,
|
|
3736
|
+
"three-line-ellipsis": threeLine && props2.threeLineEllipsis,
|
|
3705
3737
|
"multi-line-notes": hasMultiLineNotes
|
|
3706
3738
|
};
|
|
3707
3739
|
if (cellSize) {
|
|
@@ -14601,6 +14633,7 @@ const materialAddProps = {
|
|
|
14601
14633
|
allTabText: makeStringProp("全部物料"),
|
|
14602
14634
|
materialTabText: makeStringProp("物资"),
|
|
14603
14635
|
toolTabText: makeStringProp("工具"),
|
|
14636
|
+
max: makeNumericProp(Infinity),
|
|
14604
14637
|
search: Function,
|
|
14605
14638
|
searchDebounce: makeNumericProp(300)
|
|
14606
14639
|
};
|
|
@@ -14813,6 +14846,7 @@ var stdin_default$B = vue.defineComponent({
|
|
|
14813
14846
|
"key": item.id,
|
|
14814
14847
|
"item": item,
|
|
14815
14848
|
"modelValue": quantities.value[index],
|
|
14849
|
+
"max": props2.max,
|
|
14816
14850
|
"keyword": searching.value ? keyword.value : "",
|
|
14817
14851
|
"selected": selected,
|
|
14818
14852
|
"onDetail": openDetail,
|
|
@@ -19136,6 +19170,7 @@ const treeSelectPanelProps = {
|
|
|
19136
19170
|
showSelectLevels: Array,
|
|
19137
19171
|
searchable: truthProp,
|
|
19138
19172
|
searchPlaceholder: String,
|
|
19173
|
+
showSearchParentPath: truthProp,
|
|
19139
19174
|
lazy: Boolean,
|
|
19140
19175
|
loading: Boolean,
|
|
19141
19176
|
finished: Boolean,
|
|
@@ -19148,11 +19183,15 @@ const treeSelectPanelProps = {
|
|
|
19148
19183
|
clearSelectedText: makeStringProp("清空已选"),
|
|
19149
19184
|
confirmText: makeStringProp("确定")
|
|
19150
19185
|
};
|
|
19151
|
-
const findMatchingLeaves = (items, keyword) => items.flatMap((item) => {
|
|
19186
|
+
const findMatchingLeaves = (items, keyword, parentPath = []) => items.flatMap((item) => {
|
|
19152
19187
|
var _a;
|
|
19153
|
-
if ((_a = item.children) == null ? void 0 : _a.length)
|
|
19154
|
-
return findMatchingLeaves(item.children, keyword);
|
|
19155
|
-
|
|
19188
|
+
if ((_a = item.children) == null ? void 0 : _a.length) {
|
|
19189
|
+
return findMatchingLeaves(item.children, keyword, [...parentPath, item.text]);
|
|
19190
|
+
}
|
|
19191
|
+
return item.text.toLocaleLowerCase().includes(keyword) ? [{
|
|
19192
|
+
item,
|
|
19193
|
+
parentPath
|
|
19194
|
+
}] : [];
|
|
19156
19195
|
});
|
|
19157
19196
|
const flattenItems = (items) => items.flatMap((item) => [item, ...item.children ? flattenItems(item.children) : []]);
|
|
19158
19197
|
var stdin_default$9 = vue.defineComponent({
|
|
@@ -19165,7 +19204,10 @@ var stdin_default$9 = vue.defineComponent({
|
|
|
19165
19204
|
const keyword = vue.ref("");
|
|
19166
19205
|
const expandedSelected = vue.ref(false);
|
|
19167
19206
|
const normalizedKeyword = vue.computed(() => keyword.value.trim().toLocaleLowerCase());
|
|
19168
|
-
const
|
|
19207
|
+
const searchResults = vue.computed(() => normalizedKeyword.value ? findMatchingLeaves(props2.items, normalizedKeyword.value) : []);
|
|
19208
|
+
const filteredItems = vue.computed(() => normalizedKeyword.value ? searchResults.value.map(({
|
|
19209
|
+
item
|
|
19210
|
+
}) => item) : props2.items);
|
|
19169
19211
|
const selectedItems = vue.computed(() => flattenItems(props2.items).filter((item) => props2.modelValue.includes(item.id)));
|
|
19170
19212
|
const close = () => emit("update:show", false);
|
|
19171
19213
|
const updateSelected = (value) => {
|
|
@@ -19220,7 +19262,17 @@ var stdin_default$9 = vue.defineComponent({
|
|
|
19220
19262
|
title: ({
|
|
19221
19263
|
item,
|
|
19222
19264
|
hasChildren
|
|
19223
|
-
}) =>
|
|
19265
|
+
}) => {
|
|
19266
|
+
if (hasChildren || !normalizedKeyword.value)
|
|
19267
|
+
return item.text;
|
|
19268
|
+
const result = searchResults.value.find((result2) => result2.item.id === item.id);
|
|
19269
|
+
if (!result || !props2.showSearchParentPath || !result.parentPath.length) {
|
|
19270
|
+
return renderHighlightedTitle(item.text);
|
|
19271
|
+
}
|
|
19272
|
+
return vue.createVNode(vue.Fragment, null, [result.parentPath.join("/"), vue.createVNode("span", {
|
|
19273
|
+
"class": bem$4("path-separator")
|
|
19274
|
+
}, [vue.createTextVNode("/")]), renderHighlightedTitle(item.text)]);
|
|
19275
|
+
}
|
|
19224
19276
|
})]);
|
|
19225
19277
|
};
|
|
19226
19278
|
return () => vue.createVNode(ActionSheet, {
|
|
@@ -21790,7 +21842,7 @@ const Lazyload = {
|
|
|
21790
21842
|
});
|
|
21791
21843
|
}
|
|
21792
21844
|
};
|
|
21793
|
-
const version = "0.0.
|
|
21845
|
+
const version = "0.0.48";
|
|
21794
21846
|
function install(app) {
|
|
21795
21847
|
const components = [
|
|
21796
21848
|
ActionBar,
|