mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-29 17:23:25 -05:00
Adding keyboard shortcuts for column resizing in slickgrid (#21100)
* Adding column resize keyboard shortcuts in slickgrid * Switching to standard keyboard evt * Adding comment for the functionality * Cleaning up code and adding more comments * Using quick input to get column resize width * Adding check for negative sizes * Fixing some stuff
This commit is contained in:
@@ -54,6 +54,7 @@ import { listFocusAndSelectionBackground } from 'sql/platform/theme/common/color
|
||||
import { timeout } from 'vs/base/common/async';
|
||||
import { onUnexpectedError } from 'vs/base/common/errors';
|
||||
import { IAccessibilityService } from 'vs/platform/accessibility/common/accessibility';
|
||||
import { IQuickInputService } from 'vs/platform/quickinput/common/quickInput';
|
||||
|
||||
export interface IDesignerStyle {
|
||||
tabbedPanelStyles?: ITabbedPanelStyles;
|
||||
@@ -115,7 +116,8 @@ export class Designer extends Disposable implements IThemable {
|
||||
@IDialogService private readonly _dialogService: IDialogService,
|
||||
@IThemeService private readonly _themeService: IThemeService,
|
||||
@IContextMenuService private readonly _contextMenuService: IContextMenuService,
|
||||
@IAccessibilityService private readonly _accessibilityService: IAccessibilityService) {
|
||||
@IAccessibilityService private readonly _accessibilityService: IAccessibilityService,
|
||||
@IQuickInputService private readonly _quickInputService: IQuickInputService) {
|
||||
super();
|
||||
this._tableCellEditorFactory = new TableCellEditorFactory(
|
||||
{
|
||||
@@ -845,7 +847,7 @@ export class Designer extends Disposable implements IThemable {
|
||||
const tableProperties = componentDefinition.componentProperties as DesignerTableProperties;
|
||||
const taskbar = this.addTableTaskbar(container, tableProperties);
|
||||
const tableContainer = container.appendChild(DOM.$('.full-row'));
|
||||
const table = new Table(tableContainer, this._accessibilityService, {
|
||||
const table = new Table(tableContainer, this._accessibilityService, this._quickInputService, {
|
||||
dataProvider: new TableDataView()
|
||||
}, {
|
||||
editable: true,
|
||||
|
||||
@@ -40,6 +40,7 @@ import { IAction, Separator } from 'vs/base/common/actions';
|
||||
import { MenuItemAction, MenuRegistry } from 'vs/platform/actions/common/actions';
|
||||
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
|
||||
import { IAccessibilityService } from 'vs/platform/accessibility/common/accessibility';
|
||||
import { IQuickInputService } from 'vs/platform/quickinput/common/quickInput';
|
||||
|
||||
export enum ColumnSizingMode {
|
||||
ForceFit = 0, // all columns will be sized to fit in viewable space, no horiz scroll bar
|
||||
@@ -92,7 +93,8 @@ export default class TableComponent extends ComponentBase<azdata.TableComponentP
|
||||
@Inject(IContextViewService) private contextViewService: IContextViewService,
|
||||
@Inject(IContextMenuService) private contextMenuService: IContextMenuService,
|
||||
@Inject(IInstantiationService) private instantiationService: IInstantiationService,
|
||||
@Inject(IAccessibilityService) private accessibilityService: IAccessibilityService
|
||||
@Inject(IAccessibilityService) private accessibilityService: IAccessibilityService,
|
||||
@Inject(IQuickInputService) private quickInputService: IQuickInputService
|
||||
) {
|
||||
super(changeRef, el, logService);
|
||||
}
|
||||
@@ -277,7 +279,7 @@ export default class TableComponent extends ComponentBase<azdata.TableComponentP
|
||||
dataItemColumnValueExtractor: slickGridDataItemColumnValueWithNoData // must change formatter if you are changing explicit column value extractor
|
||||
};
|
||||
|
||||
this._table = new Table<Slick.SlickData>(this._inputContainer.nativeElement, this.accessibilityService, { dataProvider: this._tableData, columns: this._tableColumns }, options);
|
||||
this._table = new Table<Slick.SlickData>(this._inputContainer.nativeElement, this.accessibilityService, this.quickInputService, { dataProvider: this._tableData, columns: this._tableColumns }, options);
|
||||
this._table.setData(this._tableData);
|
||||
this._table.setSelectionModel(new RowSelectionModel({ selectActiveRow: true }));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user