WIP on htmx 4 integration (#60)
This commit is contained in:
@@ -7,9 +7,10 @@ open MyWebLog.ViewModels
|
||||
|
||||
/// The form to edit pages
|
||||
let pageEdit (model: EditPageModel) templates app = [
|
||||
let url = relUrl app "admin/page/save"
|
||||
h2 [ _class "my-3" ] [ raw app.PageTitle ]
|
||||
article [] [
|
||||
form [ _action (relUrl app "admin/page/save"); _method "post"; _hxPushUrl "true"; _class "container" ] [
|
||||
form [ _action url; _method "post"; _hxPost url; _class "container" ] [
|
||||
antiCsrf app
|
||||
input [ _type "hidden"; _name (nameof model.Id); _value model.Id ]
|
||||
div [ _class "row mb-3" ] [
|
||||
@@ -30,7 +31,9 @@ let pageEdit (model: EditPageModel) templates app = [
|
||||
let pageList (pages: DisplayPage list) pageNbr hasNext app = [
|
||||
h2 [ _class "my-3" ] [ raw app.PageTitle ]
|
||||
article [ _class "container mb-3" ] [
|
||||
a [ _href (relUrl app "admin/page/new/edit"); _class "btn btn-primary btn-sm mb-3" ] [ raw "Create a New Page" ]
|
||||
a [ _href (relUrl app "admin/page/new/edit"); _hxBoost; _class "btn btn-primary btn-sm mb-3" ] [
|
||||
raw "Create a New Page"
|
||||
]
|
||||
if pages.Length = 0 then
|
||||
p [ _class "text-muted fst-italic text-center" ] [ raw "This web log has no pages" ]
|
||||
else
|
||||
@@ -58,7 +61,7 @@ let pageList (pages: DisplayPage list) pageNbr hasNext app = [
|
||||
a [ _href (relUrl app pageLink); _target "_blank" ] [ raw "View Page" ]
|
||||
if app.IsEditor || (app.IsAuthor && app.UserId.Value = WebLogUserId pg.AuthorId) then
|
||||
span [ _class "text-muted" ] [ raw " • " ]
|
||||
a [ _href $"{adminUrl}/edit" ] [ raw "Edit" ]
|
||||
a [ _href $"{adminUrl}/edit"; _hxBoost ] [ raw "Edit" ]
|
||||
if app.IsWebLogAdmin then
|
||||
span [ _class "text-muted" ] [ raw " • " ]
|
||||
a [ _href adminUrl; _hxDelete adminUrl; _hxTarget "body"; _class "text-danger"
|
||||
@@ -79,23 +82,16 @@ let pageList (pages: DisplayPage list) pageNbr hasNext app = [
|
||||
]
|
||||
]
|
||||
if pageNbr > 1 || hasNext then
|
||||
let aAttrs link = [ _href (relUrl app link); _hxBoost; _class "btn btn-secondary" ]
|
||||
div [ _class "d-flex justify-content-evenly mb-3" ] [
|
||||
div [] [
|
||||
if pageNbr > 1 then
|
||||
let prevPage = if pageNbr = 2 then "" else $"/page/{pageNbr - 1}"
|
||||
p [] [
|
||||
a [ _class "btn btn-secondary"; _href (relUrl app $"admin/pages{prevPage}") ] [
|
||||
raw "« Previous"
|
||||
]
|
||||
]
|
||||
p [] [ a (aAttrs $"admin/pages{prevPage}") [ raw "« Previous" ] ]
|
||||
]
|
||||
div [ _class "text-right" ] [
|
||||
if hasNext then
|
||||
p [] [
|
||||
a [ _class "btn btn-secondary"; _href (relUrl app $"admin/pages/page/{pageNbr + 1}") ] [
|
||||
raw "Next »"
|
||||
]
|
||||
]
|
||||
p [] [ a (aAttrs $"admin/pages/page/{pageNbr + 1}") [ raw "Next »" ] ]
|
||||
]
|
||||
]
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user