Changes
3 changed files (+26/-36)
-
-
@@ -29,8 +29,8 @@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 Model = { url : Url , key : Key , parameters : Parameters , parametersForm : Parameters.Form.Model , parameters : Parameters.App.Model , preferences : Preferences.App.Model }
-
@@ -63,8 +62,7 @@ Parameters.defaultin ( { 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 @@type Msg = NoOp | ParametersFormMsg Parameters.Form.Msg | ParametersFormMsg Parameters.App.Msg | PreferencesMsg Preferences.App.Msg | UrlRequested Browser.UrlRequest | UrlChanged Url
-
@@ -89,12 +87,9 @@ case msg ofNoOp -> ( 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 @@ [ node "x-app-layout"[] [ 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 Model = { fields : Fields , errors : Errors , parameters : Parameters }
-
@@ -60,6 +60,7 @@ Dict.emptyErr errors -> errors , parameters = params }
-
@@ -67,13 +68,8 @@-- 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,22 +185,23 @@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 )
-
@@ -314,7 +311,7 @@ , attrs : List (Html.Attribute 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 @@ , description : Maybe (List (Html.Html 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 @@ :: 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 @@ [ text "Diameter of buckle holes. You can leave the default value if you're going to use the center mark." ], 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 @@ , attrs = step "0.1" :: lengthFieldAttrs constraints.rendering.lineWidth} ] ] |> List.map (Html.map Internal)
-