docspell/modules/webapp/src/main/elm/Data/Direction.elm

111 lines
1.8 KiB
Elm
Raw Normal View History

2021-07-04 08:24:49 +00:00
{-
2021-09-21 20:32:47 +00:00
Copyright 2020 Eike K. & Contributors
2021-07-04 08:24:49 +00:00
2021-09-21 20:32:47 +00:00
SPDX-License-Identifier: AGPL-3.0-or-later
2021-07-04 08:24:49 +00:00
-}
2021-07-25 12:00:11 +00:00
2019-12-29 20:55:12 +00:00
module Data.Direction exposing
( Direction(..)
, all
2021-06-07 08:08:15 +00:00
, asString
2019-12-29 20:55:12 +00:00
, fromString
, icon
, icon2
2019-12-29 20:55:12 +00:00
, iconFromMaybe
, iconFromMaybe2
2019-12-29 20:55:12 +00:00
, iconFromString
, iconFromString2
2019-12-29 20:55:12 +00:00
)
type Direction
= Incoming
| Outgoing
2019-12-29 20:55:12 +00:00
fromString : String -> Maybe Direction
fromString str =
case String.toLower str of
2019-12-29 20:55:12 +00:00
"outgoing" ->
Just Outgoing
"incoming" ->
Just Incoming
2019-12-29 20:55:12 +00:00
_ ->
Nothing
all : List Direction
all =
[ Incoming
, Outgoing
]
2019-12-29 20:55:12 +00:00
2021-06-07 08:08:15 +00:00
asString : Direction -> String
asString dir =
case dir of
2019-12-29 20:55:12 +00:00
Incoming ->
"Incoming"
2019-12-29 20:55:12 +00:00
Outgoing ->
"Outgoing"
icon : Direction -> String
icon dir =
case dir of
2019-12-29 20:55:12 +00:00
Incoming ->
"level down alternate icon"
Outgoing ->
"level up alternate icon"
2019-12-29 20:55:12 +00:00
icon2 : Direction -> String
icon2 dir =
case dir of
Incoming ->
"fa fa-level-down-alt"
Outgoing ->
"fa fa-level-up-alt"
2019-12-29 20:55:12 +00:00
unknownIcon : String
unknownIcon =
"question circle outline icon"
2019-12-29 20:55:12 +00:00
unknownIcon2 : String
unknownIcon2 =
"fa fa-question-circle font-thin"
2019-12-29 20:55:12 +00:00
iconFromString : String -> String
iconFromString dir =
fromString dir
|> Maybe.map icon
|> Maybe.withDefault unknownIcon
2019-12-29 20:55:12 +00:00
iconFromString2 : String -> String
iconFromString2 dir =
fromString dir
|> Maybe.map icon2
|> Maybe.withDefault unknownIcon2
2019-12-29 20:55:12 +00:00
iconFromMaybe : Maybe String -> String
iconFromMaybe ms =
Maybe.map iconFromString ms
|> Maybe.withDefault unknownIcon
2020-05-17 16:14:54 +00:00
iconFromMaybe2 : Maybe String -> String
iconFromMaybe2 ms =
Maybe.map iconFromString2 ms
|> Maybe.withDefault unknownIcon2