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