@@ -22,6 +22,7 @@ export interface PanelPageProps {
2222 sharedEvent : SharedEvent ;
2323 useContextMenuOptions : HookUseContextMenuOptions ;
2424 getPageTemplates ?: GetTemplates ;
25+ reverseTree : boolean ;
2526}
2627
2728const pageTreeKey = 'page-tree' ;
@@ -31,7 +32,7 @@ const pageTreeHeightRatio = 1;
3132const elementTreeHeightRatio = 3 ;
3233
3334export 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 ;
3536 const { state, dispatch } = useContext ( Context ) ;
3637 const { pageTree, elementTree, selectedUUIDs, editingData, editingDataPosition, data } = state ;
3738
@@ -73,7 +74,7 @@ export const PanelPage = (props: PanelPageProps) => {
7374 useEffect ( ( ) => {
7475 const idraw = sharedStore . getStatic ( 'idraw' ) ;
7576 const listenSelectedPage = ( e : { uuids ?: string [ ] } ) => {
76- if ( refInPageOverview . current === true ) {
77+ if ( inPageOverview === true ) {
7778 const { uuids = [ ] } = e ;
7879 setSelectedPageUUIDs ( [ ...uuids ] ) ;
7980 }
@@ -83,7 +84,7 @@ export const PanelPage = (props: PanelPageProps) => {
8384 return ( ) => {
8485 idraw ?. off ( eventKeys . SELECT , listenSelectedPage ) ;
8586 } ;
86- } , [ ] ) ;
87+ } , [ inPageOverview ] ) ;
8788
8889 useEffect ( ( ) => {
8990 if ( editingDataPosition . length === 1 && pageTree . length > 0 ) {
@@ -127,7 +128,10 @@ export const PanelPage = (props: PanelPageProps) => {
127128 const pageKeys : string [ ] = [ ] ;
128129 if ( pageTree . length > 0 ) {
129130 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+ } ) ;
131135 }
132136 setSelectedPageUUIDs ( pageKeys ) ;
133137 idraw ?. enable ( 'selectInGroup' ) ;
@@ -238,6 +242,7 @@ export const PanelPage = (props: PanelPageProps) => {
238242 </ div >
239243 < div style = { { display : 'flex' } } >
240244 < AddPageButton
245+ disabled = { inPageOverview }
241246 inPageOverview = { inPageOverview }
242247 parentModName = { modName }
243248 sharedEvent = { sharedEvent }
@@ -253,6 +258,7 @@ export const PanelPage = (props: PanelPageProps) => {
253258 < PageTree
254259 ref = { refPageTree }
255260 height = { pageTreeHeight }
261+ reverse = { reverseTree }
256262 treeData = { pageTree }
257263 selectedKeys = { selectedPageUUIDs }
258264 onTitleChange = { ( { uuid, value } ) => {
@@ -355,6 +361,7 @@ export const PanelPage = (props: PanelPageProps) => {
355361 < ElementTree
356362 ref = { refElementTree }
357363 height = { elementTreeHeight }
364+ reverse = { reverseTree }
358365 treeData = { elementTree }
359366 selectedKeys = { selectedUUIDs }
360367 // expandedKeys={expandedElementKeys}
0 commit comments