mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-04-05 19:09:32 +00:00
75 lines
1.5 KiB
Elm
75 lines
1.5 KiB
Elm
{-
|
|
Copyright 2020 Eike K. & Contributors
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
|
-}
|
|
|
|
|
|
port module Ports exposing
|
|
( checkSearchQueryString
|
|
, initClipboard
|
|
, printElement
|
|
, receiveCheckQueryResult
|
|
, receiveServerEvent
|
|
, refreshFileView
|
|
, removeAccount
|
|
, setAccount
|
|
, setUiTheme
|
|
)
|
|
|
|
import Api.Model.AuthResult exposing (AuthResult)
|
|
import Data.QueryParseResult exposing (QueryParseResult)
|
|
import Data.ServerEvent exposing (ServerEvent)
|
|
import Data.UiTheme exposing (UiTheme)
|
|
import Json.Decode as D
|
|
|
|
|
|
{-| Save the result of authentication to local storage.
|
|
-}
|
|
port setAccount : AuthResult -> Cmd msg
|
|
|
|
|
|
port removeAccount : () -> Cmd msg
|
|
|
|
|
|
port internalSetUiTheme : String -> Cmd msg
|
|
|
|
|
|
port checkSearchQueryString : String -> Cmd msg
|
|
|
|
|
|
port receiveCheckQueryResult : (QueryParseResult -> msg) -> Sub msg
|
|
|
|
|
|
port initClipboard : ( String, String ) -> Cmd msg
|
|
|
|
|
|
{-| Creates a new window/tab, writes the contents of the given element
|
|
and calls the print dialog.
|
|
-}
|
|
port printElement : String -> Cmd msg
|
|
|
|
|
|
{-| Receives messages from the websocket.
|
|
-}
|
|
port receiveWsMessage : (D.Value -> msg) -> Sub msg
|
|
|
|
|
|
{-| Given an ID of an element that is either EMBED or IFRAME the js will reload its src
|
|
-}
|
|
port refreshFileView : String -> Cmd msg
|
|
|
|
|
|
|
|
--- Higher level functions based on ports
|
|
|
|
|
|
setUiTheme : UiTheme -> Cmd msg
|
|
setUiTheme theme =
|
|
internalSetUiTheme (Data.UiTheme.toString theme)
|
|
|
|
|
|
receiveServerEvent : (Result String ServerEvent -> msg) -> Sub msg
|
|
receiveServerEvent tagger =
|
|
receiveWsMessage (Data.ServerEvent.decode >> tagger)
|