mirror of
https://github.com/fluencelabs/dashboard
synced 2025-03-16 13:30:48 +00:00
aligns, margins, elm format
This commit is contained in:
parent
d547838e82
commit
8c12811303
@ -23,18 +23,19 @@ view model id =
|
||||
case blueprintInfo of
|
||||
Just bi ->
|
||||
let
|
||||
(instanceNum, instanceView) = Instances.View.view model (\service -> service.blueprint_id == id)
|
||||
( instanceNum, instanceView ) =
|
||||
Instances.View.view model (\service -> service.blueprint_id == id)
|
||||
in
|
||||
div [ classes "fl w-100 cf ph2-ns" ]
|
||||
[ div [ classes "fl w-100 mb2 pt2" ]
|
||||
[ span [ classes "fl w-100 f1 lh-title dark-red" ] [ text ("Blueprint: " ++ bi.name) ]
|
||||
, span [ classes "fl w-100 light-red" ] [ text bi.id ]
|
||||
]
|
||||
, div [ classes "fl w-100 bg-white mt2 mh2 ph4 pt3 mb4 pb2" ] [ viewInfo bi ]
|
||||
, h3 [ classes "pt3" ] [ text ("Instances (" ++ (String.fromInt instanceNum) ++ ")") ]
|
||||
, div [ classes "mt2 bg-white" ]
|
||||
[ instanceView ]
|
||||
div [ classes "fl w-100 cf ph2-ns" ]
|
||||
[ div [ classes "fl w-100 mb2 pt2" ]
|
||||
[ span [ classes "fl w-100 f1 lh-title dark-red" ] [ text ("Blueprint: " ++ bi.name) ]
|
||||
, span [ classes "fl w-100 light-red" ] [ text bi.id ]
|
||||
]
|
||||
, div [ classes "fl w-100 bg-white mt2 mh2 ph4 pt3 mb4 pb2" ] [ viewInfo bi ]
|
||||
, h3 [ classes "pt3" ] [ text ("Instances (" ++ String.fromInt instanceNum ++ ")") ]
|
||||
, div [ classes "mt2 bg-white" ]
|
||||
[ instanceView ]
|
||||
]
|
||||
|
||||
Nothing ->
|
||||
div [ classes "cf ph2-ns" ]
|
||||
@ -44,55 +45,71 @@ view model id =
|
||||
|
||||
blueprintToInfo : Model -> String -> Maybe BlueprintViewInfo
|
||||
blueprintToInfo model id =
|
||||
case (Dict.get id model.blueprints) of
|
||||
Just bp ->
|
||||
let
|
||||
modules = bp.dependencies |> List.map (\d -> Dict.get d model.modules) |> List.filterMap identity
|
||||
in
|
||||
Just { name = bp.name
|
||||
, id = id
|
||||
, author = "Fluence Labs"
|
||||
, authorPeerId = "fluence_labs_peer_id"
|
||||
, description = "Excelent blueprint"
|
||||
, website = "https://github.com/fluencelabs/"
|
||||
, blueprint = bp
|
||||
, modules = modules
|
||||
, openedModule = model.toggledInterface
|
||||
}
|
||||
|
||||
Nothing ->
|
||||
Nothing
|
||||
case Dict.get id model.blueprints of
|
||||
Just bp ->
|
||||
let
|
||||
modules =
|
||||
bp.dependencies |> List.map (\d -> Dict.get d model.modules) |> List.filterMap identity
|
||||
in
|
||||
Just
|
||||
{ name = bp.name
|
||||
, id = id
|
||||
, author = "Fluence Labs"
|
||||
, authorPeerId = "fluence_labs_peer_id"
|
||||
, description = "Excelent blueprint"
|
||||
, website = "https://github.com/fluencelabs/"
|
||||
, blueprint = bp
|
||||
, modules = modules
|
||||
, openedModule = model.toggledInterface
|
||||
}
|
||||
|
||||
Nothing ->
|
||||
Nothing
|
||||
|
||||
|
||||
viewInfo : BlueprintViewInfo -> Html Msg
|
||||
viewInfo blueprintInfo =
|
||||
let
|
||||
checkToggle = (\id -> blueprintInfo.openedModule |> Maybe.map (\om -> om == id) |> Maybe.withDefault False)
|
||||
checkToggle =
|
||||
\id -> blueprintInfo.openedModule |> Maybe.map (\om -> om == id) |> Maybe.withDefault False
|
||||
in
|
||||
article [ classes "cf" ]
|
||||
[ div [ classes "fl w-30 gray mv1" ] [ text "AUTHOR" ]
|
||||
, div [ classes "fl w-70 mv1" ]
|
||||
[ span [ classes "fl w-100 black b" ] [ text blueprintInfo.author ]
|
||||
, span [ classes "fl w-100 black" ] [ text blueprintInfo.authorPeerId ] ]
|
||||
, div [ classes "fl w-30 gray mv1" ] [ text "DESCRIPTION" ]
|
||||
, div [ classes "fl w-70 mv1" ] [ span [ classes "fl w-100 black" ] [ text blueprintInfo.description ] ]
|
||||
, div [ classes "fl w-30 gray mv1" ] [ text "INTERFACE" ]
|
||||
, div [ classes "fl w-70 mv1" ]
|
||||
(blueprintInfo.modules |>
|
||||
List.map (\m -> viewToggledInterface (checkToggle m.name) m.name m.interface))
|
||||
article [ classes "cf" ]
|
||||
[ div [ classes "fl w-30 gray mv1" ] [ text "AUTHOR" ]
|
||||
, div [ classes "fl w-70 mv1" ]
|
||||
[ span [ classes "fl w-100 black b" ] [ text blueprintInfo.author ]
|
||||
, span [ classes "fl w-100 black" ] [ text blueprintInfo.authorPeerId ]
|
||||
]
|
||||
, div [ classes "fl w-30 gray mv1" ] [ text "DESCRIPTION" ]
|
||||
, div [ classes "fl w-70 mv1" ] [ span [ classes "fl w-100 black" ] [ text blueprintInfo.description ] ]
|
||||
, div [ classes "fl w-30 gray mv1" ] [ text "INTERFACE" ]
|
||||
, div [ classes "fl w-70 mv1" ]
|
||||
(blueprintInfo.modules
|
||||
|> List.map (\m -> viewToggledInterface (checkToggle m.name) m.name m.interface)
|
||||
)
|
||||
]
|
||||
|
||||
|
||||
viewToggledInterface : Bool -> String -> Interface -> Html Msg
|
||||
viewToggledInterface : Bool -> String -> Interface -> Html Msg
|
||||
viewToggledInterface isOpen name interface =
|
||||
let
|
||||
interfaceView = if (isOpen) then [(div [classes "fl w-100 ph4"] (instanceView interface))] else []
|
||||
interfaceView =
|
||||
if isOpen then
|
||||
[ div [ classes "fl w-100 ph4" ] (instanceView interface) ]
|
||||
|
||||
else
|
||||
[]
|
||||
in
|
||||
div []
|
||||
([ div [classes "fl w-100 shadow-2 bg-near-white pa2 mv2 pointer", onClick (ToggleInterface name)]
|
||||
[ span [ classes "fl mh2 pv1 tl" ] [text name]
|
||||
, div [ classes "o-40 f4 tr pr3" ] [if (isOpen) then text "▲" else text "▼"]] ]
|
||||
++ interfaceView)
|
||||
|
||||
div []
|
||||
([ div [ classes "fl w-100 shadow-2 bg-near-white pa2 mv2 pointer", onClick (ToggleInterface name) ]
|
||||
[ span [ classes "fl mh2 pv1 tl" ] [ text name ]
|
||||
, div [ classes "o-40 f4 tr pr3" ]
|
||||
[ if isOpen then
|
||||
text "▲"
|
||||
|
||||
else
|
||||
text "▼"
|
||||
]
|
||||
]
|
||||
]
|
||||
++ interfaceView
|
||||
)
|
||||
|
@ -12,5 +12,5 @@ type alias BlueprintInfo =
|
||||
{ name : String
|
||||
, author : String
|
||||
, instanceNumber : Int
|
||||
, id: String
|
||||
, id : String
|
||||
}
|
||||
|
@ -17,13 +17,15 @@ view model =
|
||||
getBlueprintsToServices model.blueprints model.discoveredPeers
|
||||
|
||||
info =
|
||||
Dict.values allBps |> List.map (\( bp, servicesByPeers ) ->
|
||||
{ name = bp.name
|
||||
, id = bp.id
|
||||
, author = "Fluence Labs"
|
||||
, instanceNumber = List.length (servicesByPeers |> List.map (\( _, s ) -> s) |> List.concat)
|
||||
}
|
||||
)
|
||||
Dict.values allBps
|
||||
|> List.map
|
||||
(\( bp, servicesByPeers ) ->
|
||||
{ name = bp.name
|
||||
, id = bp.id
|
||||
, author = "Fluence Labs"
|
||||
, instanceNumber = List.length (servicesByPeers |> List.map (\( _, s ) -> s) |> List.concat)
|
||||
}
|
||||
)
|
||||
|
||||
servicesView =
|
||||
List.map viewService info
|
||||
|
@ -23,7 +23,7 @@ toInstance peerId identify blueprints service =
|
||||
{ name = name, instance = service.service_id, peerId = peerId, ip = ip }
|
||||
|
||||
|
||||
view : Model -> (Service -> Bool) -> (Int, Html msg)
|
||||
view : Model -> (Service -> Bool) -> ( Int, Html msg )
|
||||
view model filter =
|
||||
let
|
||||
instances =
|
||||
@ -36,7 +36,7 @@ view model filter =
|
||||
)
|
||||
|> List.concat
|
||||
in
|
||||
(List.length instances, viewTable instances)
|
||||
( List.length instances, viewTable instances )
|
||||
|
||||
|
||||
viewTable : List Instance -> Html msg
|
||||
|
@ -19,18 +19,23 @@ view model id =
|
||||
case moduleInfo of
|
||||
Just mi ->
|
||||
let
|
||||
check = Maybe.map (\bp -> bp.dependencies |> List.member id )
|
||||
filter = (\s -> model.blueprints |> Dict.get s.blueprint_id |> check |> Maybe.withDefault False)
|
||||
(instanceNum, instanceView) = Instances.View.view model filter
|
||||
check =
|
||||
Maybe.map (\bp -> bp.dependencies |> List.member id)
|
||||
|
||||
filter =
|
||||
\s -> model.blueprints |> Dict.get s.blueprint_id |> check |> Maybe.withDefault False
|
||||
|
||||
( instanceNum, instanceView ) =
|
||||
Instances.View.view model filter
|
||||
in
|
||||
div [ classes "fl w-100 cf ph2-ns" ]
|
||||
[ div [ classes "fl w-100 mb2 pt2"]
|
||||
[ span [ classes "fl w-100 f1 lh-title dark-red" ] [ text ("Module: " ++ mi.name) ]
|
||||
]
|
||||
, div [ classes "fl w-100 bg-white mt2 mh2 ph4 pt3" ] [ viewInfo mi ]
|
||||
, h3 [ classes "pt3" ] [ text ("Instances (" ++ (String.fromInt instanceNum) ++ ")") ]
|
||||
, div [ classes "fl w-100 mt2 bg-white" ] [ instanceView ]
|
||||
div [ classes "fl w-100 cf ph2-ns" ]
|
||||
[ div [ classes "fl w-100 mb2 pt2" ]
|
||||
[ span [ classes "fl w-100 f1 lh-title dark-red" ] [ text ("Module: " ++ mi.name) ]
|
||||
]
|
||||
, div [ classes "fl w-100 bg-white mt2 mh2 ph4 pt3" ] [ viewInfo mi ]
|
||||
, h3 [ classes "pt3" ] [ text ("Instances (" ++ String.fromInt instanceNum ++ ")") ]
|
||||
, div [ classes "fl w-100 mt2 bg-white" ] [ instanceView ]
|
||||
]
|
||||
|
||||
Nothing ->
|
||||
div [ classes "cf ph2-ns" ]
|
||||
|
@ -96,11 +96,20 @@ update msg model =
|
||||
ToggleInterface id ->
|
||||
case model.toggledInterface of
|
||||
Just ti ->
|
||||
( { model | toggledInterface = if (id == ti) then Nothing else Just id }, Cmd.none )
|
||||
( { model
|
||||
| toggledInterface =
|
||||
if id == ti then
|
||||
Nothing
|
||||
|
||||
else
|
||||
Just id
|
||||
}
|
||||
, Cmd.none
|
||||
)
|
||||
|
||||
Nothing ->
|
||||
( { model | toggledInterface = Just id }, Cmd.none )
|
||||
|
||||
|
||||
RelayChanged relayId ->
|
||||
( { model | relayId = relayId }, Cmd.none )
|
||||
|
||||
|
14
src/View.elm
14
src/View.elm
@ -40,17 +40,17 @@ body model =
|
||||
layout <|
|
||||
List.concat
|
||||
[ [ header [ classes "w-100" ]
|
||||
[ div [ classes "fl pa2 pb1 bg-white w-100" ]
|
||||
[ div [ classes "fl mv1 pl3", style "max-width" "96px"]
|
||||
[ a [ attribute "href" "/"]
|
||||
[ img [ classes "v-mid dib mw-100 h-auto", attribute "src" "/images/logo_new.svg"] []
|
||||
[ div [ classes "fl pa2 pb1 bg-white w-100" ]
|
||||
[ div [ classes "fl mv1 pl3", style "max-width" "96px" ]
|
||||
[ a [ attribute "href" "/" ]
|
||||
[ img [ classes "v-mid dib mw-100 h-auto", attribute "src" "/images/logo_new.svg" ] []
|
||||
]
|
||||
]
|
||||
, div [ classes "fl pl5 h-100" ] [ p [ classes "mv2" ] [ text "Developer Hub" ] ]
|
||||
]
|
||||
, div [ classes "fl pl5 h-100" ] [p [classes "mv2"] [text "Developer Hub"]]
|
||||
]
|
||||
]
|
||||
]
|
||||
, [div [ classes "w-100 pa4 pt2 mt2"] [routeView model model.page]]
|
||||
, [ div [ classes "w-100 pa4 pt2 mt2" ] [ routeView model model.page ] ]
|
||||
]
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user