WIP on htmx 4; seeing console errors (#60)

This commit is contained in:
2026-07-13 21:30:42 -04:00
parent 0fcb40fbdd
commit e8ee236c1e
+29 -24
View File
@@ -403,7 +403,7 @@ let feedEdit (model: EditCustomFeedModel) (ratings: MetaItem list) (mediums: Met
let redirectEdit (model: EditRedirectRuleModel) app = [
let url = relUrl app $"admin/settings/redirect-rules/{model.RuleId}"
h3 [] [ raw (if model.RuleId < 0 then "Add" else "Edit"); raw " Redirect Rule" ]
form [ _action url; _hxPost url; _hxTarget "body"; _method "post"; _class "container" ] [
form [ _action url; _method "post"; _hxBoost; _class "container" ] [
antiCsrf app
input [ _type "hidden"; _name "RuleId"; _value (string model.RuleId) ]
div [ _class "row" ] [
@@ -437,7 +437,8 @@ let redirectEdit (model: EditRedirectRuleModel) app = [
div [ _class "row mb-3" ] [
div [ _class "col text-center" ] [
saveButton; raw " &nbsp; "
a [ _href (relUrl app "admin/settings/redirect-rules"); _class "btn btn-sm btn-secondary ms-3" ] [
a [ _href (relUrl app "admin/settings/redirect-rules"); _hxBoost
_class "btn btn-sm btn-secondary ms-3" ] [
raw "Cancel"
]
]
@@ -456,7 +457,8 @@ let redirectList (model: RedirectRule list) app = [
txt rule.From; br []
small [] [
let ruleUrl = relUrl app $"admin/settings/redirect-rules/{idx}"
a [ _href ruleUrl; _hxTarget $"#{ruleId}"; _hxSwap $"{HxSwap.InnerHtml} show:#{ruleId}:top" ] [
a [ _href ruleUrl; _hxBoost; _hxTarget $"#{ruleId}"
_hxSwap $"{HxSwap.InnerHtml} show:top showTarget:#{ruleId}" ] [
raw "Edit"
]
if idx > 0 then
@@ -476,12 +478,12 @@ let redirectList (model: RedirectRule list) app = [
h2 [ _class "my-3" ] [ raw app.PageTitle ]
article [] [
p [ _class "mb-3" ] [
a [ _href (relUrl app "admin/settings") ] [ raw "&laquo; Back to Settings" ]
a [ _href (relUrl app "admin/settings"); _hxBoost ] [ raw "&laquo; Back to Settings" ]
]
div [ _class "container" ] [
p [] [
a [ _href (relUrl app "admin/settings/redirect-rules/-1"); _class "btn btn-primary btn-sm mb-3"
_hxTarget "#rule_new" ] [
a [ _href (relUrl app "admin/settings/redirect-rules/-1"); _hxBoost; _hxTarget "#rule_new"
_class "btn btn-primary btn-sm mb-3" ] [
raw "Add Redirect Rule"
]
]
@@ -500,7 +502,7 @@ let redirectList (model: RedirectRule list) app = [
]
]
div [ _class "row mwl-table-detail"; _id "rule_new" ] []
form [ _method "post"; _class "container g-0"; _hxTarget "body" ] [
form [ _method "post"; _hxBoost; _class "container g-0" ] [
antiCsrf app
yield! List.mapi ruleDetail model
]
@@ -520,8 +522,8 @@ let redirectList (model: RedirectRule list) app = [
/// Edit a tag mapping
let tagMapEdit (model: EditTagMapModel) app = [
h5 [ _class "my-3" ] [ txt app.PageTitle ]
form [ _hxPost (relUrl app "admin/settings/tag-mapping/save"); _method "post"; _class "container"
_hxTarget "#tagList"; _hxSwap $"{HxSwap.OuterHtml} show:window:top" ] [
form [ _hxPost (relUrl app "admin/settings/tag-mapping/save"); _method "post"; _hxBoost; _class "container"
_hxTarget "#tagList"; _hxSwap $"{HxSwap.OuterHtml} show:top showTarget:window" ] [
antiCsrf app
input [ _type "hidden"; _name "Id"; _value model.Id ]
div [ _class "row mb-3" ] [
@@ -535,7 +537,8 @@ let tagMapEdit (model: EditTagMapModel) app = [
div [ _class "row mb-3" ] [
div [ _class "col text-center" ] [
saveButton; raw " &nbsp; "
a [ _href (relUrl app "admin/settings/tag-mappings"); _class "btn btn-sm btn-secondary ms-3" ] [
a [ _href (relUrl app "admin/settings/tag-mappings"); _hxBoost
_class "btn btn-sm btn-secondary ms-3" ] [
raw "Cancel"
]
]
@@ -552,8 +555,8 @@ let tagMapList (model: TagMap list) app =
div [ _class "col no-wrap" ] [
txt map.Tag; br []
small [] [
a [ _href $"{url}/edit"; _hxTarget $"#tag_{map.Id}"
_hxSwap $"{HxSwap.InnerHtml} show:#tag_{map.Id}:top" ] [
a [ _href $"{url}/edit"; _hxBoost; _hxTarget $"#tag_{map.Id}"
_hxSwap $"{HxSwap.InnerHtml} show:top showTarget:#tag_{map.Id}" ] [
raw "Edit"
]; actionSpacer
a [ _href url; _hxDelete url; _hxTarget "#tagList"; _hxPushUrl "false"; _hxSwap HxSwap.OuterHtml
@@ -598,18 +601,18 @@ let uploadList (model: DisplayUpload seq) app = [
small [] [
a [ _href $"{relativeBase}{pathAndName}"; _target "_blank" ] [ raw "View File" ]
actionSpacer; span [ _class "text-muted" ] [ raw "Copy " ]
a [ _href $"{absoluteBase}{pathAndName}"; _hxNoBoost
a [ _href $"{absoluteBase}{pathAndName}"
_onclick $"return Admin.copyText('{absoluteBase}{pathAndName}', this)" ] [
raw "Absolute"
]
span [ _class "text-muted" ] [ raw " | " ]
a [ _href $"{relativeBase}{pathAndName}"; _hxNoBoost
a [ _href $"{relativeBase}{pathAndName}"
_onclick $"return Admin.copyText('{relativeBase}{pathAndName}', this)" ] [
raw "Relative"
]
if app.WebLog.ExtraPath <> "" then
span [ _class "text-muted" ] [ raw " | " ]
a [ _href $"{webLogBase}{pathAndName}"; _hxNoBoost
a [ _href $"{webLogBase}{pathAndName}"
_onclick $"return Admin.copyText('/{webLogBase}{pathAndName}', this)" ] [
raw "For Post"
]
@@ -637,7 +640,9 @@ let uploadList (model: DisplayUpload seq) app = [
h2 [ _class "my-3" ] [ raw app.PageTitle ]
article [] [
a [ _href (relUrl app "admin/upload/new"); _class "btn btn-primary btn-sm mb-3" ] [ raw "Upload a New File" ]
a [ _href (relUrl app "admin/upload/new"); _hxBoost; _class "btn btn-primary btn-sm mb-3" ] [
raw "Upload a New File"
]
div [ _class "container"; _hxTarget "body" ] [
div [ _class "row" ] [
div [ _class "col text-center" ] [
@@ -667,7 +672,7 @@ let uploadNew app = [
h2 [ _class "my-3" ] [ raw app.PageTitle ]
article [] [
form [ _action (relUrl app "admin/upload/save"); _method "post"; _class "container"
_enctype "multipart/form-data"; _hxNoBoost ] [
_enctype "multipart/form-data" ] [
antiCsrf app
div [ _class "row" ] [
div [ _class "col-12 col-md-6 pb-3" ] [
@@ -725,7 +730,7 @@ let webLogSettings
let feedUrl = relUrl app $"admin/settings/rss/{feed.Id}"
a [ _href (relUrl app (string feed.Path)); _target "_blank" ] [ raw "View Feed" ]
actionSpacer
a [ _href $"{feedUrl}/edit" ] [ raw "Edit" ]; actionSpacer
a [ _href $"{feedUrl}/edit"; _hxBoost ] [ raw "Edit" ]; actionSpacer
a [ _href feedUrl; _hxDelete feedUrl; _hxPushUrl "false"; _class "text-danger"
_hxConfirm $"Are you sure you want to delete the custom RSS feed based on {feed.Source}? This action cannot be undone." ] [
raw "Delete"
@@ -744,11 +749,11 @@ let webLogSettings
raw "Go to: "; a [ _href "#users" ] [ raw "Users" ]; raw " &bull; "
a [ _href "#rss-settings" ] [ raw "RSS Settings" ]; raw " &bull; "
a [ _href "#tag-mappings" ] [ raw "Tag Mappings" ]; raw " &bull; "
a [ _href (relUrl app "admin/settings/redirect-rules") ] [ raw "Redirect Rules" ]
a [ _href (relUrl app "admin/settings/redirect-rules"); _hxBoost ] [ raw "Redirect Rules" ]
]
fieldset [ _class "container mb-3" ] [
legend [] [ raw "Web Log Settings" ]
form [ _action (relUrl app "admin/settings"); _method "post" ] [
form [ _action (relUrl app "admin/settings"); _method "post"; _hxBoost ] [
antiCsrf app
div [ _class "container g-0" ] [
div [ _class "row" ] [
@@ -821,7 +826,7 @@ let webLogSettings
]
fieldset [ _id "rss-settings"; _class "container mb-3 pb-0" ] [
legend [] [ raw "RSS Settings" ]
form [ _action (relUrl app "admin/settings/rss"); _method "post"; _class "container g-0" ] [
form [ _action (relUrl app "admin/settings/rss"); _method "post"; _hxBoost; _class "container g-0" ] [
antiCsrf app
div [ _class "row pb-3" ] [
div [ _class "col col-xl-8 offset-xl-2" ] [
@@ -875,7 +880,7 @@ let webLogSettings
if app.WebLog.Rss.CustomFeeds.Length = 0 then
p [ _class "text-muted fst-italic text-center" ] [ raw "No custom feeds defined" ]
else
form [ _method "post"; _class "container g-0"; _hxTarget "body" ] [
form [ _method "post"; _class "container g-0"; _hxBoost ] [
antiCsrf app
div [ _class "row mwl-table-heading" ] [
div [ _class "col-12 col-md-6" ] [
@@ -890,8 +895,8 @@ let webLogSettings
]
fieldset [ _id "tag-mappings"; _class "container mb-3 pb-0" ] [
legend [] [ raw "Tag Mappings" ]
a [ _href (relUrl app "admin/settings/tag-mapping/new/edit"); _class "btn btn-primary btn-sm mb-3"
_hxTarget "#tag_new" ] [
a [ _href (relUrl app "admin/settings/tag-mapping/new/edit"); _hxBoost; _hxTarget "#tag_new"
_class "btn btn-primary btn-sm mb-3" ] [
raw "Add a New Tag Mapping"
]
span [ _hxGet (relUrl app "admin/settings/tag-mappings"); _hxTarget "this"; _hxTrigger HxTrigger.Load