mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-07-27 06:01:54 +03:00
Added multi-select to book-sort interface
As discussed in #2064 Closes #2067
This commit is contained in:
@ -1,4 +1,4 @@
|
|||||||
import Sortable from "sortablejs";
|
import {Sortable, MultiDrag} from "sortablejs";
|
||||||
|
|
||||||
// Auto sort control
|
// Auto sort control
|
||||||
const sortOperations = {
|
const sortOperations = {
|
||||||
@ -43,6 +43,7 @@ class BookSort {
|
|||||||
this.input = elem.querySelector('[book-sort-input]');
|
this.input = elem.querySelector('[book-sort-input]');
|
||||||
|
|
||||||
const initialSortBox = elem.querySelector('.sort-box');
|
const initialSortBox = elem.querySelector('.sort-box');
|
||||||
|
Sortable.mount(new MultiDrag());
|
||||||
this.setupBookSortable(initialSortBox);
|
this.setupBookSortable(initialSortBox);
|
||||||
this.setupSortPresets();
|
this.setupSortPresets();
|
||||||
|
|
||||||
@ -134,6 +135,9 @@ class BookSort {
|
|||||||
onSort: this.updateMapInput.bind(this),
|
onSort: this.updateMapInput.bind(this),
|
||||||
dragClass: 'bg-white',
|
dragClass: 'bg-white',
|
||||||
ghostClass: 'primary-background-light',
|
ghostClass: 'primary-background-light',
|
||||||
|
multiDrag: true,
|
||||||
|
multiDragKey: 'CTRL',
|
||||||
|
selectedClass: 'sortable-selected',
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -275,6 +275,10 @@
|
|||||||
.entity-list-item > span:first-child {
|
.entity-list-item > span:first-child {
|
||||||
align-self: flex-start;
|
align-self: flex-start;
|
||||||
}
|
}
|
||||||
|
.sortable-selected .entity-list-item, .sortable-selected .entity-list-item:hover {
|
||||||
|
outline: 1px dotted var(--color-primary);
|
||||||
|
background-color: var(--color-primary-light) !important;
|
||||||
|
}
|
||||||
.entity-list-item > div {
|
.entity-list-item > div {
|
||||||
display: block;
|
display: block;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
|
Reference in New Issue
Block a user