mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-18 17:22:45 -05:00
fix race condition in declarative table (#15801)
This commit is contained in:
9
src/sql/azdata.proposed.d.ts
vendored
9
src/sql/azdata.proposed.d.ts
vendored
@@ -274,6 +274,12 @@ declare module 'azdata' {
|
||||
* will clear the filter
|
||||
*/
|
||||
setFilter(rowIndexes: number[] | undefined): void;
|
||||
|
||||
/**
|
||||
* Sets the data values.
|
||||
* @param v The new data values
|
||||
*/
|
||||
setDataValues(v: DeclarativeTableCellValue[][]): Promise<void>;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -372,7 +378,8 @@ declare module 'azdata' {
|
||||
|
||||
export interface DeclarativeTableProperties {
|
||||
/**
|
||||
* dataValues will only be used if data is an empty array
|
||||
* dataValues will only be used if data is an empty array.
|
||||
* To set the dataValues, it is recommended to use the setDataValues method that returns a promise.
|
||||
*/
|
||||
dataValues?: DeclarativeTableCellValue[][];
|
||||
|
||||
|
||||
@@ -1568,6 +1568,11 @@ class DeclarativeTableWrapper extends ComponentWrapper implements azdata.Declara
|
||||
});
|
||||
}
|
||||
|
||||
async setDataValues(v: azdata.DeclarativeTableCellValue[][]): Promise<void> {
|
||||
await this.clearItems();
|
||||
await this.setProperty('dataValues', v);
|
||||
}
|
||||
|
||||
public get columns(): azdata.DeclarativeTableColumn[] {
|
||||
return this.properties['columns'];
|
||||
}
|
||||
|
||||
@@ -298,17 +298,18 @@ export default class DeclarativeTableComponent extends ContainerBase<any, azdata
|
||||
this._data = finalData;
|
||||
}
|
||||
|
||||
const newSelectedRow = properties.selectedRow ?? -1;
|
||||
if (newSelectedRow !== this.selectedRow && properties.enableRowSelection) {
|
||||
const previousSelectedRow = this.selectedRow;
|
||||
|
||||
super.setProperties(properties);
|
||||
|
||||
if (this.selectedRow !== previousSelectedRow && this.enableRowSelection) {
|
||||
this.fireEvent({
|
||||
eventType: ComponentEventType.onSelectedRowChanged,
|
||||
args: {
|
||||
row: properties.selectedRow
|
||||
row: this.selectedRow
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
super.setProperties(properties);
|
||||
}
|
||||
|
||||
public override clearContainer(): void {
|
||||
|
||||
Reference in New Issue
Block a user