@@ -21,7 +21,6 @@ const cerateDockview = (el, options) => {
2121 createComponent : option => new DockviewPanelContent ( option )
2222 } ) ;
2323 initDockview ( dockview , options , template ) ;
24- dockview . firstLoad = true ;
2524 dockview . init ( ) ;
2625 return dockview ;
2726}
@@ -34,7 +33,6 @@ const initDockview = (dockview, options, template) => {
3433 const config = getConfig ( options ) ;
3534 dockview . params . floatingGroups = config . floatingGroups || [ ]
3635 dockview . fromJSON ( config ) ;
37- // window.dockview = dockview;
3836 }
3937
4038 dockview . switchTheme = theme => {
@@ -46,7 +44,6 @@ const initDockview = (dockview, options, template) => {
4644 }
4745
4846 dockview . update = options => {
49- dockview . isUpdating = true ;
5047 if ( dockview . params . options . lock !== options . lock ) {
5148 dockview . params . options . lock = options . lock ;
5249 toggleGroupLock ( dockview , options ) ;
@@ -61,8 +58,6 @@ const initDockview = (dockview, options, template) => {
6158 else {
6259 toggleComponent ( dockview , options ) ;
6360 }
64- dockview . firstLoad = false ;
65- dockview . isUpdating = false ;
6661 }
6762
6863 dockview . reset = options => {
@@ -98,10 +93,12 @@ const initDockview = (dockview, options, template) => {
9893 if ( options . enableLocalStorage ) {
9994 panels . forEach ( panel => {
10095 const visible = panel . params . visible
101- if ( ! visible ) {
96+ if ( visible ) {
97+ dockview . _panelVisibleChanged ?. fire ( { key : panel . params . key , status : true } ) ;
98+ }
99+ else {
102100 panel . group . model . closePanel ( panel )
103101 }
104- dockview . _panelVisibleChanged ?. fire ( { key : panel . params . key , status : visible } ) ;
105102 } )
106103 delPanels . forEach ( panel => {
107104 dockview . _panelVisibleChanged ?. fire ( { key : panel . params . key , status : false } ) ;
@@ -133,7 +130,7 @@ const initDockview = (dockview, options, template) => {
133130 dockview . groups . forEach ( group => {
134131 observeGroup ( group )
135132 } )
136- dockview . element . querySelector ( '&>.dv-dockview>.dv-branch-node' ) . addEventListener ( 'click' , function ( e ) {
133+ dockview . element . querySelector ( '&>.dv-dockview>.dv-branch-node' ) . addEventListener ( 'click' , function ( e ) {
137134 this . parentElement . querySelectorAll ( '&>.dv-resize-container-drawer, &>.dv-render-overlay-float-drawer' ) . forEach ( item => {
138135 item . classList . remove ( 'active' )
139136 } )
@@ -239,7 +236,7 @@ const toggleComponent = (dockview, options) => {
239236 addGroupWithPanel ( dockview , panel , panels , indexOfOptions ) ;
240237 }
241238 else {
242- if ( pan . title !== p . title ) {
239+ if ( pan . title !== p . title ) {
243240 pan . setTitle ( p . title )
244241 }
245242 pan . _params = {
@@ -248,12 +245,17 @@ const toggleComponent = (dockview, options) => {
248245 }
249246 }
250247 } )
248+
251249 localPanels . forEach ( item => {
252250 let pan = findContentFromPanels ( panels , item ) ;
253251 if ( pan === void 0 ) {
254252 item . group . delPanelIndex = item . group . panels . findIndex ( p => p . params . key == item . params . key ) ;
255253 const group = item . group ;
256- group . model . closePanel ( item , false )
254+
255+ const moveToTemplate = dockview . firstLoad ?? false ;
256+ group . model . closePanel ( item , false , moveToTemplate ) ;
257+ dockview . firstLoad = true ;
258+
257259 if ( group . panels . length === 0 ) {
258260 dockview . setVisible ( group , false )
259261 }
0 commit comments