@@ -6,7 +6,7 @@ import History from "./History/History";
66import Disscussion from "./Discussion/Discussion" ;
77import "react-mde/lib/styles/css/react-mde-all.css" ;
88import { ToastContainer , toast } from "react-toastify" ;
9- import { BASE_URL } from "../../../../actions/baseApi " ;
9+ import { getTicket , createCommnet , updateTicket , upvoteComment , downvoteComment , deleteComment , addTag , deleteTag } from "../../../../utils/ticket " ;
1010
1111class TicketDiscussions extends Component {
1212 constructor ( props ) {
@@ -24,21 +24,7 @@ class TicketDiscussions extends Component {
2424 {
2525 spinner : "Loading Ticket..." ,
2626 } ,
27- async ( ) => {
28- const ticket = (
29- await axios . get ( `${ BASE_URL } /ticket/${ this . props . ticketId } ` , {
30- cancelToken : this . axiosCancel . token ,
31- } )
32- ) . data . ticket ;
33- this . editsAllowed =
34- localStorage . getItem ( "ticketModerator" ) === "true" ||
35- localStorage . getItem ( "admin" ) === "true" ||
36- localStorage . getItem ( "userId" ) === ticket . createdBy . id ;
37- this . deleteAllowed =
38- localStorage . getItem ( "ticketModerator" ) === "true" ||
39- localStorage . getItem ( "admin" ) === "true" ;
40- this . setState ( { ticket : ticket , spinner : "" } ) ;
41- }
27+ getTicket . bind ( this )
4228 ) ;
4329 } ;
4430
@@ -59,52 +45,16 @@ class TicketDiscussions extends Component {
5945 {
6046 spinner : "Adding comment..." ,
6147 } ,
62- async ( ) => {
63- try {
64- this . setState ( {
65- ticket : (
66- await axios . post (
67- `${ BASE_URL } /ticket/${ this . state . ticket . _id } /comment` ,
68- {
69- content,
70- } ,
71- { cancelToken : this . axiosCancel . token }
72- )
73- ) . data . ticket ,
74- spinner : "" ,
75- } ) ;
76- } catch ( err ) {
77- console . log ( err ) ;
78- toast . error ( "Something went wrong! could not add comment" ) ;
79- this . setState ( { spinner : "" } ) ;
80- }
81- }
48+ createCommnet . bind ( this , content )
8249 ) ;
8350 } ;
8451
85- handleUpdateTicket = async ( updates ) => {
52+ handleUpdateTicket = ( updates ) => {
8653 this . setState (
8754 {
8855 spinner : "Updating Ticket..." ,
8956 } ,
90- async ( ) => {
91- try {
92- this . setState ( {
93- ticket : (
94- await axios . put (
95- `${ BASE_URL } /ticket/${ this . state . ticket . _id } ` ,
96- updates ,
97- { cancelToken : this . axiosCancel . token }
98- )
99- ) . data . ticket ,
100- spinner : "" ,
101- } ) ;
102- } catch ( err ) {
103- console . log ( err ) ;
104- toast . error ( "Something went wrong! could not update Ticket" ) ;
105- this . setState ( { spinner : "" } ) ;
106- }
107- }
57+ updateTicket . bind ( this , updates )
10858 ) ;
10959 } ;
11060
@@ -113,79 +63,29 @@ class TicketDiscussions extends Component {
11363 {
11464 spinner : "Adding vote to comment..." ,
11565 } ,
116- async ( ) => {
117- try {
118- this . setState ( {
119- ticket : (
120- await axios . put (
121- `${ BASE_URL } /ticket/${ this . state . ticket . _id } /comment/${ commentId } /upvote` ,
122- { } ,
123- { cancelToken : this . axiosCancel . token }
124- )
125- ) . data . ticket ,
126- spinner : "" ,
127- } ) ;
128- } catch ( err ) {
129- console . log ( err ) ;
130- toast . error ( "Something went wrong! could not upvote comment" ) ;
131- this . setState ( { spinner : "" } ) ;
132- }
133- }
66+ upvoteComment . bind ( this , commentId )
13467 ) ;
13568 } ;
13669
137- handleCommentDownvote = async ( commentId ) => {
70+ handleCommentDownvote = ( commentId ) => {
13871 this . setState (
13972 {
14073 spinner : "Removing vote from comment..." ,
14174 } ,
142- async ( ) => {
143- try {
144- this . setState ( {
145- ticket : (
146- await axios . put (
147- `${ BASE_URL } /ticket/${ this . state . ticket . _id } /comment/${ commentId } /downvote` ,
148- { } ,
149- { cancelToken : this . axiosCancel . token }
150- )
151- ) . data . ticket ,
152- spinner : "" ,
153- } ) ;
154- } catch ( err ) {
155- console . log ( err ) ;
156- toast . error ( "Something went wrong! could not downvote comment" ) ;
157- this . setState ( { spinner : "" } ) ;
158- }
159- }
75+ downvoteComment . bind ( this , commentId )
16076 ) ;
16177 } ;
16278
163- handleCommentDelete = async ( commentId ) => {
79+ handleCommentDelete = ( commentId ) => {
16480 this . setState (
16581 {
16682 spinner : "Removig comment..." ,
16783 } ,
168- async ( ) => {
169- try {
170- this . setState ( {
171- ticket : (
172- await axios . delete (
173- `${ BASE_URL } /ticket/${ this . state . ticket . _id } /comment/${ commentId } ` ,
174- { cancelToken : this . axiosCancel . token }
175- )
176- ) . data . ticket ,
177- spinner : "" ,
178- } ) ;
179- } catch ( err ) {
180- console . log ( err ) ;
181- toast . error ( "Something went wrong! could not remove comment" ) ;
182- this . setState ( { spinner : "" } ) ;
183- }
184- }
84+ deleteComment . bind ( this , commentId )
18585 ) ;
18686 } ;
18787
188- handleAddTag = async ( tagName ) => {
88+ handleAddTag = ( tagName ) => {
18989 if ( this . state . ticket . tags . indexOf ( tagName ) !== - 1 ) {
19090 toast . error ( "Tag already present" ) ;
19191 } else if ( tagName . length > 10 ) {
@@ -197,52 +97,17 @@ class TicketDiscussions extends Component {
19797 {
19898 spinner : "Adding Tag..." ,
19999 } ,
200- async ( ) => {
201- try {
202- this . setState ( {
203- ticket : (
204- await axios . post (
205- `${ BASE_URL } /ticket/${ this . state . ticket . _id } /tag/${ tagName } ` ,
206- { } ,
207- { cancelToken : this . axiosCancel . token }
208- )
209- ) . data . ticket ,
210- spinner : "" ,
211- } ) ;
212- this . props . addTag ( this . state . ticket . _id , tagName ) ;
213- } catch ( err ) {
214- console . log ( err ) ;
215- toast . error ( "Something went wrong! could not add tag" ) ;
216- this . setState ( { spinner : "" } ) ;
217- }
218- }
100+ addTag . bind ( this , tagName )
219101 ) ;
220102 }
221103 } ;
222104
223- handleDeleteTag = async ( tagName ) => {
105+ handleDeleteTag = ( tagName ) => {
224106 this . setState (
225107 {
226108 spinner : "Removing Tag..." ,
227109 } ,
228- async ( ) => {
229- try {
230- this . setState ( {
231- ticket : (
232- await axios . delete (
233- `${ BASE_URL } /ticket/${ this . state . ticket . _id } /tag/${ tagName } ` ,
234- { cancelToken : this . axiosCancel . token }
235- )
236- ) . data . ticket ,
237- spinner : "" ,
238- } ) ;
239- this . props . addTag ( this . state . ticket . _id , tagName ) ;
240- } catch ( err ) {
241- console . log ( err ) ;
242- toast . error ( "Something went wrong! could not remove tag" ) ;
243- this . setState ( { spinner : "" } ) ;
244- }
245- }
110+ deleteTag . bind ( this , tagName )
246111 ) ;
247112 } ;
248113
0 commit comments