| OLD | NEW |
| 1 (function() { | 1 (function() { |
| 2 | 2 |
| 3 var IOS = navigator.userAgent.match(/iP(?:hone|ad;(?: U;)? CPU) OS (\d+)/); | 3 var IOS = navigator.userAgent.match(/iP(?:hone|ad;(?: U;)? CPU) OS (\d+)/); |
| 4 var IOS_TOUCH_SCROLLING = IOS && IOS[1] >= 8; | 4 var IOS_TOUCH_SCROLLING = IOS && IOS[1] >= 8; |
| 5 var DEFAULT_PHYSICAL_COUNT = 3; | 5 var DEFAULT_PHYSICAL_COUNT = 3; |
| 6 var HIDDEN_Y = '-10000px'; | 6 var HIDDEN_Y = '-10000px'; |
| 7 var ITEM_WIDTH = 0; | 7 var ITEM_WIDTH = 0; |
| 8 var ITEM_HEIGHT = 1; | 8 var ITEM_HEIGHT = 1; |
| 9 var SECRET_TABINDEX = -100; | 9 var SECRET_TABINDEX = -100; |
| 10 | 10 |
| (...skipping 1448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1459 }, | 1459 }, |
| 1460 | 1460 |
| 1461 _isIndexVisible: function(idx) { | 1461 _isIndexVisible: function(idx) { |
| 1462 return idx >= this.firstVisibleIndex && idx <= this.lastVisibleIndex; | 1462 return idx >= this.firstVisibleIndex && idx <= this.lastVisibleIndex; |
| 1463 }, | 1463 }, |
| 1464 | 1464 |
| 1465 _getPhysicalIndex: function(idx) { | 1465 _getPhysicalIndex: function(idx) { |
| 1466 return this._physicalIndexForKey[this._collection.getKey(this._getNormaliz
edItem(idx))]; | 1466 return this._physicalIndexForKey[this._collection.getKey(this._getNormaliz
edItem(idx))]; |
| 1467 }, | 1467 }, |
| 1468 | 1468 |
| 1469 _focusPhysicalItem: function(idx) { | 1469 focusPhysicalItem: function(idx) { |
| 1470 if (idx < 0 || idx >= this._virtualCount) { | 1470 if (idx < 0 || idx >= this._virtualCount) { |
| 1471 return; | 1471 return; |
| 1472 } | 1472 } |
| 1473 this._restoreFocusedItem(); | 1473 this._restoreFocusedItem(); |
| 1474 // scroll to index to make sure it's rendered | 1474 // scroll to index to make sure it's rendered |
| 1475 if (!this._isIndexRendered(idx)) { | 1475 if (!this._isIndexRendered(idx)) { |
| 1476 this.scrollToIndex(idx); | 1476 this.scrollToIndex(idx); |
| 1477 } | 1477 } |
| 1478 | 1478 |
| 1479 var physicalItem = this._physicalItems[this._getPhysicalIndex(idx)]; | 1479 var physicalItem = this._physicalItems[this._getPhysicalIndex(idx)]; |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1585 fidx = targetModel[this.indexAs]; | 1585 fidx = targetModel[this.indexAs]; |
| 1586 this._focusedIndex = fidx; | 1586 this._focusedIndex = fidx; |
| 1587 this._focusedItem = this._physicalItems[this._getPhysicalIndex(fidx)]; | 1587 this._focusedItem = this._physicalItems[this._getPhysicalIndex(fidx)]; |
| 1588 if (hasOffscreenFocusedItem && !this._offscreenFocusedItem) { | 1588 if (hasOffscreenFocusedItem && !this._offscreenFocusedItem) { |
| 1589 this._update(); | 1589 this._update(); |
| 1590 } | 1590 } |
| 1591 } | 1591 } |
| 1592 }, | 1592 }, |
| 1593 | 1593 |
| 1594 _didMoveUp: function() { | 1594 _didMoveUp: function() { |
| 1595 this._focusPhysicalItem(this._focusedIndex - 1); | 1595 this.focusPhysicalItem(this._focusedIndex - 1); |
| 1596 }, | 1596 }, |
| 1597 | 1597 |
| 1598 _didMoveDown: function(e) { | 1598 _didMoveDown: function(e) { |
| 1599 // disable scroll when pressing the down key | 1599 // disable scroll when pressing the down key |
| 1600 e.detail.keyboardEvent.preventDefault(); | 1600 e.detail.keyboardEvent.preventDefault(); |
| 1601 this._focusPhysicalItem(this._focusedIndex + 1); | 1601 this.focusPhysicalItem(this._focusedIndex + 1); |
| 1602 }, | 1602 }, |
| 1603 | 1603 |
| 1604 _didEnter: function(e) { | 1604 _didEnter: function(e) { |
| 1605 this._focusPhysicalItem(this._focusedIndex); | 1605 this.focusPhysicalItem(this._focusedIndex); |
| 1606 this._selectionHandler(e.detail.keyboardEvent); | 1606 this._selectionHandler(e.detail.keyboardEvent); |
| 1607 } | 1607 }, |
| 1608 |
| 1609 getFocusedIndex: function() { |
| 1610 return this._focusedIndex; |
| 1611 }, |
| 1612 |
| 1613 getFocusedItem: function() { |
| 1614 return this._focusedItem; |
| 1615 }, |
| 1608 }); | 1616 }); |
| 1609 | 1617 |
| 1610 })(); | 1618 })(); |
| OLD | NEW |