@@ -22,6 +22,7 @@ export interface PanelPageProps {
22
22
sharedEvent : SharedEvent ;
23
23
useContextMenuOptions : HookUseContextMenuOptions ;
24
24
getPageTemplates ?: GetTemplates ;
25
+ reverseTree : boolean ;
25
26
}
26
27
27
28
const pageTreeKey = 'page-tree' ;
@@ -31,7 +32,7 @@ const pageTreeHeightRatio = 1;
31
32
const elementTreeHeightRatio = 3 ;
32
33
33
34
export const PanelPage = ( props : PanelPageProps ) => {
34
- const { className, style, height, defaultSelectedElementUUIDs = [ ] , sharedStore, sharedEvent, useContextMenuOptions, getPageTemplates } = props ;
35
+ const { className, style, height, defaultSelectedElementUUIDs = [ ] , sharedStore, sharedEvent, useContextMenuOptions, getPageTemplates, reverseTree } = props ;
35
36
const { state, dispatch } = useContext ( Context ) ;
36
37
const { pageTree, elementTree, selectedUUIDs, editingData, editingDataPosition, data } = state ;
37
38
@@ -73,7 +74,7 @@ export const PanelPage = (props: PanelPageProps) => {
73
74
useEffect ( ( ) => {
74
75
const idraw = sharedStore . getStatic ( 'idraw' ) ;
75
76
const listenSelectedPage = ( e : { uuids ?: string [ ] } ) => {
76
- if ( refInPageOverview . current === true ) {
77
+ if ( inPageOverview === true ) {
77
78
const { uuids = [ ] } = e ;
78
79
setSelectedPageUUIDs ( [ ...uuids ] ) ;
79
80
}
@@ -83,7 +84,7 @@ export const PanelPage = (props: PanelPageProps) => {
83
84
return ( ) => {
84
85
idraw ?. off ( eventKeys . SELECT , listenSelectedPage ) ;
85
86
} ;
86
- } , [ ] ) ;
87
+ } , [ inPageOverview ] ) ;
87
88
88
89
useEffect ( ( ) => {
89
90
if ( editingDataPosition . length === 1 && pageTree . length > 0 ) {
@@ -127,7 +128,10 @@ export const PanelPage = (props: PanelPageProps) => {
127
128
const pageKeys : string [ ] = [ ] ;
128
129
if ( pageTree . length > 0 ) {
129
130
pageKeys . push ( pageTree [ 0 ] . uuid ) ;
130
- sharedEvent . trigger ( 'resetEditingView' , { type : 'go-to-page' , position : [ 0 ] } ) ;
131
+ sharedEvent . trigger ( 'resetEditingView' , {
132
+ type : 'go-to-page' ,
133
+ position : reverseTree === true ? [ pageTree . length > 0 ? pageTree . length - 1 : 0 ] : [ 0 ]
134
+ } ) ;
131
135
}
132
136
setSelectedPageUUIDs ( pageKeys ) ;
133
137
idraw ?. enable ( 'selectInGroup' ) ;
@@ -238,6 +242,7 @@ export const PanelPage = (props: PanelPageProps) => {
238
242
</ div >
239
243
< div style = { { display : 'flex' } } >
240
244
< AddPageButton
245
+ disabled = { inPageOverview }
241
246
inPageOverview = { inPageOverview }
242
247
parentModName = { modName }
243
248
sharedEvent = { sharedEvent }
@@ -253,6 +258,7 @@ export const PanelPage = (props: PanelPageProps) => {
253
258
< PageTree
254
259
ref = { refPageTree }
255
260
height = { pageTreeHeight }
261
+ reverse = { reverseTree }
256
262
treeData = { pageTree }
257
263
selectedKeys = { selectedPageUUIDs }
258
264
onTitleChange = { ( { uuid, value } ) => {
@@ -355,6 +361,7 @@ export const PanelPage = (props: PanelPageProps) => {
355
361
< ElementTree
356
362
ref = { refElementTree }
357
363
height = { elementTreeHeight }
364
+ reverse = { reverseTree }
358
365
treeData = { elementTree }
359
366
selectedKeys = { selectedUUIDs }
360
367
// expandedKeys={expandedElementKeys}
0 commit comments