@@ -2,21 +2,21 @@ import { rendr, useCallback, useState } from '@rendrjs/core';
2
2
import Jumbotron from './Jumbotron' ;
3
3
import Row from './Row' ;
4
4
5
- const random = ( max ) => Math . round ( Math . random ( ) * 1000 ) % max ;
5
+ let random = ( max ) => Math . round ( Math . random ( ) * 1000 ) % max ;
6
6
7
- const A = [ 'pretty' , 'large' , 'big' , 'small' , 'tall' , 'short' , 'long' , 'handsome' ,
7
+ let A = [ 'pretty' , 'large' , 'big' , 'small' , 'tall' , 'short' , 'long' , 'handsome' ,
8
8
'plain' , 'quaint' , 'clean' , 'elegant' , 'easy' , 'angry' , 'crazy' , 'helpful' , 'mushy' ,
9
9
'odd' , 'unsightly' , 'adorable' , 'important' , 'inexpensive' , 'cheap' , 'expensive' ,
10
10
'fancy' ] ;
11
- const C = [ 'red' , 'yellow' , 'blue' , 'green' , 'pink' , 'brown' , 'purple' , 'brown' ,
11
+ let C = [ 'red' , 'yellow' , 'blue' , 'green' , 'pink' , 'brown' , 'purple' , 'brown' ,
12
12
'white' , 'black' , 'orange' ] ;
13
- const N = [ 'table' , 'chair' , 'house' , 'bbq' , 'desk' , 'car' , 'pony' , 'cookie' ,
13
+ let N = [ 'table' , 'chair' , 'house' , 'bbq' , 'desk' , 'car' , 'pony' , 'cookie' ,
14
14
'sandwich' , 'burger' , 'pizza' , 'mouse' , 'keyboard' ] ;
15
15
16
16
let nextId = 1 ;
17
17
18
- const buildData = ( count ) => {
19
- const data = new Array ( count ) ;
18
+ let buildData = ( count ) => {
19
+ let data = new Array ( count ) ;
20
20
21
21
for ( let i = 0 ; i < count ; i ++ ) {
22
22
data [ i ] = {
@@ -28,58 +28,52 @@ const buildData = (count) => {
28
28
return data ;
29
29
} ;
30
30
31
- const preloadIcon = rendr ( 'span' , {
32
- className : 'preloadicon glyphicon glyphicon-remove' ,
31
+ let preloadIcon = rendr ( 'span' , {
32
+ class : 'preloadicon glyphicon glyphicon-remove' ,
33
33
'aria-hidden' : true ,
34
34
} ) ;
35
35
36
- const App = ( ) => {
37
- const [ state , setState ] = useState ( { data : [ ] , selected : 0 } ) ;
36
+ let App = ( ) => {
37
+ let [ state , setState ] = useState ( { arr : [ ] , sel : 0 } ) ;
38
38
39
- const onRun = useCallback ( ( ) => setState ( { data : buildData ( 1000 ) , selected : 0 } ) , [ ] ) ;
40
- const onRunlots = useCallback ( ( ) => setState ( { data : buildData ( 10000 ) , selected : 0 } ) , [ ] ) ;
41
- const onClear = useCallback ( ( ) => setState ( { data : [ ] , selected : 0 } ) , [ ] ) ;
42
- const onUpdate = useCallback ( ( ) => setState ( old => {
43
- const newData = old . data . slice ( 0 ) ;
44
- for ( let i = 0 ; i < newData . length ; i += 10 ) {
45
- const r = newData [ i ] ;
46
- newData [ i ] = { id : r . id , label : r . label + ' !!!' } ;
39
+ let run = useCallback ( ( ) => setState ( { arr : buildData ( 1000 ) , sel : 0 } ) , [ ] ) ;
40
+ let lots = useCallback ( ( ) => setState ( { arr : buildData ( 10000 ) , sel : 0 } ) , [ ] ) ;
41
+ let clear = useCallback ( ( ) => setState ( { arr : [ ] , sel : 0 } ) , [ ] ) ;
42
+ let update = useCallback ( ( ) => setState ( old => {
43
+ for ( let i = 0 ; i < old . arr . length ; i += 10 ) {
44
+ old . arr [ i ] . label += ' !!!' ;
47
45
}
48
- return { data : newData , selected : old . selected } ;
46
+ return { ... old } ;
49
47
} ) , [ ] ) ;
50
- const onSwap = useCallback ( ( ) => setState ( old => {
51
- if ( old . data . length > 998 ) {
52
- const d1 = old . data [ 1 ] ;
53
- const d998 = old . data [ 998 ] ;
54
- old . data [ 1 ] = d998 ;
55
- old . data [ 998 ] = d1 ;
56
- return { ...old } ;
48
+ let swap = useCallback ( ( ) => setState ( old => {
49
+ if ( old . arr . length > 998 ) {
50
+ let one = old . arr [ 1 ] ;
51
+ old . arr [ 1 ] = old . arr [ 998 ] ;
52
+ old . arr [ 998 ] = one ;
57
53
}
58
- return { data : old . data , selected : 0 } ;
59
- } ) , [ ] ) ;
60
- const onAppend = useCallback ( ( ) => setState ( old => {
61
- return { data : old . data . concat ( buildData ( 1000 ) ) , selected : old . selected } ;
54
+ return { ...old , sel : 0 } ;
62
55
} ) , [ ] ) ;
63
- const onDelete = useCallback ( ( id ) => setState ( old => {
64
- old . data . splice ( old . data . findIndex ( ( d ) => d . id === id ) , 1 ) ;
56
+ let push = useCallback ( ( ) => setState ( old => ( { arr : old . arr . concat ( buildData ( 1000 ) ) , sel : old . sel } ) ) , [ ] ) ;
57
+ let del = useCallback ( ( id ) => setState ( old => {
58
+ old . arr . splice ( old . arr . findIndex ( ( d ) => d . id === id ) , 1 ) ;
65
59
return { ...old } ;
66
60
} ) , [ ] ) ;
67
- const onSelect = useCallback ( ( id ) => setState ( old => ( { ...old , selected : id } ) ) , [ ] ) ;
61
+ let select = useCallback ( ( id ) => setState ( old => ( { ...old , sel : id } ) ) , [ ] ) ;
68
62
69
63
return rendr ( 'div' , {
70
- className : 'container' ,
64
+ class : 'container' ,
71
65
slot : [
72
- rendr ( Jumbotron , { onRun , onRunlots , onClear , onUpdate , onSwap , onAppend , memo : [ ] } ) ,
66
+ rendr ( Jumbotron , { run , lots , clear , update , swap , push , memo : [ ] } ) ,
73
67
rendr ( 'table' , {
74
- className : 'table table-hover table-striped test-data' ,
68
+ class : 'table table-hover table-striped test-data' ,
75
69
slot : rendr ( 'tbody' , {
76
- slot : state . data . map ( item => rendr ( Row , {
70
+ slot : state . arr . map ( item => rendr ( Row , {
77
71
key : `${ item . id } ` ,
78
- item : item ,
79
- selected : state . selected === item . id ,
80
- onSelect ,
81
- onDelete ,
82
- memo : [ item . id === state . selected , item . label ] ,
72
+ item,
73
+ sel : state . sel === item . id ,
74
+ select ,
75
+ del ,
76
+ memo : [ item . id === state . sel , item . label ] ,
83
77
} ) ) ,
84
78
} ) ,
85
79
} ) ,
0 commit comments