5 Commits

Author SHA1 Message Date
8fd6af8c26 Add support for hx-disabled-elt
- Update script tag to 1.9.6
2023-09-27 20:31:56 -04:00
69a4034661 Update to htmx 1.9.5 2023-08-25 12:36:30 -04:00
5aa9408e60 Update to htmx 1.9.4 2023-07-26 12:54:48 -04:00
98f53a5e53 Add HX-Reselect; update for 1.9.3 2023-07-15 17:54:01 -04:00
7798314fb8 Update script tags for v1.9.2 2023-05-06 13:14:58 -04:00
8 changed files with 29 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. 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.0** **htmx version: 1.9.6**

View File

@@ -2,8 +2,8 @@
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>net6.0;net7.0</TargetFrameworks> <TargetFrameworks>net6.0;net7.0</TargetFrameworks>
<VersionPrefix>1.9.0</VersionPrefix> <VersionPrefix>1.9.6</VersionPrefix>
<PackageReleaseNotes>Add support for hx-on and CSS transitions; update script tags to pull htmx 1.9.0</PackageReleaseNotes> <PackageReleaseNotes>Add support for hx-disabled-elt attribute; update script tags to pull htmx 1.9.6</PackageReleaseNotes>
<Authors>danieljsummers</Authors> <Authors>danieljsummers</Authors>
<Company>Bit Badger Solutions</Company> <Company>Bit Badger Solutions</Company>
<PackageProjectUrl>https://github.com/bit-badger/Giraffe.Htmx</PackageProjectUrl> <PackageProjectUrl>https://github.com/bit-badger/Giraffe.Htmx</PackageProjectUrl>

View File

@@ -94,6 +94,10 @@ module Handlers =
let withHxNoReplaceUrl : HttpHandler = let withHxNoReplaceUrl : HttpHandler =
toLowerBool false |> withHxReplaceUrl 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 /// Override the `hx-swap` attribute from the initiating element
let withHxReswap : string -> HttpHandler = let withHxReswap : string -> HttpHandler =
setHttpHeader "HX-Reswap" 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`. 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.0** **htmx version: 1.9.6**
### Setup ### 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.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" 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" { testTask "withHxReswap succeeds" {
let ctx = Substitute.For<HttpContext> () let ctx = Substitute.For<HttpContext> ()
let dic = HeaderDictionary () let dic = HeaderDictionary ()

View File

@@ -313,6 +313,9 @@ let attributes =
test "_hxDisable succeeds" { test "_hxDisable succeeds" {
p [ _hxDisable ] [] |> shouldRender """<p hx-disable></p>""" p [ _hxDisable ] [] |> shouldRender """<p hx-disable></p>"""
} }
test "_hxDisabledElt succeeds" {
button [ _hxDiabledElt "this" ] [] |> shouldRender """<button hx-disabled-elt="this"></button>"""
}
test "_hxDisinherit succeeds" { test "_hxDisinherit succeeds" {
strong [ _hxDisinherit "*" ] [] |> shouldRender """<strong hx-disinherit="*"></strong>""" strong [ _hxDisinherit "*" ] [] |> shouldRender """<strong hx-disinherit="*"></strong>"""
} }
@@ -422,14 +425,14 @@ let script =
let html = RenderView.AsString.htmlNode Script.minified let html = RenderView.AsString.htmlNode Script.minified
Expect.equal Expect.equal
html html
"""<script src="https://unpkg.com/htmx.org@1.9.0" integrity="sha384-aOxz9UdWG0yBiyrTwPeMibmaoq07/d3a96GCbb9x60f3mOt5zwkjdbcHFnKH8qls" crossorigin="anonymous"></script>""" """<script src="https://unpkg.com/htmx.org@1.9.6" integrity="sha384-FhXw7b6AlE/jyjlZH5iHa/tTe9EpJ1Y55RjcgPbjeWMskSxZt1v9qkxLJWNJaGni" crossorigin="anonymous"></script>"""
"Minified script tag is incorrect" "Minified script tag is incorrect"
} }
test "unminified succeeds" { test "unminified succeeds" {
let html = RenderView.AsString.htmlNode Script.unminified let html = RenderView.AsString.htmlNode Script.unminified
Expect.equal Expect.equal
html html
"""<script src="https://unpkg.com/htmx.org@1.9.0/dist/htmx.js" integrity="sha384-zeiPGhU5MGHaNAV6/ti/m1CChQCUxkLGY/3GVEVPGowI7V2AhfwLDg/zkXjRywCO" crossorigin="anonymous"></script>""" """<script src="https://unpkg.com/htmx.org@1.9.6/dist/htmx.js" integrity="sha384-DyaDHx3hlXQ3QqTsQbNECvRW/A/B+4OtEWLCHbsDRPI3oJ98ekMiWJ4Yyrrqimog" crossorigin="anonymous"></script>"""
"Unminified script tag is incorrect" "Unminified script tag is incorrect"
} }
] ]

View File

@@ -193,6 +193,9 @@ module HtmxAttrs =
/// Disables htmx processing for the given node and any children nodes /// Disables htmx processing for the given node and any children nodes
let _hxDisable = flag "hx-disable" let _hxDisable = flag "hx-disable"
/// Specifies elements that should be disabled when an htmx request is in flight
let _hxDiabledElt = attr "hx-disabled-elt"
/// Disinherit all ("*") or specific htmx attributes /// Disinherit all ("*") or specific htmx attributes
let _hxDisinherit = attr "hx-disinherit" let _hxDisinherit = attr "hx-disinherit"
@@ -296,14 +299,14 @@ module Script =
/// Script tag to load the minified version from unpkg.com /// Script tag to load the minified version from unpkg.com
let minified = let minified =
script [ _src "https://unpkg.com/htmx.org@1.9.0" script [ _src "https://unpkg.com/htmx.org@1.9.6"
_integrity "sha384-aOxz9UdWG0yBiyrTwPeMibmaoq07/d3a96GCbb9x60f3mOt5zwkjdbcHFnKH8qls" _integrity "sha384-FhXw7b6AlE/jyjlZH5iHa/tTe9EpJ1Y55RjcgPbjeWMskSxZt1v9qkxLJWNJaGni"
_crossorigin "anonymous" ] [] _crossorigin "anonymous" ] []
/// Script tag to load the unminified version from unpkg.com /// Script tag to load the unminified version from unpkg.com
let unminified = let unminified =
script [ _src "https://unpkg.com/htmx.org@1.9.0/dist/htmx.js" script [ _src "https://unpkg.com/htmx.org@1.9.6/dist/htmx.js"
_integrity "sha384-zeiPGhU5MGHaNAV6/ti/m1CChQCUxkLGY/3GVEVPGowI7V2AhfwLDg/zkXjRywCO" _integrity "sha384-DyaDHx3hlXQ3QqTsQbNECvRW/A/B+4OtEWLCHbsDRPI3oJ98ekMiWJ4Yyrrqimog"
_crossorigin "anonymous" ] [] _crossorigin "anonymous" ] []

View File

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