11<script setup>
22import {
3- ResizableHandle ,
4- ResizablePanel ,
5- ResizablePanelGroup ,
6- } from ' ./ui/resizable'
7- import { ref , watchEffect } from ' vue'
8- import { useAppStore } from ' @/store'
3+ ResizableHandle ,
4+ ResizablePanel ,
5+ ResizablePanelGroup
6+ } from " ./ui/resizable" ;
7+ import { ref , watchEffect } from " vue" ;
8+ import { useAppStore } from " @/store" ;
99
10- const store = useAppStore ()
10+ const store = useAppStore ();
1111
12- const panelLeft = ref ()
13- const panelRight = ref ()
12+ const panelLeft = ref ();
13+ const panelRight = ref ();
1414
15- const verticalAlign = ref (false )
15+ const verticalAlign = ref (false );
1616
1717watchEffect (() => {
18- const view = store .layout
19- if (view === ' left' ) viewLeft ()
20- else if (view === ' right' ) viewRight ()
21- else if (view === ' row' ) splitView (true )
22- else splitView (false )
23- })
18+ const view = store .layout ;
19+ if (view === " left" ) viewLeft ();
20+ else if (view === " right" ) viewRight ();
21+ else if (view === " row" ) splitView (true );
22+ else splitView (false );
23+ });
2424
2525function splitView (column = false ) {
26- panelLeft .value ? .expand ()
27- panelRight .value ? .expand ()
28- verticalAlign .value = !! column
26+ panelLeft .value ? .expand ();
27+ panelRight .value ? .expand ();
28+ verticalAlign .value = !! column;
2929}
3030
3131function viewLeft () {
32- ! panelRight .value ? .isCollapsed && panelRight .value ? .collapse ()
32+ ! panelRight .value ? .isCollapsed && panelRight .value ? .collapse ();
3333}
3434
3535function viewRight () {
36- ! panelLeft .value ? .isCollapsed && panelLeft .value ? .collapse ()
36+ ! panelLeft .value ? .isCollapsed && panelLeft .value ? .collapse ();
3737}
38-
3938< / script>
4039
4140< template>
42- < ResizablePanelGroup id= " demo-group-1" : direction= " verticalAlign ? 'vertical' : 'horizontal'" class = " box" >
43- < ResizablePanel ref= " panelLeft" id= " demo-panel-1" : default- size= " 50" collapsible : collapsed- size= " 0"
44- : min- size= " 35" class = " overflow-y-auto" >
45- < slot name= " left" >< / slot>
46- < / ResizablePanel>
47- < ResizableHandle with - handle id= " demo-handle-1" : class = " { 'hover:w-1': !verticalAlign }" / >
48- < ResizablePanel ref= " panelRight" id= " demo-panel-2" : default- size= " 50" collapsible : collapsed- size= " 0"
49- : min- size= " 35" class = " overflow-y-auto" >
50- < slot name= " right" >< / slot>
51- < / ResizablePanel>
52- < / ResizablePanelGroup>
41+ < ResizablePanelGroup
42+ id= " demo-group-1"
43+ : direction= " verticalAlign ? 'vertical' : 'horizontal'"
44+ class = " box"
45+ >
46+ < ResizablePanel
47+ ref= " panelLeft"
48+ id= " demo-panel-1"
49+ : default- size= " 50"
50+ collapsible
51+ : collapsed- size= " 0"
52+ : min- size= " 35"
53+ class = " overflow-y-auto"
54+ >
55+ < slot name= " left" >< / slot>
56+ < / ResizablePanel>
57+ < ResizableHandle
58+ with - handle
59+ id= " demo-handle-1"
60+ : class = " { 'hover:w-1': !verticalAlign }"
61+ / >
62+ < ResizablePanel
63+ ref= " panelRight"
64+ id= " demo-panel-2"
65+ : default- size= " 50"
66+ collapsible
67+ : collapsed- size= " 0"
68+ : min- size= " 35"
69+ class = " overflow-y-auto"
70+ >
71+ < slot name= " right" >< / slot>
72+ < / ResizablePanel>
73+ < / ResizablePanelGroup>
5374< / template>
5475
5576< style scoped>
5677.box {
57- height: calc (100dvh - 40px ) ! important;
78+ height: calc (100dvh - 40px ) ! important;
5879}
59- < / style>
80+ < / style>
0 commit comments