@@ -11,6 +11,7 @@ import {
11
11
updateResource ,
12
12
deleteResource ,
13
13
getOne ,
14
+ getError ,
14
15
} from '../store/api' ;
15
16
16
17
const withResource = ( resourceType , resourceMeta ) => ( WrappedComponent ) => {
@@ -33,14 +34,20 @@ const withResource = (resourceType, resourceMeta) => (WrappedComponent) => {
33
34
34
35
const mapStateToProps = ( state , props ) => ( {
35
36
isNew : ! props . params . id ,
37
+ loading : props . params . id && ! getOne ( state , resourceType , props . params . id ) ,
38
+ error : props . params . id && getError ( state , resourceType ) ,
36
39
resource : getOne ( state , resourceType , props . params . id ) ,
37
40
} ) ;
38
41
39
42
const mapDispatchToProps = dispatch => ( {
40
- fetchResource : ( payload , meta ) => dispatch ( fetchOne ( resourceType , payload , { ...resourceMeta , ...meta } ) ) ,
41
- createResource : ( payload , meta ) => dispatch ( createResource ( resourceType , payload , { ...resourceMeta , ...meta } ) ) ,
42
- updateResource : ( payload , meta ) => dispatch ( updateResource ( resourceType , payload , { ...resourceMeta , ...meta } ) ) ,
43
- deleteResource : ( payload , meta ) => dispatch ( deleteResource ( resourceType , payload , { ...resourceMeta , ...meta } ) ) ,
43
+ fetchResource : ( payload , meta ) =>
44
+ dispatch ( fetchOne ( resourceType , payload , { ...resourceMeta , ...meta } ) ) ,
45
+ createResource : ( payload , meta ) =>
46
+ dispatch ( createResource ( resourceType , payload , { ...resourceMeta , ...meta } ) ) ,
47
+ updateResource : ( payload , meta ) =>
48
+ dispatch ( updateResource ( resourceType , payload , { ...resourceMeta , ...meta } ) ) ,
49
+ deleteResource : ( payload , meta ) =>
50
+ dispatch ( deleteResource ( resourceType , payload , { ...resourceMeta , ...meta } ) ) ,
44
51
} ) ;
45
52
46
53
return connect ( mapStateToProps , mapDispatchToProps ) ( enhance ( WrappedComponent ) ) ;
0 commit comments