Skip to content

Commit 63c90e9

Browse files
fix(snippets): multiple select (#373)
1 parent 84b39d1 commit 63c90e9

2 files changed

Lines changed: 16 additions & 13 deletions

File tree

src/renderer/components/snippets/SnippetListItem.vue

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
ref="itemRef"
44
class="item"
55
:class="{
6-
'is-selected': !isFocused && isSelected,
6+
'is-selected': isSelected,
77
'is-focused': isFocused,
88
'is-highlighted': isHighlighted || isHighlightedMultiple,
99
'is-compact': snippetStore.compactMode
@@ -101,16 +101,16 @@ onClickOutside(itemRef, () => {
101101
102102
const onClickSnippet = (e: MouseEvent) => {
103103
if (e.shiftKey) {
104-
if (snippetStore.selectedIndex < props.index) {
105-
snippetStore.selectedMultiple = snippetStore.snippets.slice(
106-
snippetStore.selectedIndex,
107-
props.index + 1
108-
)
109-
} else {
110-
snippetStore.selectedMultiple = snippetStore.snippets.slice(
104+
if (snippetStore.selectedIndex > props.index) {
105+
snippetStore.selectedMultiple = snippetStore.snippetsByFilter.slice(
111106
props.index,
112107
snippetStore.selectedIndex + 1
113108
)
109+
} else {
110+
snippetStore.selectedMultiple = snippetStore.snippetsByFilter.slice(
111+
snippetStore.selectedIndex,
112+
props.index + 1
113+
)
114114
}
115115
snippetStore.selected = undefined
116116
isFocused.value = false
@@ -341,11 +341,11 @@ onUnmounted(() => {
341341
}
342342
&.is-focused {
343343
&::before {
344-
background-color: var(--color-primary);
344+
background-color: var(--color-primary) !important;
345345
}
346346
.name,
347347
.footer {
348-
color: #fff;
348+
color: #fff !important;
349349
}
350350
}
351351
&.is-selected {

src/renderer/store/snippets.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ export const useSnippetStore = defineStore('snippets', {
3636
}),
3737

3838
getters: {
39-
snippetsByFilter: state => {
39+
snippetsByFilter: (state): SnippetWithFolder[] => {
4040
const folderStore = useFolderStore()
4141

4242
if (folderStore.selectedAlias) {
@@ -53,8 +53,11 @@ export const useSnippetStore = defineStore('snippets', {
5353
},
5454
selectedId: state => state.selected?.id,
5555
selectedIds: state => state.selectedMultiple.map(i => i.id),
56-
selectedIndex: state =>
57-
state.snippets.findIndex(i => i.id === state.selected?.id),
56+
selectedIndex () {
57+
// @ts-expect-error
58+
// FIXME: Разобраться с типами
59+
return this.snippetsByFilter.findIndex(i => i.id === this.selected?.id)
60+
},
5861
currentContent: state =>
5962
state.selected?.content?.[state.fragment]?.value || undefined,
6063
currentLanguage: state =>

0 commit comments

Comments
 (0)