gitea push

This commit is contained in:
2026-05-09 12:19:29 -06:00
parent 06113c95b8
commit 429461e985
1481 changed files with 74306 additions and 52475 deletions
+24 -3
View File
@@ -48,7 +48,8 @@ export const makeNestedProps = propsFactory({
export const useNested = (props, {
items,
returnObject,
scrollToActive
scrollToActive,
valueComparator
}) => {
let isUnmounted = false;
const children = shallowRef(new Map());
@@ -103,8 +104,28 @@ export const useNested = (props, {
return multipleOpenStrategy;
}
});
const activated = useProxiedModel(props, 'activated', props.activated, v => activeStrategy.value.in(v, children.value, parents.value), v => activeStrategy.value.out(v, children.value, parents.value));
const selected = useProxiedModel(props, 'selected', props.selected, v => selectStrategy.value.in(v, children.value, parents.value, disabled.value), v => selectStrategy.value.out(v, children.value, parents.value));
const flatItems = computed(() => {
const flat = [];
const stack = [...items.value];
while (stack.length) {
const item = stack.pop();
flat.push(item);
if (item.children) stack.push(...item.children);
}
return flat;
});
function resolveValue(value) {
const comparator = toValue(valueComparator);
if (!comparator) return value;
const _returnObject = toValue(returnObject);
for (const item of flatItems.value) {
const itemVal = _returnObject ? toRaw(item.raw) : item.value;
if (comparator(value, itemVal)) return itemVal;
}
return value;
}
const activated = useProxiedModel(props, 'activated', props.activated, v => activeStrategy.value.in(Array.isArray(v) ? v.map(resolveValue) : v, children.value, parents.value), v => activeStrategy.value.out(v, children.value, parents.value));
const selected = useProxiedModel(props, 'selected', props.selected, v => selectStrategy.value.in(Array.isArray(v) ? v.map(resolveValue) : v, children.value, parents.value, disabled.value), v => selectStrategy.value.out(v, children.value, parents.value));
onBeforeUnmount(() => {
isUnmounted = true;
});