Skip to content

Commit 3d5ab33

Browse files
authored
template widget must handle focus (#146)
fixed #145 Signed-off-by: Jonas Helming <[email protected]>
1 parent fb1fbd4 commit 3d5ab33

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

templates/widget/widget.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { injectable, postConstruct, inject } from '@theia/core/shared/inversify'
33
import { AlertMessage } from '@theia/core/lib/browser/widgets/alert-message';
44
import { ReactWidget } from '@theia/core/lib/browser/widgets/react-widget';
55
import { MessageService } from '@theia/core';
6+
import { Message } from '@theia/core/lib/browser';
67

78
@injectable()
89
export class <%= params.extensionPrefix %>Widget extends ReactWidget {
@@ -28,12 +29,20 @@ export class <%= params.extensionPrefix %>Widget extends ReactWidget {
2829
in order to display an info message to end users.`;
2930
return <div id='widget-container'>
3031
<AlertMessage type='INFO' header={header} />
31-
<button className='theia-button secondary' title='Display Message' onClick={_a => this.displayMessage()}>Display Message</button>
32+
<button id='displayMessageButton' className='theia-button secondary' title='Display Message' onClick={_a => this.displayMessage()}>Display Message</button>
3233
</div>
3334
}
3435

3536
protected displayMessage(): void {
3637
this.messageService.info('Congratulations: <%= params.extensionPrefix %> Widget Successfully Created!');
3738
}
3839

40+
protected onActivateRequest(msg: Message): void {
41+
super.onActivateRequest(msg);
42+
const htmlElement = document.getElementById('displayMessageButton');
43+
if (htmlElement) {
44+
htmlElement.focus();
45+
}
46+
}
47+
3948
}

0 commit comments

Comments
 (0)