@@ -18,8 +18,6 @@ import { IObjectTreeOptions } from 'vs/base/browser/ui/tree/objectTree';
1818import { ObjectTreeModel } from 'vs/base/browser/ui/tree/objectTreeModel' ;
1919import { ITreeFilter , ITreeModel , ITreeNode , ITreeRenderer , TreeFilterResult , TreeVisibility } from 'vs/base/browser/ui/tree/tree' ;
2020import { Action , IAction , Separator } from 'vs/base/common/actions' ;
21- import * as arrays from 'vs/base/common/arrays' ;
22- import { Color } from 'vs/base/common/color' ;
2321import { onUnexpectedError } from 'vs/base/common/errors' ;
2422import { Emitter , Event } from 'vs/base/common/event' ;
2523import { KeyCode } from 'vs/base/common/keyCodes' ;
@@ -64,7 +62,7 @@ import { getIndicatorsLabelAriaLabel, ISettingOverrideClickEvent, SettingsTreeIn
6462import { ILanguageService } from 'vs/editor/common/languages/language' ;
6563import { ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry' ;
6664import { IUserDataProfilesService } from 'vs/platform/userDataProfile/common/userDataProfile' ;
67- import { defaultButtonStyles , getButtonStyles , getInputBoxStyle } from 'vs/platform/theme/browser/defaultStyles' ;
65+ import { defaultButtonStyles , getInputBoxStyle } from 'vs/platform/theme/browser/defaultStyles' ;
6866
6967const $ = DOM . $ ;
7068
@@ -97,7 +95,7 @@ function areAllPropertiesDefined(properties: string[], itemsToDisplay: IObjectDa
9795
9896function getEnumOptionsFromSchema ( schema : IJSONSchema ) : IObjectEnumOption [ ] {
9997 if ( schema . anyOf ) {
100- return arrays . flatten ( schema . anyOf . map ( getEnumOptionsFromSchema ) ) ;
98+ return schema . anyOf . map ( getEnumOptionsFromSchema ) . flat ( ) ;
10199 }
102100
103101 const enumDescriptions = schema . enumDescriptions ?? [ ] ;
@@ -425,8 +423,7 @@ export async function createTocTreeForExtensionSettings(extensionService: IExten
425423 extGroupTree . get ( extensionId ) ! . children ! . push ( childEntry ) ;
426424 } ;
427425 const processGroupEntry = async ( group : ISettingsGroup ) => {
428- const flatSettings = arrays . flatten (
429- group . sections . map ( section => section . settings ) ) ;
426+ const flatSettings = group . sections . map ( section => section . settings ) . flat ( ) ;
430427
431428 const extensionId = group . extensionInfo ! . id ;
432429 const extension = await extensionService . getExtension ( extensionId ) ;
@@ -509,7 +506,7 @@ function _resolveSettingsTree(tocData: ITOCEntry<string>, allSettings: Set<ISett
509506
510507 let settings : ISetting [ ] | undefined ;
511508 if ( tocData . settings ) {
512- settings = arrays . flatten ( tocData . settings . map ( pattern => getMatchingSettings ( allSettings , pattern , logService ) ) ) ;
509+ settings = tocData . settings . map ( pattern => getMatchingSettings ( allSettings , pattern , logService ) ) . flat ( ) ;
513510 }
514511
515512 if ( ! children && ! settings ) {
@@ -619,7 +616,7 @@ interface ISettingEnumItemTemplate extends ISettingItemTemplate<number> {
619616}
620617
621618interface ISettingComplexItemTemplate extends ISettingItemTemplate < void > {
622- button : Button ;
619+ button : HTMLElement ;
623620 validationErrorMessageElement : HTMLElement ;
624621}
625622
@@ -1051,17 +1048,9 @@ export class SettingComplexRenderer extends AbstractSettingRenderer implements I
10511048 renderTemplate ( container : HTMLElement ) : ISettingComplexItemTemplate {
10521049 const common = this . renderCommonTemplate ( null , container , 'complex' ) ;
10531050
1054- const openSettingsButton = new Button ( common . controlElement , {
1055- title : true , ...getButtonStyles ( {
1056- buttonBackground : Color . transparent . toString ( ) ,
1057- buttonHoverBackground : Color . transparent . toString ( ) ,
1058- buttonForeground : 'foreground'
1059- } )
1060- } ) ;
1061- common . toDispose . add ( openSettingsButton ) ;
1062-
1063- openSettingsButton . element . classList . add ( 'edit-in-settings-button' ) ;
1064- openSettingsButton . element . classList . add ( AbstractSettingRenderer . CONTROL_CLASS ) ;
1051+ const openSettingsButton = DOM . append ( common . controlElement , $ ( 'a.edit-in-settings-button' ) ) ;
1052+ openSettingsButton . classList . add ( AbstractSettingRenderer . CONTROL_CLASS ) ;
1053+ openSettingsButton . role = 'button' ;
10651054
10661055 const validationErrorMessageElement = $ ( '.setting-item-validation-message' ) ;
10671056 common . containerElement . appendChild ( validationErrorMessageElement ) ;
@@ -1085,11 +1074,11 @@ export class SettingComplexRenderer extends AbstractSettingRenderer implements I
10851074 const plainKey = getLanguageTagSettingPlainKey ( dataElement . setting . key ) ;
10861075 const editLanguageSettingLabel = localize ( 'editLanguageSettingLabel' , "Edit settings for {0}" , plainKey ) ;
10871076 const isLanguageTagSetting = dataElement . setting . isLanguageTagSetting ;
1088- template . button . label = isLanguageTagSetting
1077+ template . button . textContent = isLanguageTagSetting
10891078 ? editLanguageSettingLabel
10901079 : SettingComplexRenderer . EDIT_IN_JSON_LABEL ;
10911080
1092- template . elementDisposables . add ( template . button . onDidClick ( ( ) => {
1081+ template . elementDisposables . add ( DOM . addDisposableListener ( template . button , DOM . EventType . CLICK , ( ) => {
10931082 if ( isLanguageTagSetting ) {
10941083 this . _onApplyFilter . fire ( `@${ LANGUAGE_SETTING_TAG } ${ plainKey } ` ) ;
10951084 } else {
@@ -1100,9 +1089,9 @@ export class SettingComplexRenderer extends AbstractSettingRenderer implements I
11001089 this . renderValidations ( dataElement , template ) ;
11011090
11021091 if ( isLanguageTagSetting ) {
1103- template . button . element . setAttribute ( 'aria-label' , editLanguageSettingLabel ) ;
1092+ template . button . setAttribute ( 'aria-label' , editLanguageSettingLabel ) ;
11041093 } else {
1105- template . button . element . setAttribute ( 'aria-label' , `${ SettingComplexRenderer . EDIT_IN_JSON_LABEL } : ${ dataElement . setting . key } ` ) ;
1094+ template . button . setAttribute ( 'aria-label' , `${ SettingComplexRenderer . EDIT_IN_JSON_LABEL } : ${ dataElement . setting . key } ` ) ;
11061095 }
11071096 }
11081097
0 commit comments