mirror of
https://gitlab.com/MrFry/qmining-data-editor
synced 2025-04-01 20:24:01 +02:00
hiding locked dbs
This commit is contained in:
parent
2ae8d7ffb2
commit
20fb611ee3
3 changed files with 40 additions and 19 deletions
|
@ -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}
|
||||
|
|
|
@ -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 />
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue