mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-01-13 17:22:15 -05:00
Strict null check on full "base" code (#4973)
* removes more builder references * remove builder from profiler * formatting * fix profiler dailog * remove builder from oatuhdialog * remove the rest of builder references * formatting * add more strict null checks to base
This commit is contained in:
@@ -32,16 +32,16 @@ export class HeightMap {
|
||||
}
|
||||
|
||||
public onInsertItems(iterator: INextIterator<IViewItem>, afterItemId: string | undefined = undefined): number | undefined {
|
||||
let viewItem: IViewItem | undefined = undefined;
|
||||
let viewItem: IViewItem | null = null;
|
||||
let i: number, j: number;
|
||||
let totalSize: number;
|
||||
let sizeDiff = 0;
|
||||
|
||||
if (afterItemId === undefined) {
|
||||
if (afterItemId === null) {
|
||||
i = 0;
|
||||
totalSize = 0;
|
||||
} else {
|
||||
i = this.indexes[afterItemId] + 1;
|
||||
i = this.indexes[afterItemId!] + 1;
|
||||
viewItem = this.heightMap[i - 1];
|
||||
|
||||
if (!viewItem) {
|
||||
@@ -59,7 +59,7 @@ export class HeightMap {
|
||||
while (viewItem = iterator.next()) {
|
||||
viewItem.top = totalSize + sizeDiff;
|
||||
|
||||
this.indexes[viewItem.view.id] = i++;
|
||||
this.indexes[viewItem.view.id!] = i++;
|
||||
itemsToInsert.push(viewItem);
|
||||
sizeDiff += viewItem.height;
|
||||
}
|
||||
@@ -69,7 +69,7 @@ export class HeightMap {
|
||||
for (j = i; j < this.heightMap.length; j++) {
|
||||
viewItem = this.heightMap[j];
|
||||
viewItem.top += sizeDiff;
|
||||
this.indexes[viewItem.view.id] = j;
|
||||
this.indexes[viewItem.view.id!] = j;
|
||||
}
|
||||
|
||||
for (j = itemsToInsert.length - 1; j >= 0; j--) {
|
||||
@@ -89,7 +89,7 @@ export class HeightMap {
|
||||
|
||||
// Contiguous items
|
||||
public onRemoveItems(iterator: INextIterator<string>): void {
|
||||
let itemId: string | undefined = undefined;
|
||||
let itemId: string | null = null;
|
||||
let viewItem: IViewItem;
|
||||
let startIndex: number | undefined = undefined;
|
||||
let i = 0;
|
||||
@@ -122,7 +122,7 @@ export class HeightMap {
|
||||
for (i = startIndex; i < this.heightMap.length; i++) {
|
||||
viewItem = this.heightMap[i];
|
||||
viewItem.top += sizeDiff;
|
||||
this.indexes[viewItem.view.id] = i;
|
||||
this.indexes[viewItem.view.id!] = i;
|
||||
this.onRefreshItem(viewItem);
|
||||
}
|
||||
}
|
||||
@@ -156,14 +156,14 @@ export class HeightMap {
|
||||
}
|
||||
|
||||
public itemAt(position: number): string {
|
||||
return this.heightMap[this.indexAt(position)].view.id;
|
||||
return this.heightMap[this.indexAt(position)].view.id!;
|
||||
}
|
||||
|
||||
public withItemsInRange(start: number, end: number, fn: (item: string) => void): void {
|
||||
start = this.indexAt(start);
|
||||
end = this.indexAt(end);
|
||||
for (let i = start; i <= end; i++) {
|
||||
fn(this.heightMap[i].view.id);
|
||||
fn(this.heightMap[i].view.id!);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -202,11 +202,11 @@ export class HeightMap {
|
||||
}
|
||||
|
||||
public itemAfter(item: IViewItem): IViewItem | undefined {
|
||||
return this.heightMap[this.indexes[item.view.id] + 1] || undefined;
|
||||
return this.heightMap[this.indexes[item.view.id!] + 1] || undefined;
|
||||
}
|
||||
|
||||
public dispose(): void {
|
||||
this.heightMap = undefined;
|
||||
this.indexes = undefined;
|
||||
this.heightMap = [];
|
||||
this.indexes = {};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -239,12 +239,12 @@ export class ScrollableSplitView extends HeightMap implements IDisposable {
|
||||
if (container.parentElement) {
|
||||
this.viewContainer.removeChild(container);
|
||||
}
|
||||
this.onRemoveItems(new ArrayIterator([item.view.id]));
|
||||
this.onRemoveItems(new ArrayIterator([item.view.id!]));
|
||||
});
|
||||
const disposable = combinedDisposable([onChangeDisposable, containerDisposable]);
|
||||
|
||||
const onAdd = view.onAdd ? () => view.onAdd() : () => { };
|
||||
const onRemove = view.onRemove ? () => view.onRemove() : () => { };
|
||||
const onAdd = view.onAdd ? () => view.onAdd!() : () => { };
|
||||
const onRemove = view.onRemove ? () => view.onRemove!() : () => { };
|
||||
|
||||
const layoutContainer = this.orientation === Orientation.VERTICAL
|
||||
? () => item.container.style.height = `${item.size}px`
|
||||
@@ -342,12 +342,12 @@ export class ScrollableSplitView extends HeightMap implements IDisposable {
|
||||
if (container.parentElement) {
|
||||
this.viewContainer.removeChild(container);
|
||||
}
|
||||
this.onRemoveItems(new ArrayIterator([item.view.id]));
|
||||
this.onRemoveItems(new ArrayIterator([item.view.id!]));
|
||||
});
|
||||
const disposable = combinedDisposable([onChangeDisposable, containerDisposable]);
|
||||
|
||||
const onAdd = view.onAdd ? () => view.onAdd() : () => { };
|
||||
const onRemove = view.onRemove ? () => view.onRemove() : () => { };
|
||||
const onAdd = view.onAdd ? () => view.onAdd!() : () => { };
|
||||
const onRemove = view.onRemove ? () => view.onRemove!() : () => { };
|
||||
|
||||
const layoutContainer = this.orientation === Orientation.VERTICAL
|
||||
? () => item.container.style.height = `${item.size}px`
|
||||
@@ -610,11 +610,11 @@ export class ScrollableSplitView extends HeightMap implements IDisposable {
|
||||
this.layoutViews();
|
||||
} else {
|
||||
item.size = size;
|
||||
this.updateSize(item.view.id, size);
|
||||
this.updateSize(item.view.id!, size);
|
||||
let top = item.top + item.size;
|
||||
for (let i = index + 1; i < this.viewItems.length; i++) {
|
||||
let currentItem = this.viewItems[i];
|
||||
this.updateTop(currentItem.view.id, top);
|
||||
this.updateTop(currentItem.view.id!, top);
|
||||
top += currentItem.size;
|
||||
}
|
||||
this.relayout(index);
|
||||
|
||||
@@ -33,7 +33,7 @@ export class AutoColumnSize<T> implements Slick.Plugin<T> {
|
||||
|
||||
this._$container = jQuery(this._grid.getContainerNode());
|
||||
this._$container.on('dblclick.autosize', '.slick-resizable-handle', e => this.handleDoubleClick(e));
|
||||
this._context = document.createElement('canvas').getContext('2d');
|
||||
this._context = document.createElement('canvas').getContext('2d')!;
|
||||
}
|
||||
|
||||
public destroy() {
|
||||
@@ -78,7 +78,7 @@ export class AutoColumnSize<T> implements Slick.Plugin<T> {
|
||||
});
|
||||
let change = false;
|
||||
for (let i = 0; i <= headerColumns.children.length; i++) {
|
||||
let headerEl = jQuery(headerColumns.children.item(i));
|
||||
let headerEl = jQuery(headerColumns.children.item(i)!);
|
||||
let columnDef = headerEl.data('column');
|
||||
if (columnDef) {
|
||||
let headerWidth = this.getElementWidth(headerEl[0]);
|
||||
@@ -115,7 +115,7 @@ export class AutoColumnSize<T> implements Slick.Plugin<T> {
|
||||
|
||||
private reSizeColumn(headerEl: JQuery, columnDef: Slick.Column<T>) {
|
||||
let headerWidth = this.getElementWidth(headerEl[0]);
|
||||
let colIndex = this._grid.getColumnIndex(columnDef.id);
|
||||
let colIndex = this._grid.getColumnIndex(columnDef.id!);
|
||||
let origCols = this._grid.getColumns();
|
||||
let allColumns = clone(origCols);
|
||||
allColumns.forEach((col, index) => {
|
||||
@@ -134,7 +134,7 @@ export class AutoColumnSize<T> implements Slick.Plugin<T> {
|
||||
}
|
||||
|
||||
private getMaxColumnTextWidth(columnDef, colIndex: number): number {
|
||||
let texts = [];
|
||||
let texts: Array<string> = [];
|
||||
let rowEl = this.createRow(columnDef);
|
||||
let data = this._grid.getData();
|
||||
let viewPort = this._grid.getViewport();
|
||||
@@ -146,7 +146,7 @@ export class AutoColumnSize<T> implements Slick.Plugin<T> {
|
||||
let template = this.getMaxTextTemplate(texts, columnDef, colIndex, data, rowEl);
|
||||
let width = this.getTemplateWidth(rowEl, template);
|
||||
this.deleteRow(rowEl);
|
||||
return width > this._options.maxWidth ? this._options.maxWidth : width;
|
||||
return width > this._options.maxWidth! ? this._options.maxWidth! : width;
|
||||
}
|
||||
|
||||
private getTemplateWidth(rowEl: JQuery, template: JQuery | HTMLElement): number {
|
||||
@@ -172,7 +172,7 @@ export class AutoColumnSize<T> implements Slick.Plugin<T> {
|
||||
maxTemplate = template || text;
|
||||
}
|
||||
});
|
||||
return maxTemplate;
|
||||
return maxTemplate!;
|
||||
}
|
||||
|
||||
private createRow(columnDef): JQuery {
|
||||
@@ -194,9 +194,9 @@ export class AutoColumnSize<T> implements Slick.Plugin<T> {
|
||||
private getElementWidth(element: HTMLElement): number {
|
||||
let width, clone = element.cloneNode(true) as HTMLElement;
|
||||
clone.style.cssText = 'position: absolute; visibility: hidden;right: auto;text-overflow: initial;white-space: nowrap;';
|
||||
element.parentNode.insertBefore(clone, element);
|
||||
element.parentNode!.insertBefore(clone, element);
|
||||
width = clone.offsetWidth;
|
||||
clone.parentNode.removeChild(clone);
|
||||
clone.parentNode!.removeChild(clone);
|
||||
return width;
|
||||
}
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ export class CellRangeSelector<T> implements ICellRangeSelector<T> {
|
||||
private handler = new Slick.EventHandler();
|
||||
private decorator: ICellRangeDecorator;
|
||||
private canvas: HTMLCanvasElement;
|
||||
private currentlySelectedRange: { start: Slick.Cell, end: Slick.Cell };
|
||||
private currentlySelectedRange: { start: Slick.Cell, end?: Slick.Cell };
|
||||
|
||||
public onBeforeCellRangeSelected = new Slick.Event<Slick.Cell>();
|
||||
public onCellRangeSelected = new Slick.Event<{ range: Slick.Range }>();
|
||||
@@ -87,7 +87,7 @@ export class CellRangeSelector<T> implements ICellRangeSelector<T> {
|
||||
return;
|
||||
}
|
||||
|
||||
this.canvas.classList.add(this.options.dragClass);
|
||||
this.canvas.classList.add(this.options.dragClass!);
|
||||
|
||||
this.grid.setActiveCell(cell.row, cell.cell);
|
||||
|
||||
@@ -125,7 +125,7 @@ export class CellRangeSelector<T> implements ICellRangeSelector<T> {
|
||||
return;
|
||||
}
|
||||
|
||||
this.canvas.classList.remove(this.options.dragClass);
|
||||
this.canvas.classList.remove(this.options.dragClass!);
|
||||
this.dragging = false;
|
||||
e.stopImmediatePropagation();
|
||||
this.decorator.hide();
|
||||
|
||||
@@ -105,7 +105,7 @@ export class CellSelectionModel<T> implements Slick.SelectionModel<T, Array<Slic
|
||||
|
||||
private handleHeaderClick(e: MouseEvent, args: Slick.OnHeaderClickEventArgs<T>) {
|
||||
if (!isUndefinedOrNull(args.column)) {
|
||||
let columnIndex = this.grid.getColumnIndex(args.column.id);
|
||||
let columnIndex = this.grid.getColumnIndex(args.column.id!);
|
||||
if (this.grid.canCellBeSelected(0, columnIndex)) {
|
||||
let ranges: Array<Slick.Range>;
|
||||
if (e.shiftKey) {
|
||||
|
||||
@@ -8,6 +8,7 @@ import { ICheckboxStyles } from 'vs/base/browser/ui/checkbox/checkbox';
|
||||
import * as strings from 'vs/base/common/strings';
|
||||
import { StandardKeyboardEvent } from 'vs/base/browser/keyboardEvent';
|
||||
import { KeyCode } from 'vs/base/common/keyCodes';
|
||||
import { range } from 'vs/base/common/arrays';
|
||||
|
||||
export interface ICheckboxSelectColumnOptions extends Slick.PluginOptions, ICheckboxStyles {
|
||||
columnId?: string;
|
||||
@@ -19,7 +20,7 @@ export interface ICheckboxSelectColumnOptions extends Slick.PluginOptions, IChec
|
||||
|
||||
const defaultOptions: ICheckboxSelectColumnOptions = {
|
||||
columnId: '_checkbox_selector',
|
||||
cssClass: null,
|
||||
cssClass: undefined,
|
||||
toolTip: nls.localize('selectDeselectAll', 'Select/Deselect All'),
|
||||
width: 30
|
||||
};
|
||||
@@ -54,7 +55,7 @@ export class CheckboxSelectColumn<T> implements Slick.Plugin<T> {
|
||||
}
|
||||
|
||||
private handleSelectedRowsChanged(e: Event, args: Slick.OnSelectedRowsChangedEventArgs<T>): void {
|
||||
let selectedRows = this._grid.getSelectedRows();
|
||||
const selectedRows = this._grid.getSelectedRows();
|
||||
let lookup = {}, row, i;
|
||||
for (i = 0; i < selectedRows.length; i++) {
|
||||
row = selectedRows[i];
|
||||
@@ -72,11 +73,11 @@ export class CheckboxSelectColumn<T> implements Slick.Plugin<T> {
|
||||
|
||||
if (!this._options.title) {
|
||||
if (selectedRows.length && selectedRows.length === this._grid.getDataLength()) {
|
||||
this._grid.updateColumnHeader(this._options.columnId,
|
||||
this._grid.updateColumnHeader(this._options.columnId!,
|
||||
strings.format(checkboxTemplate, 'checked'),
|
||||
this._options.toolTip);
|
||||
} else {
|
||||
this._grid.updateColumnHeader(this._options.columnId,
|
||||
this._grid.updateColumnHeader(this._options.columnId!,
|
||||
strings.format(checkboxTemplate, ''),
|
||||
this._options.toolTip);
|
||||
}
|
||||
@@ -108,7 +109,7 @@ export class CheckboxSelectColumn<T> implements Slick.Plugin<T> {
|
||||
|
||||
private handleClick(e: Event, args: Slick.OnClickEventArgs<T>): void {
|
||||
// clicking on a row select checkbox
|
||||
if (this._grid.getColumns()[args.cell].id === this._options.columnId && jQuery(e.target).is('input[type="checkbox"]')) {
|
||||
if (this._grid.getColumns()[args.cell].id === this._options.columnId && jQuery(e.target!).is('input[type="checkbox"]')) {
|
||||
// if editing, try to commit
|
||||
if (this._grid.getEditorLock().isActive() && !this._grid.getEditorLock().commitCurrentEdit()) {
|
||||
e.preventDefault();
|
||||
@@ -131,7 +132,7 @@ export class CheckboxSelectColumn<T> implements Slick.Plugin<T> {
|
||||
}
|
||||
|
||||
private handleHeaderClick(e: Event, args: Slick.OnHeaderClickEventArgs<T>): void {
|
||||
if (!this._options.title && args.column.id === this._options.columnId && jQuery(e.target).is('input[type="checkbox"]')) {
|
||||
if (!this._options.title && args.column.id === this._options.columnId && jQuery(e.target!).is('input[type="checkbox"]')) {
|
||||
// if editing, try to commit
|
||||
if (this._grid.getEditorLock().isActive() && !this._grid.getEditorLock().commitCurrentEdit()) {
|
||||
e.preventDefault();
|
||||
@@ -139,18 +140,15 @@ export class CheckboxSelectColumn<T> implements Slick.Plugin<T> {
|
||||
return;
|
||||
}
|
||||
|
||||
if (jQuery(e.target).is('input[checked]')) {
|
||||
let rows = [];
|
||||
for (let i = 0; i < this._grid.getDataLength(); i++) {
|
||||
rows.push(i);
|
||||
}
|
||||
if (jQuery(e.target!).is('input[checked]')) {
|
||||
const rows = range(this._grid.getDataLength());
|
||||
this._grid.setSelectedRows(rows);
|
||||
this._grid.updateColumnHeader(this._options.columnId,
|
||||
this._grid.updateColumnHeader(this._options.columnId!,
|
||||
strings.format(checkboxTemplate, 'checked'),
|
||||
this._options.toolTip);
|
||||
} else {
|
||||
this._grid.setSelectedRows([]);
|
||||
this._grid.updateColumnHeader(this._options.columnId,
|
||||
this._grid.updateColumnHeader(this._options.columnId!,
|
||||
strings.format(checkboxTemplate, ''), this._options.toolTip);
|
||||
e.stopPropagation();
|
||||
e.stopImmediatePropagation();
|
||||
@@ -173,11 +171,8 @@ export class CheckboxSelectColumn<T> implements Slick.Plugin<T> {
|
||||
}
|
||||
|
||||
private checkboxSelectionFormatter(row, cell, value, columnDef: Slick.Column<T>, dataContext): string {
|
||||
if (dataContext) {
|
||||
return this._selectedRowsLookup[row]
|
||||
? strings.format(checkboxTemplate, 'checked')
|
||||
: strings.format(checkboxTemplate, '');
|
||||
}
|
||||
return null;
|
||||
return this._selectedRowsLookup[row]
|
||||
? strings.format(checkboxTemplate, 'checked')
|
||||
: strings.format(checkboxTemplate, '');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@ export class HeaderFilter {
|
||||
public onFilterApplied = new Slick.Event();
|
||||
public onCommand = new Slick.Event();
|
||||
|
||||
private grid;
|
||||
private grid: Slick.Grid<any>;
|
||||
private handler = new Slick.EventHandler();
|
||||
private defaults = {
|
||||
filterImage: 'src/sql/media/icons/filter.svg',
|
||||
@@ -20,7 +20,7 @@ export class HeaderFilter {
|
||||
sortDescImage: 'sort-desc.gif'
|
||||
};
|
||||
|
||||
private $menu: JQuery<HTMLElement>;
|
||||
private $menu?: JQuery<HTMLElement>;
|
||||
private options: any;
|
||||
private okButton: Button;
|
||||
private clearButton: Button;
|
||||
@@ -70,16 +70,16 @@ export class HeaderFilter {
|
||||
private hideMenu() {
|
||||
if (this.$menu) {
|
||||
this.$menu.remove();
|
||||
this.$menu = null;
|
||||
this.$menu = undefined;
|
||||
}
|
||||
}
|
||||
|
||||
private handleHeaderCellRendered(e, args) {
|
||||
let column = args.column;
|
||||
const column = args.column;
|
||||
if (column.id === '_detail_selector') {
|
||||
return;
|
||||
}
|
||||
let $el = jQuery('<div></div>')
|
||||
const $el = jQuery('<div></div>')
|
||||
.addClass('slick-header-menubutton')
|
||||
.data('column', column);
|
||||
|
||||
@@ -93,13 +93,13 @@ export class HeaderFilter {
|
||||
}
|
||||
|
||||
private addMenuItem(menu, columnDef, title, command, image) {
|
||||
let $item = jQuery('<div class="slick-header-menuitem">')
|
||||
const $item = jQuery('<div class="slick-header-menuitem">')
|
||||
.data('command', command)
|
||||
.data('column', columnDef)
|
||||
.bind('click', (e) => this.handleMenuItemClick(e, command, columnDef))
|
||||
.appendTo(menu);
|
||||
|
||||
let $icon = jQuery('<div class="slick-header-menuicon">')
|
||||
const $icon = jQuery('<div class="slick-header-menuicon">')
|
||||
.appendTo($item);
|
||||
|
||||
if (title === 'Sort Ascending') {
|
||||
@@ -118,7 +118,7 @@ export class HeaderFilter {
|
||||
jQuery('<input class="input" placeholder="Search" style="margin-top: 5px; width: 206px">')
|
||||
.data('column', columnDef)
|
||||
.bind('keyup', (e) => {
|
||||
let filterVals = this.getFilterValuesByInput(jQuery(e.target));
|
||||
const filterVals = this.getFilterValuesByInput(jQuery(e.target));
|
||||
self.updateFilterInputs(menu, columnDef, filterVals);
|
||||
})
|
||||
.appendTo(menu);
|
||||
@@ -132,13 +132,13 @@ export class HeaderFilter {
|
||||
this.workingFilters = columnDef.filterValues.slice(0);
|
||||
|
||||
for (let i = 0; i < filterItems.length; i++) {
|
||||
let filtered = _.contains(this.workingFilters, filterItems[i]);
|
||||
const filtered = _.contains(this.workingFilters, filterItems[i]);
|
||||
|
||||
filterOptions += '<label><input type="checkbox" value="' + i + '"'
|
||||
+ (filtered ? ' checked="checked"' : '')
|
||||
+ '/>' + filterItems[i] + '</label>';
|
||||
}
|
||||
let $filter = menu.find('.filter');
|
||||
const $filter = menu.find('.filter');
|
||||
$filter.empty().append(jQuery(filterOptions));
|
||||
|
||||
jQuery(':checkbox', $filter).bind('click', (e) => {
|
||||
@@ -147,7 +147,7 @@ export class HeaderFilter {
|
||||
}
|
||||
|
||||
private showFilter(e) {
|
||||
let $menuButton = jQuery(e.target);
|
||||
const $menuButton = jQuery(e.target);
|
||||
this.columnDef = $menuButton.data('column');
|
||||
|
||||
this.columnDef.filterValues = this.columnDef.filterValues || [];
|
||||
@@ -179,14 +179,14 @@ export class HeaderFilter {
|
||||
let filterOptions = '<label><input type="checkbox" value="-1" />(Select All)</label>';
|
||||
|
||||
for (let i = 0; i < filterItems.length; i++) {
|
||||
let filtered = _.contains(this.workingFilters, filterItems[i]);
|
||||
const filtered = _.contains(this.workingFilters, filterItems[i]);
|
||||
if (filterItems[i] && filterItems[i].indexOf('Error:') < 0) {
|
||||
filterOptions += '<label><input type="checkbox" value="' + i + '"'
|
||||
+ (filtered ? ' checked="checked"' : '')
|
||||
+ '/>' + escape(filterItems[i]) + '</label>';
|
||||
}
|
||||
}
|
||||
let $filter = jQuery('<div class="filter">')
|
||||
const $filter = jQuery('<div class="filter">')
|
||||
.append(jQuery(filterOptions))
|
||||
.appendTo(this.$menu);
|
||||
|
||||
@@ -194,7 +194,7 @@ export class HeaderFilter {
|
||||
this.okButton.label = 'OK';
|
||||
this.okButton.title = 'OK';
|
||||
this.okButton.element.id = 'filter-ok-button';
|
||||
let okElement = jQuery('#filter-ok-button');
|
||||
const okElement = jQuery('#filter-ok-button');
|
||||
okElement.bind('click', (ev) => {
|
||||
this.columnDef.filterValues = this.workingFilters.splice(0);
|
||||
this.setButtonImage($menuButton, this.columnDef.filterValues.length > 0);
|
||||
@@ -205,7 +205,7 @@ export class HeaderFilter {
|
||||
this.clearButton.label = 'Clear';
|
||||
this.clearButton.title = 'Clear';
|
||||
this.clearButton.element.id = 'filter-clear-button';
|
||||
let clearElement = jQuery('#filter-clear-button');
|
||||
const clearElement = jQuery('#filter-clear-button');
|
||||
clearElement.bind('click', (ev) => {
|
||||
this.columnDef.filterValues.length = 0;
|
||||
this.setButtonImage($menuButton, false);
|
||||
@@ -216,7 +216,7 @@ export class HeaderFilter {
|
||||
this.cancelButton.label = 'Cancel';
|
||||
this.cancelButton.title = 'Cancel';
|
||||
this.cancelButton.element.id = 'filter-cancel-button';
|
||||
let cancelElement = jQuery('#filter-cancel-button');
|
||||
const cancelElement = jQuery('#filter-cancel-button');
|
||||
cancelElement.bind('click', () => this.hideMenu());
|
||||
attachButtonStyler(this.okButton, this._themeService);
|
||||
attachButtonStyler(this.clearButton, this._themeService);
|
||||
@@ -226,8 +226,8 @@ export class HeaderFilter {
|
||||
this.workingFilters = this.changeWorkingFilter(filterItems, this.workingFilters, jQuery(e.target));
|
||||
});
|
||||
|
||||
let offset = jQuery(e.target).offset();
|
||||
let left = offset.left - this.$menu.width() + jQuery(e.target).width() - 8;
|
||||
const offset = jQuery(e.target).offset();
|
||||
const left = offset.left - this.$menu.width() + jQuery(e.target).width() - 8;
|
||||
|
||||
let menutop = offset.top + jQuery(e.target).height();
|
||||
|
||||
@@ -243,8 +243,8 @@ export class HeaderFilter {
|
||||
}
|
||||
|
||||
private changeWorkingFilter(filterItems, workingFilters, $checkbox) {
|
||||
let value = $checkbox.val();
|
||||
let $filter = $checkbox.parent().parent();
|
||||
const value = $checkbox.val();
|
||||
const $filter = $checkbox.parent().parent();
|
||||
|
||||
if ($checkbox.val() < 0) {
|
||||
// Select All
|
||||
@@ -256,11 +256,11 @@ export class HeaderFilter {
|
||||
workingFilters.length = 0;
|
||||
}
|
||||
} else {
|
||||
let index = _.indexOf(workingFilters, filterItems[value]);
|
||||
const index = _.indexOf(workingFilters, filterItems[value]);
|
||||
|
||||
if ($checkbox.prop('checked') && index < 0) {
|
||||
workingFilters.push(filterItems[value]);
|
||||
let nextRow = filterItems[(parseInt(value) + 1).toString()];
|
||||
const nextRow = filterItems[(parseInt(value) + 1).toString()];
|
||||
if (nextRow && nextRow.indexOf('Error:') >= 0) {
|
||||
workingFilters.push(nextRow);
|
||||
}
|
||||
@@ -276,11 +276,11 @@ export class HeaderFilter {
|
||||
}
|
||||
|
||||
private setButtonImage($el, filtered) {
|
||||
let element: HTMLElement = $el.get(0);
|
||||
const element: HTMLElement = $el.get(0);
|
||||
if (filtered) {
|
||||
element.className += ' filtered';
|
||||
} else {
|
||||
let classList = element.classList;
|
||||
const classList = element.classList;
|
||||
if (classList.contains('filtered')) {
|
||||
classList.remove('filtered');
|
||||
}
|
||||
@@ -296,9 +296,9 @@ export class HeaderFilter {
|
||||
}
|
||||
|
||||
private getFilterValues(dataView, column) {
|
||||
let seen = [];
|
||||
const seen: Array<any> = [];
|
||||
for (let i = 0; i < dataView.getLength(); i++) {
|
||||
let value = dataView.getItem(i)[column.field];
|
||||
const value = dataView.getItem(i)[column.field];
|
||||
|
||||
if (!_.contains(seen, value)) {
|
||||
seen.push(value);
|
||||
@@ -308,18 +308,18 @@ export class HeaderFilter {
|
||||
}
|
||||
|
||||
private getFilterValuesByInput($input) {
|
||||
let column = $input.data('column'),
|
||||
const column = $input.data('column'),
|
||||
filter = $input.val(),
|
||||
dataView = this.grid.getData(),
|
||||
seen = [];
|
||||
seen: Array<any> = [];
|
||||
|
||||
for (let i = 0; i < dataView.getLength(); i++) {
|
||||
let value = dataView.getItem(i)[column.field];
|
||||
const value = dataView.getItem(i)[column.field];
|
||||
|
||||
if (filter.length > 0) {
|
||||
let itemValue = !value ? '' : value;
|
||||
let lowercaseFilter = filter.toString().toLowerCase();
|
||||
let lowercaseVal = itemValue.toString().toLowerCase();
|
||||
const itemValue = !value ? '' : value;
|
||||
const lowercaseFilter = filter.toString().toLowerCase();
|
||||
const lowercaseVal = itemValue.toString().toLowerCase();
|
||||
if (!_.contains(seen, value) && lowercaseVal.indexOf(lowercaseFilter) > -1) {
|
||||
seen.push(value);
|
||||
}
|
||||
@@ -335,9 +335,9 @@ export class HeaderFilter {
|
||||
}
|
||||
|
||||
private getAllFilterValues(data, column) {
|
||||
let seen = [];
|
||||
const seen: Array<any> = [];
|
||||
for (let i = 0; i < data.length; i++) {
|
||||
let value = data[i][column.field];
|
||||
const value = data[i][column.field];
|
||||
|
||||
if (!_.contains(seen, value)) {
|
||||
seen.push(value);
|
||||
|
||||
@@ -28,12 +28,13 @@ export class MouseWheelSupport implements Slick.Plugin<any> {
|
||||
private _disposables: IDisposable[] = [];
|
||||
|
||||
constructor(options: IMouseWheelSupportOptions = {}) {
|
||||
this.options = mixin(options, defaultOptions, false);
|
||||
this.options = defaultOptions;
|
||||
mixin(this.options, options);
|
||||
}
|
||||
|
||||
public init(grid: Slick.Grid<any>): void {
|
||||
this.canvas = grid.getCanvasNode();
|
||||
this.viewport = this.canvas.parentElement;
|
||||
this.viewport = this.canvas.parentElement!;
|
||||
let onMouseWheel = (browserEvent: IMouseWheelEvent) => {
|
||||
let e = new StandardWheelEvent(browserEvent);
|
||||
this._onMouseWheel(e);
|
||||
@@ -44,8 +45,8 @@ export class MouseWheelSupport implements Slick.Plugin<any> {
|
||||
|
||||
private _onMouseWheel(e: StandardWheelEvent) {
|
||||
if (e.deltaY || e.deltaX) {
|
||||
let deltaY = e.deltaY * this.options.scrollSpeed;
|
||||
let deltaX = e.deltaX * this.options.scrollSpeed;
|
||||
let deltaY = e.deltaY * this.options.scrollSpeed!;
|
||||
let deltaX = e.deltaX * this.options.scrollSpeed!;
|
||||
const scrollHeight = this.canvas.clientHeight;
|
||||
const scrollWidth = this.canvas.clientWidth;
|
||||
const height = this.viewport.clientHeight;
|
||||
@@ -67,8 +68,8 @@ export class MouseWheelSupport implements Slick.Plugin<any> {
|
||||
} else {
|
||||
this.viewport.scrollTop = this.viewport.scrollTop - deltaY;
|
||||
this.viewport.dispatchEvent(new Event('scroll'));
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
}
|
||||
// scroll up
|
||||
} else {
|
||||
@@ -78,8 +79,8 @@ export class MouseWheelSupport implements Slick.Plugin<any> {
|
||||
} else {
|
||||
this.viewport.scrollTop = this.viewport.scrollTop - deltaY;
|
||||
this.viewport.dispatchEvent(new Event('scroll'));
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -91,8 +92,8 @@ export class MouseWheelSupport implements Slick.Plugin<any> {
|
||||
} else {
|
||||
this.viewport.scrollLeft = this.viewport.scrollLeft - deltaX;
|
||||
this.viewport.dispatchEvent(new Event('scroll'));
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
}
|
||||
// scroll left
|
||||
} else {
|
||||
@@ -102,8 +103,8 @@ export class MouseWheelSupport implements Slick.Plugin<any> {
|
||||
} else {
|
||||
this.viewport.scrollLeft = this.viewport.scrollLeft - deltaX;
|
||||
this.viewport.dispatchEvent(new Event('scroll'));
|
||||
event.stopPropagation();
|
||||
event.preventDefault();
|
||||
e.stopPropagation();
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -49,10 +49,10 @@ export class RowDetailView {
|
||||
|
||||
public destroy() {
|
||||
this._handler.unsubscribeAll();
|
||||
this.onAsyncResponse.unsubscribe(undefined);
|
||||
this.onAsyncEndUpdate.unsubscribe(undefined);
|
||||
this.onAfterRowDetailToggle.unsubscribe(undefined);
|
||||
this.onBeforeRowDetailToggle.unsubscribe(undefined);
|
||||
this.onAsyncResponse.unsubscribe();
|
||||
this.onAsyncEndUpdate.unsubscribe();
|
||||
this.onAfterRowDetailToggle.unsubscribe();
|
||||
this.onBeforeRowDetailToggle.unsubscribe();
|
||||
}
|
||||
|
||||
public getOptions(options: any) {
|
||||
@@ -73,7 +73,7 @@ export class RowDetailView {
|
||||
return;
|
||||
}
|
||||
|
||||
let item = this._dataView.getItem(args.row);
|
||||
const item = this._dataView.getItem(args.row);
|
||||
|
||||
// trigger an event before toggling
|
||||
this.onBeforeRowDetailToggle.notify({
|
||||
@@ -102,21 +102,21 @@ export class RowDetailView {
|
||||
// If we scroll save detail views that go out of cache range
|
||||
public handleScroll(e, args) {
|
||||
|
||||
let range = this._grid.getRenderedRange();
|
||||
const range = this._grid.getRenderedRange();
|
||||
|
||||
let start: number = (range.top > 0 ? range.top : 0);
|
||||
let end: number = (range.bottom > this._dataView.getLength() ? range.bottom : this._dataView.getLength());
|
||||
const start: number = (range.top > 0 ? range.top : 0);
|
||||
const end: number = (range.bottom > this._dataView.getLength() ? range.bottom : this._dataView.getLength());
|
||||
if (end <= 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Get the item at the top of the view
|
||||
let topMostItem = this._dataView.getItemByIdx(start);
|
||||
const topMostItem = this._dataView.getItemByIdx(start);
|
||||
|
||||
// Check it is a parent item
|
||||
if (topMostItem._parent === undefined) {
|
||||
// This is a standard row as we have no parent.
|
||||
let nextItem = this._dataView.getItemByIdx(start + 1);
|
||||
const nextItem = this._dataView.getItemByIdx(start + 1);
|
||||
if (nextItem !== undefined && nextItem._parent !== undefined) {
|
||||
// This is likely the expanded Detail Row View
|
||||
// Check for safety
|
||||
@@ -127,7 +127,7 @@ export class RowDetailView {
|
||||
}
|
||||
|
||||
// Find the bottom most item that is likely to go off screen
|
||||
let bottomMostItem = this._dataView.getItemByIdx(end - 1);
|
||||
const bottomMostItem = this._dataView.getItemByIdx(end - 1);
|
||||
|
||||
// If we are a detailView and we are about to go out of cache view
|
||||
if (bottomMostItem._parent !== undefined) {
|
||||
@@ -151,9 +151,9 @@ export class RowDetailView {
|
||||
|
||||
// Saves the current state of the detail view
|
||||
public saveDetailView(item) {
|
||||
let view = jQuery('#innerDetailView_' + item.id);
|
||||
const view = jQuery('#innerDetailView_' + item.id);
|
||||
if (view) {
|
||||
let html = jQuery('#innerDetailView_' + item.id).html();
|
||||
const html = jQuery('#innerDetailView_' + item.id).html();
|
||||
if (html !== undefined) {
|
||||
item._detailContent = html;
|
||||
}
|
||||
@@ -231,7 +231,6 @@ export class RowDetailView {
|
||||
|
||||
args.itemDetail._detailViewLoaded = true;
|
||||
|
||||
let idxParent = this._dataView.getIdxById(args.itemDetail.id);
|
||||
this._dataView.updateItem(args.itemDetail.id, args.itemDetail);
|
||||
|
||||
// trigger an event once the post template is finished loading
|
||||
@@ -255,9 +254,9 @@ export class RowDetailView {
|
||||
//////////////////////////////////////////////////////////////
|
||||
//////////////////////////////////////////////////////////////
|
||||
public getPaddingItem(parent, offset) {
|
||||
let item: any = {};
|
||||
const item: any = {};
|
||||
|
||||
for (let prop in this._grid.getData()) {
|
||||
for (const prop in this._grid.getData()) {
|
||||
item[prop] = null;
|
||||
}
|
||||
item.id = parent.id + '.' + offset;
|
||||
@@ -272,7 +271,7 @@ export class RowDetailView {
|
||||
}
|
||||
|
||||
public getErrorItem(parent, offset) {
|
||||
let item: any = {};
|
||||
const item: any = {};
|
||||
item.id = parent.id + '.' + offset;
|
||||
item._collapsed = true;
|
||||
item._isPadding = false;
|
||||
@@ -288,15 +287,15 @@ export class RowDetailView {
|
||||
//////////////////////////////////////////////////////////////
|
||||
public applyTemplateNewLineHeight(item, showError = false) {
|
||||
// the height seems to be calculated by the template row count (how many line of items does the template have)
|
||||
let rowCount = this._options.panelRows;
|
||||
const rowCount = this._options.panelRows;
|
||||
|
||||
//calculate padding requirements based on detail-content..
|
||||
//ie. worst-case: create an invisible dom node now &find it's height.
|
||||
let lineHeight = 13; //we know cuz we wrote the custom css innit ;)
|
||||
const lineHeight = 13; //we know cuz we wrote the custom css innit ;)
|
||||
item._sizePadding = Math.ceil(((rowCount * 2) * lineHeight) / this._grid.getOptions().rowHeight);
|
||||
item._height = (item._sizePadding * this._grid.getOptions().rowHeight);
|
||||
|
||||
let idxParent = this._dataView.getIdxById(item.id);
|
||||
const idxParent = this._dataView.getIdxById(item.id);
|
||||
for (let idx = 1; idx <= item._sizePadding; idx++) {
|
||||
if (showError) {
|
||||
this._dataView.insertItem(idxParent + idx, this.getErrorItem(item, 'error'));
|
||||
@@ -336,9 +335,9 @@ export class RowDetailView {
|
||||
} else if (dataContext._collapsed) {
|
||||
return '<div class=\'detailView-toggle expand\'></div>';
|
||||
} else {
|
||||
let html = [];
|
||||
let rowHeight = this._grid.getOptions().rowHeight;
|
||||
let bottomMargin = 5;
|
||||
const html: Array<string> = [];
|
||||
const rowHeight = this._grid.getOptions().rowHeight;
|
||||
const bottomMargin = 5;
|
||||
|
||||
//V313HAX:
|
||||
//putting in an extra closing div after the closing toggle div and ommiting a
|
||||
@@ -369,9 +368,9 @@ export class RowDetailView {
|
||||
}
|
||||
|
||||
// Grad each of the dom items
|
||||
let mainContainer = document.getElementById('detailViewContainer_' + item.id);
|
||||
let cellItem = document.getElementById('cellDetailView_' + item.id);
|
||||
let inner = document.getElementById('innerDetailView_' + item.id);
|
||||
const mainContainer = document.getElementById('detailViewContainer_' + item.id);
|
||||
const cellItem = document.getElementById('cellDetailView_' + item.id);
|
||||
const inner = document.getElementById('innerDetailView_' + item.id);
|
||||
|
||||
if (!mainContainer || !cellItem || !inner) {
|
||||
return;
|
||||
@@ -381,14 +380,14 @@ export class RowDetailView {
|
||||
this._dataView.deleteItem(item.id + '.' + idx);
|
||||
}
|
||||
|
||||
let rowHeight = this._grid.getOptions().rowHeight; // height of a row
|
||||
let lineHeight = 13; //we know cuz we wrote the custom css innit ;)
|
||||
const rowHeight = this._grid.getOptions().rowHeight; // height of a row
|
||||
const lineHeight = 13; //we know cuz we wrote the custom css innit ;)
|
||||
|
||||
// Get the inner Item height as this will be the actual size
|
||||
let itemHeight = inner.clientHeight;
|
||||
const itemHeight = inner.clientHeight;
|
||||
|
||||
// Now work out how many rows
|
||||
let rowCount = Math.ceil(itemHeight / rowHeight) + 1;
|
||||
const rowCount = Math.ceil(itemHeight / rowHeight) + 1;
|
||||
|
||||
item._sizePadding = Math.ceil(((rowCount * 2) * lineHeight) / rowHeight);
|
||||
item._height = (item._sizePadding * rowHeight);
|
||||
@@ -404,7 +403,7 @@ export class RowDetailView {
|
||||
cellItem.setAttribute('style', `height: ${item._height}px;top:${rowHeight}px`);
|
||||
}
|
||||
|
||||
let idxParent = this._dataView.getIdxById(item.id);
|
||||
const idxParent = this._dataView.getIdxById(item.id);
|
||||
for (let idx = 1; idx <= item._sizePadding; idx++) {
|
||||
this._dataView.insertItem(idxParent + idx, this.getPaddingItem(item, idx));
|
||||
}
|
||||
|
||||
@@ -8,8 +8,6 @@ export interface IRowNumberColumnOptions {
|
||||
cssClass?: string;
|
||||
}
|
||||
|
||||
const sizePerDigit = 15;
|
||||
|
||||
export class RowNumberColumn<T> implements Slick.Plugin<T> {
|
||||
private handler = new Slick.EventHandler();
|
||||
private grid: Slick.Grid<T>;
|
||||
@@ -63,11 +61,7 @@ export class RowNumberColumn<T> implements Slick.Plugin<T> {
|
||||
}
|
||||
|
||||
private formatter(row, cell, value, columnDef: Slick.Column<T>, dataContext): string {
|
||||
if (dataContext) {
|
||||
// row is zero-based, we need make it 1 based for display in the result grid
|
||||
//
|
||||
return `<span>${row + 1}</span>`;
|
||||
}
|
||||
return null;
|
||||
// row is zero-based, we need make it 1 based for display in the result grid
|
||||
return `<span>${row + 1}</span>`;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ export class RowSelectionModel<T extends Slick.SlickData> implements Slick.Selec
|
||||
}
|
||||
|
||||
private rangesToRows(ranges: Slick.Range[]): number[] {
|
||||
let rows = [];
|
||||
const rows: Array<number> = [];
|
||||
for (let i = 0; i < ranges.length; i++) {
|
||||
for (let j = ranges[i].fromRow; j <= ranges[i].toRow; j++) {
|
||||
rows.push(j);
|
||||
@@ -41,8 +41,8 @@ export class RowSelectionModel<T extends Slick.SlickData> implements Slick.Selec
|
||||
}
|
||||
|
||||
private rowsToRanges(rows: number[]): Slick.Range[] {
|
||||
let ranges = [];
|
||||
let lastCell = this._grid.getColumns().length - 1;
|
||||
const ranges: Array<Slick.Range> = [];
|
||||
const lastCell = this._grid.getColumns().length - 1;
|
||||
for (let i = 0; i < rows.length; i++) {
|
||||
ranges.push(new Slick.Range(rows[i], 0, rows[i], lastCell));
|
||||
}
|
||||
@@ -69,7 +69,7 @@ export class RowSelectionModel<T extends Slick.SlickData> implements Slick.Selec
|
||||
}
|
||||
|
||||
private getRowsRange(from: number, to: number): number[] {
|
||||
let i, rows = [];
|
||||
let i: number, rows: Array<number> = [];
|
||||
for (i = from; i <= to; i++) {
|
||||
rows.push(i);
|
||||
}
|
||||
@@ -86,7 +86,7 @@ export class RowSelectionModel<T extends Slick.SlickData> implements Slick.Selec
|
||||
}
|
||||
|
||||
private handleKeyDown(e: KeyboardEvent): void {
|
||||
let activeRow = this._grid.getActiveCell();
|
||||
const activeRow = this._grid.getActiveCell();
|
||||
if (activeRow && e.shiftKey && !e.ctrlKey && !e.altKey && !e.metaKey && (e.which === 38 || e.which === 40)) {
|
||||
let selectedRows = this.getSelectedRows();
|
||||
selectedRows.sort((x, y) => x - y);
|
||||
@@ -106,8 +106,8 @@ export class RowSelectionModel<T extends Slick.SlickData> implements Slick.Selec
|
||||
}
|
||||
|
||||
if (active >= 0 && active < this._grid.getDataLength()) {
|
||||
this._grid.scrollRowIntoView(active, undefined);
|
||||
let tempRanges = this.rowsToRanges(this.getRowsRange(top, bottom));
|
||||
this._grid.scrollRowIntoView(active);
|
||||
const tempRanges = this.rowsToRanges(this.getRowsRange(top, bottom));
|
||||
this.setSelectedRanges(tempRanges);
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ export class RowSelectionModel<T extends Slick.SlickData> implements Slick.Selec
|
||||
}
|
||||
|
||||
private handleClick(e: KeyboardEvent): boolean {
|
||||
let cell = this._grid.getCellFromEvent(e);
|
||||
const cell = this._grid.getCellFromEvent(e);
|
||||
if (!cell || !this._grid.canCellBeActive(cell.row, cell.cell)) {
|
||||
return false;
|
||||
}
|
||||
@@ -128,7 +128,7 @@ export class RowSelectionModel<T extends Slick.SlickData> implements Slick.Selec
|
||||
}
|
||||
|
||||
let selection = this.rangesToRows(this._ranges);
|
||||
let idx = jQuery.inArray(cell.row, selection);
|
||||
const idx = jQuery.inArray(cell.row, selection);
|
||||
|
||||
if (idx === -1 && (e.ctrlKey || e.metaKey)) {
|
||||
selection.push(cell.row);
|
||||
@@ -137,20 +137,22 @@ export class RowSelectionModel<T extends Slick.SlickData> implements Slick.Selec
|
||||
selection = selection.filter(o => o !== cell.row);
|
||||
this._grid.setActiveCell(cell.row, cell.cell);
|
||||
} else if (selection.length && e.shiftKey) {
|
||||
let last = selection.pop();
|
||||
let from = Math.min(cell.row, last);
|
||||
let to = Math.max(cell.row, last);
|
||||
selection = [];
|
||||
for (let i = from; i <= to; i++) {
|
||||
if (i !== last) {
|
||||
selection.push(i);
|
||||
const last = selection.pop();
|
||||
if (last) {
|
||||
const from = Math.min(cell.row, last);
|
||||
const to = Math.max(cell.row, last);
|
||||
selection = [];
|
||||
for (let i = from; i <= to; i++) {
|
||||
if (i !== last) {
|
||||
selection.push(i);
|
||||
}
|
||||
}
|
||||
selection.push(last);
|
||||
}
|
||||
selection.push(last);
|
||||
this._grid.setActiveCell(cell.row, cell.cell);
|
||||
}
|
||||
|
||||
let tempRanges = this.rowsToRanges(selection);
|
||||
const tempRanges = this.rowsToRanges(selection);
|
||||
this.setSelectedRanges(tempRanges);
|
||||
e.stopImmediatePropagation();
|
||||
|
||||
|
||||
@@ -11,21 +11,7 @@
|
||||
"./vs/vscode.proposed.d.ts",
|
||||
"./sql/azdata.d.ts",
|
||||
"./sql/azdata.proposed.d.ts",
|
||||
"./sql/base/browser/ui/breadcrumb/*.ts",
|
||||
"./sql/base/browser/ui/button/*.ts",
|
||||
"./sql/base/browser/ui/checkbox/*.ts",
|
||||
"./sql/base/browser/ui/dropdownList/*.ts",
|
||||
"./sql/base/browser/ui/editableDropdown/*.ts",
|
||||
"./sql/base/browser/ui/inputBox/*.ts",
|
||||
"./sql/base/browser/ui/listBox/*.ts",
|
||||
"./sql/base/browser/ui/panel/*.ts",
|
||||
"./sql/base/browser/ui/radioButton/*.ts",
|
||||
"./sql/base/browser/ui/scrollable/*.ts",
|
||||
"./sql/base/browser/ui/selectBox/*.ts",
|
||||
"./sql/base/browser/ui/table/*.ts",
|
||||
"./sql/base/browser/ui/taskbar/*.ts",
|
||||
"./sql/base/common/**/*.ts",
|
||||
"./sql/base/node/**/*.ts",
|
||||
"./sql/base/**/*.ts",
|
||||
"./sql/platform/angularEventing/**/*.ts",
|
||||
"./sql/platform/clipboard/**/*.ts",
|
||||
"./sql/platform/credentials/**/*.ts",
|
||||
|
||||
14
src/typings/globals/slickgrid/index.d.ts
vendored
14
src/typings/globals/slickgrid/index.d.ts
vendored
@@ -69,8 +69,8 @@ declare namespace Slick {
|
||||
* @method unsubscribe
|
||||
* @param fn {Function} Event handler to be removed.
|
||||
*/
|
||||
public unsubscribe(fn: (e: EventData, data: T) => any): void;
|
||||
public unsubscribe(fn: (e: DOMEvent, data: T) => any): void;
|
||||
public unsubscribe(fn?: (e: EventData, data: T) => any): void;
|
||||
public unsubscribe(fn?: (e: DOMEvent, data: T) => any): void;
|
||||
|
||||
/***
|
||||
* Fires an event notifying all subscribers.
|
||||
@@ -716,7 +716,7 @@ declare namespace Slick {
|
||||
* Metadata indexed by column index
|
||||
*/
|
||||
[index: number]: ColumnMetadata<T>;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export interface ColumnMetadata<T extends SlickData> {
|
||||
@@ -1231,10 +1231,10 @@ declare namespace Slick {
|
||||
public getRenderedRange(viewportTop?: number, viewportLeft?: number): Viewport;
|
||||
public resizeCanvas(): void;
|
||||
public updateRowCount(): void;
|
||||
public scrollRowIntoView(row: number, doPaging: boolean): void;
|
||||
public scrollRowIntoView(row: number, doPaging?: boolean): void;
|
||||
public scrollRowToTop(row: number): void;
|
||||
public scrollCellIntoView(row: number, cell: number, doPaging: boolean): void;
|
||||
public scrollTo(y: number);
|
||||
public scrollTo(y: number): void;
|
||||
public getCanvasNode(): HTMLCanvasElement;
|
||||
public focus(): void;
|
||||
|
||||
@@ -1278,7 +1278,7 @@ declare namespace Slick {
|
||||
// the documentation is not enlightening
|
||||
startX: number;
|
||||
startY: number;
|
||||
range: { start: Slick.Cell, end: Slick.Cell };
|
||||
range: { start: Slick.Cell, end?: Slick.Cell };
|
||||
}
|
||||
|
||||
export interface OnDragInitEventArgs<T extends SlickData> extends GridEventArgs<T> {
|
||||
@@ -1448,7 +1448,7 @@ declare namespace Slick {
|
||||
export interface CellCssStylesHash {
|
||||
[index: number]: {
|
||||
[id: string]: string;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export interface Viewport {
|
||||
|
||||
8
src/typings/globals/underscore/index.d.ts
vendored
8
src/typings/globals/underscore/index.d.ts
vendored
@@ -1084,7 +1084,7 @@ interface UnderscoreStatic {
|
||||
* @param array The array to split
|
||||
* @param count The maximum size of the inner arrays.
|
||||
*/
|
||||
chunk<T>(array: _.Collection<T>, count: number): (_.Collection<T>)[]
|
||||
chunk<T>(array: _.Collection<T>, count: number): (_.Collection<T>)[];
|
||||
|
||||
/*************
|
||||
* Functions *
|
||||
@@ -3668,7 +3668,7 @@ interface UnderscoreStatic {
|
||||
* @param context `this` object in `iterator`, optional.
|
||||
*/
|
||||
findKey<T>(obj: _.Dictionary<T>, predicate: _.ObjectIterator<T, boolean>, context? : any): string;
|
||||
|
||||
|
||||
/**
|
||||
* Return a copy of the object, filtered to only have values for the whitelisted keys
|
||||
* (or array of valid keys).
|
||||
@@ -4748,7 +4748,7 @@ interface Underscore<T> {
|
||||
* Wrapped type `object`.
|
||||
* @see _.extend
|
||||
**/
|
||||
findKey(predicate: _.ObjectIterator<any, boolean>, context? : any): any
|
||||
findKey(predicate: _.ObjectIterator<any, boolean>, context? : any): any;
|
||||
|
||||
/**
|
||||
* Wrapped type `object`.
|
||||
@@ -5708,7 +5708,7 @@ interface _Chain<T> {
|
||||
* Wrapped type `object`.
|
||||
* @see _.extend
|
||||
**/
|
||||
findKey(predicate: _.ObjectIterator<any, boolean>, context? : any): _Chain<T>
|
||||
findKey(predicate: _.ObjectIterator<any, boolean>, context? : any): _Chain<T>;
|
||||
|
||||
/**
|
||||
* Wrapped type `object`.
|
||||
|
||||
Reference in New Issue
Block a user