2
2
<BaseModalLayout
3
3
data-component-id =" AssetBrowserModal"
4
4
class =" size-full max-h-full max-w-full min-w-0"
5
- :content-title =" contentTitle "
5
+ :content-title =" displayTitle "
6
6
@close =" handleClose"
7
7
>
8
8
<template v-if =" shouldShowLeftPanel " #leftPanel >
14
14
<template #header-icon >
15
15
<div class =" icon-[lucide--folder] size-4" />
16
16
</template >
17
- <template #header-title >{{ $t('assetBrowser.browseAssets') }}</template >
17
+ <template #header-title >
18
+ <span class =" capitalize" >{{ displayTitle }}</span >
19
+ </template >
18
20
</LeftSidePanel >
19
21
</template >
20
22
28
30
</template >
29
31
30
32
<template #contentFilter >
31
- <AssetFilterBar :assets =" assets" @filter-change =" updateFilters" />
33
+ <AssetFilterBar
34
+ :assets =" categoryFilteredAssets"
35
+ @filter-change =" updateFilters"
36
+ />
32
37
</template >
33
38
34
39
<template #content >
@@ -56,10 +61,11 @@ import { OnCloseKey } from '@/types/widgetTypes'
56
61
const props = defineProps <{
57
62
nodeType? : string
58
63
inputName? : string
59
- onSelect? : (assetPath : string ) => void
64
+ onSelect? : (asset : AssetItem ) => void
60
65
onClose? : () => void
61
66
showLeftPanel? : boolean
62
67
assets? : AssetItem []
68
+ title? : string
63
69
}>()
64
70
65
71
const emit = defineEmits <{
@@ -74,11 +80,15 @@ const {
74
80
selectedCategory,
75
81
availableCategories,
76
82
contentTitle,
83
+ categoryFilteredAssets,
77
84
filteredAssets,
78
- selectAssetWithCallback,
79
85
updateFilters
80
86
} = useAssetBrowser (props .assets )
81
87
88
+ const displayTitle = computed (() => {
89
+ return props .title ?? contentTitle .value
90
+ })
91
+
82
92
const shouldShowLeftPanel = computed (() => {
83
93
return props .showLeftPanel ?? true
84
94
})
@@ -88,8 +98,10 @@ function handleClose() {
88
98
emit (' close' )
89
99
}
90
100
91
- async function handleAssetSelectAndEmit(asset : AssetDisplayItem ) {
101
+ function handleAssetSelectAndEmit(asset : AssetDisplayItem ) {
92
102
emit (' asset-select' , asset )
93
- await selectAssetWithCallback (asset .id , props .onSelect )
103
+ // onSelect callback is provided by dialog composable layer
104
+ // It handles the appropriate transformation (filename extraction or full asset)
105
+ props .onSelect ?.(asset )
94
106
}
95
107
</script >
0 commit comments