Add HX-Reselect; update for 1.9.3

This commit is contained in:
Daniel J. Summers 2023-07-15 17:54:01 -04:00
parent 7798314fb8
commit 98f53a5e53
8 changed files with 23 additions and 11 deletions

View File

@ -2,4 +2,4 @@
This package contains common code shared between [`Giraffe.Htmx`](https://www.nuget.org/packages/Giraffe.Htmx) and [`Giraffe.ViewEngine.Htmx`](https://www.nuget.org/packages/Giraffe.ViewEngine.Htmx), and will be automatically installed when you install either one.
**htmx version: 1.9.2**
**htmx version: 1.9.3**

View File

@ -2,8 +2,8 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<TargetFrameworks>net6.0;net7.0</TargetFrameworks>
<VersionPrefix>1.9.2</VersionPrefix>
<PackageReleaseNotes>Update script tags to pull htmx 1.9.2</PackageReleaseNotes>
<VersionPrefix>1.9.3</VersionPrefix>
<PackageReleaseNotes>Add HX-Reselect response header; update script tags to pull htmx 1.9.3</PackageReleaseNotes>
<Authors>danieljsummers</Authors>
<Company>Bit Badger Solutions</Company>
<PackageProjectUrl>https://github.com/bit-badger/Giraffe.Htmx</PackageProjectUrl>

View File

@ -94,6 +94,10 @@ module Handlers =
let withHxNoReplaceUrl : HttpHandler =
toLowerBool false |> withHxReplaceUrl
/// Override which portion of the response will be swapped into the target document
let withHxReselect : string -> HttpHandler =
setHttpHeader "HX-Reselect"
/// Override the `hx-swap` attribute from the initiating element
let withHxReswap : string -> HttpHandler =
setHttpHeader "HX-Reswap"

View File

@ -2,7 +2,7 @@
This package enables server-side support for [htmx](https://htmx.org) within [Giraffe](https://giraffe.wiki) and ASP.NET's `HttpContext`.
**htmx version: 1.9.2**
**htmx version: 1.9.3**
### Setup

View File

@ -265,6 +265,14 @@ let handlers =
Expect.isTrue (dic.ContainsKey "HX-Replace-Url") "The HX-Replace-Url header should be present"
Expect.equal dic["HX-Replace-Url"].[0] "false" "The HX-Replace-Url value was incorrect"
}
testTask "withHxReselect succeeds" {
let ctx = Substitute.For<HttpContext> ()
let dic = HeaderDictionary ()
ctx.Response.Headers.ReturnsForAnyArgs dic |> ignore
let! _ = withHxReselect "#test" next ctx
Expect.isTrue (dic.ContainsKey "HX-Reselect") "The HX-Reselect header should be present"
Expect.equal dic["HX-Reselect"].[0] "#test" "The HX-Reselect value was incorrect"
}
testTask "withHxReswap succeeds" {
let ctx = Substitute.For<HttpContext> ()
let dic = HeaderDictionary ()

View File

@ -422,14 +422,14 @@ let script =
let html = RenderView.AsString.htmlNode Script.minified
Expect.equal
html
"""<script src="https://unpkg.com/htmx.org@1.9.2" integrity="sha384-L6OqL9pRWyyFU3+/bjdSri+iIphTN/bvYyM37tICVyOJkWZLpP2vGn6VUEXgzg6h" crossorigin="anonymous"></script>"""
"""<script src="https://unpkg.com/htmx.org@1.9.3" integrity="sha384-lVb3Rd/Ca0AxaoZg5sACe8FJKF0tnUgR2Kd7ehUOG5GCcROv5uBIZsOqovBAcWua" crossorigin="anonymous"></script>"""
"Minified script tag is incorrect"
}
test "unminified succeeds" {
let html = RenderView.AsString.htmlNode Script.unminified
Expect.equal
html
"""<script src="https://unpkg.com/htmx.org@1.9.2/dist/htmx.js" integrity="sha384-8ADa8Z9mz9MtKHmL1vCmqgEM5Q7eIiradzjEpmeELJ4kex3ibvmnctBNHlpLr/Zl" crossorigin="anonymous"></script>"""
"""<script src="https://unpkg.com/htmx.org@1.9.3/dist/htmx.js" integrity="sha384-6nBlGdeSOmH5YDWlJKzskaf7hqWLq8viLPbWeCLsFJXVw7IdNw8GXQnpQ8FwbV8k" crossorigin="anonymous"></script>"""
"Unminified script tag is incorrect"
}
]

View File

@ -296,14 +296,14 @@ module Script =
/// Script tag to load the minified version from unpkg.com
let minified =
script [ _src "https://unpkg.com/htmx.org@1.9.2"
_integrity "sha384-L6OqL9pRWyyFU3+/bjdSri+iIphTN/bvYyM37tICVyOJkWZLpP2vGn6VUEXgzg6h"
script [ _src "https://unpkg.com/htmx.org@1.9.3"
_integrity "sha384-lVb3Rd/Ca0AxaoZg5sACe8FJKF0tnUgR2Kd7ehUOG5GCcROv5uBIZsOqovBAcWua"
_crossorigin "anonymous" ] []
/// Script tag to load the unminified version from unpkg.com
let unminified =
script [ _src "https://unpkg.com/htmx.org@1.9.2/dist/htmx.js"
_integrity "sha384-8ADa8Z9mz9MtKHmL1vCmqgEM5Q7eIiradzjEpmeELJ4kex3ibvmnctBNHlpLr/Zl"
script [ _src "https://unpkg.com/htmx.org@1.9.3/dist/htmx.js"
_integrity "sha384-6nBlGdeSOmH5YDWlJKzskaf7hqWLq8viLPbWeCLsFJXVw7IdNw8GXQnpQ8FwbV8k"
_crossorigin "anonymous" ] []

View File

@ -2,7 +2,7 @@
This package enables [htmx](https://htmx.org) support within the [Giraffe](https://giraffe.wiki) view engine.
**htmx version: 1.9.2**
**htmx version: 1.9.3**
### Setup