feat: ctrl+a to select all items (#1123)
This commit is contained in:
@@ -105,11 +105,19 @@ export class SelectedItemsController extends AbstractViewController {
|
||||
this.selectedItems[item.uuid] = item
|
||||
}
|
||||
|
||||
private selectItemsRange = async (selectedItem: ListableContentItem): Promise<void> => {
|
||||
private selectItemsRange = async ({
|
||||
selectedItem,
|
||||
startingIndex,
|
||||
endingIndex,
|
||||
}: {
|
||||
selectedItem?: ListableContentItem
|
||||
startingIndex?: number
|
||||
endingIndex?: number
|
||||
}): Promise<void> => {
|
||||
const items = this.itemListController.renderedItems
|
||||
|
||||
const lastSelectedItemIndex = items.findIndex((item) => item.uuid == this.lastSelectedItem?.uuid)
|
||||
const selectedItemIndex = items.findIndex((item) => item.uuid == selectedItem.uuid)
|
||||
const lastSelectedItemIndex = startingIndex ?? items.findIndex((item) => item.uuid == this.lastSelectedItem?.uuid)
|
||||
const selectedItemIndex = endingIndex ?? items.findIndex((item) => item.uuid == selectedItem?.uuid)
|
||||
|
||||
let itemsToSelect = []
|
||||
if (selectedItemIndex > lastSelectedItemIndex) {
|
||||
@@ -151,6 +159,13 @@ export class SelectedItemsController extends AbstractViewController {
|
||||
this.lastSelectedItem = item
|
||||
}
|
||||
|
||||
selectAll = () => {
|
||||
void this.selectItemsRange({
|
||||
startingIndex: 0,
|
||||
endingIndex: this.itemListController.listLength - 1,
|
||||
})
|
||||
}
|
||||
|
||||
private deselectAll = (): void => {
|
||||
this.setSelectedItems({})
|
||||
|
||||
@@ -184,7 +199,7 @@ export class SelectedItemsController extends AbstractViewController {
|
||||
this.lastSelectedItem = item
|
||||
}
|
||||
} else if (userTriggered && hasShift) {
|
||||
await this.selectItemsRange(item)
|
||||
await this.selectItemsRange({ selectedItem: item })
|
||||
} else {
|
||||
const shouldSelectNote = hasMoreThanOneSelected || !this.selectedItems[uuid]
|
||||
if (shouldSelectNote && isAuthorizedForAccess) {
|
||||
|
||||
Reference in New Issue
Block a user