Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(698)

Unified Diff: third_party/WebKit/Source/devtools/front_end/settings/SettingsScreen.js

Issue 2744883003: DevTools: generalize setting UI for enum/select settings (Closed)
Patch Set: rebase and keep settings pure Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/devtools/front_end/settings/SettingsScreen.js
diff --git a/third_party/WebKit/Source/devtools/front_end/settings/SettingsScreen.js b/third_party/WebKit/Source/devtools/front_end/settings/SettingsScreen.js
index 98471961f8663bb191dddf95c1cf6fe35e749a5b..f09da2c4a42910e167480eba24657d143c43179b 100644
--- a/third_party/WebKit/Source/devtools/front_end/settings/SettingsScreen.js
+++ b/third_party/WebKit/Source/devtools/front_end/settings/SettingsScreen.js
@@ -132,29 +132,6 @@ Settings.SettingsTab = class extends UI.VBox {
block.createChild('div', 'help-section-title').textContent = name;
return block;
}
-
- _createSelectSetting(name, options, setting) {
- var p = createElement('p');
- p.createChild('label').textContent = name;
-
- var select = p.createChild('select', 'chrome-select');
- var settingValue = setting.get();
-
- for (var i = 0; i < options.length; ++i) {
- var option = options[i];
- select.add(new Option(option[0], option[1]));
- if (settingValue === option[1])
- select.selectedIndex = i;
- }
-
- function changeListener(e) {
- // Don't use e.target.value to avoid conversion of the value to string.
- setting.set(options[select.selectedIndex][1]);
- }
-
- select.addEventListener('change', changeListener, false);
- return p;
- }
};
/**
@@ -218,15 +195,7 @@ Settings.GenericSettingsTab = class extends Settings.SettingsTab {
settingControl = UI.SettingsUI.createSettingCheckbox(uiTitle, setting);
break;
case 'enum':
- var descriptorOptions = descriptor['options'];
- var options = new Array(descriptorOptions.length);
- for (var i = 0; i < options.length; ++i) {
- // The "raw" flag indicates text is non-i18n-izable.
- var optionName = descriptorOptions[i]['raw'] ? descriptorOptions[i]['text'] :
- Common.UIString(descriptorOptions[i]['text']);
- options[i] = [optionName, descriptorOptions[i]['value']];
- }
- settingControl = this._createSelectSetting(uiTitle, options, setting);
+ settingControl = UI.SettingsUI.createSettingSelect(uiTitle, descriptor['options'], setting);
break;
default:
console.error('Invalid setting type: ' + descriptor['settingType']);

Powered by Google App Engine
This is Rietveld 408576698