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

104 lines
1.7 KiB
Elm
Raw Normal View History

2019-12-29 20:55:12 +00:00
module Data.Direction exposing
( Direction(..)
, all
, 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
, toString
)
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
toString : Direction -> String
toString 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