Files
docspell/modules/webapp/src/main/elm/Ports.elm
Eike Kettner dbd27057d1 Improve source view and add qrcode for urls
The qr-code for urls is added so that these urls are easy to copy into
a phone. Then buttons for copying them into the clipboard have been
added.
2020-08-03 23:58:41 +02:00

85 lines
1.7 KiB
Elm

port module Ports exposing
( getUiSettings
, initClipboard
, 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, StoredUiSettings ) -> Cmd msg
port receiveUiSettings : (StoredUiSettings -> msg) -> Sub msg
port requestUiSettings : ( AuthResult, StoredUiSettings ) -> 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
, 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