mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-14 01:25:37 -05:00
This commit is contained in:
committed by
GitHub
parent
600f59eae6
commit
9c5ec7dcbc
@@ -930,7 +930,8 @@ export class DatabaseDialog extends ObjectManagementDialogBase<Database, Databas
|
||||
this.memoryOptimizedFilegroupNameInput = this.getFilegroupNameInput(this.memoryOptimizedFilegroupsTable, FileGroupType.MemoryOptimizedDataFileGroup);
|
||||
const addButtonComponent: DialogButton = {
|
||||
buttonAriaLabel: localizedConstants.AddFilegroupText,
|
||||
buttonHandler: () => this.onAddDatabaseFileGroupsButtonClicked(this.memoryOptimizedFilegroupsTable)
|
||||
buttonHandler: () => this.onAddDatabaseFileGroupsButtonClicked(this.memoryOptimizedFilegroupsTable),
|
||||
enabled: this.memoryoptimizedFileGroupsTableRows.length < 1
|
||||
};
|
||||
const removeButtonComponent: DialogButton = {
|
||||
buttonAriaLabel: localizedConstants.RemoveButton,
|
||||
@@ -956,6 +957,19 @@ export class DatabaseDialog extends ObjectManagementDialogBase<Database, Databas
|
||||
return this.createGroup(localizedConstants.MemoryOptimizedFileGroupsSectionText, [this.memoryOptimizedFilegroupsTable, memoryOptimizedContainer], true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Overrides declarative table add button enabled/disabled state
|
||||
* @param table table component
|
||||
* @returns table add button enabled/disabled state
|
||||
*/
|
||||
public override addButtonEnabled(table: azdata.TableComponent | azdata.DeclarativeTableComponent): boolean {
|
||||
let enabled = true;
|
||||
if (table === this.memoryOptimizedFilegroupsTable) {
|
||||
enabled = this.memoryoptimizedFileGroupsTableRows.length < 1;
|
||||
}
|
||||
return enabled;
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the default value for the filegroup
|
||||
* @param arg selected checkbox event
|
||||
|
||||
@@ -24,7 +24,8 @@ export function getTableHeight(rowCount: number, minRowCount: number = DefaultMi
|
||||
|
||||
export interface DialogButton {
|
||||
buttonAriaLabel: string;
|
||||
buttonHandler: (button: azdata.ButtonComponent) => Promise<void>
|
||||
buttonHandler: (button: azdata.ButtonComponent) => Promise<void>,
|
||||
enabled?: boolean
|
||||
}
|
||||
|
||||
export type TableListItemEnabledStateGetter<T> = (item: T) => boolean;
|
||||
@@ -80,6 +81,8 @@ export abstract class DialogBase<DialogResult> {
|
||||
|
||||
protected removeButtonEnabled(table: azdata.TableComponent): boolean { return true; }
|
||||
|
||||
protected addButtonEnabled(table: azdata.TableComponent): boolean { return true; }
|
||||
|
||||
protected validateInput(): Promise<string[]> { return Promise.resolve([]); }
|
||||
|
||||
public async open(): Promise<void> {
|
||||
@@ -295,12 +298,13 @@ export abstract class DialogBase<DialogResult> {
|
||||
if (editButton !== undefined) {
|
||||
editButtonComponent.enabled = tableSelectedRowsLengthCheck;
|
||||
}
|
||||
addButtonComponent.enabled = this.addButtonEnabled(table);
|
||||
removeButtonComponent.enabled = !!isRemoveEnabled && tableSelectedRowsLengthCheck;
|
||||
}
|
||||
addButtonComponent = this.createButton(uiLoc.AddText, addbutton.buttonAriaLabel, async () => {
|
||||
await addbutton.buttonHandler(addButtonComponent);
|
||||
updateButtons();
|
||||
});
|
||||
}, addbutton.enabled ?? true);
|
||||
buttonComponents.push(addButtonComponent);
|
||||
|
||||
if (editButton !== undefined) {
|
||||
|
||||
Reference in New Issue
Block a user