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

Side by Side Diff: chrome/browser/resources/options/inline_editable_list.js

Issue 7566013: Options: Fix the startup pages list. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « chrome/browser/resources/options/browser_options.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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 cr.define('options', function() { 5 cr.define('options', function() {
6 const DeletableItem = options.DeletableItem; 6 const DeletableItem = options.DeletableItem;
7 const DeletableItemList = options.DeletableItemList; 7 const DeletableItemList = options.DeletableItemList;
8 8
9 /** 9 /**
10 * Creates a new list item with support for inline editing. 10 * Creates a new list item with support for inline editing.
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 this.addEventListener('keydown', this.handleKeyDown_); 76 this.addEventListener('keydown', this.handleKeyDown_);
77 this.addEventListener('leadChange', this.handleLeadChange_); 77 this.addEventListener('leadChange', this.handleLeadChange_);
78 }, 78 },
79 79
80 /** @inheritDoc */ 80 /** @inheritDoc */
81 selectionChanged: function() { 81 selectionChanged: function() {
82 this.updateEditState(); 82 this.updateEditState();
83 }, 83 },
84 84
85 /** 85 /**
86 * Called when the input element receives focus. Selects this item in the
87 * list selection model.
88 * @private
89 */
90 handleFocus_: function() {
91 var list = this.parentNode;
92 var index = list.getIndexOfListItem(this);
93 list.selectionModel.selectedIndex = index;
94 list.selectionModel.anchorIndex = index;
95 },
96
97 /**
86 * Called when this element gains or loses 'lead' status. Updates editing 98 * Called when this element gains or loses 'lead' status. Updates editing
87 * mode accordingly. 99 * mode accordingly.
88 * @private 100 * @private
89 */ 101 */
90 handleLeadChange_: function() { 102 handleLeadChange_: function() {
91 this.updateEditState(); 103 this.updateEditState();
92 }, 104 },
93 105
94 /** 106 /**
95 * Updates the edit state based on the current selected and lead states. 107 * Updates the edit state based on the current selected and lead states.
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 container.appendChild(textEl); 236 container.appendChild(textEl);
225 } 237 }
226 238
227 var inputEl = this.ownerDocument.createElement('input'); 239 var inputEl = this.ownerDocument.createElement('input');
228 inputEl.type = 'text'; 240 inputEl.type = 'text';
229 inputEl.value = text; 241 inputEl.value = text;
230 if (!this.isPlaceholder) { 242 if (!this.isPlaceholder) {
231 inputEl.setAttribute('displaymode', 'edit'); 243 inputEl.setAttribute('displaymode', 'edit');
232 inputEl.staticVersion = textEl; 244 inputEl.staticVersion = textEl;
233 } 245 }
246 inputEl.addEventListener('focus', this.handleFocus_.bind(this));
234 container.appendChild(inputEl); 247 container.appendChild(inputEl);
235 this.editFields_.push(inputEl); 248 this.editFields_.push(inputEl);
236 249
237 return container; 250 return container;
238 }, 251 },
239 252
240 /** 253 /**
241 * Resets the editable version of any controls created by createEditable* 254 * Resets the editable version of any controls created by createEditable*
242 * to match the static text. 255 * to match the static text.
243 * @private 256 * @private
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 } 385 }
373 }, 386 },
374 }; 387 };
375 388
376 // Export 389 // Export
377 return { 390 return {
378 InlineEditableItem: InlineEditableItem, 391 InlineEditableItem: InlineEditableItem,
379 InlineEditableItemList: InlineEditableItemList, 392 InlineEditableItemList: InlineEditableItemList,
380 }; 393 };
381 }); 394 });
OLDNEW
« no previous file with comments | « chrome/browser/resources/options/browser_options.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698