From 040100f9926e4f9bcd607296bc4e7d28dde209d2 Mon Sep 17 00:00:00 2001 From: eikek Date: Sat, 29 Jan 2022 16:55:28 +0100 Subject: [PATCH] Keep form state after save --- .../webapp/src/main/elm/Comp/UiSettingsForm.elm | 10 ++++++++++ .../webapp/src/main/elm/Comp/UiSettingsManage.elm | 14 ++++++++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/modules/webapp/src/main/elm/Comp/UiSettingsForm.elm b/modules/webapp/src/main/elm/Comp/UiSettingsForm.elm index 99b92559..87ef2f75 100644 --- a/modules/webapp/src/main/elm/Comp/UiSettingsForm.elm +++ b/modules/webapp/src/main/elm/Comp/UiSettingsForm.elm @@ -9,6 +9,7 @@ module Comp.UiSettingsForm exposing ( Model , Msg , init + , initData , toggleAllTabs , update , view2 @@ -178,6 +179,15 @@ init flags storedSettings defaults = ( initModel flags storedSettings defaults, Api.getTags flags "" Data.TagOrder.NameAsc GetTagsResp ) +initData : Flags -> StoredUiSettings -> UiSettings -> Model -> ( Model, Cmd Msg ) +initData flags storedSettings defaults model = + let + ( m, c ) = + init flags storedSettings defaults + in + ( { m | openTabs = model.openTabs }, c ) + + type Msg = SearchPageSizeMsg Comp.IntField.Msg | TagColorMsg Comp.ColorTagger.Msg diff --git a/modules/webapp/src/main/elm/Comp/UiSettingsManage.elm b/modules/webapp/src/main/elm/Comp/UiSettingsManage.elm index 2f749f77..26757edb 100644 --- a/modules/webapp/src/main/elm/Comp/UiSettingsManage.elm +++ b/modules/webapp/src/main/elm/Comp/UiSettingsManage.elm @@ -211,11 +211,17 @@ update flags settings msg model = userDefaults = Data.UiSettings.merge coll collDefaults - ( um, uc ) = - Comp.UiSettingsForm.init flags user userDefaults + ( ( um, uc ), ( cm, cc ) ) = + case model.formData of + Just data -> + ( Comp.UiSettingsForm.initData flags user userDefaults data.userModel + , Comp.UiSettingsForm.initData flags coll collDefaults data.collModel + ) - ( cm, cc ) = - Comp.UiSettingsForm.init flags coll collDefaults + Nothing -> + ( Comp.UiSettingsForm.init flags user userDefaults + , Comp.UiSettingsForm.init flags coll collDefaults + ) model_ = { model