mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-04 06:05:59 +00:00
75 lines
1.5 KiB
Elm
75 lines
1.5 KiB
Elm
port module Ports exposing
|
|
( 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
|
|
|
|
|
|
port removeAccount : () -> Cmd msg
|
|
|
|
|
|
port setProgress : ( String, Int ) -> Cmd msg
|
|
|
|
|
|
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
|