OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 */ var ArrayDataModel = cr.ui.ArrayDataModel; | 6 /** @const */ var ArrayDataModel = cr.ui.ArrayDataModel; |
7 /** @const */ var DeletableItem = options.DeletableItem; | 7 /** @const */ var DeletableItem = options.DeletableItem; |
8 /** @const */ var DeletableItemList = options.DeletableItemList; | 8 /** @const */ var DeletableItemList = options.DeletableItemList; |
9 /** @const */ var List = cr.ui.List; | 9 /** @const */ var List = cr.ui.List; |
10 /** @const */ var ListItem = cr.ui.ListItem; | 10 /** @const */ var ListItem = cr.ui.ListItem; |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 /** @override */ | 110 /** @override */ |
111 decorate: function() { | 111 decorate: function() { |
112 DeletableItemList.prototype.decorate.call(this); | 112 DeletableItemList.prototype.decorate.call(this); |
113 this.selectionModel = new ListSingleSelectionModel; | 113 this.selectionModel = new ListSingleSelectionModel; |
114 | 114 |
115 // HACK(arv): http://crbug.com/40902 | 115 // HACK(arv): http://crbug.com/40902 |
116 window.addEventListener('resize', this.redraw.bind(this)); | 116 window.addEventListener('resize', this.redraw.bind(this)); |
117 | 117 |
118 // Listen to pref change. | 118 // Listen to pref change. |
119 if (cr.isChromeOS) { | 119 if (cr.isChromeOS) { |
120 Preferences.getInstance().addEventListener(this.preferredLanguagesPref, | 120 Preferences.getInstance().addEventListener( |
| 121 this.preferredLanguagesPref, |
121 this.handlePreferredLanguagesPrefChange_.bind(this)); | 122 this.handlePreferredLanguagesPrefChange_.bind(this)); |
122 } else { | 123 } else { |
123 Preferences.getInstance().addEventListener(this.acceptLanguagesPref, | 124 Preferences.getInstance().addEventListener( |
| 125 this.acceptLanguagesPref, |
124 this.handleAcceptLanguagesPrefChange_.bind(this)); | 126 this.handleAcceptLanguagesPrefChange_.bind(this)); |
125 } | 127 } |
126 | 128 |
127 // Listen to drag and drop events. | 129 // Listen to drag and drop events. |
128 this.addEventListener('dragstart', this.handleDragStart_.bind(this)); | 130 this.addEventListener('dragstart', this.handleDragStart_.bind(this)); |
129 this.addEventListener('dragenter', this.handleDragEnter_.bind(this)); | 131 this.addEventListener('dragenter', this.handleDragEnter_.bind(this)); |
130 this.addEventListener('dragover', this.handleDragOver_.bind(this)); | 132 this.addEventListener('dragover', this.handleDragOver_.bind(this)); |
131 this.addEventListener('drop', this.handleDrop_.bind(this)); | 133 this.addEventListener('drop', this.handleDrop_.bind(this)); |
132 this.addEventListener('dragleave', this.handleDragLeave_.bind(this)); | 134 this.addEventListener('dragleave', this.handleDragLeave_.bind(this)); |
133 }, | 135 }, |
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
262 | 264 |
263 /** | 265 /** |
264 * Handles the dragover event. | 266 * Handles the dragover event. |
265 * @param {Event} e The dragover event. | 267 * @param {Event} e The dragover event. |
266 * @private | 268 * @private |
267 */ | 269 */ |
268 handleDragOver_: function(e) { | 270 handleDragOver_: function(e) { |
269 var dropTarget = this.getTargetFromDropEvent_(e); | 271 var dropTarget = this.getTargetFromDropEvent_(e); |
270 // Determines whether the drop target is to accept the drop. | 272 // Determines whether the drop target is to accept the drop. |
271 // The drop is only successful on another ListItem. | 273 // The drop is only successful on another ListItem. |
272 if (!(dropTarget instanceof ListItem) || | 274 if (!(dropTarget instanceof ListItem) || dropTarget == this.draggedItem) { |
273 dropTarget == this.draggedItem) { | |
274 this.hideDropMarker_(); | 275 this.hideDropMarker_(); |
275 return; | 276 return; |
276 } | 277 } |
277 // Compute the drop postion. Should we move the dragged item to | 278 // Compute the drop postion. Should we move the dragged item to |
278 // below or above the drop target? | 279 // below or above the drop target? |
279 var rect = dropTarget.getBoundingClientRect(); | 280 var rect = dropTarget.getBoundingClientRect(); |
280 var dy = e.clientY - rect.top; | 281 var dy = e.clientY - rect.top; |
281 var yRatio = dy / rect.height; | 282 var yRatio = dy / rect.height; |
282 var dropPos = yRatio <= .5 ? 'above' : 'below'; | 283 var dropPos = yRatio <= .5 ? 'above' : 'below'; |
283 this.dropPos = dropPos; | 284 this.dropPos = dropPos; |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
370 this.load_(languageCodes); | 371 this.load_(languageCodes); |
371 }, | 372 }, |
372 | 373 |
373 /** | 374 /** |
374 * Handles accept languages pref change. | 375 * Handles accept languages pref change. |
375 * @param {Event} e The change event object. | 376 * @param {Event} e The change event object. |
376 * @private | 377 * @private |
377 */ | 378 */ |
378 handleAcceptLanguagesPrefChange_: function(e) { | 379 handleAcceptLanguagesPrefChange_: function(e) { |
379 var languageCodesInCsv = e.value.value; | 380 var languageCodesInCsv = e.value.value; |
380 var languageCodes = this.filterBadLanguageCodes_( | 381 var languageCodes = |
381 languageCodesInCsv.split(',')); | 382 this.filterBadLanguageCodes_(languageCodesInCsv.split(',')); |
382 this.load_(languageCodes); | 383 this.load_(languageCodes); |
383 }, | 384 }, |
384 | 385 |
385 /** | 386 /** |
386 * Loads given language list. | 387 * Loads given language list. |
387 * @param {!Array} languageCodes List of language codes. | 388 * @param {!Array} languageCodes List of language codes. |
388 * @private | 389 * @private |
389 */ | 390 */ |
390 load_: function(languageCodes) { | 391 load_: function(languageCodes) { |
391 // Preserve the original selected index. See comments below. | 392 // Preserve the original selected index. See comments below. |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
430 if (LanguageList.isValidLanguageCode(languageCodes[i]) && | 431 if (LanguageList.isValidLanguageCode(languageCodes[i]) && |
431 !(languageCodes[i] in seen)) { | 432 !(languageCodes[i] in seen)) { |
432 filteredLanguageCodes.push(languageCodes[i]); | 433 filteredLanguageCodes.push(languageCodes[i]); |
433 seen[languageCodes[i]] = true; | 434 seen[languageCodes[i]] = true; |
434 } | 435 } |
435 } | 436 } |
436 return filteredLanguageCodes; | 437 return filteredLanguageCodes; |
437 }, | 438 }, |
438 }; | 439 }; |
439 | 440 |
440 return { | 441 return {LanguageList: LanguageList, LanguageListItem: LanguageListItem}; |
441 LanguageList: LanguageList, | |
442 LanguageListItem: LanguageListItem | |
443 }; | |
444 }); | 442 }); |
OLD | NEW |