hiding locked dbs

This commit is contained in:
mrfry 2021-02-22 12:14:32 +01:00
parent 2ae8d7ffb2
commit 20fb611ee3
3 changed files with 40 additions and 19 deletions

View file

@ -1,21 +1,30 @@
import React from 'react' import React from 'react'
export default function DbSelector(props) { export default function DbSelector(props) {
const { qdbs, onChange } = props const { selectedDb, qdbs, onChange, hideLockedDbs } = props
const selectedIndex =
qdbs && selectedDb
? qdbs.findIndex((qdb) => {
return qdb.name === selectedDb.name
})
: -1
return ( return (
<> <>
<select <select
style={{ margin: '10px 0px' }} style={{ margin: '10px 0px' }}
defaultValue={-1} defaultValue={selectedIndex}
value={selectedIndex}
onChange={(event) => { onChange={(event) => {
onChange(qdbs[event.target.value]) onChange(qdbs[event.target.value])
}} }}
> >
<option disabled value={-1}> <option value={-1}>{' -- Válassz egy kérdés adatbázist -- '}</option>
{' -- Válassz egy kérdés adatbázist -- '}
</option>
{qdbs.map((qdb, i) => { {qdbs.map((qdb, i) => {
if (hideLockedDbs && qdb.locked) {
return null
}
return ( return (
<option value={i} key={qdb.name}> <option value={i} key={qdb.name}>
{qdb.name} {qdb.name}

View file

@ -48,7 +48,7 @@ const handleSubmit = async (form) => {
const toSend = { const toSend = {
id: cid, id: cid,
version: version, version: `WEBSITE${version ? ` (${version})` : ''}`,
location: `https://${form.selectedDb.name}`, location: `https://${form.selectedDb.name}`,
subj: form.subj, subj: form.subj,
quiz: form.quiz, quiz: form.quiz,
@ -164,6 +164,7 @@ export default function QuestionAdder({ data, selectedDb, refetchDbs }) {
<React.Fragment key={i}> <React.Fragment key={i}>
<hr /> <hr />
<Question <Question
index={i}
question={form.quiz[i] || {}} question={form.quiz[i] || {}}
onChange={(newVal) => { onChange={(newVal) => {
handleQuestionChange(i, newVal) handleQuestionChange(i, newVal)
@ -293,6 +294,10 @@ export default function QuestionAdder({ data, selectedDb, refetchDbs }) {
) )
} }
if (!data) {
return null
}
return ( return (
<div> <div>
<hr /> <hr />

View file

@ -109,7 +109,7 @@ export default function Index({ router }) {
const [infoRead, setInfoRead] = useState(false) const [infoRead, setInfoRead] = useState(false)
const [data, setData] = useState(null) const [data, setData] = useState(null)
const [qdbs, setQdbs] = useState(null) const [qdbs, setQdbs] = useState(null)
const [selectedDb, setSelectedDb] = useState() const [selectedDb, setSelectedDb] = useState(null)
const [view, setView] = useState(views.welcome) const [view, setView] = useState(views.welcome)
const [error, setError] = useState(null) const [error, setError] = useState(null)
@ -117,6 +117,8 @@ export default function Index({ router }) {
useEffect(() => { useEffect(() => {
if (selectedDb) { if (selectedDb) {
loadData() loadData()
} else {
setData(null)
} }
}, [selectedDb]) }, [selectedDb])
@ -160,13 +162,6 @@ export default function Index({ router }) {
}) })
} }
const onQuestionDelete = (deletedQuestions) => {
console.log(deletedQuestions)
}
const onQuestionChange = (newVal, subjName, questionIndex) => {
console.log(newVal, subjName, questionIndex)
}
const renderView = () => { const renderView = () => {
if (view === views.subject) { if (view === views.subject) {
@ -175,7 +170,11 @@ export default function Index({ router }) {
<Head> <Head>
<title>Tárgyak - Data Editor | Frylabs.net</title> <title>Tárgyak - Data Editor | Frylabs.net</title>
</Head> </Head>
<DbSelector qdbs={qdbs} onChange={setSelectedDb} /> <DbSelector
qdbs={qdbs}
selectedDb={selectedDb}
onChange={setSelectedDb}
/>
{data && <SubjectView selectedDb={selectedDb} data={data} />} {data && <SubjectView selectedDb={selectedDb} data={data} />}
</> </>
) )
@ -185,12 +184,14 @@ export default function Index({ router }) {
<Head> <Head>
<title>Kérdések - Data Editor | Frylabs.net</title> <title>Kérdések - Data Editor | Frylabs.net</title>
</Head> </Head>
<DbSelector qdbs={qdbs} onChange={setSelectedDb} /> <DbSelector
qdbs={qdbs}
selectedDb={selectedDb}
onChange={setSelectedDb}
/>
{data && ( {data && (
<QuestionView <QuestionView
selectedDb={selectedDb} selectedDb={selectedDb}
onChange={onQuestionChange}
onDelete={onQuestionDelete}
data={data} data={data}
/> />
)} )}
@ -202,7 +203,12 @@ export default function Index({ router }) {
<Head> <Head>
<title>Kérdés beküldés - Data Editor | Frylabs.net</title> <title>Kérdés beküldés - Data Editor | Frylabs.net</title>
</Head> </Head>
<DbSelector qdbs={qdbs} onChange={setSelectedDb} /> <DbSelector
hideLockedDbs
qdbs={qdbs}
selectedDb={selectedDb}
onChange={setSelectedDb}
/>
<QuestionAdder <QuestionAdder
data={data} data={data}
selectedDb={selectedDb} selectedDb={selectedDb}
@ -267,6 +273,7 @@ export default function Index({ router }) {
{ shallow: true } { shallow: true }
) )
setView(views.questionAdder) setView(views.questionAdder)
setSelectedDb(null)
}} }}
> >
Kérdés beküldés Kérdés beküldés