| OLD | NEW |
| 1 TestRunner.addResult("This tests if the ViewportControl works properly."); | 1 TestRunner.addResult("This tests if the ViewportControl works properly."); |
| 2 | 2 |
| 3 var items = []; | 3 function createItem(height, item) { |
| 4 var heights = []; | 4 var element = document.createElement("div"); |
| 5 for (var i = 0; i < 100; i++){ | 5 element.style.height = height + "px"; |
| 6 items[i] = document.createElement("div"); | 6 element.textContent = item.title; |
| 7 items[i].style.height = (heights[i] = (i % 4) ? 50 : 28) + "px"; | 7 return element; |
| 8 items[i].textContent = i; | |
| 9 } | 8 } |
| 10 var viewport = new UI.ViewportControl({ | 9 |
| 11 fastItemHeight: i => heights[i], | 10 var viewport = new UI.ViewportControl(); |
| 12 itemCount: _ => items.length, | |
| 13 itemElement: i => items[i] | |
| 14 }); | |
| 15 viewport.element.style.height = "300px"; | 11 viewport.element.style.height = "300px"; |
| 16 UI.inspectorView.element.appendChild(viewport.element); | 12 UI.inspectorView.element.appendChild(viewport.element); |
| 17 | 13 |
| 18 viewport.refresh(); | 14 var items = []; |
| 15 for (var i = 0; i < 100; i++) |
| 16 items.push({title: i}); |
| 17 |
| 18 viewport.setFixedHeight(28); |
| 19 viewport.setRenderer(createItem.bind(null, 28)); |
| 20 viewport.replaceAllItems(items); |
| 19 dumpViewport(); | 21 dumpViewport(); |
| 20 | 22 |
| 21 viewport.forceScrollItemToBeFirst(26); | 23 viewport.scrollItemAtIndexIntoView(33); |
| 22 dumpViewport(); | 24 dumpViewport(); |
| 23 | 25 |
| 24 viewport.scrollItemIntoView(33); | 26 viewport.scrollItemAtIndexIntoView(30); |
| 25 dumpViewport(); | 27 dumpViewport(); |
| 26 | 28 |
| 27 viewport.scrollItemIntoView(30); | 29 viewport.scrollItemAtIndexIntoView(7); |
| 28 dumpViewport(); | 30 dumpViewport(); |
| 29 | 31 |
| 30 viewport.forceScrollItemToBeFirst(30); | 32 viewport.scrollItemAtIndexIntoView(99); |
| 31 dumpViewport(); | 33 dumpViewport(); |
| 32 | 34 |
| 33 viewport.forceScrollItemToBeLast(88); | 35 viewport.scrollItemAtIndexIntoView(98); |
| 34 dumpViewport(); | 36 dumpViewport(); |
| 35 | 37 |
| 36 for (var i = 0; i < 100; i++) | 38 viewport.scrollItemAtIndexIntoView(0); |
| 37 items[i].style.height = (heights[i] = (i % 2) ? 55 : 63) + "px"; | 39 dumpViewport(); |
| 38 viewport.refresh(); | 40 |
| 39 viewport.forceScrollItemToBeLast(88); | 41 viewport.setFixedHeight(55); |
| 42 viewport.setRenderer(createItem.bind(null, 55)); |
| 43 |
| 44 viewport.scrollItemAtIndexIntoView(88); |
| 40 dumpViewport(); | 45 dumpViewport(); |
| 41 | 46 |
| 42 TestRunner.completeTest(); | 47 TestRunner.completeTest(); |
| 43 | 48 |
| 44 function dumpViewport() | 49 function dumpViewport() |
| 45 { | 50 { |
| 46 TestRunner.addResult("First:" + viewport.firstVisibleIndex()); | 51 TestRunner.addResult("First:" + viewport._firstIndex); |
| 47 TestRunner.addResult("Last:" + viewport.lastVisibleIndex()); | 52 TestRunner.addResult("Last:" + viewport._lastIndex); |
| 48 TestRunner.addResult("Active Items:" + viewport._innerElement.children.lengt
h); | 53 TestRunner.addResult("ScrollTop:" + viewport.element.scrollTop); |
| 49 TestRunner.addResult(""); | 54 TestRunner.addResult(""); |
| 50 } | 55 } |
| OLD | NEW |