in desktop/src/@batch-flask/ui/abstract-list/abstract-list-base.ts [403:432]
public handleClick(event: MouseEvent, item, activate = true) {
this.setFocusedItem(item);
const shiftKey = event.shiftKey;
const ctrlKey = event.ctrlKey || event.metaKey;
// Prevent the routerlink from being activated if we have shift or ctrl
if (shiftKey || ctrlKey) {
const focusedItem = this.focusedItem;
if (!focusedItem) { return; }
if (shiftKey) {
this.selectTo(item.id);
} else if (ctrlKey) {
this.toggleSelected(item.id);
}
event.stopPropagation();
event.stopImmediatePropagation();
} else if (activate) {
if (this.config.activable) {
// Means the user actually selected the item
this.activateItem(item);
} else {
const isSelected = this.selection.has(item.id);
this.clearSelection();
this.onSelectedChange(item.id, !isSelected);
}
} else {
this.toggleSelected(item.id, event);
}
}