mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-22 10:28:27 +00:00
Introduce ui settings and let user set page size for item search
This commit is contained in:
@ -11,6 +11,7 @@ import Api.Model.VersionInfo exposing (VersionInfo)
|
||||
import Browser exposing (UrlRequest)
|
||||
import Browser.Navigation exposing (Key)
|
||||
import Data.Flags exposing (Flags)
|
||||
import Data.UiSettings exposing (UiSettings)
|
||||
import Http
|
||||
import Page exposing (Page(..))
|
||||
import Page.CollectiveSettings.Data
|
||||
@ -90,6 +91,7 @@ type Msg
|
||||
| LogoutResp (Result Http.Error ())
|
||||
| SessionCheckResp (Result Http.Error AuthResult)
|
||||
| ToggleNavMenu
|
||||
| GetUiSettings UiSettings
|
||||
|
||||
|
||||
isSignedIn : Flags -> Bool
|
||||
|
@ -40,7 +40,7 @@ update msg model =
|
||||
( m, c, s ) =
|
||||
updateWithSub msg model
|
||||
in
|
||||
( { m | subs = s }, c )
|
||||
( { m | subs = Sub.batch [ m.subs, s ] }, c )
|
||||
|
||||
|
||||
updateWithSub : Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
|
||||
@ -92,7 +92,10 @@ updateWithSub msg model =
|
||||
)
|
||||
|
||||
LogoutResp _ ->
|
||||
( { model | loginModel = Page.Login.Data.emptyModel }, Page.goto (LoginPage Nothing), Sub.none )
|
||||
( { model | loginModel = Page.Login.Data.emptyModel }
|
||||
, Page.goto (LoginPage Nothing)
|
||||
, Sub.none
|
||||
)
|
||||
|
||||
SessionCheckResp res ->
|
||||
case res of
|
||||
@ -171,6 +174,14 @@ updateWithSub msg model =
|
||||
ToggleNavMenu ->
|
||||
( { model | navMenuOpen = not model.navMenuOpen }, Cmd.none, Sub.none )
|
||||
|
||||
GetUiSettings settings ->
|
||||
Util.Update.andThen1
|
||||
[ updateUserSettings (Page.UserSettings.Data.GetUiSettings settings)
|
||||
, updateHome (Page.Home.Data.GetUiSettings settings)
|
||||
]
|
||||
model
|
||||
|> noSub
|
||||
|
||||
|
||||
updateItemDetail : Page.ItemDetail.Data.Msg -> Model -> ( Model, Cmd Msg, Sub Msg )
|
||||
updateItemDetail lmsg model =
|
||||
@ -241,10 +252,17 @@ updateQueue lmsg model =
|
||||
updateUserSettings : Page.UserSettings.Data.Msg -> Model -> ( Model, Cmd Msg )
|
||||
updateUserSettings lmsg model =
|
||||
let
|
||||
( lm, lc ) =
|
||||
( lm, lc, ls ) =
|
||||
Page.UserSettings.Update.update model.flags lmsg model.userSettingsModel
|
||||
in
|
||||
( { model | userSettingsModel = lm }
|
||||
( { model
|
||||
| userSettingsModel = lm
|
||||
, subs =
|
||||
Sub.batch
|
||||
[ model.subs
|
||||
, Sub.map UserSettingsMsg ls
|
||||
]
|
||||
}
|
||||
, Cmd.map UserSettingsMsg lc
|
||||
)
|
||||
|
||||
|
Reference in New Issue
Block a user