Browse Source

fix: Fix layout change, ensure div[ref="asideRef"] is contained within <aside> (#7551)

pull/7553/head
zouawen 1 month ago
committed by GitHub
parent
commit
8e7a5d1ec3
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 115
      packages/@core/ui-kit/layout-ui/src/components/layout-sidebar.vue

115
packages/@core/ui-kit/layout-ui/src/components/layout-sidebar.vue

@ -264,66 +264,71 @@ function handleMouseleave() {
class="h-full transition-all duration-150" class="h-full transition-all duration-150"
></div> ></div>
<aside <aside
:class="[
theme,
{
'bg-sidebar-deep': isSidebarMixed,
'border-r border-border bg-sidebar': !isSidebarMixed,
},
]"
:style="style" :style="style"
class="fixed left-0 top-0 h-full transition-all duration-150" class="fixed left-0 top-0 h-full transition-all duration-150"
@mouseenter="handleMouseenter" @mouseenter="handleMouseenter"
@mouseleave="handleMouseleave" @mouseleave="handleMouseleave"
> >
<SidebarFixedButton <div
v-if="!collapse && !isSidebarMixed && showFixedButton" class="h-full"
v-model:expand-on-hover="expandOnHover" :class="[
/> theme,
<div v-if="slots.logo" :style="headerStyle"> {
<slot name="logo"></slot> 'bg-sidebar-deep': isSidebarMixed,
</div> 'border-r border-border bg-sidebar': !isSidebarMixed,
<VbenScrollbar :style="contentStyle" shadow shadow-border> },
<slot></slot> ]"
</VbenScrollbar> :style="{ width: `${width}px` }"
>
<div :style="collapseStyle"></div> <SidebarFixedButton
<SidebarCollapseButton v-if="!collapse && !isSidebarMixed && showFixedButton"
v-if="showCollapseButton && !isSidebarMixed" v-model:expand-on-hover="expandOnHover"
v-model:collapsed="collapse" />
/> <div v-if="slots.logo" :style="headerStyle">
</aside> <slot name="logo"></slot>
<div </div>
v-if="isSidebarMixed" <VbenScrollbar :style="contentStyle" shadow shadow-border>
ref="asideRef" <slot></slot>
:class="[ </VbenScrollbar>
themeSub,
{ <div :style="collapseStyle"></div>
'border-l': extraVisible, <SidebarCollapseButton
}, v-if="showCollapseButton && !isSidebarMixed"
]" v-model:collapsed="collapse"
:style="extraStyle" />
class="fixed top-0 h-full overflow-hidden border-r border-border bg-sidebar transition-all duration-200"
>
<SidebarCollapseButton
v-if="isSidebarMixed && expandOnHover"
v-model:collapsed="extraCollapse"
/>
<SidebarFixedButton
v-if="!extraCollapse"
v-model:expand-on-hover="expandOnHover"
/>
<div v-if="!extraCollapse" :style="extraTitleStyle" class="pl-2">
<slot name="extra-title"></slot>
</div> </div>
<VbenScrollbar <div
:style="extraContentStyle" v-if="isSidebarMixed"
class="border-border py-2" ref="asideRef"
shadow :class="[
shadow-border themeSub,
{
'border-l': extraVisible,
},
]"
:style="extraStyle"
class="fixed top-0 h-full overflow-hidden border-r border-border bg-sidebar transition-all duration-200"
> >
<slot name="extra"></slot> <SidebarCollapseButton
</VbenScrollbar> v-if="isSidebarMixed && expandOnHover"
</div> v-model:collapsed="extraCollapse"
/>
<SidebarFixedButton
v-if="!extraCollapse"
v-model:expand-on-hover="expandOnHover"
/>
<div v-if="!extraCollapse" :style="extraTitleStyle" class="pl-2">
<slot name="extra-title"></slot>
</div>
<VbenScrollbar
:style="extraContentStyle"
class="border-border py-2"
shadow
shadow-border
>
<slot name="extra"></slot>
</VbenScrollbar>
</div>
</aside>
</template> </template>

Loading…
Cancel
Save