@@ -39,7 +39,7 @@ const buildData = (() => {
39
39
const label = $ ( `${ adjective } ${ color } ${ noun } ` ) ;
40
40
const selected = $ ( false ) ;
41
41
const className = $ ( '' ) ;
42
- const datum = $ ( { id, label, selected, className } ) ;
42
+ const datum = $ ( { id, label, selected, className } ) ;
43
43
data [ i ] = datum ;
44
44
} ;
45
45
return data ;
@@ -71,15 +71,14 @@ const Model = (() => {
71
71
} ;
72
72
73
73
const add = ( ) : void => {
74
- $data ( [ ... $data ( ) , ... buildData ( 1000 ) ] ) ;
74
+ $data ( $data ( ) . concat ( buildData ( 1000 ) ) ) ;
75
75
} ;
76
76
77
77
const update = ( ) : void => {
78
78
const data = $data ( ) ;
79
79
for ( let i = 0 , l = data . length ; i < l ; i += 10 ) {
80
- const $datum = data [ i ] ;
81
- const datum = $datum ( ) ;
82
- datum . label ( datum . label ( ) + ' !!!' ) ;
80
+ const { label} = data [ i ] ( ) ;
81
+ label ( label ( ) + ' !!!' ) ;
83
82
}
84
83
} ;
85
84
@@ -101,17 +100,20 @@ const Model = (() => {
101
100
const remove = ( id : string ) : void => {
102
101
const data = $data ( ) ;
103
102
const index = data . findIndex ( datum => datum . sample ( ) . id === id ) ;
104
- $data ( [ ...data . slice ( 0 , index ) , ...data . slice ( index + 1 ) ] ) ;
103
+ if ( index === - 1 ) return ;
104
+ $data ( data . slice ( 0 , index ) . concat ( data . slice ( index + 1 ) ) ) ;
105
105
} ;
106
106
107
107
const select = ( id : string ) : void => {
108
108
if ( $selected ) {
109
109
const datum = $selected ( ) ;
110
110
datum . selected ( false ) ;
111
111
datum . className ( '' ) ;
112
+ $selected = null ;
112
113
}
113
114
const data = $data ( ) ;
114
- const $datum = data . find ( datum => datum . sample ( ) . id === id ) ! ;
115
+ const $datum = data . find ( datum => datum . sample ( ) . id === id ) ;
116
+ if ( ! $datum ) return ;
115
117
const datum = $datum ( ) ;
116
118
datum . selected ( true ) ;
117
119
datum . className ( 'danger' ) ;
0 commit comments