forked from p15670423/monkey
UI: Delete InternalConfig.js
This is no longer used, advanced tab only contains a couple of fields now
This commit is contained in:
parent
c73fe7a3a9
commit
b7e6435ced
|
@ -1,73 +0,0 @@
|
||||||
import Form from 'react-jsonschema-form-bs4';
|
|
||||||
import React, {useState} from 'react';
|
|
||||||
import {Nav} from 'react-bootstrap';
|
|
||||||
|
|
||||||
const sectionOrder = [
|
|
||||||
'network',
|
|
||||||
'exploits',
|
|
||||||
'classes',
|
|
||||||
'general'
|
|
||||||
];
|
|
||||||
const initialSection = sectionOrder[0];
|
|
||||||
|
|
||||||
export default function InternalConfig(props) {
|
|
||||||
const {
|
|
||||||
schema,
|
|
||||||
uiSchema,
|
|
||||||
onChange,
|
|
||||||
customFormats,
|
|
||||||
className,
|
|
||||||
formData
|
|
||||||
} = props;
|
|
||||||
const [selectedSection, setSelectedSection] = useState(initialSection);
|
|
||||||
const [displayedSchema, setDisplayedSchema] = useState(getSchemaByKey(schema, initialSection));
|
|
||||||
const [displayedSchemaUi, setDisplayedSchemaUi] = useState(uiSchema[initialSection]);
|
|
||||||
|
|
||||||
const onInnerDataChange = (innerData) => {
|
|
||||||
formData[selectedSection] = innerData.formData;
|
|
||||||
onChange({formData: formData});
|
|
||||||
}
|
|
||||||
|
|
||||||
const setSection = (sectionKey) => {
|
|
||||||
setSelectedSection(sectionKey);
|
|
||||||
setDisplayedSchema(getSchemaByKey(schema, sectionKey));
|
|
||||||
setDisplayedSchemaUi(uiSchema[sectionKey]);
|
|
||||||
}
|
|
||||||
|
|
||||||
const renderNav = () => {
|
|
||||||
return (<Nav variant='tabs'
|
|
||||||
fill
|
|
||||||
activeKey={selectedSection} onSelect={setSection}
|
|
||||||
style={{'marginBottom': '2em'}}
|
|
||||||
className={'config-nav'}>
|
|
||||||
{sectionOrder.map(section => {
|
|
||||||
return (
|
|
||||||
<Nav.Item key={section}>
|
|
||||||
<Nav.Link eventKey={section}>{getNavTitle(schema, section)}</Nav.Link>
|
|
||||||
</Nav.Item>);
|
|
||||||
})}
|
|
||||||
</Nav>)
|
|
||||||
}
|
|
||||||
|
|
||||||
return (<div>
|
|
||||||
{renderNav()}
|
|
||||||
<Form schema={displayedSchema}
|
|
||||||
uiSchema={displayedSchemaUi}
|
|
||||||
formData={formData[selectedSection]}
|
|
||||||
onChange={onInnerDataChange}
|
|
||||||
customFormats={customFormats}
|
|
||||||
className={className}
|
|
||||||
liveValidate>
|
|
||||||
<button type='submit' className={'hidden'}>Submit</button>
|
|
||||||
</Form>
|
|
||||||
</div>)
|
|
||||||
}
|
|
||||||
|
|
||||||
function getSchemaByKey(schema, key) {
|
|
||||||
let definitions = schema['definitions'];
|
|
||||||
return {definitions: definitions, properties: schema['properties'][key]['properties']};
|
|
||||||
}
|
|
||||||
|
|
||||||
function getNavTitle(schema, key) {
|
|
||||||
return schema.properties[key].title;
|
|
||||||
}
|
|
Loading…
Reference in New Issue