提交 105f8438 编写于 作者: J Joao Moreno

💄 remove unnecessary list/tree casts

上级 3caba644
...@@ -1183,7 +1183,7 @@ export abstract class AbstractTree<T, TFilterData, TRef> implements IDisposable ...@@ -1183,7 +1183,7 @@ export abstract class AbstractTree<T, TFilterData, TRef> implements IDisposable
constructor( constructor(
container: HTMLElement, container: HTMLElement,
delegate: IListVirtualDelegate<T>, delegate: IListVirtualDelegate<T>,
renderers: ITreeRenderer<any /* TODO@joao */, TFilterData, any>[], renderers: ITreeRenderer<T, TFilterData, any>[],
private _options: IAbstractTreeOptions<T, TFilterData> = {} private _options: IAbstractTreeOptions<T, TFilterData> = {}
) { ) {
const treeDelegate = new ComposedTreeDelegate<T, ITreeNode<T, TFilterData>>(delegate); const treeDelegate = new ComposedTreeDelegate<T, ITreeNode<T, TFilterData>>(delegate);
......
...@@ -340,7 +340,7 @@ export class AsyncDataTree<TInput, T, TFilterData = void> implements IDisposable ...@@ -340,7 +340,7 @@ export class AsyncDataTree<TInput, T, TFilterData = void> implements IDisposable
constructor( constructor(
container: HTMLElement, container: HTMLElement,
delegate: IListVirtualDelegate<T>, delegate: IListVirtualDelegate<T>,
renderers: ITreeRenderer<any /* TODO@joao */, TFilterData, any>[], renderers: ITreeRenderer<T, TFilterData, any>[],
private dataSource: IAsyncDataSource<TInput, T>, private dataSource: IAsyncDataSource<TInput, T>,
options: IAsyncDataTreeOptions<T, TFilterData> = {} options: IAsyncDataTreeOptions<T, TFilterData> = {}
) { ) {
......
...@@ -24,7 +24,7 @@ export class CompressedObjectTree<T extends NonNullable<any>, TFilterData = void ...@@ -24,7 +24,7 @@ export class CompressedObjectTree<T extends NonNullable<any>, TFilterData = void
constructor( constructor(
container: HTMLElement, container: HTMLElement,
delegate: IListVirtualDelegate<ICompressedTreeNode<T>>, delegate: IListVirtualDelegate<ICompressedTreeNode<T>>,
renderers: ITreeRenderer<any /* TODO@joao */, TFilterData, any>[], renderers: ITreeRenderer<ICompressedTreeNode<T>, TFilterData, any>[],
options: IObjectTreeOptions<ICompressedTreeNode<T>, TFilterData> = {} options: IObjectTreeOptions<ICompressedTreeNode<T>, TFilterData> = {}
) { ) {
super(container, delegate, renderers, options); super(container, delegate, renderers, options);
......
...@@ -32,7 +32,7 @@ export class DataTree<TInput, T, TFilterData = void> extends AbstractTree<T | nu ...@@ -32,7 +32,7 @@ export class DataTree<TInput, T, TFilterData = void> extends AbstractTree<T | nu
constructor( constructor(
container: HTMLElement, container: HTMLElement,
delegate: IListVirtualDelegate<T>, delegate: IListVirtualDelegate<T>,
renderers: ITreeRenderer<any /* TODO@joao */, TFilterData, any>[], renderers: ITreeRenderer<T, TFilterData, any>[],
private dataSource: IDataSource<TInput, T>, private dataSource: IDataSource<TInput, T>,
options: IDataTreeOptions<T, TFilterData> = {} options: IDataTreeOptions<T, TFilterData> = {}
) { ) {
......
...@@ -20,7 +20,7 @@ export class IndexTree<T, TFilterData = void> extends AbstractTree<T, TFilterDat ...@@ -20,7 +20,7 @@ export class IndexTree<T, TFilterData = void> extends AbstractTree<T, TFilterDat
constructor( constructor(
container: HTMLElement, container: HTMLElement,
delegate: IListVirtualDelegate<T>, delegate: IListVirtualDelegate<T>,
renderers: ITreeRenderer<any /* TODO@joao */, TFilterData, any>[], renderers: ITreeRenderer<T, TFilterData, any>[],
private rootElement: T, private rootElement: T,
options: IIndexTreeOptions<T, TFilterData> = {} options: IIndexTreeOptions<T, TFilterData> = {}
) { ) {
......
...@@ -24,7 +24,7 @@ export class ObjectTree<T extends NonNullable<any>, TFilterData = void> extends ...@@ -24,7 +24,7 @@ export class ObjectTree<T extends NonNullable<any>, TFilterData = void> extends
constructor( constructor(
container: HTMLElement, container: HTMLElement,
delegate: IListVirtualDelegate<T>, delegate: IListVirtualDelegate<T>,
renderers: ITreeRenderer<any /* TODO@joao */, TFilterData, any>[], renderers: ITreeRenderer<T, TFilterData, any>[],
options: IObjectTreeOptions<T, TFilterData> = {} options: IObjectTreeOptions<T, TFilterData> = {}
) { ) {
super(container, delegate, renderers, options); super(container, delegate, renderers, options);
......
...@@ -247,7 +247,7 @@ export class WorkbenchList<T> extends List<T> { ...@@ -247,7 +247,7 @@ export class WorkbenchList<T> extends List<T> {
constructor( constructor(
container: HTMLElement, container: HTMLElement,
delegate: IListVirtualDelegate<T>, delegate: IListVirtualDelegate<T>,
renderers: IListRenderer<any /* TODO@joao */, any>[], renderers: IListRenderer<T, any>[],
options: IListOptions<T>, options: IListOptions<T>,
@IContextKeyService contextKeyService: IContextKeyService, @IContextKeyService contextKeyService: IContextKeyService,
@IListService listService: IListService, @IListService listService: IListService,
...@@ -787,7 +787,7 @@ export class WorkbenchObjectTree<T extends NonNullable<any>, TFilterData = void> ...@@ -787,7 +787,7 @@ export class WorkbenchObjectTree<T extends NonNullable<any>, TFilterData = void>
constructor( constructor(
container: HTMLElement, container: HTMLElement,
delegate: IListVirtualDelegate<T>, delegate: IListVirtualDelegate<T>,
renderers: ITreeRenderer<any /* TODO@joao */, TFilterData, any>[], renderers: ITreeRenderer<T, TFilterData, any>[],
options: IObjectTreeOptions<T, TFilterData>, options: IObjectTreeOptions<T, TFilterData>,
@IContextKeyService contextKeyService: IContextKeyService, @IContextKeyService contextKeyService: IContextKeyService,
@IListService listService: IListService, @IListService listService: IListService,
...@@ -813,7 +813,7 @@ export class WorkbenchDataTree<TInput, T, TFilterData = void> extends DataTree<T ...@@ -813,7 +813,7 @@ export class WorkbenchDataTree<TInput, T, TFilterData = void> extends DataTree<T
constructor( constructor(
container: HTMLElement, container: HTMLElement,
delegate: IListVirtualDelegate<T>, delegate: IListVirtualDelegate<T>,
renderers: ITreeRenderer<any /* TODO@joao */, TFilterData, any>[], renderers: ITreeRenderer<T, TFilterData, any>[],
dataSource: IDataSource<TInput, T>, dataSource: IDataSource<TInput, T>,
options: IDataTreeOptions<T, TFilterData>, options: IDataTreeOptions<T, TFilterData>,
@IContextKeyService contextKeyService: IContextKeyService, @IContextKeyService contextKeyService: IContextKeyService,
...@@ -840,7 +840,7 @@ export class WorkbenchAsyncDataTree<TInput, T, TFilterData = void> extends Async ...@@ -840,7 +840,7 @@ export class WorkbenchAsyncDataTree<TInput, T, TFilterData = void> extends Async
constructor( constructor(
container: HTMLElement, container: HTMLElement,
delegate: IListVirtualDelegate<T>, delegate: IListVirtualDelegate<T>,
renderers: ITreeRenderer<any /* TODO@joao */, TFilterData, any>[], renderers: ITreeRenderer<T, TFilterData, any>[],
dataSource: IAsyncDataSource<TInput, T>, dataSource: IAsyncDataSource<TInput, T>,
options: IAsyncDataTreeOptions<T, TFilterData>, options: IAsyncDataTreeOptions<T, TFilterData>,
@IContextKeyService contextKeyService: IContextKeyService, @IContextKeyService contextKeyService: IContextKeyService,
......
...@@ -70,7 +70,7 @@ export class NotificationsList extends Themable { ...@@ -70,7 +70,7 @@ export class NotificationsList extends Themable {
const renderer = this.instantiationService.createInstance(NotificationRenderer, actionRunner); const renderer = this.instantiationService.createInstance(NotificationRenderer, actionRunner);
// List // List
this.list = this._register(<WorkbenchList<INotificationViewItem>>this.instantiationService.createInstance( this.list = this._register(this.instantiationService.createInstance(
WorkbenchList, WorkbenchList,
this.listContainer, this.listContainer,
new NotificationsListDelegate(this.listContainer), new NotificationsListDelegate(this.listContainer),
......
...@@ -252,7 +252,7 @@ export class QuickInputList { ...@@ -252,7 +252,7 @@ export class QuickInputList {
setRowLineHeight: false, setRowLineHeight: false,
multipleSelectionSupport: false, multipleSelectionSupport: false,
horizontalScrolling: false horizontalScrolling: false
} as IListOptions<ListElement>) as WorkbenchList<ListElement>; } as IListOptions<ListElement>);
this.list.getHTMLElement().id = id; this.list.getHTMLElement().id = id;
this.disposables.push(this.list); this.disposables.push(this.list);
this.disposables.push(this.list.onKeyDown(e => { this.disposables.push(this.list.onKeyDown(e => {
......
...@@ -385,7 +385,7 @@ export class CustomTreeView extends Disposable implements ITreeView { ...@@ -385,7 +385,7 @@ export class CustomTreeView extends Disposable implements ITreeView {
collapseByDefault: (e: ITreeItem): boolean => { collapseByDefault: (e: ITreeItem): boolean => {
return e.collapsibleState !== TreeItemCollapsibleState.Expanded; return e.collapsibleState !== TreeItemCollapsibleState.Expanded;
} }
}) as WorkbenchAsyncDataTree<ITreeItem, ITreeItem, FuzzyScore>); }));
aligner.tree = this.tree; aligner.tree = this.tree;
this.tree.contextKeyService.createKey<boolean>(this.id, true); this.tree.contextKeyService.createKey<boolean>(this.id, true);
......
...@@ -83,7 +83,7 @@ export class BreakpointsView extends ViewletPanel { ...@@ -83,7 +83,7 @@ export class BreakpointsView extends ViewletPanel {
getRole: (breakpoint: IEnablement) => 'checkbox', getRole: (breakpoint: IEnablement) => 'checkbox',
isChecked: (breakpoint: IEnablement) => breakpoint.enabled isChecked: (breakpoint: IEnablement) => breakpoint.enabled
} }
}) as WorkbenchList<IEnablement>; });
CONTEXT_BREAKPOINTS_FOCUSED.bindTo(this.list.contextKeyService); CONTEXT_BREAKPOINTS_FOCUSED.bindTo(this.list.contextKeyService);
......
...@@ -145,7 +145,7 @@ export class CallStackView extends ViewletPanel { ...@@ -145,7 +145,7 @@ export class CallStackView extends ViewletPanel {
return nls.localize('showMoreStackFrames2', "Show More Stack Frames"); return nls.localize('showMoreStackFrames2', "Show More Stack Frames");
} }
} }
}) as WorkbenchAsyncDataTree<CallStackItem | IDebugModel, CallStackItem, FuzzyScore>; });
this.tree.setInput(this.debugService.getModel()).then(undefined, onUnexpectedError); this.tree.setInput(this.debugService.getModel()).then(undefined, onUnexpectedError);
......
...@@ -80,7 +80,7 @@ export class DebugHoverWidget implements IContentWidget { ...@@ -80,7 +80,7 @@ export class DebugHoverWidget implements IContentWidget {
accessibilityProvider: new DebugHoverAccessibilityProvider(), accessibilityProvider: new DebugHoverAccessibilityProvider(),
mouseSupport: false, mouseSupport: false,
horizontalScrolling: true horizontalScrolling: true
}) as any as AsyncDataTree<IExpression, IExpression, any>; });
this.valueContainer = $('.value'); this.valueContainer = $('.value');
this.valueContainer.tabIndex = 0; this.valueContainer.tabIndex = 0;
......
...@@ -433,7 +433,7 @@ export class LoadedScriptsView extends ViewletPanel { ...@@ -433,7 +433,7 @@ export class LoadedScriptsView extends ViewletPanel {
accessibilityProvider: new LoadedSciptsAccessibilityProvider(), accessibilityProvider: new LoadedSciptsAccessibilityProvider(),
ariaLabel: nls.localize({ comment: ['Debug is a noun in this context, not a verb.'], key: 'loadedScriptsAriaLabel' }, "Debug Loaded Scripts"), ariaLabel: nls.localize({ comment: ['Debug is a noun in this context, not a verb.'], key: 'loadedScriptsAriaLabel' }, "Debug Loaded Scripts"),
} }
) as WorkbenchAsyncDataTree<LoadedScriptsItem, LoadedScriptsItem, FuzzyScore>; );
this.tree.setInput(root); this.tree.setInput(root);
......
...@@ -91,7 +91,7 @@ export class VariablesView extends ViewletPanel { ...@@ -91,7 +91,7 @@ export class VariablesView extends ViewletPanel {
accessibilityProvider: new VariablesAccessibilityProvider(), accessibilityProvider: new VariablesAccessibilityProvider(),
identityProvider: { getId: (element: IExpression | IScope) => element.getId() }, identityProvider: { getId: (element: IExpression | IScope) => element.getId() },
keyboardNavigationLabelProvider: { getKeyboardNavigationLabel: (e: IExpression | IScope) => e } keyboardNavigationLabelProvider: { getKeyboardNavigationLabel: (e: IExpression | IScope) => e }
}) as WorkbenchAsyncDataTree<IViewModel | IExpression | IScope, IExpression | IScope, FuzzyScore>; });
this.tree.setInput(this.debugService.getViewModel()).then(null, onUnexpectedError); this.tree.setInput(this.debugService.getViewModel()).then(null, onUnexpectedError);
......
...@@ -66,7 +66,7 @@ export class WatchExpressionsView extends ViewletPanel { ...@@ -66,7 +66,7 @@ export class WatchExpressionsView extends ViewletPanel {
identityProvider: { getId: (element: IExpression) => element.getId() }, identityProvider: { getId: (element: IExpression) => element.getId() },
keyboardNavigationLabelProvider: { getKeyboardNavigationLabel: (e: IExpression) => e }, keyboardNavigationLabelProvider: { getKeyboardNavigationLabel: (e: IExpression) => e },
dnd: new WatchExpressionsDragAndDrop(this.debugService), dnd: new WatchExpressionsDragAndDrop(this.debugService),
}) as WorkbenchAsyncDataTree<IDebugService | IExpression, IExpression, FuzzyScore>; });
this.tree.setInput(this.debugService).then(undefined, onUnexpectedError); this.tree.setInput(this.debugService).then(undefined, onUnexpectedError);
CONTEXT_WATCH_EXPRESSIONS_FOCUSED.bindTo(this.tree.contextKeyService); CONTEXT_WATCH_EXPRESSIONS_FOCUSED.bindTo(this.tree.contextKeyService);
......
...@@ -405,7 +405,7 @@ export class RuntimeExtensionsEditor extends BaseEditor { ...@@ -405,7 +405,7 @@ export class RuntimeExtensionsEditor extends BaseEditor {
multipleSelectionSupport: false, multipleSelectionSupport: false,
setRowLineHeight: false, setRowLineHeight: false,
horizontalScrolling: false horizontalScrolling: false
}) as WorkbenchList<IRuntimeExtension>; });
this._list.splice(0, this._list.length, this._elements || undefined); this._list.splice(0, this._list.length, this._elements || undefined);
......
...@@ -302,7 +302,7 @@ export class ExplorerView extends ViewletPanel { ...@@ -302,7 +302,7 @@ export class ExplorerView extends ViewletPanel {
sorter: this.instantiationService.createInstance(FileSorter), sorter: this.instantiationService.createInstance(FileSorter),
dnd: this.instantiationService.createInstance(FileDragAndDrop), dnd: this.instantiationService.createInstance(FileDragAndDrop),
autoExpandSingleChildren: true autoExpandSingleChildren: true
}) as WorkbenchAsyncDataTree<ExplorerItem | ExplorerItem[], ExplorerItem, FuzzyScore>; });
this._register(this.tree); this._register(this.tree);
// Bind context keys // Bind context keys
......
...@@ -219,7 +219,7 @@ export class OpenEditorsView extends ViewletPanel { ...@@ -219,7 +219,7 @@ export class OpenEditorsView extends ViewletPanel {
], { ], {
identityProvider: { getId: (element: OpenEditor | IEditorGroup) => element instanceof OpenEditor ? element.getId() : element.id.toString() }, identityProvider: { getId: (element: OpenEditor | IEditorGroup) => element instanceof OpenEditor ? element.getId() : element.id.toString() },
dnd: new OpenEditorsDragAndDrop(this.instantiationService, this.editorGroupService) dnd: new OpenEditorsDragAndDrop(this.instantiationService, this.editorGroupService)
}) as WorkbenchList<OpenEditor | IEditorGroup>; });
this._register(this.list); this._register(this.list);
this._register(this.listLabels); this._register(this.listLabels);
......
...@@ -320,7 +320,7 @@ export class MarkersPanel extends Panel implements IMarkerFilterController { ...@@ -320,7 +320,7 @@ export class MarkersPanel extends Panel implements IMarkerFilterController {
dnd: new ResourceDragAndDrop(this.instantiationService), dnd: new ResourceDragAndDrop(this.instantiationService),
expandOnlyOnTwistieClick: (e: TreeElement) => e instanceof Marker && e.relatedInformation.length > 0 expandOnlyOnTwistieClick: (e: TreeElement) => e instanceof Marker && e.relatedInformation.length > 0
} }
) as any as WorkbenchObjectTree<TreeElement, FilterData>; );
onDidChangeRenderNodeCount.input = this.tree.onDidChangeRenderNodeCount; onDidChangeRenderNodeCount.input = this.tree.onDidChangeRenderNodeCount;
......
...@@ -452,13 +452,12 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor ...@@ -452,13 +452,12 @@ export class KeybindingsEditor extends BaseEditor implements IKeybindingsEditor
private createList(parent: HTMLElement): void { private createList(parent: HTMLElement): void {
this.keybindingsListContainer = DOM.append(parent, $('.keybindings-list-container')); this.keybindingsListContainer = DOM.append(parent, $('.keybindings-list-container'));
this.keybindingsList = this._register(this.instantiationService.createInstance(WorkbenchList, this.keybindingsListContainer, new Delegate(), [new KeybindingItemRenderer(this, this.instantiationService)], this.keybindingsList = this._register(this.instantiationService.createInstance(WorkbenchList, this.keybindingsListContainer, new Delegate(), [new KeybindingItemRenderer(this, this.instantiationService)], {
{
identityProvider: { getId: (e: IListEntry) => e.id }, identityProvider: { getId: (e: IListEntry) => e.id },
ariaLabel: localize('keybindingsLabel', "Keybindings"), ariaLabel: localize('keybindingsLabel', "Keybindings"),
setRowLineHeight: false, setRowLineHeight: false,
horizontalScrolling: false horizontalScrolling: false
})) as WorkbenchList<IListEntry>; }));
this._register(this.keybindingsList.onContextMenu(e => this.onContextMenu(e))); this._register(this.keybindingsList.onContextMenu(e => this.onContextMenu(e)));
this._register(this.keybindingsList.onFocusChange(e => this.onFocusChange(e))); this._register(this.keybindingsList.onFocusChange(e => this.onFocusChange(e)));
this._register(this.keybindingsList.onDidFocus(() => { this._register(this.keybindingsList.onDidFocus(() => {
......
...@@ -245,7 +245,7 @@ export class MainPanel extends ViewletPanel { ...@@ -245,7 +245,7 @@ export class MainPanel extends ViewletPanel {
this.list = this.instantiationService.createInstance(WorkbenchList, container, delegate, [renderer], { this.list = this.instantiationService.createInstance(WorkbenchList, container, delegate, [renderer], {
identityProvider, identityProvider,
horizontalScrolling: false horizontalScrolling: false
}) as WorkbenchList<ISCMRepository>; });
this._register(renderer.onDidRenderElement(e => this.list.updateWidth(this.viewModel.repositories.indexOf(e)), null)); this._register(renderer.onDidRenderElement(e => this.list.updateWidth(this.viewModel.repositories.indexOf(e)), null));
this._register(this.list.onSelectionChange(this.onListSelectionChange, this)); this._register(this.list.onSelectionChange(this.onListSelectionChange, this));
...@@ -850,7 +850,7 @@ export class RepositoryPanel extends ViewletPanel { ...@@ -850,7 +850,7 @@ export class RepositoryPanel extends ViewletPanel {
identityProvider: scmResourceIdentityProvider, identityProvider: scmResourceIdentityProvider,
keyboardNavigationLabelProvider: scmKeyboardNavigationLabelProvider, keyboardNavigationLabelProvider: scmKeyboardNavigationLabelProvider,
horizontalScrolling: false horizontalScrolling: false
}) as WorkbenchList<ISCMResourceGroup | ISCMResource>; });
this._register(Event.chain(this.list.onDidOpen) this._register(Event.chain(this.list.onDidOpen)
.map(e => e.elements[0]) .map(e => e.elements[0])
......
...@@ -633,7 +633,7 @@ export class SearchView extends ViewletPanel { ...@@ -633,7 +633,7 @@ export class SearchView extends ViewletPanel {
}; };
this.treeLabels = this._register(this.instantiationService.createInstance(ResourceLabels, { onDidChangeVisibility: this.onDidChangeBodyVisibility })); this.treeLabels = this._register(this.instantiationService.createInstance(ResourceLabels, { onDidChangeVisibility: this.onDidChangeBodyVisibility }));
this.tree = this._register(<WorkbenchObjectTree<RenderableMatch, any>>this.instantiationService.createInstance(WorkbenchObjectTree, this.tree = this._register(this.instantiationService.createInstance(WorkbenchObjectTree,
this.resultsElement, this.resultsElement,
delegate, delegate,
[ [
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册