From c706517c0cd297389853d2f5fe5811b20bfd8dce Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Thu, 26 May 2022 19:07:17 +0530 Subject: [PATCH] feat: add option to set collapsed by default --- .../theme-default/components/VPSidebar.vue | 7 ++++++- .../theme-default/components/VPSidebarGroup.vue | 17 +++++++++++------ src/client/theme-default/styles/base.css | 4 ++++ types/default-theme.d.ts | 5 +++++ 4 files changed, 26 insertions(+), 7 deletions(-) diff --git a/src/client/theme-default/components/VPSidebar.vue b/src/client/theme-default/components/VPSidebar.vue index df3751b3..c7511357 100644 --- a/src/client/theme-default/components/VPSidebar.vue +++ b/src/client/theme-default/components/VPSidebar.vue @@ -34,7 +34,12 @@ watchPostEffect(async () => {
- +
diff --git a/src/client/theme-default/components/VPSidebarGroup.vue b/src/client/theme-default/components/VPSidebarGroup.vue index 73c513fd..becf39b3 100644 --- a/src/client/theme-default/components/VPSidebarGroup.vue +++ b/src/client/theme-default/components/VPSidebarGroup.vue @@ -7,6 +7,7 @@ const props = defineProps<{ text: string items: DefaultTheme.SidebarItem[] collapsible?: boolean + collapsed?: boolean }>() const collapsed = ref(false) @@ -14,16 +15,20 @@ const itemsDiv = ref(null) const height = ref('') const storeHeight = () => { - height.value = itemsDiv.value?.clientHeight + 'px' + if (!collapsed.value) height.value = itemsDiv.value?.clientHeight + 'px' } const toggle = () => { if (!props.collapsible) return - if (!collapsed.value) storeHeight() + storeHeight() collapsed.value = !collapsed.value } -onMounted(storeHeight) +onMounted(() => { + if (!props.collapsible) return + storeHeight() + collapsed.value = !!props.collapsed +})