@@ -32,7 +32,6 @@ import { SectionLayout, PolicyContainer } from '../marginals';
32
32
33
33
const Edit = ( ) => {
34
34
const [ post , setPost ] = useState ( [ ] ) ;
35
- const [ plicies , setPlicies ] = useState ( [ ] ) ;
36
35
37
36
const { issn } = useParams ( ) ;
38
37
@@ -43,18 +42,34 @@ const Edit = () => {
43
42
useEffect ( ( ) => {
44
43
if ( data ) {
45
44
setPost ( data ?. getJournalByISSN ) ;
46
- }
47
- if ( data ) {
48
- setPlicies ( data ?. getJournalByISSN ?. policies ) ;
45
+
46
+ console . log ( { data } ) ;
47
+ setTitle ( data . getJournalByISSN . policies . title ) ;
48
+ setPolicyType ( data . getJournalByISSN . policies . policyType ) ;
49
+ setEnforced ( data . getJournalByISSN . policies . enforced ) ;
50
+ setEnforcedEvidence ( data . getJournalByISSN . policies . enforcedEvidence ) ;
51
+ setIsDataAvailabilityStatementPublished (
52
+ data . getJournalByISSN . policies . isDataAvailabilityStatementPublished ,
53
+ ) ;
54
+ setIsDataShared ( data . getJournalByISSN . policies . isDataShared ) ;
55
+ setIsDataPeerReviewed ( data . getJournalByISSN . policies . isDataPeerReviewed ) ;
56
+ setFirstYear ( data . getJournalByISSN . policies . firstYear ) ;
49
57
}
50
58
} , [ data ?. getJournalByISSN , data , data ?. getJournalByISSN ?. policies ] ) ;
51
59
52
60
const setPost2 = ( key , value ) => setPost ( ( current ) => ( { ...current , [ key ] : value } ) ) ;
53
61
54
- // const setPost3 = (key, value) => setPlicies((current) => ({ ...current, [key]: value }));
62
+ const [ title , setTitle ] = useState ( '' ) ;
63
+ const [ policyType , setPolicyType ] = useState ( '' ) ;
64
+ const [ enforced , setEnforced ] = useState ( '' ) ;
65
+ const [ enforcedEvidence , setEnforcedEvidence ] = useState ( '' ) ;
66
+ const [ isDataAvailabilityStatementPublished , setIsDataAvailabilityStatementPublished ] =
67
+ useState ( false ) ;
68
+ const [ isDataShared , setIsDataShared ] = useState ( false ) ;
69
+ const [ isDataPeerReviewed , setIsDataPeerReviewed ] = useState ( false ) ;
70
+ const [ firstYear , setFirstYear ] = useState ( 9999 ) ;
55
71
56
72
const [ updateJournal , { data1, error1 } ] = useMutation ( UPDATE_JOURNAL ) ;
57
-
58
73
const editJournal = async ( event ) => {
59
74
event . preventDefault ( ) ;
60
75
const response = await updateJournal ( {
@@ -66,35 +81,20 @@ const Edit = () => {
66
81
issn : post . issn ,
67
82
domainName : post . domainName ,
68
83
policies : {
69
- title : post ?. policies ?. title ,
70
- policyType : post . policies . policyType ,
71
- enforced : post ?. policies ?. enforced ,
72
- enforcedEvidence : post ?. policies ?. enforcedEvidence ,
73
- isDataAvailabilityStatementPublished :
74
- post ?. policies ?. isDataAvailabilityStatementPublished ,
75
- isDataShared : post ?. policies ?. isDataShared ,
76
- isDataPeerReviewed : post ?. policies ?. isDataPeerReviewed ,
77
- firstYear : post ?. policies ?. firstYear ,
84
+ title,
85
+ policyType,
86
+ enforced,
87
+ enforcedEvidence,
88
+ isDataAvailabilityStatementPublished,
89
+ isDataShared,
90
+ isDataPeerReviewed,
91
+ firstYear,
78
92
} ,
79
93
} ,
80
94
} ,
81
95
} ) ;
82
- console . log ( { response } ) ;
83
96
} ;
84
97
85
- // console.log({
86
- // policies: {
87
- // title: post?.policies?.title,
88
- // policyType: post?.policies?.policyType,
89
- // enforced: post?.policies?.enforced,
90
- // enforcedEvidence: post?.policies?.enforcedEvidence,
91
- // isDataAvailabilityStatementPublished: post?.policies?.isDataAvailabilityStatementPublished,
92
- // isDataShared: post?.policies?.isDataShared,
93
- // isDataPeerReviewed: post?.policies?.isDataPeerReviewed,
94
- // firstYear: post?.policies?.firstYear,
95
- // },
96
- // });
97
-
98
98
if ( ! post ) return < div > Loading</ div > ;
99
99
100
100
return (
@@ -140,9 +140,21 @@ const Edit = () => {
140
140
< Input
141
141
type = 'text'
142
142
required
143
- value = { post ?. policies ?. enforcedEvidence }
143
+ value = { enforcedEvidence }
144
144
onChange = { ( e ) => {
145
- setPost2 ( 'policies?.enforcedEvidence' , e . target . value ) ;
145
+ setEnforcedEvidence ( e . target . value ) ;
146
+ } }
147
+ />
148
+ </ div >
149
+
150
+ < div >
151
+ < Label > policy title</ Label >
152
+ < Input
153
+ type = 'text'
154
+ required
155
+ value = { title }
156
+ onChange = { ( e ) => {
157
+ setTitle ( e . target . value ) ;
146
158
} }
147
159
/>
148
160
</ div >
@@ -170,20 +182,6 @@ const Edit = () => {
170
182
} }
171
183
/>
172
184
</ div >
173
- { /* <div>
174
- <Label>Authors</Label>
175
- <Input
176
- type='text'
177
- required
178
- value={editA}
179
- onChange={(e) =>
180
- dispatch({
181
- type: 'EDIT_AUTHORS',
182
- payload: e.target.value,
183
- })
184
- }
185
- />
186
- </div> */ }
187
185
</ FirstDiv >
188
186
< Subhead >
189
187
< Icon >
@@ -195,25 +193,15 @@ const Edit = () => {
195
193
< SecondDiv >
196
194
< div >
197
195
< Label > Policy Type:</ Label >
198
- < Select
199
- value = { post ?. policies ?. policyType }
200
- onChange = { ( e ) => {
201
- setPost2 ( 'policies.policyType' , e . target . value ) ;
202
- } }
203
- >
196
+ < Select value = { policyType } onChange = { ( e ) => setPolicyType ( e . target . value ) } >
204
197
< option value = 'NUMBER_ONE' > NUMBER_ONE</ option >
205
198
< option value = 'NUMBER_TWO' > NUMBER_TWO</ option >
206
199
< option value = 'NUMBER_THREE' > NUMBER_THREE</ option >
207
200
</ Select >
208
201
</ div >
209
202
< div >
210
203
< Label > Enforced:</ Label >
211
- < Select
212
- value = { post ?. policies ?. enforced }
213
- onChange = { ( e ) => {
214
- setPost2 ( 'policies.enforced' , e . target . value ) ;
215
- } }
216
- >
204
+ < Select value = { enforced } onChange = { ( e ) => setEnforced ( e . target . value ) } >
217
205
< option value = 'YES' > Yes - before publication</ option >
218
206
< option value = 'NO' > Option 2</ option >
219
207
</ Select >
@@ -227,9 +215,9 @@ const Edit = () => {
227
215
< Toggle >
228
216
< Switch
229
217
onChange = { ( nextChecked ) =>
230
- setPost2 ( 'policies.isDataAvailabilityStatementPublished' , nextChecked )
218
+ setIsDataAvailabilityStatementPublished ( nextChecked )
231
219
}
232
- checked = { post ?. policies ?. isDataAvailabilityStatementPublished }
220
+ checked = { isDataAvailabilityStatementPublished }
233
221
onColor = '#ef9c38'
234
222
onHandleColor = '#'
235
223
handleDiameter = { 22 }
@@ -250,10 +238,8 @@ const Edit = () => {
250
238
< Label htmlFor = 'material-switch' >
251
239
< Toggle >
252
240
< Switch
253
- onChange = { ( nextChecked ) =>
254
- setPost2 ( 'policies.isDataPeerReviewed' , nextChecked )
255
- }
256
- checked = { post ?. policies ?. isDataPeerReviewed }
241
+ onChange = { ( nextChecked ) => setIsDataPeerReviewed ( nextChecked ) }
242
+ checked = { isDataPeerReviewed }
257
243
onColor = '#ef9c38'
258
244
onHandleColor = '#'
259
245
handleDiameter = { 22 }
@@ -274,8 +260,8 @@ const Edit = () => {
274
260
< Label htmlFor = 'material-switch' >
275
261
< Toggle >
276
262
< Switch
277
- onChange = { ( nextChecked ) => setPost2 ( 'policies.isDataShared' ) }
278
- checked = { post ?. policies ?. isDataShared }
263
+ onChange = { ( nextChecked ) => setIsDataShared ( nextChecked ) }
264
+ checked = { isDataShared }
279
265
onColor = '#ef9c38'
280
266
onHandleColor = '#'
281
267
handleDiameter = { 22 }
@@ -300,17 +286,9 @@ const Edit = () => {
300
286
</ FormInputBtn >
301
287
</ Form >
302
288
</ >
303
- { /* )} */ }
304
289
</ PolicyContainer >
305
290
</ SectionLayout >
306
291
) ;
307
292
} ;
308
293
309
294
export default Edit ;
310
-
311
- /**
312
- * fetch post details via graphql query (useQuery query)
313
- * set these details in local state (useState, useEffect)
314
- * use this state to give values to input and update via onChange
315
- * onClick for save, use post state
316
- */
0 commit comments