2323 <q-list >
2424 <q-item
2525 v-if =" props.tabset"
26- v-for =" folder in calcFolders(props.tabset) "
26+ v-for =" folder in folders "
2727 clickable
2828 v-ripple
2929 class =" q-ma-none q-pa-sm"
7070
7171<script lang="ts" setup>
7272import { Tabset , TabsetType } from ' src/tabsets/models/Tabset'
73- import { ref , watchEffect } from ' vue'
73+ import { onMounted , ref , watchEffect } from ' vue'
7474import ' @he-tree/vue/style/default.css'
7575import ' @he-tree/vue/style/material-design.css'
7676import { QVueGlobals } from ' quasar'
@@ -84,10 +84,22 @@ import Highlight from 'src/tabsets/widgets/Highlight.vue'
8484import { useUiStore } from ' src/ui/stores/uiStore'
8585import { useWindowsStore } from ' src/windows/stores/windowsStore'
8686
87- const props = defineProps <{ tabset: Tabset ; filter: string }>()
87+ type Props = {
88+ tabset: Tabset
89+ filter? : string
90+ }
91+
92+ const props = defineProps <Props >()
93+
94+ const emits = defineEmits ([' folders-found' , ' folder-selected' ])
8895
8996const currentChromeTab = ref <chrome .tabs .Tab | undefined >(undefined )
9097const hoveredTabset = ref <string | undefined >(undefined )
98+ const folders = ref <Tabset []>([])
99+
100+ onMounted (() => {
101+ folders .value = calcFolders (props .tabset )
102+ })
91103
92104watchEffect (() => {
93105 const windowId = useWindowsStore ().currentBrowserWindow ?.id || 0
@@ -108,6 +120,13 @@ const calcFolders = (tabset: Tabset): Tabset[] => {
108120 )
109121}
110122
123+ watchEffect (() => {
124+ if (props .filter || props .tabset .folderActive ) {
125+ folders .value = calcFolders (props .tabset )
126+ emits (' folders-found' , folders .value .length )
127+ }
128+ })
129+
111130const startDrag = (evt : any , folder : Tabset ) => {
112131 console .log (' start dragging' , evt , folder )
113132 if (evt .dataTransfer ) {
@@ -154,9 +173,9 @@ const dropAtBreadcrumb = (evt: any, f?: any) => {
154173const selectFolder = (tabset : Tabset , folder ? : Tabset ) => {
155174 console .log (` selecting folder '${folder ?.id }' (${folder ?.name }) in tabset ${tabset .id } (${tabset .name }) ` )
156175 tabset .folderActive = folder ? (tabset .id === folder .id ? undefined : folder .id ) : undefined
157-
158176 useTabsetService ().saveTabset (tabset )
159177 useTabsetService ().handleHeadRequests (tabset , folder ?.id )
178+ emits (' folder-selected' )
160179}
161180
162181const folderCaption = (folder : Tabset ): string => {
0 commit comments