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'
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 (
<>
<select
style={{ margin: '10px 0px' }}
defaultValue={-1}
defaultValue={selectedIndex}
value={selectedIndex}
onChange={(event) => {
onChange(qdbs[event.target.value])
}}
>
<option disabled value={-1}>
{' -- Válassz egy kérdés adatbázist -- '}
</option>
<option value={-1}>{' -- Válassz egy kérdés adatbázist -- '}</option>
{qdbs.map((qdb, i) => {
if (hideLockedDbs && qdb.locked) {
return null
}
return (
<option value={i} key={qdb.name}>
{qdb.name}

View file

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

View file

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