mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-18 01:25:37 -05:00
query results filtering and sorting (#14833)
* query results filtering and sorting (#14589) * enable filter * attach button style * add hybrid data provider * make filter and sort work * fix editor switch issue * configuration * fix sort and filter * add more specific selector * fix hidden items issue * update text * revert text change * fix copy results issue * put feature behind preview flag * comments * fix tslint error
This commit is contained in:
@@ -3,8 +3,9 @@
|
||||
* Licensed under the Source EULA. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { IDisposableDataProvider } from 'sql/base/browser/ui/table/interfaces';
|
||||
import { IDisposableDataProvider } from 'sql/base/common/dataProvider';
|
||||
import { CancellationTokenSource } from 'vs/base/common/cancellation';
|
||||
import { Emitter, Event } from 'vs/base/common/event';
|
||||
|
||||
export interface IObservableCollection<T> {
|
||||
getLength(): number;
|
||||
@@ -201,8 +202,38 @@ export class VirtualizedCollection<T extends Slick.SlickData> implements IObserv
|
||||
|
||||
export class AsyncDataProvider<T extends Slick.SlickData> implements IDisposableDataProvider<T> {
|
||||
|
||||
private _onFilterStateChange = new Emitter<void>();
|
||||
get onFilterStateChange(): Event<void> { return this._onFilterStateChange.event; }
|
||||
|
||||
private _onSortComplete = new Emitter<Slick.OnSortEventArgs<T>>();
|
||||
get onSortComplete(): Event<Slick.OnSortEventArgs<T>> { return this._onSortComplete.event; }
|
||||
|
||||
constructor(public dataRows: IObservableCollection<T>) { }
|
||||
|
||||
public get isDataInMemory(): boolean {
|
||||
return false;
|
||||
}
|
||||
|
||||
getRangeAsync(startIndex: number, length: number): Promise<T[]> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
|
||||
getFilteredColumnValues(column: Slick.Column<T>): Promise<string[]> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
|
||||
getColumnValues(column: Slick.Column<T>): Promise<string[]> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
|
||||
sort(options: Slick.OnSortEventArgs<T>): Promise<void> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
|
||||
filter(columns?: Slick.Column<T>[]): Promise<void> {
|
||||
throw new Error('Method not implemented.');
|
||||
}
|
||||
|
||||
public getLength(): number {
|
||||
return this.dataRows.getLength();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user