@@ -18,8 +18,6 @@ import { IObjectTreeOptions } from 'vs/base/browser/ui/tree/objectTree';
18
18
import { ObjectTreeModel } from 'vs/base/browser/ui/tree/objectTreeModel' ;
19
19
import { ITreeFilter , ITreeModel , ITreeNode , ITreeRenderer , TreeFilterResult , TreeVisibility } from 'vs/base/browser/ui/tree/tree' ;
20
20
import { 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' ;
23
21
import { onUnexpectedError } from 'vs/base/common/errors' ;
24
22
import { Emitter , Event } from 'vs/base/common/event' ;
25
23
import { KeyCode } from 'vs/base/common/keyCodes' ;
@@ -64,7 +62,7 @@ import { getIndicatorsLabelAriaLabel, ISettingOverrideClickEvent, SettingsTreeIn
64
62
import { ILanguageService } from 'vs/editor/common/languages/language' ;
65
63
import { ConfigurationScope } from 'vs/platform/configuration/common/configurationRegistry' ;
66
64
import { 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' ;
68
66
69
67
const $ = DOM . $ ;
70
68
@@ -97,7 +95,7 @@ function areAllPropertiesDefined(properties: string[], itemsToDisplay: IObjectDa
97
95
98
96
function getEnumOptionsFromSchema ( schema : IJSONSchema ) : IObjectEnumOption [ ] {
99
97
if ( schema . anyOf ) {
100
- return arrays . flatten ( schema . anyOf . map ( getEnumOptionsFromSchema ) ) ;
98
+ return schema . anyOf . map ( getEnumOptionsFromSchema ) . flat ( ) ;
101
99
}
102
100
103
101
const enumDescriptions = schema . enumDescriptions ?? [ ] ;
@@ -425,8 +423,7 @@ export async function createTocTreeForExtensionSettings(extensionService: IExten
425
423
extGroupTree . get ( extensionId ) ! . children ! . push ( childEntry ) ;
426
424
} ;
427
425
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 ( ) ;
430
427
431
428
const extensionId = group . extensionInfo ! . id ;
432
429
const extension = await extensionService . getExtension ( extensionId ) ;
@@ -509,7 +506,7 @@ function _resolveSettingsTree(tocData: ITOCEntry<string>, allSettings: Set<ISett
509
506
510
507
let settings : ISetting [ ] | undefined ;
511
508
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 ( ) ;
513
510
}
514
511
515
512
if ( ! children && ! settings ) {
@@ -619,7 +616,7 @@ interface ISettingEnumItemTemplate extends ISettingItemTemplate<number> {
619
616
}
620
617
621
618
interface ISettingComplexItemTemplate extends ISettingItemTemplate < void > {
622
- button : Button ;
619
+ button : HTMLElement ;
623
620
validationErrorMessageElement : HTMLElement ;
624
621
}
625
622
@@ -1051,17 +1048,9 @@ export class SettingComplexRenderer extends AbstractSettingRenderer implements I
1051
1048
renderTemplate ( container : HTMLElement ) : ISettingComplexItemTemplate {
1052
1049
const common = this . renderCommonTemplate ( null , container , 'complex' ) ;
1053
1050
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' ;
1065
1054
1066
1055
const validationErrorMessageElement = $ ( '.setting-item-validation-message' ) ;
1067
1056
common . containerElement . appendChild ( validationErrorMessageElement ) ;
@@ -1085,11 +1074,11 @@ export class SettingComplexRenderer extends AbstractSettingRenderer implements I
1085
1074
const plainKey = getLanguageTagSettingPlainKey ( dataElement . setting . key ) ;
1086
1075
const editLanguageSettingLabel = localize ( 'editLanguageSettingLabel' , "Edit settings for {0}" , plainKey ) ;
1087
1076
const isLanguageTagSetting = dataElement . setting . isLanguageTagSetting ;
1088
- template . button . label = isLanguageTagSetting
1077
+ template . button . textContent = isLanguageTagSetting
1089
1078
? editLanguageSettingLabel
1090
1079
: SettingComplexRenderer . EDIT_IN_JSON_LABEL ;
1091
1080
1092
- template . elementDisposables . add ( template . button . onDidClick ( ( ) => {
1081
+ template . elementDisposables . add ( DOM . addDisposableListener ( template . button , DOM . EventType . CLICK , ( ) => {
1093
1082
if ( isLanguageTagSetting ) {
1094
1083
this . _onApplyFilter . fire ( `@${ LANGUAGE_SETTING_TAG } ${ plainKey } ` ) ;
1095
1084
} else {
@@ -1100,9 +1089,9 @@ export class SettingComplexRenderer extends AbstractSettingRenderer implements I
1100
1089
this . renderValidations ( dataElement , template ) ;
1101
1090
1102
1091
if ( isLanguageTagSetting ) {
1103
- template . button . element . setAttribute ( 'aria-label' , editLanguageSettingLabel ) ;
1092
+ template . button . setAttribute ( 'aria-label' , editLanguageSettingLabel ) ;
1104
1093
} 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 } ` ) ;
1106
1095
}
1107
1096
}
1108
1097
0 commit comments