@@ -12,7 +12,9 @@ import Api.Model.Organization exposing (Organization)
1212import Comp.AddressForm
1313import Comp.Basic as B
1414import Comp.ContactField
15+ import Comp.FixedDropdown
1516import Data.Flags exposing (Flags )
17+ import Data.OrgUse exposing (OrgUse )
1618import Data.UiSettings exposing (UiSettings )
1719import Html exposing (..)
1820import Html.Attributes exposing (..)
@@ -28,6 +30,8 @@ type alias Model =
2830 , contactModel : Comp . ContactField . Model
2931 , notes : Maybe String
3032 , shortName : Maybe String
33+ , use : OrgUse
34+ , useModel : Comp . FixedDropdown . Model OrgUse
3135 }
3236
3337
@@ -39,6 +43,11 @@ emptyModel =
3943 , contactModel = Comp . ContactField . emptyModel
4044 , notes = Nothing
4145 , shortName = Nothing
46+ , use = Data . OrgUse . Correspondent
47+ , useModel =
48+ Comp . FixedDropdown . initMap
49+ Data . OrgUse . label
50+ Data . OrgUse . all
4251 }
4352
4453
@@ -59,6 +68,7 @@ getOrg model =
5968 , contacts = Comp . ContactField . getContacts model. contactModel
6069 , notes = model. notes
6170 , shortName = model. shortName
71+ , use = Data . OrgUse . asString model. use
6272 }
6373
6474
@@ -69,6 +79,7 @@ type Msg
6979 | ContactMsg Comp . ContactField . Msg
7080 | SetNotes String
7181 | SetShortName String
82+ | UseDropdownMsg ( Comp . FixedDropdown . Msg OrgUse )
7283
7384
7485update : Flags -> Msg -> Model -> ( Model , Cmd Msg )
@@ -87,6 +98,9 @@ update flags msg model =
8798 , name = t. name
8899 , notes = t. notes
89100 , shortName = t. shortName
101+ , use =
102+ Data . OrgUse . fromString t. use
103+ |> Maybe . withDefault Data . OrgUse . Correspondent
90104 }
91105 , Cmd . batch [ c1, c2 ]
92106 )
@@ -118,11 +132,27 @@ update flags msg model =
118132 , Cmd . none
119133 )
120134
135+ UseDropdownMsg lm ->
136+ let
137+ ( nm, mu ) =
138+ Comp . FixedDropdown . update lm model. useModel
139+
140+ newUse =
141+ Maybe . withDefault model. use mu
142+ in
143+ ( { model | useModel = nm, use = newUse }, Cmd . none )
144+
121145
122146
123147-- - View2
124148
125149
150+ makeUseItem : Model -> Maybe (Comp .FixedDropdown .Item OrgUse )
151+ makeUseItem model =
152+ Just <|
153+ Comp . FixedDropdown . Item model. use ( Data . OrgUse . label model. use)
154+
155+
126156view2 : Bool -> UiSettings -> Model -> Html Msg
127157view2 mobile settings model =
128158 div [ class " flex flex-col" ]
@@ -167,6 +197,22 @@ view2 mobile settings model =
167197 ]
168198 []
169199 ]
200+ , div [ class " mb-4" ]
201+ [ label
202+ [ class S . inputLabel
203+ ]
204+ [ text " Use" ]
205+ , Html . map UseDropdownMsg
206+ ( Comp . FixedDropdown . view2 ( makeUseItem model) model. useModel)
207+ , span [ class " opacity-50 text-sm" ]
208+ [ case model. use of
209+ Data . OrgUse . Correspondent ->
210+ text " Use as correspondent"
211+
212+ Data . OrgUse . Disabled ->
213+ text " Do not use for suggestions."
214+ ]
215+ ]
170216 , div [ class " mb-4" ]
171217 [ h3 [ class S . header3 ]
172218 [ text " Address"
0 commit comments