Skip to content

Commit 63c1bec

Browse files
committed
fix: build process bundling of UI toolkit
1 parent 870c587 commit 63c1bec

3 files changed

Lines changed: 24 additions & 41 deletions

File tree

src/form.ts

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -93,13 +93,6 @@ async function getWebviewContent(
9393
webview: vscode.Webview,
9494
extensionUri: vscode.Uri
9595
) {
96-
const toolkitUri = getUri(webview, extensionUri, [
97-
'node_modules',
98-
'@vscode',
99-
'webview-ui-toolkit',
100-
'dist',
101-
'toolkit.js',
102-
]);
10396
const bundlePath = getUri(webview, extensionUri, [
10497
'dist',
10598
'webview',
@@ -112,7 +105,6 @@ async function getWebviewContent(
112105
<head>
113106
<meta charset="UTF-8">
114107
<meta name="viewport" content="width=device-width,initial-scale=1.0">
115-
<script type="module" src="${toolkitUri}"></script>
116108
<title>SQL Notebook New Connection</title>
117109
</head>
118110
<body>

webview/Form.tsx

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
11
import * as React from 'react';
2+
import {
3+
VSCodeButton,
4+
VSCodeTextField,
5+
VSCodeDropdown,
6+
VSCodeOption,
7+
VSCodeCheckbox,
8+
} from '@vscode/webview-ui-toolkit/react';
29

310
const Form: React.FC<{ handleSubmit: (form: HTMLFormElement) => void }> = ({
411
handleSubmit,
@@ -28,11 +35,11 @@ const Form: React.FC<{ handleSubmit: (form: HTMLFormElement) => void }> = ({
2835
<label style={{ display: 'block', marginBottom: '3px' }}>
2936
Database Driver
3037
</label>
31-
<vscode-dropdown name="driver" ref={dropdownRef}>
32-
<vscode-option>mysql</vscode-option>
33-
<vscode-option>postgres</vscode-option>
34-
<vscode-option>mssql</vscode-option>
35-
</vscode-dropdown>
38+
<VSCodeDropdown name="driver" ref={dropdownRef}>
39+
<VSCodeOption>mysql</VSCodeOption>
40+
<VSCodeOption>postgres</VSCodeOption>
41+
<VSCodeOption>mssql</VSCodeOption>
42+
</VSCodeDropdown>
3643
</div>
3744
<TextOption label="Database Host" objectKey="host" />
3845
<TextOption label="Database Port" objectKey="port" />
@@ -47,21 +54,18 @@ const Form: React.FC<{ handleSubmit: (form: HTMLFormElement) => void }> = ({
4754
{showDriverConfig(driver)}
4855

4956
<div style={{ display: 'flex', justifyContent: 'space-between' }}>
50-
<vscode-button
57+
<VSCodeButton
5158
appearance="secondary"
5259
onClick={() => {
5360
formRef.current?.reset();
5461
setDriver('mysql');
5562
}}
5663
>
5764
Clear
58-
</vscode-button>
59-
<vscode-button
60-
type="submit"
61-
onClick={() => handleSubmit(formRef.current!)}
62-
>
65+
</VSCodeButton>
66+
<VSCodeButton onClick={() => handleSubmit(formRef.current!)}>
6367
Create
64-
</vscode-button>
68+
</VSCodeButton>
6569
</div>
6670
</form>
6771
);
@@ -93,22 +97,22 @@ function showDriverConfig(driver: string) {
9397
case 'mysql':
9498
return (
9599
<>
96-
<vscode-checkbox name="multipleStatements" checked>
100+
<VSCodeCheckbox name="multipleStatements" checked>
97101
Multiple statements
98-
</vscode-checkbox>
102+
</VSCodeCheckbox>
99103
</>
100104
);
101105
case 'postgres':
102106
return <></>;
103107
case 'mssql':
104108
return (
105109
<>
106-
<vscode-checkbox name="encrypt" checked>
110+
<VSCodeCheckbox name="encrypt" checked>
107111
Encrypt
108-
</vscode-checkbox>
109-
<vscode-checkbox name="trustServerCertificate" checked>
112+
</VSCodeCheckbox>
113+
<VSCodeCheckbox name="trustServerCertificate" checked>
110114
Trust Server Certificate
111-
</vscode-checkbox>
115+
</VSCodeCheckbox>
112116
</>
113117
);
114118
}
@@ -121,8 +125,8 @@ const TextOption: React.FC<{
121125
type?: string;
122126
}> = ({ objectKey, label, type }) => {
123127
return (
124-
<vscode-text-field name={objectKey} type={type}>
128+
<VSCodeTextField name={objectKey} type={type}>
125129
<span style={{ color: 'var(--vscode-editor-foreground)' }}>{label}</span>
126-
</vscode-text-field>
130+
</VSCodeTextField>
127131
);
128132
};

webview/main.tsx

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,10 @@ import * as React from 'react';
22
import * as ReactDOM from 'react-dom';
33
import Form from './Form';
44

5-
declare global {
6-
namespace JSX {
7-
interface IntrinsicElements {
8-
'vscode-button': any;
9-
'vscode-text-field': any;
10-
'vscode-dropdown': any;
11-
'vscode-option': any;
12-
'vscode-checkbox': any;
13-
}
14-
}
15-
}
16-
175
// @ts-ignore
186
const vscode = acquireVsCodeApi();
197

208
function createConnection(config: any) {
21-
// @ts-ignore
229
vscode.postMessage({ type: 'create_connection', data: config });
2310
}
2411

0 commit comments

Comments
 (0)