mirror of
https://github.com/jhillyerd/inbucket.git
synced 2025-12-22 03:57:02 +00:00
ui: Add purge button to Mailbox
This commit is contained in:
@@ -116,6 +116,8 @@ type Msg
|
|||||||
| MessageResult (Result Http.Error Message)
|
| MessageResult (Result Http.Error Message)
|
||||||
| MessageBody Body
|
| MessageBody Body
|
||||||
| OpenedTime Time
|
| OpenedTime Time
|
||||||
|
| Purge
|
||||||
|
| PurgeResult (Result Http.Error ())
|
||||||
| SearchInput String
|
| SearchInput String
|
||||||
| Tick Time
|
| Tick Time
|
||||||
| ViewMessage MessageID
|
| ViewMessage MessageID
|
||||||
@@ -213,6 +215,15 @@ update session msg model =
|
|||||||
_ ->
|
_ ->
|
||||||
( model, Cmd.none, Session.none )
|
( model, Cmd.none, Session.none )
|
||||||
|
|
||||||
|
Purge ->
|
||||||
|
updatePurge model
|
||||||
|
|
||||||
|
PurgeResult (Ok _) ->
|
||||||
|
( model, Cmd.none, Session.none )
|
||||||
|
|
||||||
|
PurgeResult (Err err) ->
|
||||||
|
( model, Cmd.none, Session.SetFlash (HttpUtil.errorString err) )
|
||||||
|
|
||||||
Tick now ->
|
Tick now ->
|
||||||
case model.state of
|
case model.state of
|
||||||
ShowingList _ (ShowingMessage { message, markSeenAt }) ->
|
ShowingList _ (ShowingMessage { message, markSeenAt }) ->
|
||||||
@@ -258,6 +269,26 @@ updateMessageResult model message =
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
updatePurge : Model -> ( Model, Cmd Msg, Session.Msg )
|
||||||
|
updatePurge model =
|
||||||
|
let
|
||||||
|
cmd =
|
||||||
|
"/api/v1/mailbox/"
|
||||||
|
++ model.mailboxName
|
||||||
|
|> HttpUtil.delete
|
||||||
|
|> Http.send PurgeResult
|
||||||
|
in
|
||||||
|
case model.state of
|
||||||
|
ShowingList list _ ->
|
||||||
|
( { model | state = ShowingList (MessageList [] Nothing "") NoMessage }
|
||||||
|
, cmd
|
||||||
|
, Session.none
|
||||||
|
)
|
||||||
|
|
||||||
|
_ ->
|
||||||
|
( model, cmd, Session.none )
|
||||||
|
|
||||||
|
|
||||||
updateSearchInput : Model -> String -> ( Model, Cmd Msg, Session.Msg )
|
updateSearchInput : Model -> String -> ( Model, Cmd Msg, Session.Msg )
|
||||||
updateSearchInput model searchInput =
|
updateSearchInput model searchInput =
|
||||||
let
|
let
|
||||||
@@ -439,6 +470,7 @@ viewMessageList session model =
|
|||||||
, value model.searchInput
|
, value model.searchInput
|
||||||
]
|
]
|
||||||
[]
|
[]
|
||||||
|
, button [ onClick Purge ] [ text "Purge" ]
|
||||||
]
|
]
|
||||||
, case model.state of
|
, case model.state of
|
||||||
LoadingList _ ->
|
LoadingList _ ->
|
||||||
|
|||||||
Reference in New Issue
Block a user