mirror of
https://github.com/fluencelabs/dashboard
synced 2025-03-16 13:30:48 +00:00
eml-format
This commit is contained in:
parent
46265db4c8
commit
5bac4d8e6f
@ -2,12 +2,13 @@ module ModulePage.Model exposing (..)
|
||||
|
||||
import Services.Model exposing (Service)
|
||||
|
||||
|
||||
type alias ModuleInfo =
|
||||
{ name: String
|
||||
, id: String
|
||||
, author: String
|
||||
, authorPeerId: String
|
||||
, description: String
|
||||
, website: String
|
||||
, service: Service
|
||||
{ name : String
|
||||
, id : String
|
||||
, author : String
|
||||
, authorPeerId : String
|
||||
, description : String
|
||||
, website : String
|
||||
, service : Service
|
||||
}
|
||||
|
@ -5,58 +5,65 @@ import Json.Encode as Encode
|
||||
import ModulePage.Model exposing (ModuleInfo)
|
||||
import Palette exposing (classes)
|
||||
import Services.Model exposing (Record, Signature)
|
||||
import String.Interpolate exposing(interpolate)
|
||||
import String.Interpolate exposing (interpolate)
|
||||
|
||||
|
||||
view : ModuleInfo -> Html msg
|
||||
view moduleInfo =
|
||||
Html.div [classes "cf ph2-ns"]
|
||||
[ Html.span [classes "fl w-100 f1 lh-title dark-red"] [Html.text ("Module: " ++ moduleInfo.name)]
|
||||
, Html.span [classes "fl w-100 light-red"] [Html.text (moduleInfo.id)]
|
||||
, viewInfo moduleInfo
|
||||
]
|
||||
Html.div [ classes "cf ph2-ns" ]
|
||||
[ Html.span [ classes "fl w-100 f1 lh-title dark-red" ] [ Html.text ("Module: " ++ moduleInfo.name) ]
|
||||
, Html.span [ classes "fl w-100 light-red" ] [ Html.text moduleInfo.id ]
|
||||
, viewInfo moduleInfo
|
||||
]
|
||||
|
||||
|
||||
viewInfo : ModuleInfo -> Html msg
|
||||
viewInfo moduleInfo =
|
||||
Html.article [classes "cf"]
|
||||
[ Html.div [classes "fl w-30 gray mv1"] [Html.text "AUTHOR"]
|
||||
, Html.div [classes "fl w-70 mv1"] [ Html.span [classes "fl w-100 black b"] [Html.text moduleInfo.author], Html.span [classes "fl w-100 black"] [Html.text moduleInfo.authorPeerId]]
|
||||
, Html.div [classes "fl w-30 gray mv1"] [Html.text "DESCRIPTION"]
|
||||
, Html.div [classes "fl w-70 mv1"] [ Html.span [classes "fl w-100 black"] [Html.text moduleInfo.description]]
|
||||
, Html.div [classes "fl w-30 gray mv1"] [Html.text "INTERFACE"]
|
||||
, Html.div [classes "fl w-70 mv1"] [ Html.span [classes "fl w-100 black"] ((recordsView moduleInfo.service.interface.record_types) ++ (signaturesView moduleInfo.service.interface.function_signatures))]
|
||||
]
|
||||
Html.article [ classes "cf" ]
|
||||
[ Html.div [ classes "fl w-30 gray mv1" ] [ Html.text "AUTHOR" ]
|
||||
, Html.div [ classes "fl w-70 mv1" ] [ Html.span [ classes "fl w-100 black b" ] [ Html.text moduleInfo.author ], Html.span [ classes "fl w-100 black" ] [ Html.text moduleInfo.authorPeerId ] ]
|
||||
, Html.div [ classes "fl w-30 gray mv1" ] [ Html.text "DESCRIPTION" ]
|
||||
, Html.div [ classes "fl w-70 mv1" ] [ Html.span [ classes "fl w-100 black" ] [ Html.text moduleInfo.description ] ]
|
||||
, Html.div [ classes "fl w-30 gray mv1" ] [ Html.text "INTERFACE" ]
|
||||
, Html.div [ classes "fl w-70 mv1" ] [ Html.span [ classes "fl w-100 black" ] (recordsView moduleInfo.service.interface.record_types ++ signaturesView moduleInfo.service.interface.function_signatures) ]
|
||||
]
|
||||
|
||||
|
||||
recordsView : List Record -> List (Html msg)
|
||||
recordsView record =
|
||||
(List.map recordView record)
|
||||
List.map recordView record
|
||||
|
||||
|
||||
recordView : Record -> Html msg
|
||||
recordView record =
|
||||
Html.div [classes "i"]
|
||||
([Html.span [classes "fl w-100 mt2"] [Html.text (record.name ++ " {")]] ++
|
||||
fieldsView record.fields ++
|
||||
[Html.span [classes "fl w-100 mb2"] [Html.text ("}")]])
|
||||
Html.div [ classes "i" ]
|
||||
([ Html.span [ classes "fl w-100 mt2" ] [ Html.text (record.name ++ " {") ] ]
|
||||
++ fieldsView record.fields
|
||||
++ [ Html.span [ classes "fl w-100 mb2" ] [ Html.text "}" ] ]
|
||||
)
|
||||
|
||||
|
||||
fieldsView : List (List String) -> List (Html msg)
|
||||
fieldsView fields =
|
||||
(fields |> List.map (\f -> Html.span [classes "fl w-100 ml2"] [Html.text (String.join ": " f)] ))
|
||||
fields |> List.map (\f -> Html.span [ classes "fl w-100 ml2" ] [ Html.text (String.join ": " f) ])
|
||||
|
||||
|
||||
signaturesView : List Signature -> List (Html msg)
|
||||
signaturesView signatures =
|
||||
(List.map signatureView signatures)
|
||||
List.map signatureView signatures
|
||||
|
||||
|
||||
signatureView : Signature -> Html msg
|
||||
signatureView signature =
|
||||
Html.div [classes "i fl w-100 mv2"]
|
||||
[Html.text (interpolate "fn {0}({1}) -> {2}" [signature.name, (argumentsToString signature.arguments), (outputToString signature.output_types)])]
|
||||
Html.div [ classes "i fl w-100 mv2" ]
|
||||
[ Html.text (interpolate "fn {0}({1}) -> {2}" [ signature.name, argumentsToString signature.arguments, outputToString signature.output_types ]) ]
|
||||
|
||||
|
||||
argumentsToString : List (List String) -> String
|
||||
argumentsToString arguments =
|
||||
String.join ", " (arguments |> List.map (String.join ": ") )
|
||||
String.join ", " (arguments |> List.map (String.join ": "))
|
||||
|
||||
|
||||
outputToString : List String -> String
|
||||
outputToString output =
|
||||
output |> List.head |> Maybe.withDefault "void"
|
||||
|
||||
|
@ -33,12 +33,17 @@ routeView model route =
|
||||
|
||||
"module" ->
|
||||
let
|
||||
up = (\(pid, p) -> Maybe.map (\a -> Tuple.pair pid a) (List.head (List.drop 0 p.services)))
|
||||
el = (List.head (List.drop 3 (Dict.toList model.discoveredPeers)))
|
||||
_ = Debug.log "el" el
|
||||
up =
|
||||
\( pid, p ) -> Maybe.map (\a -> Tuple.pair pid a) (List.head (List.drop 0 p.services))
|
||||
|
||||
el =
|
||||
List.head (List.drop 3 (Dict.toList model.discoveredPeers))
|
||||
|
||||
_ =
|
||||
Debug.log "el" el
|
||||
in
|
||||
case Maybe.andThen up el of
|
||||
Just (peerId, service) ->
|
||||
Just ( peerId, service ) ->
|
||||
let
|
||||
example =
|
||||
{ name = "Chat"
|
||||
@ -50,14 +55,11 @@ routeView model route =
|
||||
, service = service
|
||||
}
|
||||
in
|
||||
ModulePage.view example
|
||||
ModulePage.view example
|
||||
|
||||
Nothing ->
|
||||
Html.text "alala"
|
||||
|
||||
|
||||
|
||||
|
||||
_ ->
|
||||
Html.text ("undefined page: " ++ page)
|
||||
|
||||
|
@ -129,7 +129,6 @@ update msg model =
|
||||
|
||||
updatedDict =
|
||||
Dict.update peer up model.discoveredPeers
|
||||
|
||||
in
|
||||
( { model | discoveredPeers = updatedDict }, Cmd.none )
|
||||
|
||||
@ -146,7 +145,6 @@ update msg model =
|
||||
|
||||
updatedDict =
|
||||
Dict.update peer up model.discoveredPeers
|
||||
|
||||
in
|
||||
( { model | discoveredPeers = updatedDict }, Cmd.none )
|
||||
|
||||
|
@ -51,7 +51,7 @@ body model =
|
||||
layout <|
|
||||
List.concat
|
||||
[ [ header [ classes "w-100 bt bb b--black-10" ] [ routeView model (Page "hub") ] ]
|
||||
++ [ header [ classes "w-100 bt bb b--black-10" ] [ routeView model (Page "module") ] ]
|
||||
++ [ header [ classes "w-100 bt bb b--black-10" ] [ routeView model (Page "module") ] ]
|
||||
++ [ header [ classes "w-100 bt bb b--black-10", onClick Click ] [ text "GET SERVICES" ] ]
|
||||
]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user