Skip to content

Commit f058e27

Browse files
committed
expand vs goInto
1 parent 8b9a29b commit f058e27

File tree

7 files changed

+240
-64
lines changed

7 files changed

+240
-64
lines changed

actions/CreateSubfolderAction.vue

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
11
<template>
2-
<template v-if="props.level === 'root'">
3-
<q-separator inset />
4-
<ContextMenuItem
5-
v-close-popup
6-
@was-clicked="clicked()"
7-
icon="o_folder_open"
8-
color="warning"
9-
label="New Subfolder" />
10-
</template>
2+
<q-separator inset />
3+
<ContextMenuItem v-close-popup @was-clicked="clicked()" icon="o_folder_open" color="warning" label="New Subfolder" />
114
</template>
125
<script setup lang="ts">
136
import { useQuasar } from 'quasar'

layouts/PanelTabList.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ import { CreateTabFromOpenTabsCommand } from 'src/tabsets/commands/CreateTabFrom
4646
import SidePanelTabListHelper from 'src/tabsets/layouts/SidePanelTabListHelper.vue'
4747
import { Tab, TabSorting } from 'src/tabsets/models/Tab'
4848
import { Tabset, TabsetType } from 'src/tabsets/models/Tabset'
49-
import { TabsetColumn } from 'src/tabsets/models/TabsetColumn'
5049
import TabsetService from 'src/tabsets/services/TabsetService'
5150
import { PropType } from 'vue'
5251
import { VueDraggableNext } from 'vue-draggable-next'
@@ -68,7 +67,7 @@ const handleDragAndDrop = (event: any) => {
6867
if (moved) {
6968
console.log('d&d tabs moved', moved.element.id, moved.newIndex)
7069
let useIndex = moved.newIndex
71-
TabsetService.moveTo(moved.element.id, useIndex, null as unknown as TabsetColumn)
70+
TabsetService.moveTo(moved.element.id, useIndex)
7271
}
7372
if (added) {
7473
useCommandExecutor().executeFromUi(new CreateTabFromOpenTabsCommand(added.element, added.newIndex))

layouts/SidePanelPageTabList.vue

Lines changed: 36 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,35 @@
33
<div style="width: 100%; max-width: 100%">
44
<q-list class="q-ma-none">
55
<!-- supporting drag & drop when not on mobile -->
6-
<template v-for="column in getColumns()">
7-
<vue-draggable-next
8-
v-if="tabs.length > 0"
9-
class="q-ma-none"
10-
:list="tabs"
11-
:group="{ name: 'tabs', pull: 'clone' }"
12-
@change="(event: any) => handleDragAndDrop(event, column)">
13-
<SidePanelTabListHelper
14-
v-for="(tab, index) in tabs"
15-
:key="index"
16-
v-once
17-
:tab="tab.tab as Tab"
18-
:index="tab.index"
19-
:type="props.type"
20-
:sorting="props.sorting"
21-
:preventDragAndDrop="false"
22-
:tabset="props.tabset!"
23-
:show-tabsets="props.showTabsets"
24-
:hide-menu="props.hideMenu"
25-
:filter="props.filter || ''" />
26-
</vue-draggable-next>
27-
<div v-else-if="props.filter" class="q-ma-md text-caption">
28-
Filter <em>'{{ props.filter }}'</em> did not match anything inside this collection. Click 'Enter' to search in
29-
all your collections.
30-
</div>
31-
<div v-else-if="props.tabset?.folders.length === 0" class="q-ma-md text-caption text-center">
32-
Empty Tabset<br />
33-
check the <span class="cursor-pointer" @click="useUiStore().startButtonAnimation('addtab')">action menu</span
34-
><br />
35-
</div>
36-
</template>
6+
<vue-draggable-next
7+
v-if="tabs.length > 0"
8+
class="q-ma-none"
9+
:list="tabs"
10+
:group="{ name: 'tabs', pull: 'clone' }"
11+
@change="(event: any) => handleDragAndDrop(event)">
12+
<SidePanelTabListHelper
13+
v-for="(tab, index) in tabs"
14+
:key="index"
15+
v-once
16+
:tab="tab.tab as Tab"
17+
:index="tab.index"
18+
:type="props.type"
19+
:sorting="props.sorting"
20+
:preventDragAndDrop="false"
21+
:tabset="props.tabset!"
22+
:show-tabsets="props.showTabsets"
23+
:hide-menu="props.hideMenu"
24+
:filter="props.filter || ''" />
25+
</vue-draggable-next>
26+
<div v-else-if="props.filter" class="q-ma-md text-caption">
27+
Filter <em>'{{ props.filter }}'</em> did not match anything inside this collection. Click 'Enter' to search in
28+
all your collections.
29+
</div>
30+
<div v-else-if="props.tabset?.folders.length === 0" class="q-ma-md text-caption text-center">
31+
Empty Tabset<br />
32+
check the <span class="cursor-pointer" @click="useUiStore().startButtonAnimation('addtab')">action menu</span
33+
><br />
34+
</div>
3735
</q-list>
3836

3937
<audio id="myAudio">
@@ -42,13 +40,11 @@
4240
</div>
4341
</template>
4442

45-
<script setup lang="ts">
46-
import { SPECIAL_ID_FOR_NO_GROUP_ASSIGNED } from 'src/boot/constants'
43+
<script lang="ts" setup>
4744
import SidePanelTabListHelper from 'src/tabsets/layouts/SidePanelTabListHelper.vue'
4845
import { IndexedTab } from 'src/tabsets/models/IndexedTab'
4946
import { Tab, TabSorting } from 'src/tabsets/models/Tab'
5047
import { Tabset, TabsetType } from 'src/tabsets/models/Tabset'
51-
import { TabsetColumn } from 'src/tabsets/models/TabsetColumn'
5248
import TabsetService from 'src/tabsets/services/TabsetService'
5349
import { useTabsetService } from 'src/tabsets/services/TabsetService2'
5450
import { useUiStore } from 'src/ui/stores/uiStore'
@@ -86,7 +82,7 @@ watch(
8682
},
8783
)
8884
89-
const handleDragAndDrop = async (event: any, column: TabsetColumn) => {
85+
const handleDragAndDrop = async (event: any) => {
9086
console.log('SidePanelPageTabList d&d event:', event)
9187
const { moved, added } = event
9288
if (moved) {
@@ -95,25 +91,19 @@ const handleDragAndDrop = async (event: any, column: TabsetColumn) => {
9591
const movedElement: Tab = tabsInColumn[moved.oldIndex]!.tab
9692
const realNewIndex = tabsInColumn[moved.newIndex]!.index
9793
// console.log(` '${movedElement.id}' ${moved.oldIndex} -> ${realNewIndex}`)
98-
await TabsetService.moveTo(movedElement.id, realNewIndex, column)
94+
await TabsetService.moveTo(movedElement.id, realNewIndex)
9995
}
10096
if (added) {
101-
console.log(
102-
`added event: '${added.element.tab.id}' ${added.oldIndex} -> ${added.newIndex}, ${column.title || column.id}`,
103-
)
97+
console.log(`added event: '${added.element.tab.id}' ${added.oldIndex} -> ${added.newIndex}`)
10498
const tabsInColumn = tabsForColumn()
10599
const movedElement: Tab = added.element.tab
106100
const realNewIndex = added.newIndex < tabsInColumn.length ? tabsInColumn[added.newIndex]!.index : 0
107101
console.log(` '${added.element.tab.id}' ${added.oldIndex} -> ${realNewIndex}`)
108-
movedElement.columnId = column.id
102+
//movedElement.columnId = column.id
109103
useTabsetService().saveCurrentTabset()
110104
}
111105
}
112106
113-
const getColumns = () => {
114-
return [new TabsetColumn(SPECIAL_ID_FOR_NO_GROUP_ASSIGNED, '')]
115-
}
116-
117107
const tabsForColumn = (): IndexedTab[] => {
118108
function filterMatches(property: string | undefined) {
119109
return property && property.toLowerCase().indexOf(props.filter!.toLowerCase()!) >= 0
@@ -137,11 +127,11 @@ tabs.value = tabsForColumn()
137127

138128
<style>
139129
.q-expansion-item--popup > .q-expansion-item__container {
140-
border: 0px solid rgba(0, 0, 0, 0.12) !important;
130+
border: 0 solid rgba(0, 0, 0, 0.12) !important;
141131
}
142132
143133
.q-list--separator > .q-item-type + .q-item-type,
144134
.q-list--separator > .q-virtual-scroll__content > .q-item-type + .q-item-type {
145-
border-top: 0px solid rgba(100, 0, 0, 0.12) !important;
135+
border-top: 0 solid rgba(100, 0, 0, 0.12) !important;
146136
}
147137
</style>

layouts/TabList.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ import { useQuasar } from 'quasar'
3535
import { useCommandExecutor } from 'src/core/services/CommandExecutor'
3636
import { CreateTabFromOpenTabsCommand } from 'src/tabsets/commands/CreateTabFromOpenTabs'
3737
import { Tab, TabSorting } from 'src/tabsets/models/Tab'
38-
import { TabsetColumn } from 'src/tabsets/models/TabsetColumn'
3938
import TabListHelper from 'src/tabsets/pages/pwa/TabListHelper.vue'
4039
import TabsetService from 'src/tabsets/services/TabsetService'
4140
import { useTabsetsStore } from 'src/tabsets/stores/tabsetsStore'
@@ -105,7 +104,7 @@ const handleDragAndDrop = (event: any) => {
105104
}
106105
break
107106
}
108-
TabsetService.moveTo(moved.element.id, useIndex, null as unknown as TabsetColumn)
107+
TabsetService.moveTo(moved.element.id, useIndex)
109108
}
110109
if (added) {
111110
useCommandExecutor().executeFromUi(new CreateTabFromOpenTabsCommand(added.element, added.newIndex))
Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import TabCardWidget from 'src/components/widgets/TabCardWidget.vue'
2222
import { useCommandExecutor } from 'src/core/services/CommandExecutor'
2323
import { CreateTabFromOpenTabsCommand } from 'src/tabsets/commands/CreateTabFromOpenTabs'
2424
import { Tab } from 'src/tabsets/models/Tab'
25-
import { TabsetColumn } from 'src/tabsets/models/TabsetColumn'
2625
import TabsetService from 'src/tabsets/services/TabsetService'
2726
import { useTabsetsStore } from 'src/tabsets/stores/tabsetsStore'
2827
import { useUiStore } from 'src/ui/stores/uiStore'
@@ -95,7 +94,7 @@ const handleDragAndDrop = (event: any) => {
9594
}
9695
break
9796
}
98-
TabsetService.moveTo(moved.element.id, useIndex, null as unknown as TabsetColumn)
97+
TabsetService.moveTo(moved.element.id, useIndex)
9998
}
10099
if (added) {
101100
useCommandExecutor().executeFromUi(new CreateTabFromOpenTabsCommand(added.element, added.newIndex))

services/TabsetService.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import { useSpacesStore } from 'src/spaces/stores/spacesStore'
1212
import { NoteEvent, SpaceEvent, TabEvent, TabsetEvent } from 'src/tabsets/commands/github/GithubWriteEventCommand'
1313
import { Tab, UrlExtension } from 'src/tabsets/models/Tab'
1414
import { Tabset, TabsetSharing, TabsetStatus } from 'src/tabsets/models/Tabset'
15-
import { TabsetColumn } from 'src/tabsets/models/TabsetColumn'
1615
import { useTabsetService } from 'src/tabsets/services/TabsetService2'
1716
import { useTabsetsStore } from 'src/tabsets/stores/tabsetsStore'
1817
import { useTabsStore2 } from 'src/tabsets/stores/tabsStore2'
@@ -369,8 +368,8 @@ class TabsetService {
369368
//ChromeApi.closeAllTabs()
370369
}
371370

372-
async moveTo(tabId: string, newIndex: number, column: TabsetColumn) {
373-
console.log(`moving tabId ${tabId} to new index ${newIndex} with columnId ${column.id}`)
371+
async moveTo(tabId: string, newIndex: number) {
372+
console.log(`moving tabId ${tabId} to new index ${newIndex}`)
374373
const currentTabset = useTabsetsStore().getCurrentTabset!
375374
const activeFolder = useTabsetsStore().getActiveFolder(currentTabset)
376375
let tabs = activeFolder ? activeFolder.tabs : currentTabset.tabs

0 commit comments

Comments
 (0)