link to edit page from list page
This commit is contained in:
@@ -41,7 +41,7 @@ viewModel :: Model -> View Action
|
||||
viewModel m =
|
||||
div_ [] $
|
||||
[ h3_ [] [text "entities"],
|
||||
schemaTable m.schema m.posts,
|
||||
schemaTable m.collection m.schema m.posts,
|
||||
h3_ [] [text "schema"],
|
||||
viewSchema m.schema
|
||||
]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
module Route
|
||||
( Route (..),
|
||||
parseURI,
|
||||
routeToString,
|
||||
)
|
||||
where
|
||||
|
||||
@@ -32,3 +33,8 @@ parseURI uri =
|
||||
<* P.endOfInput
|
||||
)
|
||||
(T.pack uri.uriFragment)
|
||||
|
||||
routeToString :: Route -> String
|
||||
routeToString Home = "#"
|
||||
routeToString (ListCollection collection) = "#collection/" <> collection
|
||||
routeToString (EditValue collection fileName) = "#collection/" <> collection <> "/" <> fileName
|
||||
|
||||
@@ -19,6 +19,7 @@ import Data.Text qualified as T
|
||||
import Form qualified as F
|
||||
import Miso
|
||||
import Miso.String (toMisoString)
|
||||
import Route
|
||||
|
||||
data Schema = Schema
|
||||
{ id :: String,
|
||||
@@ -66,8 +67,8 @@ viewSchema schema =
|
||||
)
|
||||
<$> (M.toList properties)
|
||||
|
||||
schemaTable :: Schema -> [A.Value] -> View action
|
||||
schemaTable schema values =
|
||||
schemaTable :: String -> Schema -> [A.Value] -> View action
|
||||
schemaTable collection schema values =
|
||||
table_ [] [thead, tbody]
|
||||
where
|
||||
thead =
|
||||
@@ -85,10 +86,19 @@ schemaTable schema values =
|
||||
[ tr_
|
||||
[]
|
||||
[ td_ [] $
|
||||
[ text $
|
||||
case getO (AK.fromString k) value of
|
||||
A.String s -> toMisoString s
|
||||
value -> toMisoString (A.encode value)
|
||||
[ case (k, getO (AK.fromString k) value) of
|
||||
("$fileName", A.String fn) ->
|
||||
a_
|
||||
[ href_
|
||||
(toMisoString (routeToString (EditValue collection (T.unpack fn))))
|
||||
]
|
||||
[ text (toMisoString fn)
|
||||
]
|
||||
(_, v) ->
|
||||
text $
|
||||
case v of
|
||||
A.String s -> toMisoString s
|
||||
_ -> toMisoString (A.encode v)
|
||||
]
|
||||
| k <- M.keys properties
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user