Add select all button
Very useful final addition to the multi edit/delete function. Typically a user will search for certain criteria, and then select them all to be removed/edited. For example, if yesterdays sets were all 10x150kg deadlifts, but you review your form video and decide the form sucked, you would want to mass edit them to lower the weight/reps (or maybe delete them). This way you won't have these invalid entries ruining all your progress graphs (showing false progress).
This commit is contained in:
parent
fb19685bb5
commit
e5d9f5fa92
|
@ -8,12 +8,14 @@ export default function ListMenu({
|
||||||
onCopy,
|
onCopy,
|
||||||
onClear,
|
onClear,
|
||||||
onDelete,
|
onDelete,
|
||||||
|
onSelect,
|
||||||
ids,
|
ids,
|
||||||
}: {
|
}: {
|
||||||
onEdit: () => void
|
onEdit: () => void
|
||||||
onCopy: () => void
|
onCopy: () => void
|
||||||
onClear: () => void
|
onClear: () => void
|
||||||
onDelete: () => void
|
onDelete: () => void
|
||||||
|
onSelect: () => void
|
||||||
ids?: number[]
|
ids?: number[]
|
||||||
}) {
|
}) {
|
||||||
const [showMenu, setShowMenu] = useState(false)
|
const [showMenu, setShowMenu] = useState(false)
|
||||||
|
@ -41,6 +43,11 @@ export default function ListMenu({
|
||||||
onDelete()
|
onDelete()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const select = () => {
|
||||||
|
setShowMenu(false)
|
||||||
|
onSelect()
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Menu
|
<Menu
|
||||||
visible={showMenu}
|
visible={showMenu}
|
||||||
|
@ -52,6 +59,7 @@ export default function ListMenu({
|
||||||
icon="more-vert"
|
icon="more-vert"
|
||||||
/>
|
/>
|
||||||
}>
|
}>
|
||||||
|
<Menu.Item icon="done-all" title="Select all" onPress={select} />
|
||||||
<Menu.Item
|
<Menu.Item
|
||||||
icon="edit"
|
icon="edit"
|
||||||
title="Edit"
|
title="Edit"
|
||||||
|
|
|
@ -78,6 +78,10 @@ export default function PlanList() {
|
||||||
setIds([])
|
setIds([])
|
||||||
}, [ids, refresh, term])
|
}, [ids, refresh, term])
|
||||||
|
|
||||||
|
const select = useCallback(() => {
|
||||||
|
setIds(plans.map(plan => plan.id))
|
||||||
|
}, [plans])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<DrawerHeader name="Plans">
|
<DrawerHeader name="Plans">
|
||||||
|
@ -87,6 +91,7 @@ export default function PlanList() {
|
||||||
onDelete={remove}
|
onDelete={remove}
|
||||||
onEdit={edit}
|
onEdit={edit}
|
||||||
ids={ids}
|
ids={ids}
|
||||||
|
onSelect={select}
|
||||||
/>
|
/>
|
||||||
</DrawerHeader>
|
</DrawerHeader>
|
||||||
<Page onAdd={onAdd} term={term} search={search}>
|
<Page onAdd={onAdd} term={term} search={search}>
|
||||||
|
|
|
@ -124,6 +124,10 @@ export default function SetList() {
|
||||||
await refresh(term)
|
await refresh(term)
|
||||||
}, [ids, refresh, term])
|
}, [ids, refresh, term])
|
||||||
|
|
||||||
|
const select = useCallback(() => {
|
||||||
|
setIds(sets.map(set => set.id))
|
||||||
|
}, [sets])
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<DrawerHeader name="Home">
|
<DrawerHeader name="Home">
|
||||||
|
@ -133,6 +137,7 @@ export default function SetList() {
|
||||||
onDelete={remove}
|
onDelete={remove}
|
||||||
onEdit={edit}
|
onEdit={edit}
|
||||||
ids={ids}
|
ids={ids}
|
||||||
|
onSelect={select}
|
||||||
/>
|
/>
|
||||||
</DrawerHeader>
|
</DrawerHeader>
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user