allways display default value for fields in result details (#155)
fixes #154
This commit is contained in:
parent
e4fec33f2b
commit
0ef75fa71d
|
@ -13,6 +13,7 @@ import Html
|
||||||
exposing
|
exposing
|
||||||
( Html
|
( Html
|
||||||
, a
|
, a
|
||||||
|
, code
|
||||||
, dd
|
, dd
|
||||||
, div
|
, div
|
||||||
, dl
|
, dl
|
||||||
|
@ -205,9 +206,12 @@ viewResultItemDetails channel item =
|
||||||
Err _ ->
|
Err _ ->
|
||||||
[]
|
[]
|
||||||
|
|
||||||
asCode value =
|
asPre value =
|
||||||
pre [] [ text value ]
|
pre [] [ text value ]
|
||||||
|
|
||||||
|
asCode value =
|
||||||
|
code [] [ text value ]
|
||||||
|
|
||||||
githubUrlPrefix branch =
|
githubUrlPrefix branch =
|
||||||
"https://github.com/NixOS/nixpkgs-channels/blob/" ++ branch ++ "/"
|
"https://github.com/NixOS/nixpkgs-channels/blob/" ++ branch ++ "/"
|
||||||
|
|
||||||
|
@ -235,43 +239,31 @@ viewResultItemDetails channel item =
|
||||||
|
|
||||||
_ ->
|
_ ->
|
||||||
wrapWith value
|
wrapWith value
|
||||||
|
|
||||||
|
withEmpty wrapWith maybe =
|
||||||
|
case maybe of
|
||||||
|
Nothing ->
|
||||||
|
asPre default
|
||||||
|
|
||||||
|
Just "" ->
|
||||||
|
asPre default
|
||||||
|
|
||||||
|
Just value ->
|
||||||
|
wrapWith value
|
||||||
in
|
in
|
||||||
dl [ class "dl-horizontal" ]
|
dl [ class "dl-horizontal" ]
|
||||||
[ dt [] [ text "Name" ]
|
[ dt [] [ text "Name" ]
|
||||||
, dd []
|
, dd [] [ withEmpty asText (Just item.source.name) ]
|
||||||
[ item.source.name
|
|
||||||
|> asText
|
|
||||||
]
|
|
||||||
, dt [] [ text "Description" ]
|
, dt [] [ text "Description" ]
|
||||||
, dd []
|
, dd [] [ withEmpty asText item.source.description ]
|
||||||
[ item.source.description
|
|
||||||
|> Maybe.withDefault default
|
|
||||||
|> asText
|
|
||||||
]
|
|
||||||
, dt [] [ text "Default value" ]
|
, dt [] [ text "Default value" ]
|
||||||
, dd []
|
, dd [] [ withEmpty asCode item.source.default ]
|
||||||
[ item.source.default
|
|
||||||
|> Maybe.withDefault default
|
|
||||||
|> wrapped asCode
|
|
||||||
]
|
|
||||||
, dt [] [ text "Type" ]
|
, dt [] [ text "Type" ]
|
||||||
, dd []
|
, dd [] [ withEmpty asPre item.source.type_ ]
|
||||||
[ item.source.type_
|
|
||||||
|> Maybe.withDefault default
|
|
||||||
|> asCode
|
|
||||||
]
|
|
||||||
, dt [] [ text "Example value" ]
|
, dt [] [ text "Example value" ]
|
||||||
, dd []
|
, dd [] [ withEmpty (wrapped asCode) item.source.example ]
|
||||||
[ item.source.example
|
|
||||||
|> Maybe.withDefault default
|
|
||||||
|> wrapped asCode
|
|
||||||
]
|
|
||||||
, dt [] [ text "Declared in" ]
|
, dt [] [ text "Declared in" ]
|
||||||
, dd []
|
, dd [] [ withEmpty asGithubLink item.source.source ]
|
||||||
[ item.source.source
|
|
||||||
|> Maybe.withDefault default
|
|
||||||
|> asGithubLink
|
|
||||||
]
|
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ import Html
|
||||||
, dl
|
, dl
|
||||||
, dt
|
, dt
|
||||||
, li
|
, li
|
||||||
|
, pre
|
||||||
, table
|
, table
|
||||||
, tbody
|
, tbody
|
||||||
, td
|
, td
|
||||||
|
@ -265,17 +266,6 @@ viewResultItemDetails channel item =
|
||||||
Nothing ->
|
Nothing ->
|
||||||
text <| cleanPosition value
|
text <| cleanPosition value
|
||||||
|
|
||||||
withDefault wrapWith maybe =
|
|
||||||
case maybe of
|
|
||||||
Nothing ->
|
|
||||||
text default
|
|
||||||
|
|
||||||
Just "" ->
|
|
||||||
text default
|
|
||||||
|
|
||||||
Just value ->
|
|
||||||
wrapWith value
|
|
||||||
|
|
||||||
mainPlatforms platform =
|
mainPlatforms platform =
|
||||||
List.member platform
|
List.member platform
|
||||||
[ "x86_64-linux"
|
[ "x86_64-linux"
|
||||||
|
@ -299,81 +289,100 @@ viewResultItemDetails channel item =
|
||||||
|> List.map (showPlatform hydra)
|
|> List.map (showPlatform hydra)
|
||||||
|
|
||||||
showPlatform hydra platform =
|
showPlatform hydra platform =
|
||||||
li []
|
case
|
||||||
[ case
|
( getHydraDetailsForPlatform hydra platform
|
||||||
( getHydraDetailsForPlatform hydra platform
|
, Search.channelDetailsFromId channel
|
||||||
, Search.channelDetailsFromId channel
|
)
|
||||||
)
|
of
|
||||||
of
|
( Just hydraDetails, _ ) ->
|
||||||
( Just hydraDetails, _ ) ->
|
a
|
||||||
a
|
[ href <| "https://hydra.nixos.org/build/" ++ String.fromInt hydraDetails.build_id
|
||||||
[ href <| "https://hydra.nixos.org/build/" ++ String.fromInt hydraDetails.build_id
|
]
|
||||||
]
|
[ text platform
|
||||||
[ text platform
|
]
|
||||||
]
|
|
||||||
|
|
||||||
( Nothing, Just channelDetails ) ->
|
( Nothing, Just channelDetails ) ->
|
||||||
a
|
a
|
||||||
[ href <| "https://hydra.nixos.org/job/" ++ channelDetails.jobset ++ "/nixpkgs." ++ item.source.attr_name ++ "." ++ platform
|
[ href <| "https://hydra.nixos.org/job/" ++ channelDetails.jobset ++ "/nixpkgs." ++ item.source.attr_name ++ "." ++ platform
|
||||||
]
|
]
|
||||||
[ text platform
|
[ text platform
|
||||||
]
|
]
|
||||||
|
|
||||||
( _, _ ) ->
|
( _, _ ) ->
|
||||||
text platform
|
text platform
|
||||||
]
|
|
||||||
|
|
||||||
showLicence license =
|
showLicence license =
|
||||||
li []
|
case ( license.fullName, license.url ) of
|
||||||
[ case ( license.fullName, license.url ) of
|
( Nothing, Nothing ) ->
|
||||||
( Nothing, Nothing ) ->
|
text default
|
||||||
text default
|
|
||||||
|
|
||||||
( Just fullName, Nothing ) ->
|
( Just fullName, Nothing ) ->
|
||||||
text fullName
|
text fullName
|
||||||
|
|
||||||
( Nothing, Just url ) ->
|
( Nothing, Just url ) ->
|
||||||
a [ href url ] [ text default ]
|
a [ href url ] [ text default ]
|
||||||
|
|
||||||
( Just fullName, Just url ) ->
|
( Just fullName, Just url ) ->
|
||||||
a [ href url ] [ text fullName ]
|
a [ href url ] [ text fullName ]
|
||||||
]
|
|
||||||
|
|
||||||
showMaintainer maintainer =
|
showMaintainer maintainer =
|
||||||
li []
|
a
|
||||||
[ a
|
[ href <|
|
||||||
[ href <|
|
case maintainer.github of
|
||||||
case maintainer.github of
|
Just github ->
|
||||||
Just github ->
|
"https://github.com/" ++ github
|
||||||
"https://github.com/" ++ github
|
|
||||||
|
|
||||||
Nothing ->
|
Nothing ->
|
||||||
"#"
|
"#"
|
||||||
]
|
|
||||||
[ text <| maintainer.name ++ " <" ++ maintainer.email ++ ">" ]
|
|
||||||
]
|
]
|
||||||
|
[ text <| maintainer.name ++ " <" ++ maintainer.email ++ ">" ]
|
||||||
|
|
||||||
|
asPre value =
|
||||||
|
pre [] [ text value ]
|
||||||
|
|
||||||
|
asCode value =
|
||||||
|
code [] [ text value ]
|
||||||
|
|
||||||
|
asList list =
|
||||||
|
case list of
|
||||||
|
[] ->
|
||||||
|
asPre default
|
||||||
|
|
||||||
|
_ ->
|
||||||
|
ul [ class "inline" ] <| List.map (\i -> li [] [ i ]) list
|
||||||
|
|
||||||
|
withEmpty wrapWith maybe =
|
||||||
|
case maybe of
|
||||||
|
Nothing ->
|
||||||
|
asPre default
|
||||||
|
|
||||||
|
Just "" ->
|
||||||
|
asPre default
|
||||||
|
|
||||||
|
Just value ->
|
||||||
|
wrapWith value
|
||||||
in
|
in
|
||||||
dl [ class "dl-horizontal" ]
|
dl [ class "dl-horizontal" ]
|
||||||
[ dt [] [ text "Attribute Name" ]
|
[ dt [] [ text "Attribute Name" ]
|
||||||
, dd [] [ asText item.source.attr_name ]
|
, dd [] [ withEmpty asText (Just item.source.attr_name) ]
|
||||||
, dt [] [ text "Name" ]
|
, dt [] [ text "Name" ]
|
||||||
, dd [] [ asText item.source.pname ]
|
, dd [] [ withEmpty asText (Just item.source.pname) ]
|
||||||
, dt [] [ text "Install command" ]
|
, dt [] [ text "Install command" ]
|
||||||
, dd [] [ code [] [ text <| "nix-env -iA nixos." ++ item.source.attr_name ] ]
|
, dd [] [ withEmpty asCode (Just ("nix-env -iA nixos." ++ item.source.attr_name)) ]
|
||||||
, dt [] [ text <| "Nix expression" ]
|
, dt [] [ text "Nix expression" ]
|
||||||
, dd [] [ withDefault asGithubLink item.source.position ]
|
, dd [] [ withEmpty asGithubLink item.source.position ]
|
||||||
, dt [] [ text "Platforms" ]
|
, dt [] [ text "Platforms" ]
|
||||||
, dd [] [ ul [ class "inline" ] <| showPlatforms item.source.hydra item.source.platforms ]
|
, dd [] [ asList (showPlatforms item.source.hydra item.source.platforms) ]
|
||||||
, dt [] [ text "Homepage" ]
|
, dt [] [ text "Homepage" ]
|
||||||
, dd [] [ withDefault asLink item.source.homepage ]
|
, dd [] [ withEmpty asLink item.source.homepage ]
|
||||||
, dt [] [ text "Licenses" ]
|
, dt [] [ text "Licenses" ]
|
||||||
, dd [] [ ul [ class "inline" ] <| List.map showLicence item.source.licenses ]
|
, dd [] [ asList (List.map showLicence item.source.licenses) ]
|
||||||
, dt [] [ text "Maintainers" ]
|
, dt [] [ text "Maintainers" ]
|
||||||
, dd [] [ ul [ class "inline" ] <| List.map showMaintainer item.source.maintainers ]
|
, dd [] [ asList (List.map showMaintainer item.source.maintainers) ]
|
||||||
, dt [] [ text "Description" ]
|
, dt [] [ text "Description" ]
|
||||||
, dd [] [ withDefault asText item.source.description ]
|
, dd [] [ withEmpty asText item.source.description ]
|
||||||
, dt [] [ text "Long description" ]
|
, dt [] [ text "Long description" ]
|
||||||
, dd [] [ withDefault asText item.source.longDescription ]
|
, dd [] [ withEmpty asText item.source.longDescription ]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue