mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-03-29 02:05:07 +00:00
Reset hidden fields on confirm
On confirm hidden fields are cleared, so that no "confirmed" information is attached that the user has never seen.
This commit is contained in:
parent
ed1d13e712
commit
a5bc6b53a9
@ -192,7 +192,13 @@ updateItemDetail lmsg model =
|
||||
Page.Home.Data.itemNav model.itemDetailModel.detail.item.id model.homeModel
|
||||
|
||||
( lm, lc, ls ) =
|
||||
Page.ItemDetail.Update.update model.key model.flags inav.next lmsg model.itemDetailModel
|
||||
Page.ItemDetail.Update.update
|
||||
model.key
|
||||
model.flags
|
||||
inav.next
|
||||
model.uiSettings
|
||||
lmsg
|
||||
model.itemDetailModel
|
||||
in
|
||||
( { model
|
||||
| itemDetailModel = lm
|
||||
|
@ -24,7 +24,7 @@ emptyModel =
|
||||
Comp.ItemDetail.Model.emptyModel
|
||||
|
||||
|
||||
update : Nav.Key -> Flags -> Maybe String -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
|
||||
update : Nav.Key -> Flags -> Maybe String -> UiSettings -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
|
||||
update =
|
||||
Comp.ItemDetail.Update.update
|
||||
|
||||
|
@ -31,7 +31,9 @@ import Comp.PersonForm
|
||||
import Comp.SentMails
|
||||
import Comp.YesNoDimmer
|
||||
import Data.Direction exposing (Direction)
|
||||
import Data.Fields exposing (Field)
|
||||
import Data.Flags exposing (Flags)
|
||||
import Data.UiSettings exposing (UiSettings)
|
||||
import DatePicker
|
||||
import Dict
|
||||
import Html exposing (..)
|
||||
@ -125,10 +127,11 @@ type Msg
|
||||
| StartEditCorrOrgModal
|
||||
| StartEditPersonModal (Comp.Dropdown.Model IdName)
|
||||
| StartEditEquipModal
|
||||
| ResetHiddenMsg Field (Result Http.Error BasicResult)
|
||||
|
||||
|
||||
update : Nav.Key -> Flags -> Maybe String -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
|
||||
update key flags next msg model =
|
||||
update : Nav.Key -> Flags -> Maybe String -> UiSettings -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
|
||||
update key flags next settings msg model =
|
||||
case msg of
|
||||
Init ->
|
||||
let
|
||||
@ -152,12 +155,18 @@ update key flags next msg model =
|
||||
SetItem item ->
|
||||
let
|
||||
( m1, c1, s1 ) =
|
||||
update key flags next (TagDropdownMsg (Comp.Dropdown.SetSelection item.tags)) model
|
||||
update key
|
||||
flags
|
||||
next
|
||||
settings
|
||||
(TagDropdownMsg (Comp.Dropdown.SetSelection item.tags))
|
||||
model
|
||||
|
||||
( m2, c2, s2 ) =
|
||||
update key
|
||||
flags
|
||||
next
|
||||
settings
|
||||
(DirDropdownMsg
|
||||
(Comp.Dropdown.SetSelection
|
||||
(Data.Direction.fromString item.direction
|
||||
@ -172,6 +181,7 @@ update key flags next msg model =
|
||||
update key
|
||||
flags
|
||||
next
|
||||
settings
|
||||
(OrgDropdownMsg
|
||||
(Comp.Dropdown.SetSelection
|
||||
(item.corrOrg
|
||||
@ -186,6 +196,7 @@ update key flags next msg model =
|
||||
update key
|
||||
flags
|
||||
next
|
||||
settings
|
||||
(CorrPersonMsg
|
||||
(Comp.Dropdown.SetSelection
|
||||
(item.corrPerson
|
||||
@ -200,6 +211,7 @@ update key flags next msg model =
|
||||
update key
|
||||
flags
|
||||
next
|
||||
settings
|
||||
(ConcPersonMsg
|
||||
(Comp.Dropdown.SetSelection
|
||||
(item.concPerson
|
||||
@ -214,6 +226,7 @@ update key flags next msg model =
|
||||
update key
|
||||
flags
|
||||
next
|
||||
settings
|
||||
(ConcEquipMsg
|
||||
(Comp.Dropdown.SetSelection
|
||||
(item.concEquipment
|
||||
@ -225,12 +238,13 @@ update key flags next msg model =
|
||||
m5
|
||||
|
||||
( m7, c7, s7 ) =
|
||||
update key flags next AddFilesReset m6
|
||||
update key flags next settings AddFilesReset m6
|
||||
|
||||
( m8, c8, s8 ) =
|
||||
update key
|
||||
flags
|
||||
next
|
||||
settings
|
||||
(FolderDropdownMsg
|
||||
(Comp.Dropdown.SetSelection
|
||||
(item.folder
|
||||
@ -477,7 +491,11 @@ update key flags next msg model =
|
||||
noSub ( model, setNotes flags model )
|
||||
|
||||
ConfirmItem ->
|
||||
noSub ( model, Api.setConfirmed flags model.item.id SaveResp )
|
||||
let
|
||||
resetCmds =
|
||||
resetHiddenFields settings flags model.item.id ResetHiddenMsg
|
||||
in
|
||||
noSub ( model, Cmd.batch (Api.setConfirmed flags model.item.id SaveResp :: resetCmds) )
|
||||
|
||||
UnconfirmItem ->
|
||||
noSub ( model, Api.setUnconfirmed flags model.item.id SaveResp )
|
||||
@ -535,7 +553,7 @@ update key flags next msg model =
|
||||
noSub ( { model | deleteItemConfirm = cm }, cmd )
|
||||
|
||||
RequestDelete ->
|
||||
update key flags next (DeleteItemConfirm Comp.YesNoDimmer.activate) model
|
||||
update key flags next settings (DeleteItemConfirm Comp.YesNoDimmer.activate) model
|
||||
|
||||
SetCorrOrgSuggestion idname ->
|
||||
noSub ( model, setCorrOrg flags model (Just idname) )
|
||||
@ -574,7 +592,7 @@ update key flags next msg model =
|
||||
|> List.map mkIdName
|
||||
|> Comp.Dropdown.SetOptions
|
||||
in
|
||||
update key flags next (FolderDropdownMsg opts) model_
|
||||
update key flags next settings (FolderDropdownMsg opts) model_
|
||||
|
||||
GetFolderResp (Err _) ->
|
||||
noSub ( model, Cmd.none )
|
||||
@ -585,7 +603,7 @@ update key flags next msg model =
|
||||
Comp.Dropdown.SetOptions tags.items
|
||||
|
||||
( m1, c1, s1 ) =
|
||||
update key flags next (TagDropdownMsg tagList) model
|
||||
update key flags next settings (TagDropdownMsg tagList) model
|
||||
in
|
||||
( m1, c1, s1 )
|
||||
|
||||
@ -597,7 +615,7 @@ update key flags next msg model =
|
||||
opts =
|
||||
Comp.Dropdown.SetOptions orgs.items
|
||||
in
|
||||
update key flags next (OrgDropdownMsg opts) model
|
||||
update key flags next settings (OrgDropdownMsg opts) model
|
||||
|
||||
GetOrgResp (Err _) ->
|
||||
noSub ( model, Cmd.none )
|
||||
@ -608,10 +626,10 @@ update key flags next msg model =
|
||||
Comp.Dropdown.SetOptions ps.items
|
||||
|
||||
( m1, c1, s1 ) =
|
||||
update key flags next (CorrPersonMsg opts) model
|
||||
update key flags next settings (CorrPersonMsg opts) model
|
||||
|
||||
( m2, c2, s2 ) =
|
||||
update key flags next (ConcPersonMsg opts) m1
|
||||
update key flags next settings (ConcPersonMsg opts) m1
|
||||
in
|
||||
( m2, Cmd.batch [ c1, c2 ], Sub.batch [ s1, s2 ] )
|
||||
|
||||
@ -626,7 +644,7 @@ update key flags next msg model =
|
||||
equips.items
|
||||
)
|
||||
in
|
||||
update key flags next (ConcEquipMsg opts) model
|
||||
update key flags next settings (ConcEquipMsg opts) model
|
||||
|
||||
GetEquipResp (Err _) ->
|
||||
noSub ( model, Cmd.none )
|
||||
@ -657,7 +675,7 @@ update key flags next msg model =
|
||||
noSub ( model, Cmd.none )
|
||||
|
||||
GetItemResp (Ok item) ->
|
||||
update key flags next (SetItem item) model
|
||||
update key flags next settings (SetItem item) model
|
||||
|
||||
GetItemResp (Err _) ->
|
||||
noSub ( model, Cmd.none )
|
||||
@ -852,7 +870,7 @@ update key flags next msg model =
|
||||
|
||||
DeleteAttachResp (Ok res) ->
|
||||
if res.success then
|
||||
update key flags next ReloadItem model
|
||||
update key flags next settings ReloadItem model
|
||||
|
||||
else
|
||||
noSub ( model, Cmd.none )
|
||||
@ -864,6 +882,7 @@ update key flags next msg model =
|
||||
update key
|
||||
flags
|
||||
next
|
||||
settings
|
||||
(DeleteAttachConfirm id Comp.YesNoDimmer.activate)
|
||||
model
|
||||
|
||||
@ -1235,6 +1254,9 @@ update key flags next msg model =
|
||||
EditAttachNameResp (Err _) ->
|
||||
noSub ( model, Cmd.none )
|
||||
|
||||
ResetHiddenMsg _ _ ->
|
||||
noSub ( model, Cmd.none )
|
||||
|
||||
|
||||
|
||||
--- Helper
|
||||
@ -1372,3 +1394,45 @@ setErrored model fileid =
|
||||
noSub : ( Model, Cmd Msg ) -> ( Model, Cmd Msg, Sub Msg )
|
||||
noSub ( m, c ) =
|
||||
( m, c, Sub.none )
|
||||
|
||||
|
||||
resetField : Flags -> String -> (Field -> Result Http.Error BasicResult -> msg) -> Field -> Cmd msg
|
||||
resetField flags item tagger field =
|
||||
case field of
|
||||
Data.Fields.Tag ->
|
||||
Api.setTags flags item Api.Model.ReferenceList.empty (tagger Data.Fields.Tag)
|
||||
|
||||
Data.Fields.Folder ->
|
||||
Api.setFolder flags item Api.Model.OptionalId.empty (tagger Data.Fields.Folder)
|
||||
|
||||
Data.Fields.CorrOrg ->
|
||||
Api.setCorrOrg flags item Api.Model.OptionalId.empty (tagger Data.Fields.CorrOrg)
|
||||
|
||||
Data.Fields.CorrPerson ->
|
||||
Api.setCorrPerson flags item Api.Model.OptionalId.empty (tagger Data.Fields.CorrPerson)
|
||||
|
||||
Data.Fields.ConcPerson ->
|
||||
Api.setConcPerson flags item Api.Model.OptionalId.empty (tagger Data.Fields.ConcPerson)
|
||||
|
||||
Data.Fields.ConcEquip ->
|
||||
Api.setConcEquip flags item Api.Model.OptionalId.empty (tagger Data.Fields.ConcEquip)
|
||||
|
||||
Data.Fields.Date ->
|
||||
Api.setItemDate flags item Api.Model.OptionalDate.empty (tagger Data.Fields.Date)
|
||||
|
||||
Data.Fields.DueDate ->
|
||||
Api.setItemDueDate flags item Api.Model.OptionalDate.empty (tagger Data.Fields.DueDate)
|
||||
|
||||
Data.Fields.Direction ->
|
||||
Cmd.none
|
||||
|
||||
|
||||
resetHiddenFields :
|
||||
UiSettings
|
||||
-> Flags
|
||||
-> String
|
||||
-> (Field -> Result Http.Error BasicResult -> msg)
|
||||
-> List (Cmd msg)
|
||||
resetHiddenFields settings flags item tagger =
|
||||
List.filter (Data.UiSettings.fieldHidden settings) Data.Fields.all
|
||||
|> List.map (resetField flags item tagger)
|
||||
|
@ -5,18 +5,24 @@ import Browser.Navigation as Nav
|
||||
import Comp.ItemDetail
|
||||
import Comp.ItemDetail.Update
|
||||
import Data.Flags exposing (Flags)
|
||||
import Data.UiSettings exposing (UiSettings)
|
||||
import Page.ItemDetail.Data exposing (Model, Msg(..))
|
||||
import Scroll
|
||||
import Task
|
||||
|
||||
|
||||
update : Nav.Key -> Flags -> Maybe String -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
|
||||
update key flags next msg model =
|
||||
update : Nav.Key -> Flags -> Maybe String -> UiSettings -> Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
|
||||
update key flags next settings msg model =
|
||||
case msg of
|
||||
Init id ->
|
||||
let
|
||||
( lm, lc, ls ) =
|
||||
Comp.ItemDetail.update key flags next Comp.ItemDetail.Update.Init model.detail
|
||||
Comp.ItemDetail.update key
|
||||
flags
|
||||
next
|
||||
settings
|
||||
Comp.ItemDetail.Update.Init
|
||||
model.detail
|
||||
|
||||
task =
|
||||
Scroll.scroll "main-content" 0 0 0 0
|
||||
@ -33,7 +39,7 @@ update key flags next msg model =
|
||||
ItemDetailMsg lmsg ->
|
||||
let
|
||||
( lm, lc, ls ) =
|
||||
Comp.ItemDetail.update key flags next lmsg model.detail
|
||||
Comp.ItemDetail.update key flags next settings lmsg model.detail
|
||||
in
|
||||
( { model | detail = lm }
|
||||
, Cmd.map ItemDetailMsg lc
|
||||
@ -45,7 +51,7 @@ update key flags next msg model =
|
||||
lmsg =
|
||||
Comp.ItemDetail.Update.SetItem item
|
||||
in
|
||||
update key flags next (ItemDetailMsg lmsg) model
|
||||
update key flags next settings (ItemDetailMsg lmsg) model
|
||||
|
||||
ItemResp (Err _) ->
|
||||
( model, Cmd.none, Sub.none )
|
||||
|
Loading…
x
Reference in New Issue
Block a user