mirror of
https://github.com/TheAnachronism/docspell.git
synced 2025-06-23 02:48:26 +00:00
75 lines
1.2 KiB
Elm
75 lines
1.2 KiB
Elm
{-
|
|
Copyright 2020 Eike K. & Contributors
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-or-later
|
|
-}
|
|
|
|
|
|
module Data.Pdf exposing (PdfMode(..), allModes, asString, detectUrl, fromString, serverUrl)
|
|
|
|
{-| Makes use of the fact, that docspell uses a `/view` suffix on the
|
|
path to provide a browser independent PDF view.
|
|
-}
|
|
|
|
import Data.Flags exposing (Flags)
|
|
import Html exposing (..)
|
|
import Html.Attributes exposing (..)
|
|
|
|
|
|
type PdfMode
|
|
= Detect
|
|
| Native
|
|
| Server
|
|
|
|
|
|
allModes : List PdfMode
|
|
allModes =
|
|
[ Detect, Native, Server ]
|
|
|
|
|
|
asString : PdfMode -> String
|
|
asString mode =
|
|
case mode of
|
|
Detect ->
|
|
"detect"
|
|
|
|
Native ->
|
|
"native"
|
|
|
|
Server ->
|
|
"server"
|
|
|
|
|
|
fromString : String -> Maybe PdfMode
|
|
fromString str =
|
|
case String.toLower str of
|
|
"detect" ->
|
|
Just Detect
|
|
|
|
"native" ->
|
|
Just Native
|
|
|
|
"server" ->
|
|
Just Server
|
|
|
|
_ ->
|
|
Nothing
|
|
|
|
|
|
serverUrl : String -> String
|
|
serverUrl url =
|
|
if String.endsWith "/" url then
|
|
url ++ "view"
|
|
|
|
else
|
|
url ++ "/view"
|
|
|
|
|
|
detectUrl : Flags -> String -> String
|
|
detectUrl flags url =
|
|
if flags.pdfSupported then
|
|
url
|
|
|
|
else
|
|
serverUrl url
|