Skip to content

Commit bd3665d

Browse files
committed
don't render drops
1 parent 9a44f40 commit bd3665d

File tree

14 files changed

+41
-47
lines changed

14 files changed

+41
-47
lines changed

packages/design-system/src/components/OcDrop/OcDrop.vue

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
<slot />
1414
</oc-bottom-drawer>
1515
<div v-else :id="dropId" ref="drop" class="oc-drop shadow-md/20 rounded-sm" @click="onClick">
16-
<oc-card v-if="$slots.default" :body-class="[getTailwindPaddingClass(paddingSize)]">
16+
<oc-card v-if="isOpen && $slots.default" :body-class="[getTailwindPaddingClass(paddingSize)]">
1717
<slot />
1818
</oc-card>
19-
<slot v-else name="special" />
19+
<slot v-else-if="isOpen" name="special" />
2020
</div>
2121
</template>
2222

@@ -140,6 +140,7 @@ const emit = defineEmits<Emits>()
140140
defineSlots<Slots>()
141141
142142
const { isMobile } = useIsMobile()
143+
const isOpen = ref(false)
143144
144145
const useBottomDrawer = computed(() => unref(isMobile) && !enforceDropOnMobile)
145146
const bottomDrawerRef = useTemplateRef<typeof OcBottomDrawer>('bottomDrawerRef')
@@ -152,13 +153,15 @@ const show = () => {
152153
unref(bottomDrawerRef).show()
153154
return
154155
}
156+
isOpen.value = true
155157
unref(tippyInstance)?.show()
156158
}
157159
const hide = () => {
158160
if (unref(useBottomDrawer)) {
159161
unref(bottomDrawerRef).hide()
160162
return
161163
}
164+
isOpen.value = false
162165
unref(tippyInstance)?.hide()
163166
}
164167
@@ -182,10 +185,6 @@ const onFocusOut = (event: FocusEvent) => {
182185
}
183186
}
184187
185-
onBeforeUnmount(() => {
186-
drop.value?.removeEventListener('focusout', onFocusOut)
187-
})
188-
189188
const triggerMapping = computed(() => {
190189
return (
191190
{
@@ -211,6 +210,7 @@ watch(
211210
)
212211
213212
onBeforeUnmount(() => {
213+
unref(drop)?.removeEventListener('focusout', onFocusOut)
214214
destroy(unref(tippyInstance))
215215
})
216216
@@ -236,15 +236,17 @@ const initializeTippy = () => {
236236
theme: 'none',
237237
maxWidth: 416,
238238
offset,
239-
...(!isNestedElement && {
240-
onShow: (instance) => {
241-
emit('showDrop')
239+
onShow: (instance) => {
240+
isOpen.value = true
241+
emit('showDrop')
242+
if (!isNestedElement) {
242243
hideAll({ exclude: instance })
243-
},
244-
onHide: () => {
245-
emit('hideDrop')
246244
}
247-
}),
245+
},
246+
onHide: () => {
247+
isOpen.value = false
248+
emit('hideDrop')
249+
},
248250
popperOptions: {
249251
...popperOptions,
250252
modifiers: [

packages/web-app-files/src/components/Search/List.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,9 +114,9 @@
114114
/>
115115
<!--eslint-enable-->
116116
</template>
117-
<template #contextMenu="{ resource, isOpen }">
117+
<template #contextMenu="{ resource }">
118118
<context-actions
119-
v-if="isOpen && isResourceInSelection(resource)"
119+
v-if="isResourceInSelection(resource)"
120120
:action-options="{ space: getMatchingSpace(resource), resources: selectedResources }"
121121
/>
122122
</template>

packages/web-app-files/src/components/Shares/SharedWithMeSection.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@
3030
@item-visible="loadPreview({ space: getMatchingSpace($event), resource: $event })"
3131
@sort="sortHandler"
3232
>
33-
<template #contextMenu="{ resource, isOpen }">
33+
<template #contextMenu="{ resource }">
3434
<context-actions
35-
v-if="isOpen && isResourceInSelection(resource)"
35+
v-if="isResourceInSelection(resource)"
3636
:action-options="{ space: getMatchingSpace(resource), resources: selectedResources }"
3737
/>
3838
</template>

packages/web-app-files/src/views/Favorites.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@
2727
<template #quickActions="props">
2828
<quick-actions class="hidden sm:block" :item="props.resource" />
2929
</template>
30-
<template #contextMenu="{ resource, isOpen }">
30+
<template #contextMenu="{ resource }">
3131
<context-actions
32-
v-if="isOpen && isResourceInSelection(resource)"
32+
v-if="isResourceInSelection(resource)"
3333
:action-options="{ space: getMatchingSpace(resource), resources: selectedResources }"
3434
/>
3535
</template>

packages/web-app-files/src/views/shares/SharedViaLink.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@
3131
@item-visible="loadPreview({ space: getMatchingSpace($event), resource: $event })"
3232
@sort="handleSort"
3333
>
34-
<template #contextMenu="{ resource, isOpen }">
34+
<template #contextMenu="{ resource }">
3535
<context-actions
36-
v-if="isOpen && isResourceInSelection(resource)"
36+
v-if="isResourceInSelection(resource)"
3737
:action-options="{ space: getMatchingSpace(resource), resources: selectedResources }"
3838
/>
3939
</template>

packages/web-app-files/src/views/shares/SharedWithOthers.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,9 +54,9 @@
5454
@item-visible="loadPreview({ space: getMatchingSpace($event), resource: $event })"
5555
@sort="handleSort"
5656
>
57-
<template #contextMenu="{ resource, isOpen }">
57+
<template #contextMenu="{ resource }">
5858
<context-actions
59-
v-if="isOpen && isResourceInSelection(resource)"
59+
v-if="isResourceInSelection(resource)"
6060
:action-options="{ space: getMatchingSpace(resource), resources: selectedResources }"
6161
/>
6262
</template>

packages/web-app-files/src/views/spaces/GenericSpace.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@
7878
@item-visible="loadPreview({ space, resource: $event })"
7979
@sort="handleSort"
8080
>
81-
<template #contextMenu="{ resource, isOpen }">
81+
<template #contextMenu="{ resource }">
8282
<context-actions
83-
v-if="isOpen && isResourceInSelection(resource)"
83+
v-if="isResourceInSelection(resource)"
8484
:action-options="{ space, resources: selectedResources }"
8585
/>
8686
</template>

packages/web-app-files/src/views/spaces/GenericTrash.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,9 @@
5656
:view-size="viewSize"
5757
@sort="handleSort"
5858
>
59-
<template #contextMenu="{ resource, isOpen }">
59+
<template #contextMenu="{ resource }">
6060
<context-actions
61-
v-if="isOpen && isResourceInSelection(resource)"
61+
v-if="isResourceInSelection(resource)"
6262
:action-options="{ space, resources: selectedResources }"
6363
/>
6464
</template>

packages/web-app-files/src/views/spaces/Projects.vue

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,9 +106,9 @@
106106
<oc-icon name="group" fill-type="line" />
107107
</oc-button>
108108
</template>
109-
<template #contextMenu="{ resource, isOpen }">
109+
<template #contextMenu="{ resource }">
110110
<space-context-actions
111-
v-if="isOpen && isResourceInSelection(resource)"
111+
v-if="isResourceInSelection(resource)"
112112
:loading="resource.graphPermissions === undefined"
113113
:action-options="{ resources: [resource] as SpaceResource[] }"
114114
/>

packages/web-app-files/src/views/trash/Overview.vue

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,8 @@
4747
@sort="handleSort"
4848
@item-visible="loadPreview({ space: getMatchingSpace($event), resource: $event })"
4949
>
50-
<template #contextMenu="{ resource, isOpen }">
50+
<template #contextMenu="{ resource }">
5151
<trash-context-actions
52-
v-if="isOpen"
5352
:loading="resource.graphPermissions === undefined"
5453
:action-options="{ resources: [resource] as SpaceResource[] }"
5554
/>

0 commit comments

Comments
 (0)