Skip to content

Commit

Permalink
implement NotAsked, Error and empty search result view
Browse files Browse the repository at this point in the history
fixes #25
fixes #26
fixes #27
  • Loading branch information
garbas committed May 11, 2020
1 parent ce2121e commit 45c0d61
Showing 1 changed file with 51 additions and 27 deletions.
78 changes: 51 additions & 27 deletions src/ElasticSearch.elm
Expand Up @@ -22,6 +22,7 @@ import Html
, em
, form
, h1
, h4
, input
, li
, option
Expand Down Expand Up @@ -265,42 +266,65 @@ view path title model viewSuccess outMsg =
]
, case model.result of
RemoteData.NotAsked ->
div [] [ text "NotAsked" ]
div [] [ text "" ]

RemoteData.Loading ->
div [] [ text "Loading" ]

RemoteData.Success result ->
div []
[ p []
[ em []
[ text
("Showing results "
++ String.fromInt model.from
++ "-"
++ String.fromInt
(if model.from + model.size > result.hits.total.value then
result.hits.total.value

else
model.from + model.size
)
++ " of "
++ String.fromInt result.hits.total.value
++ "."
)
if result.hits.total.value == 0 then
div []
[ h4 [] [ text <| "No " ++ path ++ " found!" ]
]

else
div []
[ p []
[ em []
[ text
("Showing results "
++ String.fromInt model.from
++ "-"
++ String.fromInt
(if model.from + model.size > result.hits.total.value then
result.hits.total.value

else
model.from + model.size
)
++ " of "
++ String.fromInt result.hits.total.value
++ "."
)
]
]
, viewPager outMsg model result path
, viewSuccess model.showDetailsFor result
, viewPager outMsg model result path
]
, viewPager outMsg model result path
, viewSuccess model.showDetailsFor result
, viewPager outMsg model result path
]

RemoteData.Failure error ->
div []
[ text "Error!"

--, pre [] [ text (Debug.toString error) ]
let
( errorTitle, errorMessage ) =
case error of
Http.BadUrl text ->
( "Bad Url!", text )

Http.Timeout ->
( "Timeout!", "Request to the server timeout." )

Http.NetworkError ->
( "Network Error!", "Please check your network connection." )

Http.BadStatus code ->
( "Bad Status", "Server returned " ++ String.fromInt code )

Http.BadBody text ->
( "Bad Body", text )
in
div [ class "alert alert-error" ]
[ h4 [] [ text errorTitle ]
, text errorMessage
]
]

Expand Down

0 comments on commit 45c0d61

Please sign in to comment.