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

Side by Side Diff: chrome/browser/resources/print_preview/settings/advanced_settings/advanced_settings_item.js

Issue 2939273002: DO NOT SUBMIT: what chrome/browser/resources/ could eventually look like with clang-format (Closed)
Patch Set: Created 3 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 /** 4 /**
5 * Specifies a custom vendor capability. 5 * Specifies a custom vendor capability.
6 * @typedef {{ 6 * @typedef {{
7 * id: (string), 7 * id: (string),
8 * display_name: (string), 8 * display_name: (string),
9 * localized_display_name: (string | undefined), 9 * localized_display_name: (string | undefined),
10 * type: (string), 10 * type: (string),
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 68
69 /** @private {!EventTracker} */ 69 /** @private {!EventTracker} */
70 this.tracker_ = new EventTracker(); 70 this.tracker_ = new EventTracker();
71 } 71 }
72 72
73 AdvancedSettingsItem.prototype = { 73 AdvancedSettingsItem.prototype = {
74 __proto__: print_preview.Component.prototype, 74 __proto__: print_preview.Component.prototype,
75 75
76 /** @override */ 76 /** @override */
77 createDom: function() { 77 createDom: function() {
78 this.setElementInternal(this.cloneTemplateInternal( 78 this.setElementInternal(
79 'advanced-settings-item-template')); 79 this.cloneTemplateInternal('advanced-settings-item-template'));
80 80
81 this.tracker_.add( 81 this.tracker_.add(
82 this.select_, 'change', this.onSelectChange_.bind(this)); 82 this.select_, 'change', this.onSelectChange_.bind(this));
83 this.tracker_.add(this.text_, 'input', this.onTextInput_.bind(this)); 83 this.tracker_.add(this.text_, 'input', this.onTextInput_.bind(this));
84 84
85 this.initializeValue_(); 85 this.initializeValue_();
86 86
87 this.renderCapability_(); 87 this.renderCapability_();
88 }, 88 },
89 89
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
128 get select_() { 128 get select_() {
129 return /** @type {!HTMLSelectElement} */ ( 129 return /** @type {!HTMLSelectElement} */ (
130 this.getChildElement('.advanced-settings-item-value-select-control')); 130 this.getChildElement('.advanced-settings-item-value-select-control'));
131 }, 131 },
132 132
133 /** 133 /**
134 * @return {!HTMLSelectElement} Text element. 134 * @return {!HTMLSelectElement} Text element.
135 * @private 135 * @private
136 */ 136 */
137 get text_() { 137 get text_() {
138 return /** @type {!HTMLSelectElement} */( 138 return /** @type {!HTMLSelectElement} */ (
139 this.getChildElement('.advanced-settings-item-value-text-control')); 139 this.getChildElement('.advanced-settings-item-value-text-control'));
140 }, 140 },
141 141
142 /** 142 /**
143 * Called when the select element value is changed. 143 * Called when the select element value is changed.
144 * @private 144 * @private
145 */ 145 */
146 onSelectChange_: function() { 146 onSelectChange_: function() {
147 this.selectedValue_ = this.select_.value; 147 this.selectedValue_ = this.select_.value;
148 }, 148 },
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
188 // Whether capability name matches the query. 188 // Whether capability name matches the query.
189 var nameMatches = this.query_ ? !!textContent.match(this.query_) : true; 189 var nameMatches = this.query_ ? !!textContent.match(this.query_) : true;
190 // An array of text segments of the capability value matching the query. 190 // An array of text segments of the capability value matching the query.
191 var optionMatches = null; 191 var optionMatches = null;
192 if (this.query_) { 192 if (this.query_) {
193 if (this.capability_.type == 'SELECT') { 193 if (this.capability_.type == 'SELECT') {
194 // Look for the first option that matches the query. 194 // Look for the first option that matches the query.
195 for (var i = 0; i < this.select_.length && !optionMatches; i++) 195 for (var i = 0; i < this.select_.length && !optionMatches; i++)
196 optionMatches = this.select_.options[i].text.match(this.query_); 196 optionMatches = this.select_.options[i].text.match(this.query_);
197 } else { 197 } else {
198 optionMatches = (this.text_.value || this.text_.placeholder || '') 198 optionMatches = (this.text_.value || this.text_.placeholder ||
199 .match(this.query_); 199 '').match(this.query_);
200 } 200 }
201 } 201 }
202 var matches = nameMatches || !!optionMatches; 202 var matches = nameMatches || !!optionMatches;
203 203
204 if (!optionMatches) 204 if (!optionMatches)
205 this.hideSearchBubble_(); 205 this.hideSearchBubble_();
206 206
207 setIsVisible(this.getElement(), matches); 207 setIsVisible(this.getElement(), matches);
208 if (!matches) 208 if (!matches)
209 return; 209 return;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
260 this.initializeSelectValue_(); 260 this.initializeSelectValue_();
261 else 261 else
262 this.initializeTextValue_(); 262 this.initializeTextValue_();
263 }, 263 },
264 264
265 /** 265 /**
266 * Initializes the select element. 266 * Initializes the select element.
267 * @private 267 * @private
268 */ 268 */
269 initializeSelectValue_: function() { 269 initializeSelectValue_: function() {
270 setIsVisible(assert(this.getChildElement( 270 setIsVisible(
271 '.advanced-settings-item-value-select')), true); 271 assert(this.getChildElement('.advanced-settings-item-value-select')),
272 true);
272 var selectEl = this.select_; 273 var selectEl = this.select_;
273 var indexToSelect = 0; 274 var indexToSelect = 0;
274 this.capability_.select_cap.option.forEach(function(option, index) { 275 this.capability_.select_cap.option.forEach(function(option, index) {
275 var item = document.createElement('option'); 276 var item = document.createElement('option');
276 item.text = this.getEntityDisplayName_(option); 277 item.text = this.getEntityDisplayName_(option);
277 item.value = option.value; 278 item.value = option.value;
278 if (option.is_default) 279 if (option.is_default)
279 indexToSelect = index; 280 indexToSelect = index;
280 selectEl.appendChild(item); 281 selectEl.appendChild(item);
281 }, this); 282 }, this);
282 for (var i = 0, option; (option = selectEl.options[i]); i++) { 283 for (var i = 0, option; (option = selectEl.options[i]); i++) {
283 if (option.value == this.selectedValue_) { 284 if (option.value == this.selectedValue_) {
284 indexToSelect = i; 285 indexToSelect = i;
285 break; 286 break;
286 } 287 }
287 } 288 }
288 selectEl.selectedIndex = indexToSelect; 289 selectEl.selectedIndex = indexToSelect;
289 }, 290 },
290 291
291 /** 292 /**
292 * Initializes the text element. 293 * Initializes the text element.
293 * @private 294 * @private
294 */ 295 */
295 initializeTextValue_: function() { 296 initializeTextValue_: function() {
296 setIsVisible(assert(this.getChildElement( 297 setIsVisible(
297 '.advanced-settings-item-value-text')), true); 298 assert(this.getChildElement('.advanced-settings-item-value-text')),
299 true);
298 300
299 var defaultValue = null; 301 var defaultValue = null;
300 if (this.capability_.type == 'TYPED_VALUE' && 302 if (this.capability_.type == 'TYPED_VALUE' &&
301 this.capability_.typed_value_cap) { 303 this.capability_.typed_value_cap) {
302 defaultValue = this.capability_.typed_value_cap.default || null; 304 defaultValue = this.capability_.typed_value_cap.default || null;
303 } else if (this.capability_.type == 'RANGE' && 305 } else if (
304 this.capability_.range_cap) { 306 this.capability_.type == 'RANGE' && this.capability_.range_cap) {
305 defaultValue = this.capability_.range_cap.default || null; 307 defaultValue = this.capability_.range_cap.default || null;
306 } 308 }
307 309
308 this.text_.placeholder = defaultValue || ''; 310 this.text_.placeholder = defaultValue || '';
309 311
310 this.text_.value = this.selectedValue; 312 this.text_.value = this.selectedValue;
311 }, 313 },
312 314
313 /** 315 /**
314 * Adds text to parent element wrapping search query matches in highlighted 316 * Adds text to parent element wrapping search query matches in highlighted
(...skipping 10 matching lines...) Expand all
325 var span = document.createElement('span'); 327 var span = document.createElement('span');
326 span.className = 'advanced-settings-item-query-highlight'; 328 span.className = 'advanced-settings-item-query-highlight';
327 span.textContent = section; 329 span.textContent = section;
328 parent.appendChild(span); 330 parent.appendChild(span);
329 } 331 }
330 }); 332 });
331 } 333 }
332 }; 334 };
333 335
334 // Export 336 // Export
335 return { 337 return {AdvancedSettingsItem: AdvancedSettingsItem};
336 AdvancedSettingsItem: AdvancedSettingsItem
337 };
338 }); 338 });
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698