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/vant.es.js
CHANGED
|
@@ -3176,6 +3176,7 @@ const cellSharedProps = {
|
|
|
3176
3176
|
showTitleCollapseIcon: Boolean,
|
|
3177
3177
|
defaultMultiLineNotesCollapsed: Boolean,
|
|
3178
3178
|
threeLine: Boolean,
|
|
3179
|
+
threeLineEllipsis: Boolean,
|
|
3179
3180
|
labelSize: numericProp,
|
|
3180
3181
|
avatar: String,
|
|
3181
3182
|
showAvatar: {
|
|
@@ -3278,13 +3279,39 @@ const cellProps = extend({}, cellSharedProps, routeProps);
|
|
|
3278
3279
|
var stdin_default$1M = defineComponent({
|
|
3279
3280
|
name: name$1D,
|
|
3280
3281
|
props: cellProps,
|
|
3281
|
-
emits: ["click", "click-label", "click-description", "click-note", "click-title-icon", "update:leftSelect", "update:rightSelect", "update:multiLineNotesCollapsed"],
|
|
3282
|
+
emits: ["click", "click-label", "click-description", "click-note", "click-title-icon", "long-press", "update:leftSelect", "update:rightSelect", "update:multiLineNotesCollapsed"],
|
|
3282
3283
|
setup(props2, {
|
|
3283
3284
|
slots,
|
|
3284
3285
|
emit
|
|
3285
3286
|
}) {
|
|
3286
3287
|
var _a, _b;
|
|
3288
|
+
let longPressTimer;
|
|
3287
3289
|
const config = inject(CONFIG_PROVIDER_KEY, null);
|
|
3290
|
+
const clearLongPress = () => {
|
|
3291
|
+
if (longPressTimer !== void 0) {
|
|
3292
|
+
clearTimeout(longPressTimer);
|
|
3293
|
+
longPressTimer = void 0;
|
|
3294
|
+
}
|
|
3295
|
+
};
|
|
3296
|
+
const startLongPress = (target, text) => {
|
|
3297
|
+
if (!props2.threeLine || !props2.threeLineEllipsis || !isDef(text))
|
|
3298
|
+
return;
|
|
3299
|
+
clearLongPress();
|
|
3300
|
+
longPressTimer = setTimeout(() => {
|
|
3301
|
+
longPressTimer = void 0;
|
|
3302
|
+
const payload = {
|
|
3303
|
+
target,
|
|
3304
|
+
text: String(text)
|
|
3305
|
+
};
|
|
3306
|
+
emit("long-press", payload);
|
|
3307
|
+
}, 500);
|
|
3308
|
+
};
|
|
3309
|
+
const longPressEvents = (target, text) => ({
|
|
3310
|
+
onPointerdown: () => startLongPress(target, text),
|
|
3311
|
+
onPointerup: clearLongPress,
|
|
3312
|
+
onPointercancel: clearLongPress,
|
|
3313
|
+
onPointerleave: clearLongPress
|
|
3314
|
+
});
|
|
3288
3315
|
const route2 = useRoute();
|
|
3289
3316
|
const vm = getCurrentInstance().proxy;
|
|
3290
3317
|
const leftSelectState = ref((_a = props2.leftSelect) != null ? _a : false);
|
|
@@ -3331,7 +3358,7 @@ var stdin_default$1M = defineComponent({
|
|
|
3331
3358
|
const showLabel = slots.label || isDef(props2.label);
|
|
3332
3359
|
const showLabelIcon = (_a2 = props2.showLabelIcon) != null ? _a2 : !!(slots["label-icon"] || props2.labelIcon);
|
|
3333
3360
|
if (showLabel) {
|
|
3334
|
-
return createVNode("div", {
|
|
3361
|
+
return createVNode("div", mergeProps({
|
|
3335
3362
|
"class": [bem$1z("label", {
|
|
3336
3363
|
clickable: props2.labelClickable
|
|
3337
3364
|
}), props2.labelClass],
|
|
@@ -3346,19 +3373,21 @@ var stdin_default$1M = defineComponent({
|
|
|
3346
3373
|
event.stopPropagation();
|
|
3347
3374
|
emit("click-label", event);
|
|
3348
3375
|
}
|
|
3349
|
-
}, [showLabelIcon && slots["label-icon"] ? createVNode("span", {
|
|
3376
|
+
}, longPressEvents("label", props2.label)), [showLabelIcon && slots["label-icon"] ? createVNode("span", {
|
|
3350
3377
|
"class": bem$1z("label-icon")
|
|
3351
3378
|
}, [slots["label-icon"]()]) : showLabelIcon ? createVNode(Icon, {
|
|
3352
3379
|
"name": props2.labelIcon || "location-o",
|
|
3353
3380
|
"class": bem$1z("label-icon"),
|
|
3354
3381
|
"classPrefix": props2.iconPrefix
|
|
3355
|
-
}, null) : null, createVNode("span",
|
|
3382
|
+
}, null) : null, createVNode("span", {
|
|
3383
|
+
"class": bem$1z("label-content")
|
|
3384
|
+
}, [slots.label ? slots.label() : props2.label])]);
|
|
3356
3385
|
}
|
|
3357
3386
|
};
|
|
3358
3387
|
const renderDescription = () => {
|
|
3359
3388
|
const showDescription = slots.description || isDef(props2.description);
|
|
3360
3389
|
if (showDescription) {
|
|
3361
|
-
return createVNode("div", {
|
|
3390
|
+
return createVNode("div", mergeProps({
|
|
3362
3391
|
"class": bem$1z("description", {
|
|
3363
3392
|
clickable: props2.descriptionClickable
|
|
3364
3393
|
}),
|
|
@@ -3370,7 +3399,7 @@ var stdin_default$1M = defineComponent({
|
|
|
3370
3399
|
event.stopPropagation();
|
|
3371
3400
|
emit("click-description", event);
|
|
3372
3401
|
}
|
|
3373
|
-
}, [slots.description ? slots.description() : props2.description]);
|
|
3402
|
+
}, longPressEvents("description", props2.description)), [slots.description ? slots.description() : props2.description]);
|
|
3374
3403
|
}
|
|
3375
3404
|
};
|
|
3376
3405
|
const renderMultiLineNotes = () => {
|
|
@@ -3415,7 +3444,9 @@ var stdin_default$1M = defineComponent({
|
|
|
3415
3444
|
"class": bem$1z("title-collapse-icon", {
|
|
3416
3445
|
collapsed: multiLineNotesCollapsed.value
|
|
3417
3446
|
})
|
|
3418
|
-
}, null)]),
|
|
3447
|
+
}, null)]), createVNode("span", mergeProps({
|
|
3448
|
+
"class": bem$1z("title-content")
|
|
3449
|
+
}, longPressEvents("title", props2.title)), [slots.title ? slots.title() : props2.title]), renderTitleTag(), renderTags(), renderTitleIcon()]), renderWrapTags(), renderLabel(), props2.threeLine && renderDescription(), !multiLineNotesCollapsed.value && renderMultiLineNotes()]);
|
|
3419
3450
|
}
|
|
3420
3451
|
};
|
|
3421
3452
|
const renderValue = () => {
|
|
@@ -3427,7 +3458,7 @@ var stdin_default$1M = defineComponent({
|
|
|
3427
3458
|
"class": [bem$1z("value", {
|
|
3428
3459
|
alone: !hasTitle
|
|
3429
3460
|
}), props2.valueClass]
|
|
3430
|
-
}, [slot ? slot() : createVNode("span",
|
|
3461
|
+
}, [slot ? slot() : createVNode("span", longPressEvents("value", props2.value), [props2.value])]);
|
|
3431
3462
|
}
|
|
3432
3463
|
};
|
|
3433
3464
|
const renderLeftIcon = () => {
|
|
@@ -3700,6 +3731,7 @@ var stdin_default$1M = defineComponent({
|
|
|
3700
3731
|
clickable,
|
|
3701
3732
|
borderless: !border,
|
|
3702
3733
|
"three-line": threeLine,
|
|
3734
|
+
"three-line-ellipsis": threeLine && props2.threeLineEllipsis,
|
|
3703
3735
|
"multi-line-notes": hasMultiLineNotes
|
|
3704
3736
|
};
|
|
3705
3737
|
if (cellSize) {
|
|
@@ -14599,6 +14631,7 @@ const materialAddProps = {
|
|
|
14599
14631
|
allTabText: makeStringProp("全部物料"),
|
|
14600
14632
|
materialTabText: makeStringProp("物资"),
|
|
14601
14633
|
toolTabText: makeStringProp("工具"),
|
|
14634
|
+
max: makeNumericProp(Infinity),
|
|
14602
14635
|
search: Function,
|
|
14603
14636
|
searchDebounce: makeNumericProp(300)
|
|
14604
14637
|
};
|
|
@@ -14811,6 +14844,7 @@ var stdin_default$B = defineComponent({
|
|
|
14811
14844
|
"key": item.id,
|
|
14812
14845
|
"item": item,
|
|
14813
14846
|
"modelValue": quantities.value[index],
|
|
14847
|
+
"max": props2.max,
|
|
14814
14848
|
"keyword": searching.value ? keyword.value : "",
|
|
14815
14849
|
"selected": selected,
|
|
14816
14850
|
"onDetail": openDetail,
|
|
@@ -19134,6 +19168,7 @@ const treeSelectPanelProps = {
|
|
|
19134
19168
|
showSelectLevels: Array,
|
|
19135
19169
|
searchable: truthProp,
|
|
19136
19170
|
searchPlaceholder: String,
|
|
19171
|
+
showSearchParentPath: truthProp,
|
|
19137
19172
|
lazy: Boolean,
|
|
19138
19173
|
loading: Boolean,
|
|
19139
19174
|
finished: Boolean,
|
|
@@ -19146,11 +19181,15 @@ const treeSelectPanelProps = {
|
|
|
19146
19181
|
clearSelectedText: makeStringProp("清空已选"),
|
|
19147
19182
|
confirmText: makeStringProp("确定")
|
|
19148
19183
|
};
|
|
19149
|
-
const findMatchingLeaves = (items, keyword) => items.flatMap((item) => {
|
|
19184
|
+
const findMatchingLeaves = (items, keyword, parentPath = []) => items.flatMap((item) => {
|
|
19150
19185
|
var _a;
|
|
19151
|
-
if ((_a = item.children) == null ? void 0 : _a.length)
|
|
19152
|
-
return findMatchingLeaves(item.children, keyword);
|
|
19153
|
-
|
|
19186
|
+
if ((_a = item.children) == null ? void 0 : _a.length) {
|
|
19187
|
+
return findMatchingLeaves(item.children, keyword, [...parentPath, item.text]);
|
|
19188
|
+
}
|
|
19189
|
+
return item.text.toLocaleLowerCase().includes(keyword) ? [{
|
|
19190
|
+
item,
|
|
19191
|
+
parentPath
|
|
19192
|
+
}] : [];
|
|
19154
19193
|
});
|
|
19155
19194
|
const flattenItems = (items) => items.flatMap((item) => [item, ...item.children ? flattenItems(item.children) : []]);
|
|
19156
19195
|
var stdin_default$9 = defineComponent({
|
|
@@ -19163,7 +19202,10 @@ var stdin_default$9 = defineComponent({
|
|
|
19163
19202
|
const keyword = ref("");
|
|
19164
19203
|
const expandedSelected = ref(false);
|
|
19165
19204
|
const normalizedKeyword = computed(() => keyword.value.trim().toLocaleLowerCase());
|
|
19166
|
-
const
|
|
19205
|
+
const searchResults = computed(() => normalizedKeyword.value ? findMatchingLeaves(props2.items, normalizedKeyword.value) : []);
|
|
19206
|
+
const filteredItems = computed(() => normalizedKeyword.value ? searchResults.value.map(({
|
|
19207
|
+
item
|
|
19208
|
+
}) => item) : props2.items);
|
|
19167
19209
|
const selectedItems = computed(() => flattenItems(props2.items).filter((item) => props2.modelValue.includes(item.id)));
|
|
19168
19210
|
const close = () => emit("update:show", false);
|
|
19169
19211
|
const updateSelected = (value) => {
|
|
@@ -19218,7 +19260,17 @@ var stdin_default$9 = defineComponent({
|
|
|
19218
19260
|
title: ({
|
|
19219
19261
|
item,
|
|
19220
19262
|
hasChildren
|
|
19221
|
-
}) =>
|
|
19263
|
+
}) => {
|
|
19264
|
+
if (hasChildren || !normalizedKeyword.value)
|
|
19265
|
+
return item.text;
|
|
19266
|
+
const result = searchResults.value.find((result2) => result2.item.id === item.id);
|
|
19267
|
+
if (!result || !props2.showSearchParentPath || !result.parentPath.length) {
|
|
19268
|
+
return renderHighlightedTitle(item.text);
|
|
19269
|
+
}
|
|
19270
|
+
return createVNode(Fragment, null, [result.parentPath.join("/"), createVNode("span", {
|
|
19271
|
+
"class": bem$4("path-separator")
|
|
19272
|
+
}, [createTextVNode("/")]), renderHighlightedTitle(item.text)]);
|
|
19273
|
+
}
|
|
19222
19274
|
})]);
|
|
19223
19275
|
};
|
|
19224
19276
|
return () => createVNode(ActionSheet, {
|
|
@@ -21788,7 +21840,7 @@ const Lazyload = {
|
|
|
21788
21840
|
});
|
|
21789
21841
|
}
|
|
21790
21842
|
};
|
|
21791
|
-
const version = "0.0.
|
|
21843
|
+
const version = "0.0.48";
|
|
21792
21844
|
function install(app) {
|
|
21793
21845
|
const components = [
|
|
21794
21846
|
ActionBar,
|
package/lib/vant.js
CHANGED
|
@@ -4419,6 +4419,7 @@
|
|
|
4419
4419
|
showTitleCollapseIcon: Boolean,
|
|
4420
4420
|
defaultMultiLineNotesCollapsed: Boolean,
|
|
4421
4421
|
threeLine: Boolean,
|
|
4422
|
+
threeLineEllipsis: Boolean,
|
|
4422
4423
|
labelSize: numericProp,
|
|
4423
4424
|
avatar: String,
|
|
4424
4425
|
showAvatar: {
|
|
@@ -4521,13 +4522,39 @@
|
|
|
4521
4522
|
var stdin_default$1M = vue.defineComponent({
|
|
4522
4523
|
name: name$1D,
|
|
4523
4524
|
props: cellProps,
|
|
4524
|
-
emits: ["click", "click-label", "click-description", "click-note", "click-title-icon", "update:leftSelect", "update:rightSelect", "update:multiLineNotesCollapsed"],
|
|
4525
|
+
emits: ["click", "click-label", "click-description", "click-note", "click-title-icon", "long-press", "update:leftSelect", "update:rightSelect", "update:multiLineNotesCollapsed"],
|
|
4525
4526
|
setup(props2, {
|
|
4526
4527
|
slots,
|
|
4527
4528
|
emit
|
|
4528
4529
|
}) {
|
|
4529
4530
|
var _a, _b;
|
|
4531
|
+
let longPressTimer;
|
|
4530
4532
|
const config = vue.inject(CONFIG_PROVIDER_KEY, null);
|
|
4533
|
+
const clearLongPress = () => {
|
|
4534
|
+
if (longPressTimer !== void 0) {
|
|
4535
|
+
clearTimeout(longPressTimer);
|
|
4536
|
+
longPressTimer = void 0;
|
|
4537
|
+
}
|
|
4538
|
+
};
|
|
4539
|
+
const startLongPress = (target, text) => {
|
|
4540
|
+
if (!props2.threeLine || !props2.threeLineEllipsis || !isDef(text))
|
|
4541
|
+
return;
|
|
4542
|
+
clearLongPress();
|
|
4543
|
+
longPressTimer = setTimeout(() => {
|
|
4544
|
+
longPressTimer = void 0;
|
|
4545
|
+
const payload = {
|
|
4546
|
+
target,
|
|
4547
|
+
text: String(text)
|
|
4548
|
+
};
|
|
4549
|
+
emit("long-press", payload);
|
|
4550
|
+
}, 500);
|
|
4551
|
+
};
|
|
4552
|
+
const longPressEvents = (target, text) => ({
|
|
4553
|
+
onPointerdown: () => startLongPress(target, text),
|
|
4554
|
+
onPointerup: clearLongPress,
|
|
4555
|
+
onPointercancel: clearLongPress,
|
|
4556
|
+
onPointerleave: clearLongPress
|
|
4557
|
+
});
|
|
4531
4558
|
const route2 = useRoute();
|
|
4532
4559
|
const vm = vue.getCurrentInstance().proxy;
|
|
4533
4560
|
const leftSelectState = vue.ref((_a = props2.leftSelect) != null ? _a : false);
|
|
@@ -4574,7 +4601,7 @@
|
|
|
4574
4601
|
const showLabel = slots.label || isDef(props2.label);
|
|
4575
4602
|
const showLabelIcon = (_a2 = props2.showLabelIcon) != null ? _a2 : !!(slots["label-icon"] || props2.labelIcon);
|
|
4576
4603
|
if (showLabel) {
|
|
4577
|
-
return vue.createVNode("div", {
|
|
4604
|
+
return vue.createVNode("div", vue.mergeProps({
|
|
4578
4605
|
"class": [bem$1z("label", {
|
|
4579
4606
|
clickable: props2.labelClickable
|
|
4580
4607
|
}), props2.labelClass],
|
|
@@ -4589,19 +4616,21 @@
|
|
|
4589
4616
|
event.stopPropagation();
|
|
4590
4617
|
emit("click-label", event);
|
|
4591
4618
|
}
|
|
4592
|
-
}, [showLabelIcon && slots["label-icon"] ? vue.createVNode("span", {
|
|
4619
|
+
}, longPressEvents("label", props2.label)), [showLabelIcon && slots["label-icon"] ? vue.createVNode("span", {
|
|
4593
4620
|
"class": bem$1z("label-icon")
|
|
4594
4621
|
}, [slots["label-icon"]()]) : showLabelIcon ? vue.createVNode(Icon, {
|
|
4595
4622
|
"name": props2.labelIcon || "location-o",
|
|
4596
4623
|
"class": bem$1z("label-icon"),
|
|
4597
4624
|
"classPrefix": props2.iconPrefix
|
|
4598
|
-
}, null) : null, vue.createVNode("span",
|
|
4625
|
+
}, null) : null, vue.createVNode("span", {
|
|
4626
|
+
"class": bem$1z("label-content")
|
|
4627
|
+
}, [slots.label ? slots.label() : props2.label])]);
|
|
4599
4628
|
}
|
|
4600
4629
|
};
|
|
4601
4630
|
const renderDescription = () => {
|
|
4602
4631
|
const showDescription = slots.description || isDef(props2.description);
|
|
4603
4632
|
if (showDescription) {
|
|
4604
|
-
return vue.createVNode("div", {
|
|
4633
|
+
return vue.createVNode("div", vue.mergeProps({
|
|
4605
4634
|
"class": bem$1z("description", {
|
|
4606
4635
|
clickable: props2.descriptionClickable
|
|
4607
4636
|
}),
|
|
@@ -4613,7 +4642,7 @@
|
|
|
4613
4642
|
event.stopPropagation();
|
|
4614
4643
|
emit("click-description", event);
|
|
4615
4644
|
}
|
|
4616
|
-
}, [slots.description ? slots.description() : props2.description]);
|
|
4645
|
+
}, longPressEvents("description", props2.description)), [slots.description ? slots.description() : props2.description]);
|
|
4617
4646
|
}
|
|
4618
4647
|
};
|
|
4619
4648
|
const renderMultiLineNotes = () => {
|
|
@@ -4658,7 +4687,9 @@
|
|
|
4658
4687
|
"class": bem$1z("title-collapse-icon", {
|
|
4659
4688
|
collapsed: multiLineNotesCollapsed.value
|
|
4660
4689
|
})
|
|
4661
|
-
}, null)]),
|
|
4690
|
+
}, null)]), vue.createVNode("span", vue.mergeProps({
|
|
4691
|
+
"class": bem$1z("title-content")
|
|
4692
|
+
}, longPressEvents("title", props2.title)), [slots.title ? slots.title() : props2.title]), renderTitleTag(), renderTags(), renderTitleIcon()]), renderWrapTags(), renderLabel(), props2.threeLine && renderDescription(), !multiLineNotesCollapsed.value && renderMultiLineNotes()]);
|
|
4662
4693
|
}
|
|
4663
4694
|
};
|
|
4664
4695
|
const renderValue = () => {
|
|
@@ -4670,7 +4701,7 @@
|
|
|
4670
4701
|
"class": [bem$1z("value", {
|
|
4671
4702
|
alone: !hasTitle
|
|
4672
4703
|
}), props2.valueClass]
|
|
4673
|
-
}, [slot ? slot() : vue.createVNode("span",
|
|
4704
|
+
}, [slot ? slot() : vue.createVNode("span", longPressEvents("value", props2.value), [props2.value])]);
|
|
4674
4705
|
}
|
|
4675
4706
|
};
|
|
4676
4707
|
const renderLeftIcon = () => {
|
|
@@ -4943,6 +4974,7 @@
|
|
|
4943
4974
|
clickable,
|
|
4944
4975
|
borderless: !border,
|
|
4945
4976
|
"three-line": threeLine,
|
|
4977
|
+
"three-line-ellipsis": threeLine && props2.threeLineEllipsis,
|
|
4946
4978
|
"multi-line-notes": hasMultiLineNotes
|
|
4947
4979
|
};
|
|
4948
4980
|
if (cellSize) {
|
|
@@ -15794,6 +15826,7 @@
|
|
|
15794
15826
|
allTabText: makeStringProp("全部物料"),
|
|
15795
15827
|
materialTabText: makeStringProp("物资"),
|
|
15796
15828
|
toolTabText: makeStringProp("工具"),
|
|
15829
|
+
max: makeNumericProp(Infinity),
|
|
15797
15830
|
search: Function,
|
|
15798
15831
|
searchDebounce: makeNumericProp(300)
|
|
15799
15832
|
};
|
|
@@ -16006,6 +16039,7 @@
|
|
|
16006
16039
|
"key": item.id,
|
|
16007
16040
|
"item": item,
|
|
16008
16041
|
"modelValue": quantities.value[index],
|
|
16042
|
+
"max": props2.max,
|
|
16009
16043
|
"keyword": searching.value ? keyword.value : "",
|
|
16010
16044
|
"selected": selected,
|
|
16011
16045
|
"onDetail": openDetail,
|
|
@@ -20323,6 +20357,7 @@
|
|
|
20323
20357
|
showSelectLevels: Array,
|
|
20324
20358
|
searchable: truthProp,
|
|
20325
20359
|
searchPlaceholder: String,
|
|
20360
|
+
showSearchParentPath: truthProp,
|
|
20326
20361
|
lazy: Boolean,
|
|
20327
20362
|
loading: Boolean,
|
|
20328
20363
|
finished: Boolean,
|
|
@@ -20335,11 +20370,15 @@
|
|
|
20335
20370
|
clearSelectedText: makeStringProp("清空已选"),
|
|
20336
20371
|
confirmText: makeStringProp("确定")
|
|
20337
20372
|
};
|
|
20338
|
-
const findMatchingLeaves = (items, keyword) => items.flatMap((item) => {
|
|
20373
|
+
const findMatchingLeaves = (items, keyword, parentPath = []) => items.flatMap((item) => {
|
|
20339
20374
|
var _a;
|
|
20340
|
-
if ((_a = item.children) == null ? void 0 : _a.length)
|
|
20341
|
-
return findMatchingLeaves(item.children, keyword);
|
|
20342
|
-
|
|
20375
|
+
if ((_a = item.children) == null ? void 0 : _a.length) {
|
|
20376
|
+
return findMatchingLeaves(item.children, keyword, [...parentPath, item.text]);
|
|
20377
|
+
}
|
|
20378
|
+
return item.text.toLocaleLowerCase().includes(keyword) ? [{
|
|
20379
|
+
item,
|
|
20380
|
+
parentPath
|
|
20381
|
+
}] : [];
|
|
20343
20382
|
});
|
|
20344
20383
|
const flattenItems = (items) => items.flatMap((item) => [item, ...item.children ? flattenItems(item.children) : []]);
|
|
20345
20384
|
var stdin_default$9 = vue.defineComponent({
|
|
@@ -20352,7 +20391,10 @@
|
|
|
20352
20391
|
const keyword = vue.ref("");
|
|
20353
20392
|
const expandedSelected = vue.ref(false);
|
|
20354
20393
|
const normalizedKeyword = vue.computed(() => keyword.value.trim().toLocaleLowerCase());
|
|
20355
|
-
const
|
|
20394
|
+
const searchResults = vue.computed(() => normalizedKeyword.value ? findMatchingLeaves(props2.items, normalizedKeyword.value) : []);
|
|
20395
|
+
const filteredItems = vue.computed(() => normalizedKeyword.value ? searchResults.value.map(({
|
|
20396
|
+
item
|
|
20397
|
+
}) => item) : props2.items);
|
|
20356
20398
|
const selectedItems = vue.computed(() => flattenItems(props2.items).filter((item) => props2.modelValue.includes(item.id)));
|
|
20357
20399
|
const close = () => emit("update:show", false);
|
|
20358
20400
|
const updateSelected = (value) => {
|
|
@@ -20407,7 +20449,17 @@
|
|
|
20407
20449
|
title: ({
|
|
20408
20450
|
item,
|
|
20409
20451
|
hasChildren
|
|
20410
|
-
}) =>
|
|
20452
|
+
}) => {
|
|
20453
|
+
if (hasChildren || !normalizedKeyword.value)
|
|
20454
|
+
return item.text;
|
|
20455
|
+
const result = searchResults.value.find((result2) => result2.item.id === item.id);
|
|
20456
|
+
if (!result || !props2.showSearchParentPath || !result.parentPath.length) {
|
|
20457
|
+
return renderHighlightedTitle(item.text);
|
|
20458
|
+
}
|
|
20459
|
+
return vue.createVNode(vue.Fragment, null, [result.parentPath.join("/"), vue.createVNode("span", {
|
|
20460
|
+
"class": bem$4("path-separator")
|
|
20461
|
+
}, [vue.createTextVNode("/")]), renderHighlightedTitle(item.text)]);
|
|
20462
|
+
}
|
|
20411
20463
|
})]);
|
|
20412
20464
|
};
|
|
20413
20465
|
return () => vue.createVNode(ActionSheet, {
|
|
@@ -25377,7 +25429,7 @@
|
|
|
25377
25429
|
});
|
|
25378
25430
|
}
|
|
25379
25431
|
};
|
|
25380
|
-
const version = "0.0.
|
|
25432
|
+
const version = "0.0.48";
|
|
25381
25433
|
function install(app) {
|
|
25382
25434
|
const components = [
|
|
25383
25435
|
ActionBar,
|