1+ import { track } from 'ripple';
2+
13const adjectives = [
24 'pretty',
35 'large',
@@ -60,42 +62,42 @@ function _random(max) {
6062
6163export default component App() {
6264 let rowId = 1;
63- let $ items = [] ;
64- let $ selected;
65+ let items = track([]) ;
66+ let selected = track() ;
6567
66- const add = () => ($ items = [...$ items, ...buildData(1000)]);
68+ const add = () => (@ items = [...@ items, ...buildData(1000)]);
6769 const clear = () => {
68- $ items = [];
70+ @ items = [];
6971 }
7072
7173 const partialUpdate = () => {
72- for (let i = 0; i < $ items.length; i += 10) {
73- const row = $ items[i];
74- row.$ label = row.$ label + ' !!!';
74+ for (let i = 0; i < @ items.length; i += 10) {
75+ const row = @ items[i];
76+ row.@ label = row.@ label + ' !!!';
7577 }
7678 };
7779
7880 const remove = (row) => {
79- const clone = $ items.slice();
81+ const clone = @ items.slice();
8082 clone.splice(clone.indexOf(row), 1);
81- $ items = clone;
83+ @ items = clone;
8284 }
8385
8486 const run = () => {
85- $ items = buildData(1000);
87+ @ items = buildData(1000);
8688 };
8789
8890 const runLots = () => {
89- $ items = buildData(10000);
91+ @ items = buildData(10000);
9092 };
9193
9294 const swapRows = () => {
93- if ($ items.length > 998) {
94- const clone = $ items.slice();
95+ if (@ items.length > 998) {
96+ const clone = @ items.slice();
9597 const tmp = clone[1];
9698 clone[1] = clone[998];
9799 clone[998] = tmp;
98- $ items = clone;
100+ @ items = clone;
99101 }
100102 };
101103
@@ -106,7 +108,7 @@ export default component App() {
106108
107109 data[i] = {
108110 id: rowId++,
109- $ label: label,
111+ label: track( label) ,
110112 }
111113 }
112114 return data;
@@ -156,11 +158,13 @@ export default component App() {
156158 </div>
157159 <table class="table table-hover table-striped test-data">
158160 <tbody>
159- for (const row of $items) {
160- <tr $class={$selected === row.id ? 'danger' : ''}>
161- <td class="col-md-1">{row.id}</td>
161+ for (const row of @items) {
162+ const id = row.id;
163+
164+ <tr class={@selected === id ? 'danger' : ''}>
165+ <td class="col-md-1">{id}</td>
162166 <td class="col-md-4">
163- <a onClick={() => { $ selected = row. id; }}>{row.$ label}</a>
167+ <a onClick={() => { @ selected = id; }}>{row.@ label}</a>
164168 </td>
165169 <td class="col-md-1">
166170 <a onClick={() => remove(row)}>
0 commit comments