@@ -15,42 +15,39 @@ import InvioPlugin from "src/main";
15
15
import { CheckSettingsModal } from './CheckSettingsModal' ;
16
16
17
17
export const PendingStatsViewComponent = ( props : { plugin : InvioPlugin } ) => {
18
- const { record, toLocalSelected, toRemoteSelected, getToLocalFileList, getToRemoteFileList, updateSelectedToLocalFileList, updateSelectedToRemoteFileList } = useStore ( ) ;
18
+ const { record, toLocalSelected, toRemoteSelected, getToLocalFileList, getToRemoteFileList, existToLocalFile , existToRemoteFile , updateSelectedToLocalFileList, updateSelectedToRemoteFileList } = useStore ( ) ;
19
19
const toLocalTouched = getToLocalFileList ( ) ;
20
20
21
21
const toRemoteTouched = getToRemoteFileList ( ) ;
22
22
23
- const treeToLocalData : DataNode [ ] = toLocalTouched ?. map ( ( item : any ) => {
24
- item . title = item . key
25
- item . key = item . key
26
- return item ;
27
- } )
28
- const treeToRemoteData : DataNode [ ] = toRemoteTouched ?. map ( ( item : any ) => {
29
- item . title = item . key
30
- item . key = item . key
31
- return item ;
32
- } )
23
+ const treeToLocalData : DataNode [ ] = toLocalTouched
24
+ const treeToRemoteData : DataNode [ ] = toRemoteTouched
33
25
34
26
const onSelect = ( selectedKeys : any , info : any , type : `ToLocal` | `ToRemote`) => {
27
+ log . info ( 'on select: ' , selectedKeys )
35
28
const key = selectedKeys [ 0 ]
29
+ if ( ! key ) return ;
36
30
props . plugin . viewFileDiff ( key , type === 'ToLocal' ? 'RemoteToLocal' : 'LocalToRemote' )
37
- . then ( file => {
38
- log . info ( 'diff file changed - ' , file ) ;
39
- if ( file ) {
40
- props . plugin . pendingView ( )
41
- }
42
- } )
31
+ . then ( file => {
32
+ log . info ( 'diff file changed - ' , file ) ;
33
+ if ( file ) {
34
+ props . plugin . pendingView ( )
35
+ }
36
+ } )
37
+
43
38
setTimeout ( ( ) => {
44
39
selectedKeys = [ ]
45
40
} , 300 )
46
41
} ;
47
42
48
43
const onToLocalSelect : TreeProps [ 'onSelect' ] = ( selectedKeys : any , info : any ) => {
49
- onSelect ( selectedKeys , info , 'ToLocal' )
44
+ const keys = selectedKeys . filter ( ( key : string ) => existToLocalFile ( key ) )
45
+ onSelect ( keys , info , 'ToLocal' )
50
46
}
51
47
52
48
const onToRemoteSelect : TreeProps [ 'onSelect' ] = ( selectedKeys : any , info : any ) => {
53
- onSelect ( selectedKeys , info , 'ToRemote' )
49
+ const keys = [ ...selectedKeys ] . filter ( ( key : string ) => existToRemoteFile ( key ) )
50
+ onSelect ( keys , info , 'ToRemote' )
54
51
}
55
52
56
53
const onToLocalCheck : TreeProps [ 'onCheck' ] = ( checkedKeys : string [ ] , info : any ) => {
0 commit comments