Indicate saving custom field values

This commit is contained in:
Eike Kettner
2020-11-23 00:16:50 +01:00
parent bcdb2fc0fe
commit 7026852123
9 changed files with 111 additions and 14 deletions

View File

@ -63,6 +63,7 @@ type alias SelectViewModel =
, deleteAllConfirm : Comp.YesNoDimmer.Model
, editModel : Comp.ItemDetail.EditMenu.Model
, saveNameState : SaveNameState
, saveCustomFieldState : Set String
}
@ -73,6 +74,7 @@ initSelectViewModel =
, deleteAllConfirm = Comp.YesNoDimmer.initActive
, editModel = Comp.ItemDetail.EditMenu.init
, saveNameState = SaveSuccess
, saveCustomFieldState = Set.empty
}

View File

@ -459,6 +459,16 @@ update mId key flags settings msg model =
_ ->
svm.saveNameState
, saveCustomFieldState =
case res.change of
CustomValueChange field _ ->
Set.insert field.id svm.saveCustomFieldState
RemoveCustomValue field ->
Set.insert field.id svm.saveCustomFieldState
_ ->
svm.saveCustomFieldState
}
cmd_ =
@ -542,6 +552,16 @@ update mId key flags settings msg model =
updateSelectViewNameState : Bool -> Model -> FormChange -> Model
updateSelectViewNameState success model change =
let
removeCustomField field svm =
{ model
| viewMode =
SelectView
{ svm
| saveCustomFieldState = Set.remove field.id svm.saveCustomFieldState
}
}
in
case model.viewMode of
SelectView svm ->
case change of
@ -559,6 +579,12 @@ updateSelectViewNameState success model change =
in
{ model | viewMode = SelectView svm_ }
RemoveCustomValue field ->
removeCustomField field svm
CustomValueChange field _ ->
removeCustomField field svm
_ ->
model

View File

@ -178,7 +178,16 @@ viewLeftMenu flags settings model =
Comp.ItemDetail.EditMenu.defaultViewConfig
cfg =
{ cfg_ | nameState = svm.saveNameState }
{ cfg_
| nameState = svm.saveNameState
, customFieldState =
\fId ->
if Set.member fId svm.saveCustomFieldState then
Comp.ItemDetail.EditMenu.Saving
else
Comp.ItemDetail.EditMenu.SaveSuccess
}
in
[ div [ class "ui dividing header" ]
[ text "Multi-Edit"