Skip to content
Snippets Groups Projects
Commit d2fc5a62 authored by Nico Vermaas's avatar Nico Vermaas
Browse files

adding multiple archive query (under construction)

parent 2ca7d724
No related branches found
No related tags found
2 merge requests!6964 multiple archive query,!6864 multiple archive query
...@@ -70,6 +70,7 @@ export default function QueryCatalogs() { ...@@ -70,6 +70,7 @@ export default function QueryCatalogs() {
queryMap.clear(); queryMap.clear();
const gui = config.query_schema.name; const gui = config.query_schema.name;
const queries = parseQueryForm(gui, formData); const queries = parseQueryForm(gui, formData);
queries.forEach((query) => { queries.forEach((query) => {
queryMap.set(query.catalog, { queryMap.set(query.catalog, {
......
...@@ -140,8 +140,7 @@ export default function QueryMultipleArchives() { ...@@ -140,8 +140,7 @@ export default function QueryMultipleArchives() {
console.log('status = '+status) console.log('status = '+status)
} }
// set ConfigName for archive // set ConfigName for multi_archive query
// load the GUI for this configuration
useEffect(() => { useEffect(() => {
setConfigName("multiple_archives"); setConfigName("multiple_archives");
...@@ -154,6 +153,7 @@ export default function QueryMultipleArchives() { ...@@ -154,6 +153,7 @@ export default function QueryMultipleArchives() {
}, []); }, []);
// execute when the form
useEffect(() => { useEffect(() => {
if (status === CREATE_QUERIES) { if (status === CREATE_QUERIES) {
...@@ -164,7 +164,6 @@ export default function QueryMultipleArchives() { ...@@ -164,7 +164,6 @@ export default function QueryMultipleArchives() {
fetchRunQueries() fetchRunQueries()
} }
//alert('archiveQueries: ',archiveQueries)
}, [queryStep, formData]); }, [queryStep, formData]);
...@@ -182,6 +181,14 @@ export default function QueryMultipleArchives() { ...@@ -182,6 +181,14 @@ export default function QueryMultipleArchives() {
setQueryStep('run-query') setQueryStep('run-query')
} }
// submit the form, and create the queries based on the parameters
function submitFormData(formData) {
setFormData(formData)
setStatus(CREATE_QUERIES)
setQueryStep('create-query')
}
// https://react-jsonschema-form.readthedocs.io/en/latest/advanced-customization/custom-templates/#objectfieldtemplate // https://react-jsonschema-form.readthedocs.io/en/latest/advanced-customization/custom-templates/#objectfieldtemplate
function myObjectFieldTemplate({ TitleField, properties, title, description }) { function myObjectFieldTemplate({ TitleField, properties, title, description }) {
return ( return (
...@@ -201,30 +208,11 @@ export default function QueryMultipleArchives() { ...@@ -201,30 +208,11 @@ export default function QueryMultipleArchives() {
// RENDER // RENDER
if (!config) return <LoadingSpinner /> if (!config) return <LoadingSpinner />
// load the GUI for this configuration
const uiSchemaProp = config.ui_schema ? { uiSchema: config.ui_schema } : {}; const uiSchemaProp = config.ui_schema ? { uiSchema: config.ui_schema } : {};
console.log("Form Data:", formData);
//alert('render: '+status)
if (status === CREATE_QUERIES) {
//fetchCreateQueries()
}
if (status === RUN_SELECTED_QUERIES) {
//fetchRunQueries()
}
let renderForm
if (status === QUERY_FORM) {
renderForm=<h1>Render Form</h1>
}
// the logic to construct the GUI // the logic to construct the GUI
let renderCreateQueryButton let renderCreateQueryButton = <Button type="submit" onClick={() => {handleCreateQueries();}}>{getQueryIcon()} Create Queries</Button>
//if (status === CREATE_QUERIES) {
renderCreateQueryButton = <Button type="submit" onClick={() => {handleCreateQueries();}}>{getQueryIcon()} Create Queries</Button>
//}
let renderRunQueryButton let renderRunQueryButton
if (status === QUERIES_SELECTED) { if (status === QUERIES_SELECTED) {
...@@ -249,18 +237,18 @@ export default function QueryMultipleArchives() { ...@@ -249,18 +237,18 @@ export default function QueryMultipleArchives() {
return ( return (
<Container fluid> <Container fluid>
<h2>Status - {status}</h2>
{renderForm}
<Form <Form
schema={config.query_schema} schema={config.query_schema}
ObjectFieldTemplate={myObjectFieldTemplate} ObjectFieldTemplate={myObjectFieldTemplate}
formData={formData} formData={formData}
onSubmit={({ formData }) => setFormData(formData)} onSubmit={({ formData }) => submitFormData(formData)}
{...uiSchemaProp} {...uiSchemaProp}
> >
{renderCreateQueryButton}&nbsp;
{renderRunQueryButton}
</Form> </Form>
{renderCreateQueryButton}&nbsp;
{renderRunQueryButton}
{renderCreateQueryResults} {renderCreateQueryResults}
{renderQueryResults} {renderQueryResults}
</Container> </Container>
......
...@@ -8,6 +8,7 @@ export default function parseMultipleArchivesForm(formData) { ...@@ -8,6 +8,7 @@ export default function parseMultipleArchivesForm(formData) {
let base_query = ""; let base_query = "";
let formInput = Object.entries(formData); let formInput = Object.entries(formData);
// construct the base esap_query by iterating over all the fields in the form // construct the base esap_query by iterating over all the fields in the form
for (let [key, value] of formInput) { for (let [key, value] of formInput) {
base_query += `${`${base_query}` ? "&" : ""}` + key + "=" + value; base_query += `${`${base_query}` ? "&" : ""}` + key + "=" + value;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment