@@ -8,7 +8,7 @@ window.React = {createElement, Fragment};
8
8
9
9
/* TYPES */
10
10
11
- type IDatum = Observable < { id : string , label : Observable < string > , selected : Observable < boolean > , className : Observable < string > } > ;
11
+ type IDatum = { id : string , label : Observable < string > , selected : Observable < boolean > , className : Observable < string > } ;
12
12
13
13
type IData = IDatum [ ] ;
14
14
@@ -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 : IDatum = { id, label, selected, className } ;
43
43
data [ i ] = datum ;
44
44
} ;
45
45
return data ;
@@ -53,7 +53,7 @@ const Model = (() => {
53
53
/* STATE */
54
54
55
55
let $data = $ < IDatum [ ] > ( [ ] ) ;
56
- let $ selected : IDatum | null = null ;
56
+ let selected : IDatum | null = null ;
57
57
58
58
/* API */
59
59
@@ -77,19 +77,19 @@ const Model = (() => {
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 { label} = data [ i ] ( ) ;
80
+ const { label} = data [ i ] ;
81
81
label ( label ( ) + ' !!!' ) ;
82
82
}
83
83
} ;
84
84
85
85
const swapRows = ( ) : void => {
86
86
const data = $data ( ) ;
87
87
if ( data . length <= 998 ) return ;
88
- const pos1$ = data [ 1 ] ;
89
- const pos998$ = data [ 998 ] ;
88
+ const datum1 = data [ 1 ] ;
89
+ const datum998 = data [ 998 ] ;
90
90
const data2 = data . slice ( ) ;
91
- data2 [ 1 ] = pos998$ ;
92
- data2 [ 998 ] = pos1$ ;
91
+ data2 [ 1 ] = datum998 ;
92
+ data2 [ 998 ] = datum1 ;
93
93
$data ( data2 ) ;
94
94
} ;
95
95
@@ -99,28 +99,26 @@ const Model = (() => {
99
99
100
100
const remove = ( id : string ) : void => {
101
101
const data = $data ( ) ;
102
- const index = data . findIndex ( datum => datum . sample ( ) . id === id ) ;
102
+ const index = data . findIndex ( datum => datum . id === id ) ;
103
103
if ( index === - 1 ) return ;
104
104
$data ( data . slice ( 0 , index ) . concat ( data . slice ( index + 1 ) ) ) ;
105
105
} ;
106
106
107
107
const select = ( id : string ) : void => {
108
- if ( $selected ) {
109
- const datum = $selected ( ) ;
110
- datum . selected ( false ) ;
111
- datum . className ( '' ) ;
112
- $selected = null ;
108
+ if ( selected ) {
109
+ selected . selected ( false ) ;
110
+ selected . className ( '' ) ;
111
+ selected = null ;
113
112
}
114
113
const data = $data ( ) ;
115
- const $datum = data . find ( datum => datum . sample ( ) . id === id ) ;
116
- if ( ! $datum ) return ;
117
- const datum = $datum ( ) ;
114
+ const datum = data . find ( datum => datum . id === id ) ;
115
+ if ( ! datum ) return ;
118
116
datum . selected ( true ) ;
119
117
datum . className ( 'danger' ) ;
120
- $ selected = $ datum;
118
+ selected = datum ;
121
119
} ;
122
120
123
- return { $data, $ selected, run, runLots, runWith, add, update, swapRows, clear, remove, select } ;
121
+ return { $data, selected, run, runLots, runWith, add, update, swapRows, clear, remove, select } ;
124
122
125
123
} ) ( ) ;
126
124
@@ -175,8 +173,8 @@ const App = (): JSX.Element => {
175
173
< table class = "table table-hover table-striped test-data" >
176
174
< tbody >
177
175
< For values = { $data } >
178
- { ( $ datum : IDatum ) => {
179
- const { id, label, className} = $ datum ( ) ;
176
+ { ( datum : IDatum ) => {
177
+ const { id, label, className} = datum ;
180
178
const onSelect = select . bind ( undefined , id ) ;
181
179
const onRemove = remove . bind ( undefined , id ) ;
182
180
const props = { id, label, className, onSelect, onRemove} ;
0 commit comments