diff --git a/package-lock.json b/package-lock.json index 4aa69e8..984bc97 100644 --- a/package-lock.json +++ b/package-lock.json @@ -79,6 +79,9 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.1.0.tgz", "integrity": "sha512-dQoid9tqQ+uotGhuTKEY11X4xhyYePVnqGSoSm3OGKh2E8LZ6RPULp1uXTctk33IeERlrRJYoVSBglsL05F5Uw==" + }, + "three-js-csg": { + "version": "github:Doodle3D/three-js-csg#a36f23da6e9be2405a9094de5709cb0ae8f58045" } } }, @@ -7856,9 +7859,6 @@ "resolved": "https://registry.npmjs.org/three/-/three-0.88.0.tgz", "integrity": "sha1-QlbC/Djk+yOg0j66K2zOTfjkZtU=" }, - "three-js-csg": { - "version": "github:Doodle3D/three-js-csg#a36f23da6e9be2405a9094de5709cb0ae8f58045" - }, "through2": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", diff --git a/src/interface/FormComponents.js b/src/interface/FormComponents.js index bedb69d..b99d7ae 100644 --- a/src/interface/FormComponents.js +++ b/src/interface/FormComponents.js @@ -39,12 +39,31 @@ export const TextField = (props, context) => ( floatingLabelStyle={{ color: context.advancedFields.includes(props.name) ? blue500 : grey500 }} disabled={context.disabled} value={_.get(context, props.name)} - onChange={(event, value) => context.onChange(props.name, props.type === 'number' ? parseFloat(value) : value)} + onChange={(event, value) => context.onChange(props.name, value)} /> ); TextField.contextTypes = contextTypes; TextField.propTypes = propTypes; +export const NumberField = (props, context) => ( + context.onChange(props.name, null)} />} + floatingLabelStyle={{ color: context.advancedFields.includes(props.name) ? blue500 : grey500 }} + disabled={context.disabled} + value={_.get(context, props.name)} + onChange={(event, value) => { + value = parseFloat(value); + if (props.min) value = Math.max(value, props.min); + if (props.max) value = Math.min(value, props.max); + context.onChange(props.name, value); + }} + /> +); +NumberField.contextTypes = contextTypes; +NumberField.propTypes = propTypes; + export const Checkbox = (props, context) => (

Layer

- +

Printer dimensions

- - - + + +

Nozzle

- +

Bed

- +

Material

- - + +

Thickness

- - - + + +

Retraction

- - - + + +

Travel

- +

Inner shell

- - + +

Outer shell

- - + +

Inner infill

- - - + + +

Outer infill

- - + +

Brim

- - - + + +

First layer

- - + +