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 |