mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-03-05 16:13:26 +00:00
93 lines
2.0 KiB
Elm
93 lines
2.0 KiB
Elm
port module Ports exposing
|
|
( checkSearchQueryString
|
|
, getUiSettings
|
|
, initClipboard
|
|
, loadUiSettings
|
|
, onUiSettingsSaved
|
|
, receiveCheckQueryResult
|
|
, removeAccount
|
|
, setAccount
|
|
, setUiTheme
|
|
, storeUiSettings
|
|
)
|
|
|
|
import Api.Model.AuthResult exposing (AuthResult)
|
|
import Api.Model.BasicResult exposing (BasicResult)
|
|
import Data.Flags exposing (Flags)
|
|
import Data.QueryParseResult exposing (QueryParseResult)
|
|
import Data.UiSettings exposing (StoredUiSettings, UiSettings)
|
|
import Data.UiTheme exposing (UiTheme)
|
|
|
|
|
|
{-| Save the result of authentication to local storage.
|
|
-}
|
|
port setAccount : AuthResult -> Cmd msg
|
|
|
|
|
|
port removeAccount : () -> Cmd msg
|
|
|
|
|
|
port saveUiSettings : ( AuthResult, StoredUiSettings ) -> Cmd msg
|
|
|
|
|
|
port receiveUiSettings : (StoredUiSettings -> msg) -> Sub msg
|
|
|
|
|
|
port requestUiSettings : ( AuthResult, StoredUiSettings ) -> Cmd msg
|
|
|
|
|
|
port uiSettingsSaved : (() -> msg) -> Sub msg
|
|
|
|
|
|
port internalSetUiTheme : String -> Cmd msg
|
|
|
|
|
|
port checkSearchQueryString : String -> Cmd msg
|
|
|
|
|
|
port receiveCheckQueryResult : (QueryParseResult -> msg) -> Sub msg
|
|
|
|
|
|
setUiTheme : UiTheme -> Cmd msg
|
|
setUiTheme theme =
|
|
internalSetUiTheme (Data.UiTheme.toString theme)
|
|
|
|
|
|
onUiSettingsSaved : msg -> Sub msg
|
|
onUiSettingsSaved m =
|
|
uiSettingsSaved (\_ -> m)
|
|
|
|
|
|
storeUiSettings : Flags -> UiSettings -> Cmd msg
|
|
storeUiSettings flags settings =
|
|
case flags.account of
|
|
Just ar ->
|
|
saveUiSettings
|
|
( ar
|
|
, Data.UiSettings.toStoredUiSettings 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.toStoredUiSettings Data.UiSettings.defaults
|
|
)
|
|
|
|
Nothing ->
|
|
Cmd.none
|
|
|
|
|
|
port initClipboard : ( String, String ) -> Cmd msg
|