WIP on OpenGraph form; first cut done (#52)

This commit is contained in:
2025-08-03 22:03:07 -04:00
parent 60a22747ac
commit 7374440621
2 changed files with 82 additions and 23 deletions
+35 -4
View File
@@ -523,8 +523,38 @@ let commonOpenGraph (model: EditCommonModel) =
]
]
]
// member val OpenGraphExtraNames: string array = [||] with get, set
// member val OpenGraphExtraValues: string array = [||] with get, set
fieldset [] [
legend [] [ raw "Extra Properties" ]
let items = Array.zip model.OpenGraphExtraNames model.OpenGraphExtraValues
let extraDetail idx (name, value) =
div [ _id $"og_extra_%i{idx}"; _class "row mb-3" ] [
div [ _class "col-1 text-center align-self-center" ] [
button [ _type "button"; _class "btn btn-sm btn-danger"
_onclick $"Admin.removeMetaItem('og_extra', {idx})" ] [
raw "−"
]
]
div [ _class "col-3" ] [
textField [ _id $"{nameof model.OpenGraphExtraNames}_{idx}" ]
(nameof model.OpenGraphExtraNames) "Name" name []
]
div [ _class "col-8" ] [
textField [ _id $"{nameof model.OpenGraphExtraValues}_{idx}" ]
(nameof model.OpenGraphExtraValues) "Value" value []
]
]
div [] [
div [ _id "og_extra_items"; _class "container p-0" ] (items |> Array.mapi extraDetail |> List.ofArray)
button [ _type "button"; _class "btn btn-sm btn-secondary"
_onclick "Admin.addMetaItem('og_extra')" ] [
raw "Add an Extra Property"
]
script [] [
raw """document.addEventListener("DOMContentLoaded", """
raw $"() => Admin.setNextExtraIndex({items.Length}))"
]
]
]
]
]
@@ -536,7 +566,8 @@ let commonMetaItems (model: EditCommonModel) =
let metaDetail idx (name, value) =
div [ _id $"meta_%i{idx}"; _class "row mb-3" ] [
div [ _class "col-1 text-center align-self-center" ] [
button [ _type "button"; _class "btn btn-sm btn-danger"; _onclick $"Admin.removeMetaItem({idx})" ] [
button [ _type "button"; _class "btn btn-sm btn-danger"
_onclick $"Admin.removeMetaItem('meta', {idx})" ] [
raw "−"
]
]
@@ -554,7 +585,7 @@ let commonMetaItems (model: EditCommonModel) =
]
div [ _id "meta_item_container"; _class "collapse" ] [
div [ _id "meta_items"; _class "container" ] (items |> Array.mapi metaDetail |> List.ofArray)
button [ _type "button"; _class "btn btn-sm btn-secondary"; _onclick "Admin.addMetaItem()" ] [
button [ _type "button"; _class "btn btn-sm btn-secondary"; _onclick "Admin.addMetaItem('meta')" ] [
raw "Add an Item"
]
script [] [