| 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 |