Initial commit, with fully working project :p

This commit is contained in:
MrFry 2020-03-25 13:25:41 +01:00
commit 53b4158967
21 changed files with 894 additions and 0 deletions

View file

@ -0,0 +1,79 @@
import React, { PureComponent } from 'react'
import styles from './question.module.css'
class Question extends PureComponent {
render () {
const { subjInd, question, onChange, deleteQuestion } = this.props
let qdata = question.data
if (typeof qdata === 'object' && qdata.type === 'simple') {
qdata = ''
}
if (qdata) {
try {
qdata = JSON.stringify(qdata)
} catch (e) {}
}
const qChange = (e) => {
onChange(subjInd, question.ind, {
...question,
[e.target.name]: e.target.value
})
}
// TODO
const qDataChange = (e) => {
try {
let newData = JSON.parse(e.target.value)
onChange(subjInd, question.ind, {
...question,
data: newData
})
} catch (e) {
console.log('invalid JSON')
}
}
return (
<div className={styles.questionContainer}>
<div className={styles.inputContainer}>
<input
className={styles.questionInput}
type='text'
value={question.Q}
onChange={qChange}
name='Q'
/>
</div>
<div className={styles.inputContainer}>
<input
className={styles.questionInput}
type='text'
value={question.A}
onChange={qChange}
name='A'
/>
</div>
<div className={styles.inputContainer}>
<input
className={styles.questionInput}
type='text'
value={JSON.stringify(question.data)}
onChange={qDataChange}
name='data'
/>
<span
className={styles.deleteButton}
onClick={() => { deleteQuestion(subjInd, question.ind) }}
>
Delete question
</span>
</div>
</div>
)
}
}
export default Question