19
19
/>
20
20
</template >
21
21
<template #body >
22
- <SearchBox
23
- class =" node-lib-search-box"
24
- v-model:modelValue =" searchQuery"
25
- @search =" handleSearch"
26
- @show-filter =" ($event) => searchFilter.toggle($event)"
27
- @remove-filter =" onRemoveFilter"
28
- :placeholder =" $t('searchNodes') + '...'"
29
- filter-icon =" pi pi-filter"
30
- :filters
31
- />
32
-
33
- <Popover ref =" searchFilter" class =" node-lib-filter-popup" >
34
- <NodeSearchFilter @addFilter =" onAddFilter" />
35
- </Popover >
36
- <NodeBookmarkTreeExplorer
37
- ref =" nodeBookmarkTreeExplorerRef"
38
- :filtered-node-defs =" filteredNodeDefs"
39
- />
40
- <Divider v-if =" nodeBookmarkStore.bookmarks.length > 0" type =" dashed" />
41
- <TreeExplorer
42
- class =" node-lib-tree-explorer"
43
- :roots =" renderedRoot.children"
44
- v-model:expandedKeys =" expandedKeys"
45
- @nodeClick =" handleNodeClick"
46
- >
47
- <template #node =" { node } " >
48
- <NodeTreeLeaf :node =" node" />
49
- </template >
50
- </TreeExplorer >
22
+ <div class =" flex flex-col h-full" >
23
+ <div class =" flex-shrink-0" >
24
+ <SearchBox
25
+ class =" node-lib-search-box mx-4 mt-4"
26
+ v-model:modelValue =" searchQuery"
27
+ @search =" handleSearch"
28
+ @show-filter =" ($event) => searchFilter.toggle($event)"
29
+ @remove-filter =" onRemoveFilter"
30
+ :placeholder =" $t('searchNodes') + '...'"
31
+ filter-icon =" pi pi-filter"
32
+ :filters
33
+ />
34
+
35
+ <Popover ref =" searchFilter" class =" node-lib-filter-popup" >
36
+ <NodeSearchFilter @addFilter =" onAddFilter" />
37
+ </Popover >
38
+ </div >
39
+ <div class =" flex-grow overflow-y-auto" >
40
+ <NodeBookmarkTreeExplorer
41
+ ref =" nodeBookmarkTreeExplorerRef"
42
+ :filtered-node-defs =" filteredNodeDefs"
43
+ />
44
+ <Divider
45
+ v-if =" nodeBookmarkStore.bookmarks.length > 0"
46
+ type =" dashed"
47
+ />
48
+ <TreeExplorer
49
+ class =" node-lib-tree-explorer mt-1"
50
+ :roots =" renderedRoot.children"
51
+ v-model:expandedKeys =" expandedKeys"
52
+ @nodeClick =" handleNodeClick"
53
+ >
54
+ <template #node =" { node } " >
55
+ <NodeTreeLeaf :node =" node" />
56
+ </template >
57
+ </TreeExplorer >
58
+ </div >
59
+ </div >
51
60
</template >
52
61
</SidebarTabTemplate >
53
62
<div id =" node-library-node-preview-container" />
@@ -60,7 +69,7 @@ import {
60
69
ComfyNodeDefImpl ,
61
70
useNodeDefStore
62
71
} from ' @/stores/nodeDefStore'
63
- import { computed , nextTick , onMounted , ref , Ref } from ' vue'
72
+ import { computed , nextTick , ref , Ref } from ' vue'
64
73
import type { TreeNode } from ' primevue/treenode'
65
74
import Popover from ' primevue/popover'
66
75
import Divider from ' primevue/divider'
@@ -193,10 +202,6 @@ const onRemoveFilter = (filterAndValue) => {
193
202
</style >
194
203
195
204
<style scoped>
196
- :deep(.node-lib-search-box ) {
197
- @apply mx- 4 mt- 4;
198
- }
199
-
200
205
:deep(.comfy-vue-side-bar-body ) {
201
206
background : var (--p-tree-background );
202
207
}
@@ -205,10 +210,6 @@ const onRemoveFilter = (filterAndValue) => {
205
210
padding-bottom : 2px ;
206
211
}
207
212
208
- :deep(.node-lib-tree-explorer ) {
209
- padding-top : 2px ;
210
- }
211
-
212
213
:deep(.p-divider ) {
213
214
margin : var (--comfy-tree-explorer-item-padding ) 0px ;
214
215
}
0 commit comments