mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-04-05 10:59:33 +00:00
Switch to search view after successful merge
This commit is contained in:
parent
a923351b09
commit
9478152a94
@ -8,6 +8,7 @@
|
|||||||
module Comp.ItemMerge exposing
|
module Comp.ItemMerge exposing
|
||||||
( Model
|
( Model
|
||||||
, Msg
|
, Msg
|
||||||
|
, Outcome(..)
|
||||||
, init
|
, init
|
||||||
, initQuery
|
, initQuery
|
||||||
, update
|
, update
|
||||||
@ -97,10 +98,16 @@ type FormState
|
|||||||
--- Update
|
--- Update
|
||||||
|
|
||||||
|
|
||||||
|
type Outcome
|
||||||
|
= OutcomeCancel
|
||||||
|
| OutcomeMerged
|
||||||
|
| OutcomeNotYet
|
||||||
|
|
||||||
|
|
||||||
type alias UpdateResult =
|
type alias UpdateResult =
|
||||||
{ model : Model
|
{ model : Model
|
||||||
, cmd : Cmd Msg
|
, cmd : Cmd Msg
|
||||||
, done : Bool
|
, outcome : Outcome
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -108,7 +115,7 @@ notDoneResult : ( Model, Cmd Msg ) -> UpdateResult
|
|||||||
notDoneResult t =
|
notDoneResult t =
|
||||||
{ model = Tuple.first t
|
{ model = Tuple.first t
|
||||||
, cmd = Tuple.second t
|
, cmd = Tuple.second t
|
||||||
, done = False
|
, outcome = OutcomeNotYet
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -134,19 +141,19 @@ update flags msg model =
|
|||||||
if result.success then
|
if result.success then
|
||||||
{ model = { model | formState = FormStateMergeSuccessful }
|
{ model = { model | formState = FormStateMergeSuccessful }
|
||||||
, cmd = Cmd.none
|
, cmd = Cmd.none
|
||||||
, done = True
|
, outcome = OutcomeMerged
|
||||||
}
|
}
|
||||||
|
|
||||||
else
|
else
|
||||||
{ model = { model | formState = FormStateError result.message }
|
{ model = { model | formState = FormStateError result.message }
|
||||||
, cmd = Cmd.none
|
, cmd = Cmd.none
|
||||||
, done = False
|
, outcome = OutcomeNotYet
|
||||||
}
|
}
|
||||||
|
|
||||||
MergeResp (Err err) ->
|
MergeResp (Err err) ->
|
||||||
{ model = { model | formState = FormStateHttp err }
|
{ model = { model | formState = FormStateHttp err }
|
||||||
, cmd = Cmd.none
|
, cmd = Cmd.none
|
||||||
, done = False
|
, outcome = OutcomeNotYet
|
||||||
}
|
}
|
||||||
|
|
||||||
ToggleInfoText ->
|
ToggleInfoText ->
|
||||||
@ -190,7 +197,7 @@ update flags msg model =
|
|||||||
CancelMerge ->
|
CancelMerge ->
|
||||||
{ model = model
|
{ model = model
|
||||||
, cmd = Cmd.none
|
, cmd = Cmd.none
|
||||||
, done = True
|
, outcome = OutcomeCancel
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -586,14 +586,34 @@ update mId key flags settings msg model =
|
|||||||
Comp.ItemMerge.update flags lmsg svm.mergeModel
|
Comp.ItemMerge.update flags lmsg svm.mergeModel
|
||||||
|
|
||||||
nextView =
|
nextView =
|
||||||
if result.done then
|
case result.outcome of
|
||||||
|
Comp.ItemMerge.OutcomeCancel ->
|
||||||
SelectView { svm | action = NoneAction }
|
SelectView { svm | action = NoneAction }
|
||||||
|
|
||||||
else
|
Comp.ItemMerge.OutcomeNotYet ->
|
||||||
SelectView { svm | mergeModel = result.model }
|
SelectView { svm | mergeModel = result.model }
|
||||||
|
|
||||||
|
Comp.ItemMerge.OutcomeMerged ->
|
||||||
|
if settings.searchMenuVisible then
|
||||||
|
SearchView
|
||||||
|
|
||||||
|
else
|
||||||
|
SimpleView
|
||||||
|
|
||||||
|
model_ =
|
||||||
|
{ model | viewMode = nextView }
|
||||||
in
|
in
|
||||||
|
if result.outcome == Comp.ItemMerge.OutcomeMerged then
|
||||||
|
update mId
|
||||||
|
key
|
||||||
|
flags
|
||||||
|
settings
|
||||||
|
(DoSearch model.searchTypeDropdownValue)
|
||||||
|
model_
|
||||||
|
|
||||||
|
else
|
||||||
noSub
|
noSub
|
||||||
( { model | viewMode = nextView }
|
( model_
|
||||||
, Cmd.map MergeItemsMsg result.cmd
|
, Cmd.map MergeItemsMsg result.cmd
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user