mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-22 02:18:26 +00:00
Introduce ui settings and let user set page size for item search
This commit is contained in:
@ -1,14 +1,22 @@
|
||||
port module Ports exposing
|
||||
( removeAccount
|
||||
( getUiSettings
|
||||
, loadUiSettings
|
||||
, onUiSettingsSaved
|
||||
, removeAccount
|
||||
, scrollToElem
|
||||
, setAccount
|
||||
, setAllProgress
|
||||
, setProgress
|
||||
, storeUiSettings
|
||||
)
|
||||
|
||||
import Api.Model.AuthResult exposing (AuthResult)
|
||||
import Data.Flags exposing (Flags)
|
||||
import Data.UiSettings exposing (StoredUiSettings, UiSettings)
|
||||
|
||||
|
||||
{-| Save the result of authentication to local storage.
|
||||
-}
|
||||
port setAccount : AuthResult -> Cmd msg
|
||||
|
||||
|
||||
@ -22,3 +30,45 @@ port setAllProgress : ( String, Int ) -> Cmd msg
|
||||
|
||||
|
||||
port scrollToElem : String -> Cmd msg
|
||||
|
||||
|
||||
port saveUiSettings : ( AuthResult, UiSettings ) -> Cmd msg
|
||||
|
||||
|
||||
port receiveUiSettings : (StoredUiSettings -> msg) -> Sub msg
|
||||
|
||||
|
||||
port requestUiSettings : ( AuthResult, UiSettings ) -> Cmd msg
|
||||
|
||||
|
||||
port uiSettingsSaved : (() -> msg) -> Sub msg
|
||||
|
||||
|
||||
onUiSettingsSaved : msg -> Sub msg
|
||||
onUiSettingsSaved m =
|
||||
uiSettingsSaved (\_ -> m)
|
||||
|
||||
|
||||
storeUiSettings : Flags -> UiSettings -> Cmd msg
|
||||
storeUiSettings flags settings =
|
||||
case flags.account of
|
||||
Just ar ->
|
||||
saveUiSettings ( ar, settings )
|
||||
|
||||
Nothing ->
|
||||
Cmd.none
|
||||
|
||||
|
||||
loadUiSettings : (UiSettings -> msg) -> Sub msg
|
||||
loadUiSettings tagger =
|
||||
receiveUiSettings (Data.UiSettings.mergeDefaults >> tagger)
|
||||
|
||||
|
||||
getUiSettings : Flags -> Cmd msg
|
||||
getUiSettings flags =
|
||||
case flags.account of
|
||||
Just ar ->
|
||||
requestUiSettings ( ar, Data.UiSettings.defaults )
|
||||
|
||||
Nothing ->
|
||||
Cmd.none
|
||||
|
Reference in New Issue
Block a user