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