This repository was archived by the owner on Dec 15, 2022. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +24
-2
lines changed Expand file tree Collapse file tree 2 files changed +24
-2
lines changed Original file line number Diff line number Diff line change @@ -71,6 +71,30 @@ export default class PaneItem extends React.Component {
71
71
}
72
72
73
73
componentDidMount ( ) {
74
+ // Listen for and adopt StubItems that are added after this component has
75
+ // already been mounted.
76
+ this . subs . add ( this . props . workspace . onDidAddPaneItem ( ( { item} ) => {
77
+ if ( item . getRealItem && item . getRealItem ( ) === null ) {
78
+ const match = this . state . uriPattern . matches ( item . getURI ( ) ) ;
79
+ if ( ! match . ok ( ) ) {
80
+ return ;
81
+ }
82
+
83
+ const openItem = new OpenItem ( match , item . getElement ( ) , item ) ;
84
+ openItem . hydrateStub ( {
85
+ copy : ( ) => this . copyOpenItem ( openItem ) ,
86
+ } ) ;
87
+ if ( this . props . className ) {
88
+ openItem . addClassName ( this . props . className ) ;
89
+ }
90
+ this . registerCloseListener ( item , openItem ) ;
91
+
92
+ this . setState ( prevState => ( {
93
+ currentlyOpen : [ ...prevState . currentlyOpen , openItem ] ,
94
+ } ) ) ;
95
+ }
96
+ } ) ) ;
97
+
74
98
for ( const openItem of this . state . currentlyOpen ) {
75
99
this . registerCloseListener ( openItem . stubItem , openItem ) ;
76
100
Original file line number Diff line number Diff line change @@ -319,11 +319,9 @@ describe('PaneItem', function() {
319
319
320
320
const stub = StubItem . create ( 'some-component' , { title : 'Component' } , 'atom-github://pattern/root/45' ) ;
321
321
workspace . getActivePane ( ) . addItem ( stub ) ;
322
-
323
322
wrapper . update ( ) ;
324
323
325
324
assert . isTrue ( wrapper . exists ( 'Component[text="45"]' ) ) ;
326
- assert . strictEqual ( stub . getText ( ) , '45' ) ;
327
325
} ) ;
328
326
} ) ;
329
327
} ) ;
You can’t perform that action at this time.
0 commit comments