@@ -22,27 +22,50 @@ class ObjectStore extends React.Component {
22
22
createModalKey : Math . random ( ) ,
23
23
editModalVisible : false ,
24
24
editModalKey : Math . random ( ) ,
25
+ commandKeyDown : false ,
25
26
}
26
27
}
27
28
28
29
componentDidMount ( ) {
29
- let height = document . getElementById ( 'objectStoreTable' ) . offsetHeight - C . ContainerMarginHeight
30
+ this . onResize ( )
31
+ window . addEventListener ( 'resize' , this . onResize )
32
+ window . addEventListener ( 'keydown' , this . onKeyDown )
33
+ window . addEventListener ( 'keyup' , this . onKeyUp )
34
+ }
35
+
36
+ componentWillUnmount ( ) {
37
+ window . removeEventListener ( 'resize' , this . onResize )
38
+ window . removeEventListener ( 'keydown' , this . onKeyDown )
39
+ window . removeEventListener ( 'keyup' , this . onKeyUp )
40
+ }
41
+
42
+ onKeyUp = ( ) => {
30
43
this . setState ( {
31
- height,
44
+ ...this . state ,
45
+ commandKeyDown : false ,
32
46
} )
33
- window . onresize = ( ) => {
34
- height = document . getElementById ( 'objectStoreTable' ) . offsetHeight - C . ContainerMarginHeight
47
+ }
48
+
49
+ onKeyDown = ( e ) => {
50
+ if ( ( e . keyCode === 91 || e . keyCode === 17 ) && ! this . state . commandKeyDown ) {
35
51
this . setState ( {
36
- height,
52
+ ...this . state ,
53
+ commandKeyDown : true ,
37
54
} )
38
- this . props . dispatch ( { type : 'app/changeNavbar' } )
39
55
}
40
56
}
41
57
58
+ onResize = ( ) => {
59
+ const height = document . getElementById ( 'objectStoreTable' ) . offsetHeight - C . ContainerMarginHeight
60
+ this . setState ( {
61
+ height,
62
+ } )
63
+ }
64
+
42
65
showCreateModal = ( ) => {
43
66
this . setState ( {
44
67
...this . state ,
45
- selected : { } ,
68
+ selectedRows : [ ] ,
46
69
createModalVisible : true ,
47
70
createModalKey : Math . random ( ) ,
48
71
} )
@@ -51,7 +74,7 @@ class ObjectStore extends React.Component {
51
74
render ( ) {
52
75
const me = this
53
76
const { dispatch, loading, location } = this . props
54
- const { data } = this . props . objectstorage
77
+ const { data, sorter } = this . props . objectstorage
55
78
const { field, value } = queryString . parse ( this . props . location . search )
56
79
57
80
const settings = this . props . setting . data
@@ -113,7 +136,7 @@ class ObjectStore extends React.Component {
113
136
}
114
137
115
138
const editModalProps = {
116
- selected : this . state . selected ,
139
+ selected : this . state . selectedRows [ 0 ] ,
117
140
visible : this . state . editModalVisible ,
118
141
onCancel ( ) {
119
142
me . setState ( {
@@ -142,14 +165,14 @@ class ObjectStore extends React.Component {
142
165
onChange ( _ , records ) {
143
166
me . setState ( {
144
167
...me . state ,
145
- selectedRows : records ,
168
+ selectedRows : [ ... records ] ,
146
169
} )
147
170
} ,
148
171
} ,
149
172
editObjectStore : ( record ) => {
150
- this . setState ( {
151
- ...this . state ,
152
- selected : record ,
173
+ me . setState ( {
174
+ ...me . state ,
175
+ selectedRows : [ record ] ,
153
176
editModalVisible : true ,
154
177
editModalKey : Math . random ( ) ,
155
178
} )
@@ -165,6 +188,33 @@ class ObjectStore extends React.Component {
165
188
payload : record ,
166
189
} )
167
190
} ,
191
+ onSorterChange : ( s ) => {
192
+ dispatch ( {
193
+ type : 'objectstorage/updateSorter' ,
194
+ payload : { field : s . field , order : s . order , columnKey : s . columnKey } ,
195
+ } )
196
+ } ,
197
+ sorter,
198
+ onRowClick : ( record ) => {
199
+ let selecteRowByClick = [ record ]
200
+ if ( me . state . commandKeyDown ) {
201
+ me . state . selectedRows . forEach ( ( item ) => {
202
+ if ( selecteRowByClick . every ( ( ele ) => {
203
+ return ele . id !== item . id
204
+ } ) ) {
205
+ selecteRowByClick . push ( item )
206
+ } else {
207
+ selecteRowByClick = selecteRowByClick . filter ( ( ele ) => {
208
+ return ele . id !== item . id
209
+ } )
210
+ }
211
+ } )
212
+ }
213
+ me . setState ( {
214
+ ...me . state ,
215
+ selectedRows : [ ...selecteRowByClick ] ,
216
+ } )
217
+ } ,
168
218
}
169
219
170
220
const filterProps = {
@@ -197,7 +247,7 @@ class ObjectStore extends React.Component {
197
247
payload : record ,
198
248
callback : ( ) => {
199
249
me . setState ( {
200
- ...this . state ,
250
+ ...me . state ,
201
251
selectedRows : [ ] ,
202
252
} )
203
253
} ,
0 commit comments