OLD | NEW |
---|---|
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.autofillOptions', function() { | 5 cr.define('options.autofillOptions', function() { |
6 const DeletableItem = options.DeletableItem; | 6 const DeletableItem = options.DeletableItem; |
7 const DeletableItemList = options.DeletableItemList; | 7 const DeletableItemList = options.DeletableItemList; |
8 const InlineEditableItem = options.InlineEditableItem; | 8 const InlineEditableItem = options.InlineEditableItem; |
9 const InlineEditableItemList = options.InlineEditableItemList; | 9 const InlineEditableItemList = options.InlineEditableItemList; |
10 | 10 |
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
162 | 162 |
163 /** | 163 /** |
164 * Called when committing an edit. Committing a non-empty value adds it | 164 * Called when committing an edit. Committing a non-empty value adds it |
165 * to the end of the values list, leaving this "AddRow" in place. | 165 * to the end of the values list, leaving this "AddRow" in place. |
166 * @param {Event} e The end event. | 166 * @param {Event} e The end event. |
167 * @extends {options.ValuesListItem} | 167 * @extends {options.ValuesListItem} |
168 * @private | 168 * @private |
169 */ | 169 */ |
170 onEditCommitted_: function(e) { | 170 onEditCommitted_: function(e) { |
171 var i = this.list.items.indexOf(this); | 171 var i = this.list.items.indexOf(this); |
172 if (i < 0 || i >= this.list.dataModel.length) | 172 if (i < 0 || i >= this.list.dataModel.length || !this.input.value.length) |
173 return; | 173 return; |
174 | 174 |
175 if (this.input.value && | 175 if (this.input.value && |
176 this.list.dataModel.indexOf(this.input.value) == -1) { | 176 this.list.dataModel.indexOf(this.input.value) == -1) { |
177 // It is important that updateIndex is done before validateAndSave. | 177 // It is important that updateIndex is done before validateAndSave. |
178 // Otherwise we can not be sure about AddRow index. | 178 // Otherwise we can not be sure about AddRow index. |
179 this.list.dataModel.updateIndex(i); | 179 this.list.dataModel.updateIndex(i); |
180 this.list.validateAndSave(i, 0, this.input.value); | 180 this.list.validateAndSave(i, 0, this.input.value); |
181 } else { | 181 } else { |
182 this.input.value = ''; | 182 this.input.value = ''; |
183 this.list.dataModel.updateIndex(i); | |
184 } | 183 } |
185 }, | 184 }, |
186 }; | 185 }; |
187 | 186 |
188 /** | 187 /** |
189 * Create a new address list. | 188 * Create a new address list. |
190 * @constructor | 189 * @constructor |
191 * @extends {options.DeletableItemList} | 190 * @extends {options.DeletableItemList} |
192 */ | 191 */ |
193 var AutofillAddressList = cr.ui.define('list'); | 192 var AutofillAddressList = cr.ui.define('list'); |
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
300 return new ValuesListItem(this, entry); | 299 return new ValuesListItem(this, entry); |
301 else | 300 else |
302 return new ValuesAddRowListItem(this); | 301 return new ValuesAddRowListItem(this); |
303 }, | 302 }, |
304 | 303 |
305 /** @inheritDoc */ | 304 /** @inheritDoc */ |
306 deleteItemAtIndex: function(index) { | 305 deleteItemAtIndex: function(index) { |
307 this.dataModel.splice(index, 1); | 306 this.dataModel.splice(index, 1); |
308 }, | 307 }, |
309 | 308 |
309 /** @inheritDoc */ | |
310 shouldFocusPlaceholder: function() { | |
csilv
2011/08/10 17:55:25
odd that we consider "placeholder" a word? not su
| |
311 return false; | |
312 }, | |
313 | |
310 /** | 314 /** |
311 * Called when a new list item should be validated; subclasses are | 315 * Called when a new list item should be validated; subclasses are |
312 * responsible for implementing if validation is required. | 316 * responsible for implementing if validation is required. |
313 * @param {number} index The index of the item that was inserted or changed. | 317 * @param {number} index The index of the item that was inserted or changed. |
314 * @param {number} remove The number items to remove. | 318 * @param {number} remove The number items to remove. |
315 * @param {string} value The value of the item to insert. | 319 * @param {string} value The value of the item to insert. |
316 */ | 320 */ |
317 validateAndSave: function(index, remove, value) { | 321 validateAndSave: function(index, remove, value) { |
318 this.dataModel.splice(index, remove, value); | 322 this.dataModel.splice(index, remove, value); |
319 }, | 323 }, |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
376 CreditCardListItem: CreditCardListItem, | 380 CreditCardListItem: CreditCardListItem, |
377 ValuesListItem: ValuesListItem, | 381 ValuesListItem: ValuesListItem, |
378 ValuesAddRowListItem: ValuesAddRowListItem, | 382 ValuesAddRowListItem: ValuesAddRowListItem, |
379 AutofillAddressList: AutofillAddressList, | 383 AutofillAddressList: AutofillAddressList, |
380 AutofillCreditCardList: AutofillCreditCardList, | 384 AutofillCreditCardList: AutofillCreditCardList, |
381 AutofillValuesList: AutofillValuesList, | 385 AutofillValuesList: AutofillValuesList, |
382 AutofillPhoneValuesList: AutofillPhoneValuesList, | 386 AutofillPhoneValuesList: AutofillPhoneValuesList, |
383 AutofillFaxValuesList: AutofillFaxValuesList, | 387 AutofillFaxValuesList: AutofillFaxValuesList, |
384 }; | 388 }; |
385 }); | 389 }); |
OLD | NEW |