diff --git a/src/components/DistBuilder2.re b/src/components/DistBuilder2.re index 06325721..d6cb3eb0 100644 --- a/src/components/DistBuilder2.re +++ b/src/components/DistBuilder2.re @@ -1,11 +1,6 @@ open BsReform; open Antd.Grid; -type shape = (array(float), array(float)); - -[@bs.module "./editor/main.js"] -external getPdfFromUserInput: string => shape = "get_pdf_from_user_input"; - module FormConfig = [%lenses type state = {guesstimatorString: string}]; module Form = ReForm.Make(FormConfig); @@ -32,49 +27,15 @@ module FieldString = { module Styles = { open Css; - let rows = - style([ - selector( - ">.ant-col:first-child", - [paddingLeft(em(0.25)), paddingRight(em(0.125))], - ), - selector( - ">.ant-col:last-child", - [paddingLeft(em(0.125)), paddingRight(em(0.25))], - ), - selector( - ">.ant-col:not(:first-child):not(:last-child)", - [paddingLeft(em(0.125)), paddingRight(em(0.125))], - ), - ]); - let parent = - style([ - selector(".ant-input-number", [width(`percent(100.))]), - selector(".anticon", [verticalAlign(`zero)]), - ]); - let form = style([backgroundColor(hex("eee")), padding(em(1.))]); let dist = style([padding(em(1.))]); let spacer = style([marginTop(em(1.))]); - let groupA = - style([ - selector( - ".ant-input-number-input", - [backgroundColor(hex("fff7db"))], - ), - ]); - let groupB = - style([ - selector( - ".ant-input-number-input", - [backgroundColor(hex("eaf4ff"))], - ), - ]); }; module DemoDist = { [@react.component] let make = (~guesstimatorString: string) => { - let (ys, xs) = getPdfFromUserInput("normal(1, 1) / normal(10, 1)"); + let (ys, xs) = + DistEditor.getPdfFromUserInput("normal(1, 1) / normal(10, 1)"); let continuous: DistTypes.xyShape = {xs, ys}; E.ste}>
@@ -85,7 +46,6 @@ module DemoDist = { [@react.component] let make = () => { - let (reloader, setRealoader) = React.useState(() => 1); let reform = Form.use( ~validationStrategy=OnDemand, @@ -95,11 +55,6 @@ let make = () => { (), ); - let onSubmit = e => { - e->ReactEvent.Synthetic.preventDefault; - reform.submit(); - }; - let demoDist = React.useMemo1( () => { @@ -110,26 +65,14 @@ let make = () => { [|reform.state.values.guesstimatorString|], ); - let onRealod = _ => { - setRealoader(_ => reloader + 1); - }; - -
+
demoDist
- E.ste} - extra={ - - }> + E.ste}> - - + + { /> - - {"Update Distribution" |> E.ste} - diff --git a/src/components/editor/DistEditor.re b/src/components/editor/DistEditor.re new file mode 100644 index 00000000..ea315d11 --- /dev/null +++ b/src/components/editor/DistEditor.re @@ -0,0 +1,3 @@ +[@bs.module "./main.js"] +external getPdfFromUserInput: string => (array(float), array(float)) = + "get_pdf_from_user_input";