Changes
3 changed files (+26/-36)
-
-
@@ -29,8 +29,8 @@ pub fn build(b: *std.Build) !void {compile.addElmSourceFile(b.path("src/Html/LivingStandard.elm")); compile.addElmSourceFile(b.path("src/Length.elm")); compile.addElmSourceFile(b.path("src/Parameters.elm")); compile.addElmSourceFile(b.path("src/Parameters/App.elm")); compile.addElmSourceFile(b.path("src/Parameters/Constraints.elm")); compile.addElmSourceFile(b.path("src/Parameters/Form.elm")); compile.addElmSourceFile(b.path("src/Parameters/Key.elm")); compile.addElmSourceFile(b.path("src/Parameters/Parser.elm")); compile.addElmSourceFile(b.path("src/Preferences.elm"));
-
-
-
@@ -14,8 +14,8 @@ import Browser.Navigation exposing (Key)import Html exposing (hr, node, p) import Html.LivingStandard exposing (..) import Json.Decode import Parameters exposing (Parameters) import Parameters.Form import Parameters import Parameters.App import Preferences.App import Template exposing (template) import Url exposing (Url)
-
@@ -49,8 +49,7 @@ type alias Flags =type alias Model = { url : Url , key : Key , parameters : Parameters , parametersForm : Parameters.Form.Model , parameters : Parameters.App.Model , preferences : Preferences.App.Model }
-
@@ -63,8 +62,7 @@ init flags url key =in ( { url = url , key = key , parameters = parameters , parametersForm = Parameters.Form.init parameters , parameters = Parameters.App.init parameters , preferences = Preferences.App.init flags.preferences } , Cmd.none
-
@@ -77,7 +75,7 @@ init flags url key =type Msg = NoOp | ParametersFormMsg Parameters.Form.Msg | ParametersFormMsg Parameters.App.Msg | PreferencesMsg Preferences.App.Msg | UrlRequested Browser.UrlRequest | UrlChanged Url
-
@@ -89,12 +87,9 @@ update msg model =NoOp -> ( model, Cmd.none ) ParametersFormMsg (Parameters.Form.ParametersChangeRequested newParams) -> ( { model | parameters = newParams }, Cmd.none ) ParametersFormMsg subMsg -> Parameters.Form.update subMsg model.parametersForm |> Tuple.mapFirst (\p -> { model | parametersForm = p }) Parameters.App.update subMsg model.parameters |> Tuple.mapFirst (\p -> { model | parameters = p }) |> Tuple.mapSecond (Cmd.map ParametersFormMsg) PreferencesMsg subMsg ->
-
@@ -124,13 +119,12 @@ view model =[] [ node "x-preview" [ slot "preview" ] [ template model.parameters [] ] [ template model.parameters.parameters [] ] , node "x-panel" [ slot "parameters" ] [ node "x-parameters" [] ((Parameters.Form.view model.parametersForm ((Parameters.App.view model.parameters |> List.map (Html.map ParametersFormMsg) )
-
-
-
@@ -7,7 +7,7 @@-- SPDX-License-Identifier: MPL-2.0 module Parameters.Form exposing (Model, Msg(..), init, update, view) module Parameters.App exposing (Model, Msg, init, update, view) import Dict exposing (Dict) import Html exposing (hr, input, label, node, p, span, text)
-
@@ -19,7 +19,6 @@ import Parameters exposing (Parameters)import Parameters.Constraints exposing (NumberConstraints, constraints) import Parameters.Key as Key exposing (Key(..)) import Parameters.Parser exposing (Error(..), parseInt, parseLength) import Task
-
@@ -37,6 +36,7 @@ type alias Errors =type alias Model = { fields : Fields , errors : Errors , parameters : Parameters }
-
@@ -60,6 +60,7 @@ init params =Err errors -> errors , parameters = params }
-
@@ -67,13 +68,8 @@ init params =-- UPDATE type InternalMsg = FieldChanged Key String type Msg = Internal InternalMsg | ParametersChangeRequested Parameters = FieldChanged Key String parseField : Key -> (String -> Result Error a) -> Fields -> Result Error a
-
@@ -189,23 +185,24 @@ parse fields =update : Msg -> Model -> ( Model, Cmd Msg ) update msg model = case msg of Internal (FieldChanged key value) -> FieldChanged key value -> let fields = Dict.insert (Key.toString key) value model.fields in case parse fields of Ok newParams -> ( { model | fields = fields, errors = Dict.empty } , Task.perform identity (Task.succeed (ParametersChangeRequested newParams)) ( { model | fields = fields , errors = Dict.empty , parameters = newParams } , Cmd.none ) Err errors -> ( { model | fields = fields, errors = errors }, Cmd.none ) ParametersChangeRequested _ -> ( model, Cmd.none ) -- VIEW
-
@@ -314,7 +311,7 @@ type alias FieldProps msg =} field : Model -> FieldProps InternalMsg -> Html.Html InternalMsg field : Model -> FieldProps Msg -> Html.Html Msg field model { key, title, description, attrs, unit } = node "x-field" []
-
@@ -355,7 +352,7 @@ type alias GroupProps msg =} group : GroupProps InternalMsg -> List (Html.Html InternalMsg) -> Html.Html InternalMsg group : GroupProps Msg -> List (Html.Html Msg) -> Html.Html Msg group { title, description } children = node "x-field-group" []
-
@@ -365,8 +362,8 @@ group { title, description } children =) view : Model -> Parameters -> List (Html.Html Msg) view model params = view : Model -> List (Html.Html Msg) view model = [ group { title = [ text "General" ], description = Nothing } [ field model
-
@@ -398,7 +395,7 @@ view model params =, unit = Just "mm" , attrs = step "1.0" :: disabled (params.longPiece.buckleHole.count == 0) :: disabled (model.parameters.longPiece.buckleHole.count == 0) :: lengthFieldAttrs constraints.longPiece.buckleHole.diameter } ]
-
@@ -423,4 +420,3 @@ view model params =} ] ] |> List.map (Html.map Internal)
-