Fixing the checked variable in radio buttons (#13909)

* Fixing the checked variable in radio buttons

* Emitting the checked state of radio button.

* Adding onChanged event to radioButtons (exposing it)
Deprecating onClick event for radioButtons
Fixing radio button stubs

* Made some type fixes

* Firing event in checked event setter

* updating azdata-test to 1.1 in arc extension

* Some logic fixes in checked setter

* added proper typings and updated package version for azdata-data

* Renamed the event to onDidChangeCheckedState

* Fixed deprecation message

* Fixed broken Schema compare stubs
This commit is contained in:
Aasim Khan
2021-01-07 23:25:21 -08:00
committed by GitHub
parent e7fb44b3a2
commit 5d1b328866
14 changed files with 67 additions and 17 deletions

View File

@@ -359,10 +359,11 @@ class TestButtonComponent extends TestComponentBase implements azdata.ButtonComp
}
class TestRadioButtonComponent extends TestComponentBase implements azdata.RadioButtonComponent {
constructor(private onClick: vscode.EventEmitter<any>) {
constructor(private onClick: vscode.EventEmitter<any>, private onChange: vscode.EventEmitter<boolean>) {
super();
}
onDidClick: vscode.Event<any> = this.onClick.event;
onDidChangeCheckedState: vscode.Event<boolean> = this.onChange.event;
}
class TestTextComponent extends TestComponentBase implements azdata.TextComponent {
@@ -460,11 +461,12 @@ class TestLoadingBuilder extends TestComponentBuilder<azdata.LoadingComponent, a
export function createViewContext(): TestContext {
let onClick: vscode.EventEmitter<any> = new vscode.EventEmitter<any>();
let onChange: vscode.EventEmitter<boolean> = new vscode.EventEmitter<boolean>();
let form: azdata.FormContainer = new TestFormContainer();
let textBuilder: azdata.ComponentBuilder<azdata.TextComponent, azdata.TextComponentProperties> = new TestComponentBuilder(new TestTextComponent());
let buttonBuilder: azdata.ComponentBuilder<azdata.ButtonComponent, azdata.ButtonProperties> = new TestComponentBuilder(new TestButtonComponent(onClick));
let radioButtonBuilder: azdata.ComponentBuilder<azdata.RadioButtonComponent, azdata.RadioButtonProperties> = new TestComponentBuilder(new TestRadioButtonComponent(onClick));
let radioButtonBuilder: azdata.ComponentBuilder<azdata.RadioButtonComponent, azdata.RadioButtonProperties> = new TestComponentBuilder(new TestRadioButtonComponent(onClick, onChange));
let declarativeTableBuilder: azdata.ComponentBuilder<azdata.DeclarativeTableComponent, azdata.DeclarativeTableProperties> = new TestComponentBuilder(new TestDeclarativeTableComponent(onClick));
let loadingBuilder: azdata.LoadingComponentBuilder = new TestLoadingBuilder(new TestLoadingComponent());
let dropdownBuilder: azdata.ComponentBuilder<azdata.DropDownComponent, azdata.DropDownProperties> = new TestComponentBuilder(new TestDropdownComponent(onClick));

View File

@@ -117,6 +117,7 @@ describe('Manage Package Dialog', () => {
dialog.setup(x => x.model).returns(() => model.object);
let onClick: vscode.EventEmitter<any> = new vscode.EventEmitter<any>();
let onChange: vscode.EventEmitter<boolean> = new vscode.EventEmitter<boolean>();
let componentBase: azdata.Component = {
id: '',
@@ -132,8 +133,10 @@ describe('Manage Package Dialog', () => {
onDidClick: onClick.event
});
let radioButton: azdata.RadioButtonComponent = Object.assign({}, componentBase, {
onDidClick: onClick.event
onDidClick: onClick.event,
onDidChangeCheckedState: onChange.event
});
const components: azdata.Component[] = [];
let container = {
clearItems: () => { },