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