@@ -20,17 +20,6 @@ PostEdit = React.createClass({
20
20
postData : Posts . findOne ( { _id :this . props . _id } )
21
21
}
22
22
} ,
23
- handleInputChange ( prop , val ) {
24
- var stateOb = {
25
- urlValue : val
26
- } ;
27
- if ( prop === "title" ) {
28
- stateOb = {
29
- titleValue : val
30
- } ;
31
- }
32
- this . setState ( stateOb ) ;
33
- } ,
34
23
// This functions deletes the post and redirect the user into postsList page
35
24
deletePost ( event ) {
36
25
event . preventDefault ( ) ;
@@ -39,10 +28,55 @@ PostEdit = React.createClass({
39
28
FlowRouter . go ( 'postsList' ) ;
40
29
}
41
30
} ,
31
+ formSubmission ( event ) {
32
+ event . preventDefault ( ) ;
33
+ // We get the values from inputs
34
+ var post = {
35
+ url : event . target . url . value ,
36
+ title : event . target . title . value
37
+ } ;
38
+ // We check if all inputs have values
39
+ var fieldsErrors = validatePost ( post ) ;
40
+ // If we didn't fill any of the inputs then we return a message and an error class
41
+ if ( ! _ . isEmpty ( fieldsErrors ) ) {
42
+ if ( fieldsErrors . title ) {
43
+ this . setState ( {
44
+ errorsTitle : fieldsErrors . title ,
45
+ errorsTitleClass : "has-error"
46
+ } ) ;
47
+ } else {
48
+ this . setState ( {
49
+ errorsTitle : "" ,
50
+ errorsTitleClass : ""
51
+ } ) ;
52
+ }
53
+ if ( fieldsErrors . url ) {
54
+ this . setState ( {
55
+ errorsUrl : fieldsErrors . url ,
56
+ errorsUrlClass : "has-error"
57
+ } ) ;
58
+ } else {
59
+ this . setState ( {
60
+ errorsUrl : "" ,
61
+ errorsUrlClass : ""
62
+ } ) ;
63
+ }
64
+ return ;
65
+ }
66
+ let postId = this . props . _id
67
+ Posts . update ( postId , { $set : post } , function ( error ) {
68
+ if ( error ) {
69
+ // display the error to the user
70
+ throwError ( error . reason ) ;
71
+ } else {
72
+ FlowRouter . go ( `/posts/${ postId } ` ) ;
73
+ }
74
+ } )
75
+ } ,
42
76
render ( ) {
43
77
if ( this . data . postData ) {
44
78
return (
45
- < form className = "main form page" onSubmit = { this . formSubmition } >
79
+ < form className = "main form page" onSubmit = { ( e ) => this . formSubmission ( e ) } >
46
80
< PostInput
47
81
title = { "Title" }
48
82
placeholder = { "Name your post" }
0 commit comments