add AriaProvider, #88553

This commit is contained in:
Johannes Rieken
2020-01-13 21:17:21 +01:00
committed by Martin Aeschlimann
parent 80c6acdf31
commit 1ea4d14894
2 changed files with 18 additions and 1 deletions
@@ -6,7 +6,7 @@
import 'vs/css!./bulkEdit';
import { WorkbenchAsyncDataTree } from 'vs/platform/list/browser/listService';
import { WorkspaceEdit } from 'vs/editor/common/modes';
import { BulkEditElement, BulkEditDelegate, TextEditElementRenderer, FileElementRenderer, BulkEditDataSource, BulkEditIdentityProvider, FileElement, TextEditElement, BulkEditAccessibilityProvider } from 'vs/workbench/contrib/bulkEdit/browser/bulkEditTree';
import { BulkEditElement, BulkEditDelegate, TextEditElementRenderer, FileElementRenderer, BulkEditDataSource, BulkEditIdentityProvider, FileElement, TextEditElement, BulkEditAccessibilityProvider, BulkEditAriaProvider } from 'vs/workbench/contrib/bulkEdit/browser/bulkEditTree';
import { FuzzyScore } from 'vs/base/common/filters';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { registerThemingParticipant, ITheme, ICssStyleCollector } from 'vs/platform/theme/common/themeService';
@@ -97,6 +97,7 @@ export class BulkEditPane extends ViewPane {
this._instaService.createInstance(BulkEditDataSource),
{
accessibilityProvider: this._instaService.createInstance(BulkEditAccessibilityProvider),
ariaProvider: new BulkEditAriaProvider(),
identityProvider: new BulkEditIdentityProvider(),
expandOnlyOnTwistieClick: true,
multipleSelectionSupport: false
@@ -20,6 +20,7 @@ import { FileKind } from 'vs/platform/files/common/files';
import { localize } from 'vs/nls';
import { ILabelService } from 'vs/platform/label/common/label';
import type { IAccessibilityProvider } from 'vs/base/browser/ui/list/listWidget';
import type { IAriaProvider } from 'vs/base/browser/ui/list/listView';
// --- VIEW MODEL
@@ -192,6 +193,21 @@ export class BulkEditIdentityProvider implements IIdentityProvider<BulkEditEleme
}
}
export class BulkEditAriaProvider implements IAriaProvider<BulkEditElement> {
getSetSize(_element: BulkEditElement, _index: number, listLength: number): number {
return listLength;
}
getPosInSet(_element: BulkEditElement, index: number): number {
return index;
}
getRole?(_element: BulkEditElement): string {
return 'checkbox';
}
}
// --- RENDERER
class FileElementTemplate {