feat: Updating id key for usage in views, for typesafe keys

This commit is contained in:
2025-01-19 20:07:32 -05:00
parent 81f0e03549
commit 2de85ed758
13 changed files with 203 additions and 119 deletions

View File

@@ -16,7 +16,7 @@ struct PurchaseOrderForm: HTML {
}
var content: some HTML {
Float(shouldDisplay: shouldShow, resetURL: "/purchase-orders") {
Float(shouldDisplay: shouldShow, resetURL: .purchaseOrder(.index)) {
if shouldShow {
if purchaseOrder != nil {
p {
@@ -28,9 +28,9 @@ struct PurchaseOrderForm: HTML {
}
form(
.hx.post(route: .purchaseOrder(.index)),
.hx.target(.purchaseOrders(.table)),
.hx.target(.id(.purchaseOrder(.table))),
.hx.swap(.afterBegin),
.customToggleFloatAfterRequest
.hx.on(.afterRequest, .ifSuccessful(.toggleContent(.float)))
) {
div(.class("row")) {
label(

View File

@@ -15,9 +15,9 @@ struct PurchaseOrderSearch: HTML {
var content: some HTML {
form(
.id(.search),
.id(.purchaseOrder(.search)),
.hx.post(route: .purchaseOrder(.search(.index()))),
.hx.target(.purchaseOrders()),
.hx.target(.id(.purchaseOrder())),
.hx.swap(.outerHTML)
) {
div(.class("btn-row")) {
@@ -31,7 +31,7 @@ struct PurchaseOrderSearch: HTML {
select(
.name("context"), .class("col-3"),
.hx.get(route: .purchaseOrder(.search(.index()))),
.hx.target(.search),
.hx.target(.id(.purchaseOrder(.search))),
.hx.swap(.outerHTML.transition(true).swap("0.5s")),
.hx.pushURL(true)
) {

View File

@@ -22,12 +22,12 @@ struct PurchaseOrderTable: HTML {
}
var content: some HTML {
table(.id(.purchaseOrders())) {
table(.id(.purchaseOrder())) {
thead {
buttonRow
tableHeader
}
tbody(.id(.purchaseOrders(.table))) {
tbody(.id(.purchaseOrder(.table))) {
Rows(page: page)
}
}
@@ -45,7 +45,7 @@ struct PurchaseOrderTable: HTML {
if context != .search {
Button.add()
.attributes(
.hx.get(route: .purchaseOrder(.index)), .hx.target(.float),
.hx.get(route: .purchaseOrder(.index)), .hx.target(.id(.float)),
.hx.swap(.outerHTML), .hx.pushURL(true)
)
}
@@ -100,7 +100,7 @@ struct PurchaseOrderTable: HTML {
var content: some HTML<HTMLTag.tr> {
tr(
.id(.purchaseOrders(.row(id: purchaseOrder.id)))
.id(.purchaseOrder(.row(id: purchaseOrder.id)))
) {
td { "\(purchaseOrder.id)" }
td { purchaseOrder.workOrder != nil ? String(purchaseOrder.workOrder!) : "" }
@@ -112,7 +112,7 @@ struct PurchaseOrderTable: HTML {
Button.detail()
.attributes(
.hx.get(route: .purchaseOrder(.get(id: purchaseOrder.id))),
.hx.target("#float"),
.hx.target(.id(.float)),
.hx.swap(.outerHTML.transition(true).swap("0.5s")),
.hx.pushURL(true)
)