mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 18:46:40 -05:00
Add sqlservices wizard sample (#1769)
This commit is contained in:
@@ -19,7 +19,7 @@
|
|||||||
"commands": [
|
"commands": [
|
||||||
{
|
{
|
||||||
"command": "sqlservices.openDialog",
|
"command": "sqlservices.openDialog",
|
||||||
"title": "openDialog"
|
"title": "sqlservices.openDialog"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "sqlservices.openEditor",
|
"command": "sqlservices.openEditor",
|
||||||
@@ -32,6 +32,10 @@
|
|||||||
{
|
{
|
||||||
"command": "sqlservices.openEditorWithWebView2",
|
"command": "sqlservices.openEditorWithWebView2",
|
||||||
"title": "sqlservices.openEditorWithWebView2"
|
"title": "sqlservices.openEditorWithWebView2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "sqlservices.openWizard",
|
||||||
|
"title": "sqlservices.openWizard"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"dashboard.tabs": [
|
"dashboard.tabs": [
|
||||||
|
|||||||
@@ -60,26 +60,14 @@ export default class MainController implements vscode.Disposable {
|
|||||||
this.openEditorWithWebview2();
|
this.openEditorWithWebview2();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
vscode.commands.registerCommand('sqlservices.openWizard', () => {
|
||||||
|
this.openWizard();
|
||||||
|
});
|
||||||
|
|
||||||
return Promise.resolve(true);
|
return Promise.resolve(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private openDialog(): void {
|
private async getTabContent(view: sqlops.ModelView, customButton1: sqlops.window.modelviewdialog.Button, customButton2: sqlops.window.modelviewdialog.Button, componentWidth: number | string): Promise<void> {
|
||||||
let dialog = sqlops.window.modelviewdialog.createDialog('Test dialog');
|
|
||||||
let tab1 = sqlops.window.modelviewdialog.createTab('Test tab 1');
|
|
||||||
|
|
||||||
let tab2 = sqlops.window.modelviewdialog.createTab('Test tab 2');
|
|
||||||
tab2.content = 'sqlservices';
|
|
||||||
dialog.content = [tab1, tab2];
|
|
||||||
dialog.okButton.onClick(() => console.log('ok clicked!'));
|
|
||||||
dialog.cancelButton.onClick(() => console.log('cancel clicked!'));
|
|
||||||
dialog.okButton.label = 'ok';
|
|
||||||
dialog.cancelButton.label = 'no';
|
|
||||||
let customButton1 = sqlops.window.modelviewdialog.createButton('Load name');
|
|
||||||
customButton1.onClick(() => console.log('button 1 clicked!'));
|
|
||||||
let customButton2 = sqlops.window.modelviewdialog.createButton('Load all');
|
|
||||||
customButton2.onClick(() => console.log('button 2 clicked!'));
|
|
||||||
dialog.customButtons = [customButton1, customButton2];
|
|
||||||
tab1.registerContent(async (view) => {
|
|
||||||
let inputBox = view.modelBuilder.inputBox()
|
let inputBox = view.modelBuilder.inputBox()
|
||||||
.withProperties({
|
.withProperties({
|
||||||
multiline: true,
|
multiline: true,
|
||||||
@@ -267,7 +255,7 @@ export default class MainController implements vscode.Disposable {
|
|||||||
title: 'List Box'
|
title: 'List Box'
|
||||||
}], {
|
}], {
|
||||||
horizontal: false,
|
horizontal: false,
|
||||||
componentWidth: 400
|
componentWidth: componentWidth
|
||||||
}).component();
|
}).component();
|
||||||
let formWrapper = view.modelBuilder.loadingComponent().withItem(formModel).component();
|
let formWrapper = view.modelBuilder.loadingComponent().withItem(formModel).component();
|
||||||
formWrapper.loading = false;
|
formWrapper.loading = false;
|
||||||
@@ -276,11 +264,48 @@ export default class MainController implements vscode.Disposable {
|
|||||||
setTimeout(() => formWrapper.loading = false, 5000);
|
setTimeout(() => formWrapper.loading = false, 5000);
|
||||||
});
|
});
|
||||||
await view.initializeModel(formWrapper);
|
await view.initializeModel(formWrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
private openDialog(): void {
|
||||||
|
let dialog = sqlops.window.modelviewdialog.createDialog('Test dialog');
|
||||||
|
let tab1 = sqlops.window.modelviewdialog.createTab('Test tab 1');
|
||||||
|
|
||||||
|
let tab2 = sqlops.window.modelviewdialog.createTab('Test tab 2');
|
||||||
|
tab2.content = 'sqlservices';
|
||||||
|
dialog.content = [tab1, tab2];
|
||||||
|
dialog.okButton.onClick(() => console.log('ok clicked!'));
|
||||||
|
dialog.cancelButton.onClick(() => console.log('cancel clicked!'));
|
||||||
|
dialog.okButton.label = 'ok';
|
||||||
|
dialog.cancelButton.label = 'no';
|
||||||
|
let customButton1 = sqlops.window.modelviewdialog.createButton('Load name');
|
||||||
|
customButton1.onClick(() => console.log('button 1 clicked!'));
|
||||||
|
let customButton2 = sqlops.window.modelviewdialog.createButton('Load all');
|
||||||
|
customButton2.onClick(() => console.log('button 2 clicked!'));
|
||||||
|
dialog.customButtons = [customButton1, customButton2];
|
||||||
|
tab1.registerContent(async (view) => {
|
||||||
|
await this.getTabContent(view, customButton1, customButton2, 400);
|
||||||
});
|
});
|
||||||
|
|
||||||
sqlops.window.modelviewdialog.openDialog(dialog);
|
sqlops.window.modelviewdialog.openDialog(dialog);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private openWizard(): void {
|
||||||
|
let wizard = sqlops.window.modelviewdialog.createWizard('Test wizard');
|
||||||
|
let page1 = sqlops.window.modelviewdialog.createWizardPage('First wizard page');
|
||||||
|
let page2 = sqlops.window.modelviewdialog.createWizardPage('Second wizard page');
|
||||||
|
page2.content = 'sqlservices';
|
||||||
|
let customButton1 = sqlops.window.modelviewdialog.createButton('Load name');
|
||||||
|
customButton1.onClick(() => console.log('button 1 clicked!'));
|
||||||
|
let customButton2 = sqlops.window.modelviewdialog.createButton('Load all');
|
||||||
|
customButton2.onClick(() => console.log('button 2 clicked!'));
|
||||||
|
wizard.customButtons = [customButton1, customButton2];
|
||||||
|
page1.registerContent(async (view) => {
|
||||||
|
await this.getTabContent(view, customButton1, customButton2, 800);
|
||||||
|
});
|
||||||
|
wizard.pages = [page1, page2];
|
||||||
|
wizard.open();
|
||||||
|
}
|
||||||
|
|
||||||
private openEditor(): void {
|
private openEditor(): void {
|
||||||
let editor = sqlops.workspace.createModelViewEditor('Test Model View');
|
let editor = sqlops.workspace.createModelViewEditor('Test Model View');
|
||||||
editor.registerContent(async view => {
|
editor.registerContent(async view => {
|
||||||
|
|||||||
Reference in New Issue
Block a user